今週のお題「ゲーム」
約30年前だが、トランプの「7並べ」ゲームを作ってましたね。
当時の愛機はマスク(?)でお馴染みSHARPさんのMZ-2511です。
この機種はCPUはZ80 6MHz, グラフィックは640x200ドット16色、PCG(プログラマブル・キャラクター・ジェネレーター)、FM音源搭載で168,000円。
同等のFDD(フロッピー)1台付だと、SHARP X1 turboモニター込みが24万8000円、NEC PC-8801mkIISRがモニターなしで21万3000円であることを考えると、かなり安かったです。
しかし、既に大きなシェアを占めていた前モデルのX1やPC-8801mkIIとの互換性がある両モデルと違い、ほとんど互換性が無かったため(MZ-2200のソフトが僅かに使えたくらい)、はっきり言って売れませんでした。
1988年を過ぎたころには新作ゲームもほとんど発売されず、自作するしかなく、テトリスも友人のPCで遊んだ後、ルールを紙に整理して、一生懸命コーディングしてました。
そして、当時ニューラルネットワークの基礎理論セミナーで評価関数の考え方を覚えて、それを使ってみたく取り組んだのが「7並べ」です。
4人制で、AからK、KからAへのオプションなしのシンプルなルール。
基本処理はロジックで組んで、場に出ている枚数、自分が「止める」ことができる箇所の数、パスの残り数などをインプットにして、カードを出すか、パスをするかを決定する部分を評価関数で判定するようにしました。
学習機能までは設けなかったのですが、重みづけを調整して、確か6人ほどのAIプレーヤーを作成しました。AIプレーヤーには当時お世話になっていた教授、助教授の名前を付け、テストが簡単で単位を取りやすい教授、ひねくれた問題が多い助教授、テストが超難しいが2回追試を受けるとほぼ単位をくれた教授など、それぞれの個性に合わせて、パスをしないですぐカードを出すプレーヤー、出せるカードが沢山あっても絶対出さないプレーヤー、前半はパスを必ずするが、後半はパスをしないプレーヤーなどを作っていました。
性格付けが絶妙だったのか仲間内では大うけで、試験のころになると我が家に来てストレス解消にやる友人が何人かいました。
基本、七並べは配られたカードによって勝負が大きく左右されますが、何十回とプレイすると勝率は25%より大きいプレーヤーもいれば、小さなプレーヤーも出てきます。
プログラムは20回以上チューニングしましたが、最終的には自分と同じくらいの勝率まで成長しました。ここまで成長したときは手前味噌ながら感動しました。
ちなみに、一番強いAIキャラは、意外とパスをしないですぐカードを出すプレーヤーでした。先行逃げ切りが意外と強かったようです。
今では、そのパソコンもプログラムの入っていたフロッピーディスクも全て廃棄してしまいましたが、機会があったらまた作ってみたいかも。