昔のゲーム機の将棋ソフトの棋力の厳密な検証に互換機やエミュレータを使うのはよくないという話

このところ案外多い昔のゲーム機の将棋ソフトの棋力を検証しているような動画や記事。

中にはエミュレータや互換機を使用しているものもあります。

しかし、検証に厳密性を求める場合、エミュレータや互換機を使うべきではありません。

完全にエンタメに振り切ってるならともかく、おそらくエミュレータの不具合を元のゲームの不具合だと思い込んでゲームを不当に悪くいっているような動画を複数見つけたのでちょっとまずいなと思いまして、このような記事を書きました。

(脱線しますがそもそもどんなゲームであろうと互換機やエミュレータなどの非純正環境でプレイする場合は、常に作品側でなくそれらの環境側の問題である可能性を考慮すべきです。また、アナログブラウン管と現代のデジタル液晶や有機ELでは表示方式によるにじみや色合い、表示範囲などの差もあるので、実機でも見た目的には当時と違う部分が発生するケースがあります。)

 

これは将棋以外のボードゲームに関しても言えることかと思いますので、参考にしてください。

1.高度なゲームAIでは些細な差が指し手に影響を与えることがある

こういったゲームのAIは、他の条件*1が変わらない場合には人間と同じく多くの手を読めば読むほど強くなることが多いです。そのため、よくできた将棋ゲームAIには高度な高速化がされているケースがあります。

問題は、高度な高速化には特定のハードウェアに特化した処理が必要なケースが多く、わずかでも違う環境では想定外の動作をすることがあるという点です。

 

優れた互換機やエミュレータはオリジナルのハードウェアをかなり近いところまで再現していますが、それでも完全ではありません。

各チップの動作速度、それぞれのチップ間でのやりとりにおける遅延などを完璧に再現することは極めて困難です。

また、そもそもオリジナルのハードウェアにおいてあまり使用されない機能が省かれていたり、実装されていたとしても十分にテストされておらず、正しく機能しないケースなどもあります。通常のゲームと特定のボードゲームのAIではゲーム機上での機能の使用頻度が異なる可能性もあるため、有名所のゲームでは正しく動くのに一部の将棋ゲームでは正しく動かないという可能性もあります。

こうした細かな処理方法はソフトによって異なるため、あるソフトで正しく動作したから他のソフトも正しく動作する、とは言い切れないのです。

 

将棋の指し手のブレについて具体例を挙げますと、最強羽生将棋に登場する門下生全員の指し手を完全に実機どおりに再現することができるエミュレータは現時点では存在しません。

 

多くの互換機に実装されていない命令の有名な例としては、スーパーファミコンではExtBGモードなどが挙げられます。

 

2.レトロゲーム機特有のマイナーな拡張チップを十分な精度で動作させられないことがある

特に影響が大きいのはこちらです。

 

まず、拡張チップとはなにかをご説明します。

通常、テレビゲームはゲームのメディア側に入ったプログラムを、ゲーム機本体が解釈して実行することで動作します。しかし、スーパーファミコンのゲームソフトのようなカセット型のメディアには、カセット側にこの処理の一部を受け持つチップが入っているのです。

こうした拡張チップにはほとんど採用例がない、中には将棋ソフト1本のための専用チップなどというものまで存在しています。

そうしたチップの動作は十分に検証されていないことがほとんどです。

 

また、ゲーム機の互換機として販売されているハードには、ハードウェア的に互換性をもたせた互換機と、汎用的なコンピュータにカセット/ディスク読み込み部を追加してソフトウェアエミュレータを動かしているものがあります。

後者の場合、カセット内の拡張チップの挙動そのものをエミュレータ側ですべて受け持って再現する必要があります。

つまり、将棋ソフト1本のためだけに、ゲーム機のCPU1つ分の挙動をわざわざ実装する必要があるのです。桁外れな労力ですね。

当然PC上でエミュレータを使う場合にもこれと同じことが言えます。

 

有名なスーパーファミコンエミュレータのBSNESでは最も複雑なスーパーファミコン用拡張チップであるST018(早指し二段森田将棋2に搭載)を含めたすべての拡張チップを再現可能であると言われています。しかし、私が調べた範囲ではST018のエミュレーションについて十分に実機との挙動の比較が行われていたという情報が見つかりません。

実際、エミュレータで撮影されたYouTubeにある動画中の早指し二段森田将棋2の指し手が実機と比べて明確に弱いことを確認しています

この件については今後も検証していきます。

 

まとめ

互換機やエミュレータでは高度なAIの思考は正確に再現できていない可能性があるので、参考程度に試すならともかく、それを元にソフトの出来を語るのはやめよう!!!!!やめろ!!!!!おい!!!!!!

*1:局面の静的な評価精度や探索対象局面の絞り込みなど