評価ユーザ向け 使い方解説 | パズドフ ~パズドラ解析ソフト~

パズドフ ~パズドラ解析ソフト~

どうも hiehie です。

3色パズルの 思考エンジン を作ってます。

ブラウザ版を公開中です。(↓目次参照のこと)

パズルゲームとか思考エンジン・人工知能について色々思うことを書いてます。

現在、リアル知り合いに評価してもらってます。
その知り合い向けの説明記事になります。

基本設定は初回のみ。設定は自動で保存されます。

0) 32bit 対応
32bit OS 使用の場合には、2つの dll ファイル名を書き換える必要性があります。
 *.dll_x86 となっているファイルを *.dll へ名前変更してください。
 (元のファイルは 64bit 用なので削除して良いです)

1) 環境設定
 1-1) Java Runtime をインストール
   Java Runtime が 32bit 版の場合は DLL ファイルのリネームが必要になります。
   Java Runtime のバージョンはコマンドプロンプトで
   java -version
   とすれば確認できます。
 1-2) Microsoft Visual C++ 2010 再頒布可能パッケージ(x64) をインストール
 http://www.microsoft.com/ja-jp/download/details.aspx?id=14632
 1-3) Microsoft Visual C++ 2010 再頒布可能パッケージ(x86) をインストール
  ブラウザによっては、64 bit OS 環境でも 32 bit Java VM を使用するらしく、
  x86 バージョンも必要になります。
 http://www.microsoft.com/ja-jp/download/details.aspx?id=5555

2) Monitoring 設定
 iPhone の場合は 3) へ。別の方式でPCに画面を表示してください。以下、参考記事
 http://ameblo.jp/hiehie1004/entry-11490986331.html

2-1) Android-SDK をダウンロードする
 http://developer.android.com/sdk/index.html
 2-2) asm.jar をダウンロードする
 http://www.adakoda.com/adakoda/android/asm/
 2-3) ダウンロードした Pazudofu.zip を解凍し、run.bat をダブルクリックして起動
  パズドフのウィンドウが表示されることを確認する。
 2-4) path asm.jar のフォームに asm.jar のフルパスを記述(参照ボタンから設定してもOK)
 2-5) path adb.exe のフォームに adb.exe のフルパスを記述(参照ボタンから設定してもOK)
 adb.exe は Android-SDK のフォルダ
 Android\android-sdk\platform-tools
 くらいに置いてあります。
 2-6) スマホと PC を USB ケーブル(データ通信用)でつなぐ
 2-7) 「Run asm.jar」ボタンを押して、ダイアログがでたら OK を押す
 ここで、PC から見える Android 機一覧が表示されます。
  表示されない時
   → その Android 機用の USB ドライバがインストールされていない可能性が高いです。
     Android 機のメーカーのページで USB ドライバが配布されていることが多いです。
     「(機種名) USB ドライバ」などで Google 検索すると良いでしょう。
 2-8) スマホの画面が PC に表示されていることを確認する。
 右クリックして Zoom を 50% 以下に変更するのがおすすめ。
 (どうやら画面が小さいほど、asm.jar の画面更新が早いようです。)

$パズドフ ~パズドラ解析ソフト~-dd
asm.jar が無事起動すると、こんな感じでウィンドウにスマホ画面が表示されます。

3) Capture 設定
 3-1) Capture タブを選択。「Test Capture」ボタンを押す。
   画像がキャプチャされます。 DLL のリネームミスや必要ソフトが足りないと
   ここでエラーが出ることがあります。

パズドフ ~パズドラ解析ソフト~
キャプチャがうまくいくとこんな感じでスクリーンの一部がパズドフの画面内に写ります。

 3-2) start-X, start-Y, rate を調節して、ドロップが画面内にピッタリ収まるようにする。
 (余白無しでピッタリあわせる)
 フォームの値を変更するか、「Test Capture」ボタンを押すと再度キャプチャされます。
 認識が成功すると、下の画面にドロップが表示されます。



4) Digizo Air の設定
 4-1) Digizo Air をインストール
 4-2) ソフトを起動。バージョン 1.56 へアップデートする。
 4-3) ホットキーを Control+Shift+a へ変更する。
 (iPhone 脱獄犯の方は、機能選択で「コンボ(iOS)」から「マウス」へ変更してください)
 4-4) ペアリングをする
 4-5) ホットキーを押して、スマホ上でマウスカーソルが動くことを確認する。
 何度か切り替えしてある程度スムーズに動くようになるまで確認してください。

5) Android の設定
 5-1) 開発者向けオプションで、マウスの軌跡を表示しておくと、6) の調整が楽になります。
 
6) Setting でマウス設定
 6-1) Mouse Mode を「BT Mouse」へ変更する
 6-2) No Click Mode を「false」へ変更する。

 ここから、BlueTooth マウスの移動量・ウェイトを調節し、
 正しくパズドラのドロップを操作できるようにします。
 パズドラを起動して無限回廊に入るとわかりやすいと思います。

 6-3) 「Gain BT Mouse +(%)」を調節します。
 これは、十字移動時の移動量ゲインになります。
 下の「Moving +」ボタンを押すと、自動でスマホ操作へ切り替わり、マウスが動き出します。
 階段上に動きます。この項では四角のサイズがドロップと同じサイズになるまで
 調節してください。オフセットは後で調整します。
 初期値は 100(%)。200 にすると、四角のサイズが倍になり、50 にすると半分になります。

 6-4) 「Wait Mouse」を調節します。
 「Moving + 3」を押すと、「Moving +」の動作を三回繰り返します。
 この時に軌跡がブレていないか確認してください。ブレていると、ドロップ操作中の誤動作の原因になります。
 ↓のように動作すればOKです。(ドロップサイズと階段の段差サイズが一緒になるようにする)
パズドフ ~パズドラ解析ソフト~-step

 ブレの原因はよくわかっていませんが、BlueTooth マウス通信安定性・スマホのスペック等が怪しいと思っています。
 Wait を大きくすればするほど安定してきますが、ドロップ操作時間は 4 秒で固定なので、
 その分動かせる手数が減っていくので注意してください。
 自分の Galaxy II wiimax では 120ms で安定動作します。
 なお、Wait を変更すると移動量も変化します。
 6-3) の調整と 6-4) の調整を繰り返してください。
 また、「Wait Mouse +」と「Wait Mouse X」は同じ値にしてください。

 6-5) 「X/Y Offset BT Mouse」「Gain BT Mouse Init(%)」を調節します。
 「Moving Init Position」を押すと、ドロップ開始位置へ移動します。
 左上が原点で→X座標 ↓Y座標として、(0,0), (1,1), (2,2),(3,3), (4,4), (5,0) へ順に移動します。
 このときにマウスポインタが各ドロップの中央に来ることを確認してください。
 オフセットが 「X/Y Offset BT Mouse」
 移動量ゲインが「Gain BT Mouse Init(%)」
 になります。
 (0,0) は合うけど、(1,1), (2,2) ,,, と行くに連れてずれていく・・・場合は
 ゲインを調節してください。

 6-6) 「Gain BT Mouse X(%)」を調節します。
 「Moving X」を押すと、斜め移動します。この軌跡を見ながらゲイン量を調節してください。
 ↓のように動作すればOKです。
パズドフ ~パズドラ解析ソフト~-step2

 おまけ)「Moving +X」の結果画像
 十字と斜め移動の調節が目的です。一番下はみ出しているのはソフト側の設定ミスです orz
$パズドフ ~パズドラ解析ソフト~-+X


7) やっと使いはじめるぞ!
 「Scr Cap & Think」を押すと、キャプチャと思考開始を行います。
 初回の思考のみ非常に時間がかかります。(プログラム起動毎)
 思考が終わると、Battle タグが選択され、候補手が表示されます。
 「Act」ボタンを押すと動作開始します。



上記のように、キャリブレーション機能の実装は頑張りました。

いやー、でも設定大変ですね。

「まあお前らド素人は、BigCombo でも使ってなさいってこった」




一般公開は、そのうちやりたいと思っています。
(デジ操が売り切れなければいいけど!)

ただし、まずは自動プレイの機能は除外し、Act ボタンを手動で押させるようにしたいと思ってます。

無人プレイ(BOT)を推奨しているわけではないので。
(まぁ、私は使ってるけどな!)

パズドラは、後半戦では4コンボくらい出せるのを想定して作られてるみたいですが、
「そんなん出せないよ・・・」という人の声が開発のキッカケでした。




25歳以下がプレイヤーの半数を占めてるそうですが、ソフトウェア・人工知能に興味を持って貰えると嬉しいですね。



「こんなのでプレイして楽しいの?」は自然な感想だと思いますが、

そういう意味だと米長さんは偉大でしたね。同じ名人様にしても。

そろそろ電脳戦ですね。楽しみです。


以上