派手な表現やAVインターフェースは新しい開発言語に任せて、次のネタはよりアルゴリズムに着目したゲーム、その名もMENACEを考えています。

 

MENACEというと、英語で「脅迫、威嚇、脅し、危険なもの、やっかいな人、困り者」という名詞があり、アクションゲームやサバイバルゲームを想像される方もあると思いますが、今考えているのは全く別物です。寧ろSampleBCCSkeltonフォールダーに入っているLifeGame、LightCycleやMazeなどと同様の(人によっては面白くないと敬遠されるような)アルゴリズムを楽しむゲームです。

 

【私とMENACEの馴れ初め】

実は私がこのMENACEに出会ったのは、1986年当時のASCIIというPC雑誌に載った「マッチ箱計算機、MENACE」という記事でした。記事はそのアルゴリズムとC(だったと思います)のサンプルプログラムがあり、当時の開発環境(BDS-C)の関連からスクラップで残していたものを参考にシンガポール時代にBCCSkeltonでウィンドウアプリを開発しました。その後ActiveBasicにも移植してBorland C++のネイティブコードの速さに驚いたものです。

しかし、私のソフトウェア資産は2016年頃の機種入れ替えで雲散霧消した際、BCC版もActiveBasic版もウィンドウズMENACEは消えてしまいました。

その後、ブランクが20年近く、プログラムやアルゴリズムを思い出すこともできず、WEBで当時の記事を探したのですが、余りに旧くて見当たらず、関連記事も(末尾参照)多くはありません。
 

【MENACEとは何か】

MENACEとは"Matchbox Educable Noughts and Crosses Engine"の略で、要すれば、俗に言うAIのはしりとなる機械学習型〇×ゲーム("Noughts and crosses"とか"tic-tac-toe"とか呼びます)です。しかし、開発当初は全くコンピューターを使っておらず、マッチ箱を使って対戦経験により学習を行うところが特徴でした。

PCゲーム化した場合、現象的にみると、最初は乱数で対戦していたコンピューターが対戦経験をDB化し、負ける手を打たないような判断アルゴリズムのプログラムになります。(結局最後はPCが強くなって、引き分けばかりで面白くなないかもしれませんがね。)

 

【今考えていること】

どのようにして機械学習するのかは末尾の資料に譲り、現在「なるべく忠実にマッチ箱を使ったアルゴリズムと手順をもとに、白紙からMENACEを設計」しようとしています。まぁ、現在CUIのC++プログラムで試行錯誤中ですが、いずれBCCSkeltonでウィンドウズプログラムにして公表しましょう。


【参考WEBサイト】

<和文>

 

<英文>