Skip to content

vochicong/MyShogi

 
 

Repository files navigation

About this project

MyShogi is an open source GUI for computer Shogi engine.

MyShogiは、オープンソースの将棋ソフト用GUIです。 2018年にマイナビ出版さんから発売する商用版のやねうら王用のGUIとして開発が始まりました。

スクリーンショット

  • やねうら王の公式Twitterの画像をそのまま貼り付けたため、縦横の比率がおかしいです。
対局設定 盤面編集
対局画面 成り不成
エンジン選択 利きマーカー
英字駒 1文字駒
設定ダイアログ 駒表示 設定ダイアログ 盤面表示

特徴

  • オープンソース
  • エンジン設定などがユーザーフレンドリー
  • 思考エンジン開発者のデバッグに役立つような優しい作り
  • コアな部分は、pure C#で書かれている。(ほぼフルスクラッチ)
  • View以外は実行環境への依存低めに書いてあるので移植性に優れている
  • Viewも環境依存、かなり低め。(対局画面はBitmapの矩形転送と文字描画のみ)
  • Headlessモード(GUIなしモード)搭載で、pythonなどから呼び出して対局させることが出来る
  • レスポンシブな画面デザイン(ウィンドウサイズ可変、幅を狭めると縦長の駒台になるなど)

…になる予定

実装済みの機能、細かな特徴など

初回リリースで実装する予定の機能

  • わかりやすいエンジン設定(エンジン共通設定・個別設定、自動メモリマネージメント、自動スレッドマネージメント)
  • コンピューターの段位選択機能
  • CPU自動判定
  • 通常対局機能(駒落ち対局含む)
  • 詰将棋エンジンの利用
  • 検討機能(KI2,KIF,CSA,Sfen形式を選択可能)、ミニ盤面
  • 盤面編集機能
  • KIF/KI2/CSA/SFEN/PSN/PSN2/JSON/JKF/LiveJSON形式の棋譜の入出力機能。分岐棋譜対応。
  • 局面図のSVG形式での出力
  • 入玉宣言勝ちの条件変更(24点法、27点法、トライルール)
  • 連続対局
  • 棋譜の自動保存
  • 対局結果一覧の表示
  • 形勢グラフ
  • 棋譜解析機能

商用版について

商用版にのみ搭載される機能

  • 各思考エンジンのエンジンバナー
  • 指し手の読み上げ(音声)、秒読み(音声)
  • インターネット非公開の評価関数ファイル
  • やねうら王の非公開定跡ファイル

商用版『やねうら王 2018』に搭載される予定のエンジン

  • tanuki-(2018年版) : WCSC28版からR50ぐらいup
  • tanuki-(SDT5 優勝バージョン)
  • Qhapaq(2018年版)
  • 読み太(2018年版)
  • やねうら王(2018年版) : KPP_KKPT型 , depth 12の教師50億局面から学習

商用版に関する記事

商用版に関する情報

  • 無事マスターアップが終わり、2018年8月24日からダウンロード販売が開始されました。(パッケージ版の発売は8月末より)

  • マイナビ公式のアップデート情報については、マイナビ 将棋神やねうら王をご確認ください。

  • 開発の作業進捗については、WIPをご覧ください。

商用版に関するニュースリリース

商用版に関するユーザーレビュー

将来的に実装するかも知れない機能

※ 案を書いているだけで、対応を約束するものではありません。また、一部機能は商用版のみに搭載するかも知れません。予め、ご了承ください。

// 実装予定

  • 2盤面同時表示、4盤面同時表示、8盤面同時表示、etc…
  • 多面指し機能

// 対応を検討中

  • 将棋所、ShogiGUIにある機能はだいたい実装していく予定です。

  • 対局

    • 中断局の再開処理(中断するまでの最後の指し手の時間が加算されてその時の持ち時間のまま対局を再開出来るように)
    • 持ち時間が減る時の画面描画、最小矩形にして高速化する
    • 戦型判定~囲い完成時のエフェクト等
    • コンピュータの指す戦型を指定するモード(GUIだけでは限界があるような…)
    • 手加減モード , 接待モード等 , 指導対局
    • MultiPonder(ponderを複数のインスタンスに対して同時に行う)
    • クラスター探索機能
  • 検討機能

    • 検討機能に悪手率の計測等
    • (人間の)棋力判定機能
    • 局面の自動抽出機能(検討モードで特定の条件に合致する局面図をファイルに書き出す)
    • 即席詰将棋機能、中盤終盤課題局面生成機能、評価値当てクイズetc…
    • 感想戦機能(日本語文書での棋譜の自動解説)
    • 棋戦の観戦機能
    • 局面の激しさ(思考を深めて行ったときの指し手の安定度等を)を何らか可視化
  • 思考の可視化

    • 評価値グラフの縦軸をlogや期待勝率で表示する機能
  • 定跡

    • 定跡編集機能
    • 定跡自動生成機能
    • 駒落ち定跡
  • タブレット端末向け

    • 後手の駒の成り・不成のダイアログ、駒、キャンセルの文字を180度回して表示する機能。
    • 駒台を上下に表示する超縦長のモードがあってもいいのでは。
  • 自己対局

    • 蠱毒(複数のソフトの自動対局、自動レーティング算出)
    • 並列自動対局(ソフトの自己対局を複数インスタンスで同時に行う)
    • 指定局面(フォルダのなかのKIFファイルすべてを対象とする)からの連続自動対局
  • SNS対応

    • エンジンによる検討内容をツイート機能
    • スクリーンショットの撮影など
  • 通信対局

    • 通信対局(1対1)
    • floodgate対応
    • AWSにエンジンを配置しての利用
    • オンライン対局
  • 国際化

    • 多言語対応
  • 移植

    • Mac/Linux対応。→ [2018/10/17] かなり動くところまで来ました。
    • スマホ版(iOS/Android)
    • ブラウザ版 , ブラウザ版によるオンライン対局
  • 他ルール

    • 王手将棋
    • ついたて将棋等
  • その他

    • メニューの下にあるボタン(toolstrip)のカスタマイズ機能
    • 音声認識対応(目隠し将棋が捗る)
  • 開発用

    • ベンチマーク
    • Headlessモード(GUIなしモード)搭載。pythonなどから呼び出して対局させられるように。
    • 教師局面のクラスターを用いた生成
    • USI2.0対応

本GUIが対応する思考エンジン

USIプロトコル対応のエンジンならば問題なく使えます。 USI2.0をサポートしているのがベストなので、一番のお勧めは、やねうら王です。その次にお勧めなのは、やねうら王系のエンジンです。

使い方

本プロジェクトが提案するフォーマット

  • PSN2format : PSN形式から改良された棋譜ファイルフォーマット
  • USI2.0 : USIプロトコルから改良されたプロトコル

Mac、Linux向けのビルド情報

MyShogiはWindows向けに開発されていますが、機種依存するコードは最小限となっているので、他の環境でも頑張れば動くようです。Mac/Linux(Ubuntu18.04)で動作することを確認しています。

謝辞

本GUIを使ってくださる皆様、開発に関わってくださった皆様、誠にありがとうございます。

  • 商用版を製作する機会を与えてくれたマイナビ出版(画像素材作成、音声素材を提供)
  • tanuki-のエンジン開発者の野田さん、那須さん、たぬきチームのメンバー
  • Qhapaqの澤田さん、読み太の塚本さん
  • WhaleWatcherのソースコードを提供してくれた、えびふらいさん
  • GUIの開発を協力してくれたMizarさん
  • レーティング計測にご協力いただいたuuunuuunさん
  • やねうら王に貢献してくださっている方々
  • やねうら王のブログのコメント欄で要望などを教えていただいた皆さん
  • Stockfishの開発チーム
  • βテスターでご協力いただいた皆さん
    • うさ親さん , masaさん , kumaさん , 48さん , かず@なのはさん , tanuki-さん , Wandre-sakさん , tibigameさん
    • まふさん , suimonさん , uuunuuunさん , 田中誠さん
    • ぐららるさん , yoiyoiさん , 和差積 商さん , Backgammonさん , tkponさん
  • Mac/Linux移植協力
    • jnoryさん , ao-o10yanさん , fxst24さん

ライセンス

  • ソースコードはGPLv3
  • ただし画面素材、音声素材の単体配布(二次利用等)は禁止(マイナビ出版に権利があるため)

About

マイナビさんから発売するやねうら王の将棋用GUIです。ライセンスについては考え中。

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 97.2%
  • XSLT 2.7%
  • Other 0.1%