Permalink
Switch branches/tags
Find file Copy path
237 lines (184 sloc) 17.7 KB

『将棋神やねうら王』(2018年8月31日発売) アップデートなどの作業進捗 (Work In Progress)

Update2は(2018年9月25日ごろリリース予定)

  • Update3以降で対応予定のものから、ここで出来そうなものに関して作業中。

Update3(2018年10月15日ごろリリース予定)に向けて作業中です(ここに書かれているすべての機能追加をお約束するものではありません)

  • 駒得のみの評価関数「駒得大好きくん 2018」の思考エンジン追加。

  • 検討ウインドウ

    • 検討ウインドウのDockなどを可能にする。
      • メニューの「ウインドウ」→「検討ウインドウ」に、DockとFollowと埋め込みの機能を追加。
      • 検討ウインドウも、EngineConsiderationDialogをまずControl化して、これをDockWindowに食わせたほうが管理しやすいような…。
    • 棋譜ウインドウと同じくフロート機能追加する
    • 詰手順の出力機能
    • ミニ盤面も同様
  • 連続対局

    • 連続対局のときに検討ウインドウ、閉じても次の局でまた勝手に出てくるの修正する。
      • 検討ウインドウのdock処理、調整してからにする。
  • 棋譜ウインドウ

    • 総消費時間の表示
    • 棋譜コメントの表示、編集等
    • 思考エンジンの読み筋を棋譜コメントに記録する
  • 形勢グラフ(作業中)

    • このウィンドウ邪魔なので、フロート機能・検討ウインドウに埋める機能などを持たせる予定。
    • ToolStripの◀▶で局面を移動させた時にその局面での形勢表示にならない。
      • 検討ウィンドウのほうと合わせ、通知のハンドラちゃんと書く。
    • 着手や終局の直後に入れ違いで前の局面の思考が送られてきた時に、次の局面の評価値として記録してしまう。
      • あとで修正する。
    • このソフトで保存した棋譜を再度読み込んだ時にその評価値が形勢グラフに反映されない。
    • 駒落ちの時、詰まされると落ちる。(tkponさん)
      • 形勢グラフの範囲外にプロットしている模様。
  • ファイルヒストリー(MRUF)

    • ファイルヒストリー、閉じる前に開いていた局面を開いて欲しい。(まふさん)

Update4以降で対応を検討中

  • もっと使いやすい、わかりやすい表示設定・音声設定ダイアログを用意する

  • 棋譜解析

  • 描画の高速化

    • 画面描画の時の更新矩形を最適化する
      • 残り時間の描画など
  • USIプロトコル対応エンジンを任意に追加する機能

  • ponder(「相手の手番で先読み」)

    • この実装、わりとややこしくて、激指ユーザーとかがターゲットなので必須機能とも言えないので後回し。
  • 対局

    • 対局中断→再開が欲しい。
    • 棋譜の途中から対局をするとき、そこより手数を戻そうとすると持ち時間がゼロになるので時間切れ負けになる件
  • 棋譜ウインドウ

    • 棋譜分岐、分岐の指し手、一覧が表示されて欲しい気が。
      • もう少しいいインターフェースを考え中。
    • 棋譜のマージ
    • 棋譜の記法で駒打ちのときには必ず「打」を記すオプション
      • 棋譜表記は、以下のサイトを参考に忠実に守っているのだが、「打」の文字が無いのはわかりにくいと不評。
      • 日本将棋連盟 「棋譜の表記方法」: https://www.shogi.or.jp/faq/kihuhyouki.html
    • 棋譜の自動再生機能
  • 成り/不成の選択、後手側だと180度回転させてあって欲しい。(ぐららるさん)

改修履歴

  • "1.2.0"→"1.2.1" [2018/09/19]-[2018/09/XX]

    • 連続対局で低い段位同士をやらせるとウインドウメッセージの処理機会が与えられず、ウインドウの操作が出来なくなってしまったり、 GDI resourceが枯渇したりするのを改善。
    • 対局者名の下に段位、駒落ちなどの情報があったほうが良いような。
      • 余白がない。持ち時間設定のところに段位と駒落ち情報書いておく。
    • 連続対局のときに平手以外なら手合割を上手のほうに書いておく。
    • 振り駒の画像が表示されないことがある。
      • エンジン初期化直後だし初回読み込みのとき0.5秒で画面素材の読み込みが間に合わないことがあるのか…。
      • 振り駒での対局が確定した時点で先読みしておく。
  • "1.1.9"→"1.2.0" [2018/09/16]-[2018/09/19]

    • 手番マーク、対局者名の色で表現したほうが良いのでは
      • 手番側を赤文字で表現するオプションを追加。(色は原色の赤だとどぎついので盤面に合わせてBrushes.IndianRedに)
      • メニューの 表示→「手番側の表現」、「対局者名の横の手番マーク」は削除。
    • 連続対局のとき後手のHash使用率の表示がおかしいのでは。(masaさん)
      • その部分の表示のクリアをしてなくて、初段ぐらいに設定しているとhash使用率がエンジン側から送られてこないので それでずっと前の表示が残っていたのでおかしく見えていました。新局面ごとにクリアするようにしました。
    • 棋譜ウインドウのスクロール位置を常に3手先ぐらいまで表示されているように。(T.Kさん)
      • デフォルトでmargin(先が見えている手数) = 3手としました。
      • また棋譜ウインドウの縦幅を狭めているときは、margin = (表示されている項目数-1)/2。
    • マウスホイールによる棋譜のスクロール(Tatuyaさん)
      • 検討モードでメインウインドウにfocusがあるときにマウスホイールの回転で棋譜の指し手を移動できるようにした。(ShogiGUIに倣った)
      • 検討ウインドウにfocusがあるときはうまく動かない。検討ウインドウのフロート化を実装したあとで考える。
    • 振り駒の乱数、.NETの乱数ではなく、もう少しマシな乱数に変更。
    • 思考エンジンのプリセットに11級~20級を追加。
    • 検討ウインドウの継ぎ盤の下のToolStripのほうも非アクティブからだと反応しない問題があったのを修正。
  • "1.1.8"→"1.1.9" [2018/09/15]-[2018/09/16]

    • 対局設定画面の「先手」と「後手」の文字、駒落ちだと上手と下手にすべきだし、振り駒で手番が入れ替わったときも ややこしいし、よくない。「あなた」と「わたし」を人間時のデフォルトに変更する。
    • 連続対局終了時の名前の表示を元に戻さないように修正。
    • ShogiGUIにあるような振り駒機能が欲しい。(math26さん)
      • 実装しました。
      • image/game_effect/piece_toss_v1.png 追加
      • 振り駒で表が3枚以上出来た時には、対局設定ダイアログの左側のプレイヤーが先手(開始局面の手番側)に。
      • 人間 vs 人間のときは、対局設定ダイアログの左側のプレイヤーが後手(開始局面の非手番側)になった場合、自動的に盤面反転。
        • これはタブレット端末で二人で対局するときにこうなっていないと不便。
    • ToolStripのボタン、非アクティブ状態からだと2回クリックしないと反応しない。(T.Kさん)
      • 修正しました。MenuStripも同様であったので、こちらも同様に修正しました。
    • 駒をクリックして1手戻るボタンをクリックしたときに駒を掴んだままになる(kumaさん)
      • 修正しました。
  • "1.1.7"→"1.1.8" [2018/09/12]-[2018/09/15]

    • 秒読み60秒のとき「40秒・・・50秒・1・2・3・・」みたいな感じで秒読み音声を入れる。
    • 秒読み30秒のとき「10秒・・・20秒・1・2・3・・」みたいな感じで秒読み音声を入れる。
      • メニューの音声のところに設定追加。
    • 対局者名、段位、手合、中断なども棋譜ファイル名に書き出す。
      • 連続対局のとき、および、ファイルに名前をつけて保存するときのデフォルトに反映。
    • tanuki-詰将棋エンジン、少し改造。以前解けなかった問題が解けることがあるかも。
    • 例外が出たときのエラーダイアログ、コピペが出来るように特別なダイアログを用意した。
    • 「コンピューターは1手に必ずこれだけ使う」オプション、チェックボックスで無効化できるように。
    • tanuki-詰将棋エンジン
      • 他の不詰の局面を調べた直後に(エンジンをそのまま終了させずに)、詰むはずの局面を解かせたときに即座に不詰が返ってくる問題。
      • 「終」ボタンでいったんエンジンを終了させて再度解かせると正常に解ける模様。調査中。
      • Hash足りないだけのような…。df-pnで200手以上の長手数の詰将棋を解くにはGC(garbage collection)が欲しい気が…。
    • メニューの「表示」のところに「対局エフェクト」の有無の設定を追加。
    • 対局中断~再開時の素材表示追加。
      • 連続対局ではなく、かつ、対局設定の「開始局面」のところが「現在の局面」ならば「対局再開」と表示。
      • 最後の指し手が「対局中断」の指し手であるなら「対局中断」と表示。
      • 対局開始・終了 の素材差し替え
        • image/game_effect/game_start_v1.png
      • 対局中断・再開の素材追加
        • image/game_effect/game_interrupt_v1.png
    • タブレットモードの縦置きで画面が横にはみ出すのを軽減する #56 (Mizarさんのプルリク)
      • タブレットモードの縦置きで画面が横にはみ出すのを軽減する …
      • 1130x1080 の画面サイズを基準にスケーリングする
    • 検討ウインドウ、rootSfen設定されたときにHash使用率の値などの表示を初期化する
    • 棋譜ウインドウ、丸ごと更新されるときは、差分更新やめる。
      • 棋譜ウインドウ、丸ごと更新されるときの動作が高速化した。
      • DCのleak少し減った気がする。
  • "1.1.6"→"1.1.7" [2018/09/10]-[2018/09/11]

    • 本譜のみを書き出す機能
      • 本譜のみを書き出す、でファイルに書き出したあと「上書き保存」はどういう挙動になるのかだとか、わりと混乱を招きそう。
      • 本譜のみを書き出す機能を追加するのではなく、本譜以外の分岐をクリアする機能を追加することにした。
      • メニューに「棋譜編集」という項目を追加
      • 「本譜以外の分岐をクリアする」
    • HASH使用率、50%を超えたところで赤い文字で表示するようにした。
    • KIF : Kifu for Windowsのしおりを使った棋譜を読み込むと例外で落ちるのを修正。
      • KIF/KI2: "&" で始まる行を無視するように #54(Mizarさんのプルリク)
    • tanuki-詰将棋エンジン , 詰探索中の出力を変更した (#91) (tanuki-さんのやねうら王へのプルリク)
      • clang++によるコンパイル警告を抑制した
      • 詰探索中の進捗状況の出力を変更した
      • Hash使用率が1秒ごとぐらいに更新されるようになった。
    • コンピューター側、指し手が速すぎて追いかけられないので、1手に必ず1秒使うようなモードが欲しい。
      • コンピューターが返したbest moveに対して、x[ms]になるまでGUI側が指し手を無視する機能を用意しました。
      • 対局設定ダイアログの「コンピューターは1手に必ずこれだけ使う」
    • KIF/CSA: 激指定跡道場4への対応 #53(Mizarさんのプルリク)
      • 『激指定跡道場4』で書き出したCSA形式のファイルが読み込めなかったのを修正。
    • Updater、管理者権限で実行されていればUpdaterの再起動をしないコードを追加。
  • "1.1.5"→"1.1.6" [2018/09/08]-[2018/09/10]

    • メニューの「表示」→「対局者名の先頭の手番記号」追加。「☗」「☖」か、「▲」「△」を付与できるようにした。
    • 対局結果、駒落ちのときの結果を先手勝ちではなく下手勝ちのようにする。(math26さん)
      • この対応のため、対局結果のcsvに平手か駒落ちかも出力するfieldを追加しました。
      • 以前の棋譜に対しては対局結果画面で見ても修正されません。以降の駒落ち戦のみ修正して記録されます。
    • .KIFなどの棋譜ファイルを拡張子関連付けで本ソフトと関連付けたときにうまく起動するようにした。
      • コマンドラインの第1パラメーターに棋譜ファイル名があるときはそれを開くべき棋譜ファイル名と解釈するようにした。
    • 起動時のworking directoryをMyShogi.exeが存在したフォルダに設定するコード追加。
      • ショートカットから起動するときにworking directoryが異なるとうまく画面素材などを読み込めないのでこのコードを追加した。
    • メインウインドウを最小化したときに検討ウインドウをタスクバー上で非表示に。(kumaさん)
      • 対応しました。最小化から復帰させたときに他のウインドウの背後に行くので、メインウインドウと親子関係を持たせる改造もしたほうがよさげ。
    • 対局終了直後だけ、「◀」ボタンを押しても一手戻らない件。
      • 修正しました。
    • 棋譜ウインドウの表示位置を変更したときに一瞬、変な位置に表示されてから移動していたのを修正。
    • 棋譜を開くときに、棋譜ウインドウがTopMostなのでファイルダイアログより前面に出てくるの改善。
      • Owner設定するようにして、TopMostやめた。
  • "1.1.4"→"1.1.5" [2018/09/07]-[2018/09/07]

    • メインウインドウを最小化したときに棋譜ウインドウをウインドウ化しているときには非表示にするように。(kumaさん)
    • 実行ファイルのアプリケーションアイコンを設定。(kumaさん)
    • 棋譜ウインドウ、ウインドウモード時に、文字サイズを変更するボタンを追加。(右下の「+」と「-」)
    • 棋譜ウインドウに「消一手」ボタン追加。
      • 棋譜の末尾を1手消す操作
      • 棋譜ウインドウのボタンにtooltip追加。
    • V1.1.4で対局中に閉じるときなど、警告ダイアログが2回出るようになっていたの修正。
    • tanuki-詰将棋エンジン , 置換表エントリの世代を削除し、置換表エントリのハッシュの最下位ビットに探索開始局面の手番を入れるようにした #89 (tanuki-さん。やねうら王へのプルリク)
      • この修正により、一度解いた局面を解かせるときには一瞬で応答が返ってくるようになった。
    • tanuki-詰将棋エンジン バグ修正。 詰将棋ルーチンで受け側の局面から探索させたあとに攻め側の局面から探索させると不詰と出力されるバグを修正した #88 (tanuki-さんのやねうら王へのプルリク)
  • "1.1.3"→"1.1.4" [2018/09/04]-[2018/09/06]

    • CSA: 一部ツールの出力する棋譜による不具合に対応 #52 (Mizarさんのプルリク)
      • 将棋ウォーズ棋譜管理ツールというフリーソフトで保存したcsa形式のファイルが読み込めない。(てらっちさん)
    • メニューの「ウインドウ」→「棋譜ウインドウ」→「表示位置」でフロート機能などを使えるようになった。
      • フロート状態を次回起動時に復元するようにした。
      • Dock機能追加。メインウインドウに対して上下左右、好きなところにDockさせられるようにする。
    • tanuki-詰将棋エンジン、ハッシュエントリをつぶすとき、探索ノード数を考慮するようにした #87 tanuki-さんのやねうら王へのプルリク
    • 駒をクリックするときにマウスカーソルを微小動かすと駒のドラッグ処理になり、駒を掴んだ直後に駒を離してしまう。(地球市民さん)
      • 確かにあまり嬉しくない挙動なので修正しました。
    • 連続対局のときの勝数、win-lose-draw ではなくwin-draw-loseに変更する。(odagaki0621さん)

過去の改修履歴