no-image

Visual Studio 2017で将棋神やねうら王をビルドする

コンピュータ将棋開発者さんだとβテストに参加できるみたいだよ!

詳しくはやねうら王のホームページを参照!!

将棋エンジンはどんどん開発されていて棋力もどんどん向上しているのだけれど、肝心のGUIがあまり発達していないという問題があった。そこに一石を投じたのがやねうら王さんというわけです。

将棋神やねうら王自体は10000円以上もする有償ソフトウェアなのだが、機能を制限した無償版がGitHubで公開されている。検討エンジン自体も無償で世の中の人間の99.99%くらい太刀打ちできないソフトが手に入る時代なので、棋譜読み上げ機能とかを必要としないのであれば「こっち使えばよくね?」となるわけである。

しかしこんな便利そうなソフトを無償で公開してしまって大丈夫なのだろうか…

将棋神やねうら王をビルドする

ユーザー的にはWindowsが一番多いはずなのでWindowsユーザー向けにビルドの方法をまとめます。

必要なものは以下の通り。

  • MyShogi
  • Visual Studio 2017 Community
  • donetfx3.5
  • Wix Toolset v3.11.1
  • WiX Toolset Visual Studio 2017 Extension

リンク先から導入方法まで丁寧に解説します!!

MyShogi

必要なものが意外と多くて集めるのに時間がかかります。

まず最初に必要なのがビルドするソースコード。これはGitHubで公開されているのでそのままダウンロードしてくる。

Clone or downloadというところをクリックしてzip形式でダウンロードしてそれを解凍します。

解凍し終わったらこれは一旦終わり。

Visual Stuido Community 2017

一番左の無償ダウンロードのやつをダウンロードします。HDDの容量を20GBくらい消費するので注意。

やねおら王はC#で書かれているので、インストール時には最低限の構成で問題ないです。

インストールは30分以上かかります。気長に待ちましょう。

.Net Framework 3.5

Wix311を実行するのに必要でした。

ファイルサイズは230MBくらいあるので5分くらいでダウンロードが終わります。

終わったらインストールしてしまいましょう。

Wix Toolset v3.11.1

wix311.exeをダウンロードします。

installを押せば1分程度でインストールが終了します。

WiX Toolset Visual Studio 2017 Extension

ダウンロードしてインストールするだけ。

ビルド

解凍したMyShogi-masterの中にMyshogi.slnというファイルがあるはずなのでそれをダブルクリックして開こう。

するとこんな感じの警告が2回表示される。

もちろんこのソフトをビルドしたいのでOKをクリックする。

次はこんな警告がでる。.NET Framework 4.6.1と “.NETFramework, Version=v4.6.1″の違いがさっぱりわからない。同じものなのだが書き方がVS向きではないとかそんなのだろう。

このままOKを押す。

ビルドできるように変更する

ツールバーから「ビルド」→「MyShogiのビルド」を押してみるときっとこんなエラーが出るはずだ。

重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー フレームワーク “.NETFramework,Version=v4.6.1” の参照アセンブリが見つかりませんでした。これを解決するには、このフレームワーク バージョンの SDK または Targeting Pack をインストールするか、SDK または Targeting Pack をインストールしているフレームワークのバージョンにアプリケーションを再ターゲットしてください。アセンブリはグローバル アセンブリ キャッシュ (GAC) から解決され、参照アセンブリの代わりに使用されるため、アセンブリが目的のフレームワークに正しくターゲットされない場合もあります。

対象のフレームワークがわからんということなので手動で設定する。

ツールバーから「プロジェクト」→「MyShogiのプロパティ」を選択する。

ターゲットフレームワークが選ばれていない状態になっているので、「.NET Framework 4.5」を選択する。本来であれば4.6.1を選択しなければいけないのだろうが、4.5でも動いたのでまあいっかという感じである。

するとこんな警告が表示される。

よくわからないのだが、変更してしまって良い。気持ちよく「はい」を押そう。

ここで再度、「ビルド」→「MyShogiのビルド」を押す。

するとやっぱりすぐにエラーがでて止まるはずだ。

重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー ファイル View\Win2D\Game\MainDialog.resx を処理できませんでした。インターネットまたは制限付きゾーン内にあるか、ファイルに Web のマークがあるためです。これらのファイルを処理するには、Web のマークを削除してください。
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー ファイル View\Win2D\Info\EngineConsiderationDialog.resx を処理できませんでした。インターネットまたは制限付きゾーン内にあるか、ファイルに Web のマークがあるためです。これらのファイルを処理するには、Web のマークを削除してください。

エラーの内容がこの2つだけであるなら、ビルドの完成は間近である。

これは最初なんのことかよくわからなかったのだが、ウェブからダウンロードしたファイルだから読み込みがブロックされたとかいうDLLでよくありがちなやつである。

ファイルの設定を変更しに行かなければいけないので、

MyShogi-master\MyShogi\View\Win2D

の中にある

  • MainDialog.resx
  • EngineConsiderationControl.resx
  • EngineConsiderationDialog.resx
  • EngineSelectionDialog.resx
  • DebugWindow.resx

を探し出そう。

環境によっては他のファイルも該当するかもしれないけど、その都度同じことを繰り返してください。

ファイルを右クリックしてプロパティを確認すると、

このような感じでアクセスがブロックされているのがわかる。許可するにチェックをいれてOKを押すのをそれぞれのファイルに対して行おう。

チェックが外せたら一度Visual Studioを終了して、再度MyShogi.slnを開こう。

再ビルドしてみる

「ビルド」→「MyShogiのリビルド」をクリックする。

こうすると一旦クリーンしてからビルドし直してくれるので変に躓くことが減るはずである。

実行ファイルが完成しているはずなので、実際に起動してみよう。起動するにはツールバーの「ツール」の下の「▶開始」を押せば良い。

ちなみに今ビルドしているのはデバッグモードなので実行速度が遅い。実際に使う場合にはリリースモードに変更して行うこと。

起動したがいろいろない

起動はするのだが、リソースファイルがなにもないため、「駒の画像がない」「背景がない」「将棋盤がない」のナイナイ尽くしである。

ところが!?

によると、

なんて経緯をツイートしていたらやねさん本人から素材の提供をしてもらったのでMyShogi-master/MyShogiフォルダにimageとimage_sourceフォルダをコピーして、TheApp.cssのコメントアウトしてある箇所をアンコメントしてやってビルドすると駒の画像がでるようになった。

とあるので、これはひょっとするとぼくも素材の提供をちょっぴり期待しちゃってもいいでしょうか!?

将棋神やねうら王はまだまだ発展途上のGUIである。さらなるアップデートに期待したい。