2016年10月1日土曜日

"ピップおじさん" 作りました

またしても技術ネタ。バックギャモン自体の研究をしていないかと思われるかもしれませんが、まあその通りです。プログラミングが楽しくて・・

さて、愛読書である景山さんのハッピーギャモンシリーズに、以下のようなくだりがあります。曰く、ネットでバックギャモンを覚えた人が、リアルのボードでプレイするとピップが表示されていなくて戸惑うことがあると。「生ギャモンでは、ピップを数えてくれる"ピップおじさん"が側にいると思っていた」
もちろんそんな人はいませんが、本当にいたら楽できると思ったので、作りましたっ!


動画を解析してチェッカーのポジションを割り出し、ピップを計算しています。これができるまで試行錯誤を繰り返しました。例えば、画像からチェッカーを見つけるのがなかなかうまくいかず、とりあえずプロジェクトを前進させるために、チェッカーにマーカー(目印)をつけることも試しました。

こうすればそこそこうまくいくのですが、やはり根本の問題は「マーカー付きのチェッカーでプレイしている人は誰もいない」ことでした。アップロードした動画で、緑のチェッカーに"くまモンシール"が貼ってあるのは、くまモンをマーカーとして使おうとした名残ですw

動画を見ていただければお気づきと思いますが、必ずしも100%正しいピップを計算できているわけではありません。
例えば、腕でチェッカーが隠されてしまうと少ない数を表示していますし、終盤に同じポイントにチェッカーを重ねている場面でも、間違った値が表示されています。この辺りが今後の改善ポイントです。

私の目標は、バックギャモンの「自動棋譜起こし」です。チェッカーの位置が分かり、ダイスの目が読めれば、棋譜起こしができるはずです。車が自動で走る現在に、棋譜起こしが自動で出来ないわけがないのです。あともう少しで出来そうな気もしますし、まだまだ長い道のりが続いている気もします。

0 件のコメント:

コメントを投稿