10月の木曽野-滝沢戦5pointマッチのムーブを、ほぼ全部解析することができました。ダイスとチェッカーとキューブの認識ができたなら、棋譜起こし部分の製造は難しくないんじゃないかと高をくくっていたのですが、実際にやってみたら(いつものことですが)思っていたより大変でした。
アプリの名前はテクノくんが付けてくれました!
私としては珍しく、クラス図を書いたり状態遷移図を作ったりと、ソフトウェアの設計もきっちりやりました。ところが、実際のプレイ動画では想定外の事象が多々発生していたので、最後は魔改造を繰り返す羽目になりました。テントを作るくらいのつもりだったのが、すでに小屋くらいの規模になってしまいました。あと2回くらい建て直したら(ソフトを作り直したら)、まともなソフトウエアになるんじゃないかと思います。@mkisono ああーなるほど!クリエイターの親心を全く理解出来ておらず、失礼いたしました!w しかし、ううーん、そうするとなんかこう、愛と希望に溢れる革新的なイメージの名前なんかがいいような気もしますね……!"棋譜ミーベイベー"とか!(聞き流してください)— テクノキューブ (@TechnoCube) October 24, 2016
このソフトの開発を通じで、ちょっとした気づきもありました。
例えば、出目にはゾロ目とそれ以外があります。ゾロ目じゃない出目の場合は、ムーブの種類は本質的に4種類しかありません(バリエーションを含めると6通り)。それは、
- 異なるポイントから同じポイントにチェッカーを進める(ポイントメイク)
- あるポイントから2つのチェッカーを動かす
- 2箇所のポイントをそれぞれ動かす(3つのバリエーションがある)
- 一つのチェッカーを連続して動かす(ラン)
ところが、同じような分類をゾロ目でやってみると大変です。組み合わせの数が途端に多くなります(とはいえ、なんとか整理できるレベル)。プレイしていてもゾロ目は難しいわけですが、棋譜起こしプログラムにとってもゾロ目は難題です。
もう一つの気づきは、"on the bar"のチェッカーです。ピップを数えるときは"25"と数えているので、気づいても良さそうなものですが、バーに乗っているチェッカーは「25ポイントにある」と考えるのが正しいです。少なくともプログラム的にはそう扱った方が便利でしたし、特別扱いする理由は何もありませんでした。
この気づきが実戦で役に立つことがあるかと思っていたところで、kazuさんのブログを読んでハッとしました。バーに乗っていることによる錯覚、新たなテーマ図だなと思いました。続きはこちらで。
次の目標は、先日の名人リーグ寺尾戦19pointマッチの解析です! こんなことやってるより、ポチポチ棋譜入力した方が早いのは分かっていますが、もっと大きな野望のために開発を続けます。
0 件のコメント:
コメントを投稿