
7,606 文字

これがビデオゲームベンチです。お好みの大規模言語モデルを使って、古き良き90年代のMSーDOSゲームを何でも遊ばせることができます。もちろん、視覚言語モデルである必要があります。なぜなら、スクリーンショットをAIに渡して、次に何をすべきかを判断させるからです。
ここではGPT-4oがGemini 2.5 Pro、Gemini 2.0 Flash、Claude Sonnetと対決しています。どのモデルが一番先に進めると思いますか?もちろん、Gemini 2.0はすでに脱落していますが、賭けをしてみましょう。少し後で結果を見てみましょう。
ちなみに、他にもたくさんのゲームがあります。ポケモンレッド、Doom、Doom 2、Quake、Civilization、Warcraft 2、XCOM、Need for Speed、ポケモンレッドなど、これらのモデルが練習できる様々なゲームがたくさんあります。Warcraft 2も入っています。
彼らの様子を見てみましょう。おっと、GPT-4oは残念ながら脱落しました。Gemini 2.5 Proも脱落しているようです。Claude Sonnet 3.7が勝者です!
私はこのようなベンチマークを本当に楽しんでいます。これらのモデルがどれだけ上手く機能するかについての素晴らしいデータを提供するだけでなく、より多くの人々にとって少し面白く、アクセスしやすくしていると思います。
このビデオでは、これをインストールして自分のコンピュータで実行する方法をお見せします。そんなに難しくありません。また、非常に興味深いことに、Windowsで動作します。多くのAIプロジェクトはLinuxやAppleのエコシステムで動作し、Windowsユーザーは二流市民のような扱いを受けますが、ここではそうではありません。ここでは問題なく動作します。
それでは、さっそく見ていきましょう。私は「AI Guild」という名前のサブレディットを立ち上げているところで、クールな名前だと思いました。このツールのインストール方法の完全な手順を投稿する予定です。参加していただければ嬉しいです。リンクは説明欄とピン留めされたコメントにあります。
それでは、ビデオゲームベンチをインストールしましょう。こちらがインストール方法のコードと手順が含まれているGitHubリポジトリです。これはWindowsで動作し、このような作業をしたことがなくても、挑戦してみてください。そんなに難しくありません。私が試したGitHub上のすべてのAIプロジェクトの中で、これは最も簡単なインストールの一つです。
まず、Anacondaの一部である「conda」というものを使っています。Anacondaは、AIのためのオープンソースエコシステムです。無料で、登録する必要もありません。ただダウンロードするだけです。
これがその見た目です。「登録をスキップ」をクリックするだけです。Anacondaインストーラーには完全版とMinionda(特定のサブセクションのみ)があります。どちらかをインストールしてください。
次に、Windows PowerShellを検索します。このような見た目になります。インストールされているバージョンに応じて、実行できる様々なバージョンがあります。デフォルトで付いているコマンドプロンプトやその他のものもあるかもしれません。
ここにAnaconda PowerShellがあります。機能によっては管理者として実行する必要がある場合があります。またはインストール方法によっては、「conda」として単独で存在する場合もあります。プログラム検索で「conda」を検索すると、単独で見つかるかもしれませんが、このようなターミナルウィンドウ、PowerShellのような見た目になります。
作業するディレクトリを作成しましょう。そのコマンドは「mkdir」(ディレクトリ作成)です。「video game bench」と名付けましょう。そして、「cd video game bench」でそのディレクトリに移動します。Tabキーを押すと自動補完できます。これでそのディレクトリに入りました。
次に、このURLを取り、「git clone」と入力してからURLを貼り付けます。そうすると、そのディレクトリにすべてがクローンされます。
次に、インストール手順の最初の行を使います。これにより「video game bench」が作成されます。処理を続けるかどうか確認されるので、「y」と答えます。
これによって「video game bench」という環境が作成されます。環境とは基本的に、私たちが作業するための隔離された場所で、コンピュータの他の部分に影響を与えることなくインストールができます。複数の環境がある場合、それぞれに独自のプロジェクトと依存関係のセットがあり、互いに競合したり相互作用したりすることはありません。
「video game bench」という環境を作成しましたが、現在まだ「base」環境にいます。この2行目のコマンドを使います。複雑に聞こえるかもしれませんが、テキストを1行ずつターミナルにコピー&ペーストしているだけです。あまり圧倒されないでください。
ここで「video game bench」環境をアクティブにします。ご覧のように、「base」から「video game bench」に変わりました。これで環境に入りました。
次に「pip install -r requirements.txt」を実行します。エンターを押してください。gitクローンを実行すると実際には「video game bench」というディレクトリが作成されることに気づきました。そのため「cd video game bench」でそのディレクトリに移動します。
「pip install -r requirements.txt」を実行しましょう。これにより、このプロジェクトに必要なすべての要件がインストールされます。それらは「requirements.txt」ファイルに記載されており、このページに表示されています。
その内容を見ると、例えばゲームボーイエミュレータ、画像処理、データ検証など、これを実行するために必要なすべてのパッケージとすべてのものが含まれています。また、それらすべてが必要とするバージョンも正確に指定されています。自分でこれをやらなければならないとしたら、大変な苦労になりますが、このコマンド一つで「requirements.txt」ファイル内のすべてが正しいバージョン番号でインストールされます。
次にこのコマンドを実行します。これはプロジェクトをインストールし、編集可能にします。何か変更を加えても、すぐに使用できるようになり、再インストールする必要はありません。
そして「playwright install」を実行します。ブラウザと対話するためにはplaywrightが必要です。これで完了し、準備が整いました。
彼らが最初に試すことを勧めているのは、ポケモンレッドをプレイできるゲームボーイエミュレータです。ゲームボーイエミュレータでポケモンレッドを実行するには、ポケモンレッドのROMファイルが必要です。
ご覧のように、適切なROMをROMsフォルダに入れる必要があります。そのROMファイルはこのような感じで、拡張子は「.gb」になります。必ず「Pokemon red」と名前を付けてください。そのファイルを持っていたら、ROMsフォルダに入れるだけです。
ROMファイルが何であるかがよくわからない場合は、コメント欄で誰かが説明してくれるかもしれません。私の理解では、ゲームを購入した場合、法的コピーを所有している場合は、これらのエミュレータを使用してゲームをプレイすることができます。ゲームを購入すれば、これらのエミュレータで使用するためにコピーを作成できますが、Google検索をして、それがどのように機能するかについてもう少し学ぶことができるでしょう。
続けましょう。例として「python main.py –game Pokemon Red –model gpt4o」を実行します。
これらのコマンドの実行方法について簡単に説明しましょう。これらの小さなものは「引数」と呼ばれ、コマンドを実行するときに引数を渡して、いわばゲームの異なるバージョンやソフトウェアの異なるバージョンを作成できます。
少し分解してみましょう。まず、すべてのコマンドは「python main.py」と入力することから始まります。「main.py」は、このツールを実行するために構築されたプログラムです。ご覧のとおり、そこにあります。exeファイルがあるのと同じように、これはPythonファイルです。
Pythonインタプリタ(実行するもの)に「このプログラムを実行して」と言っています。そのプログラムは、コンピュータにコピーしたビデオゲームベンチリポジトリからのものです。このプロジェクトの背後にいる人々によって作成されたものであり、私たちはそれを実行しているだけです。
スペースを押し、ダッシュを2回押すと、さまざまな引数を渡すことができ、そのソフトウェアの実行方法が決まります。最も基本的なものは「–game」でスペースを押し、プレイしたいゲームを入力します。この場合は「Pokemon Red」です。これで実行されます。
ここでの引数は「ポケモンゲームを実行する」というものですが、「Doom 2」や「Civilization」、「Quake」を実行することもできます。下にスクロールすると、すべてのゲームとその引数のリストがあるはずでした。
実際に「configs」フォルダに行くと、これらがゲームの名前、実行方法だと思います。例えば「age of empires」は「Age of Empires 1」を実行し、「doom」、「doom2」のようにすべてのゲームがあります。「pokemon-red」、「warcraft2」、「wolfenstein」などがあり、このように書く必要があります。
ここにコマンドラインオプションまたは引数があります。おそらくいつも使用するのは「–game」とゲーム名です。例えば「Doom」、「Doom2」などと言えます。今は「Warcraft 2」としましょう。これによりWarcraft 2を呼び出し、起動します。
次に「–model」とモデル名を使用します。デフォルトでは「gpt4o」を実行しているので、それを書くか、必ずしも書く必要はありません。デフォルトで実行されると思います。
特定のLLMを呼び出したい場合、彼らは特定の表記法を使用しています。彼らが使用している命名規則は「light LLM」と呼ばれ、非常に直感的です。通常、「Gemini/」のようなプロバイダーと、そのプロバイダーが自分のシステムで呼ぶモデル名です。
例えば、これは「Gemini 2.0 flash」です。これは「anthropic」とその特定のモデル名です。または「Gemini 2.5 Pro」を実行したい場合は、そのようになります。「OpenAI」は「openai/」とモデル名になります。
ウェブサイトに行くと、そのモデルの完全な名前を見つけることができます。例えば、GPT-4.1のAIページを見つけ、下にスクロールすると、APIで使用されているモデルの完全な名前が見つかります。それがこれになります。これをコピーして、ここに貼り付けます。これが「openai/gpt-4.1」などになります。
これが理解できない場合は、ChatGPT-4oを使用すれば検索してくれます。これらのリンクをいくつか投げて「これを理解するのを手伝って」と言えば、案内してくれるでしょう。
理解する必要があるオプションがあと少しです。APIキーをこのように渡すことができます。AppleとLinuxでは、このコマンドの後に「=」と引用符内にAPIキーを貼り付けます。何であれ、それをここに貼り付けて実行すると設定されます。Windowsではこのコマンドです。
すべての説明と、コピー&ペーストして使用できるすべてのコマンドがあるレッドページへのリンクを投稿します。これが混乱する場合は、別のガイドを用意します。説明欄とおそらくピン留めされたコメントでもチェックしてください。
まず最初に、Doom 2の実行方法を素早くお見せします。「–enable-ui」このコマンドを実行しないとクラッシュするので、実行に苦労しました。これを貼り付けて実行しましょう。
すべてが読み込まれ、Doomゲームが表示されます。おそらくとても大きな音になるでしょう。実際には元のDoomサウンドトラックが再生されています。この時点で、私は何も触れていません。
ご覧のように、すべてが起動し、新しいゲームが始まり、デフォルト設定でプレイしようとしています。イヤホンで何かを聞きながら話そうとする練習のように、Doomゲームの音を聞きながら話せるか試してみます。
ここで何が起こっているかをお見せしましょう。残念ながら、AIがプレイするのを難しくしてしまいましたが、左側ではDoomゲーム内の画像と何が起こっているかを選んだモデル(GPT-4o)に渡しているのがわかります。そしてそれについて考えています。
「体力は97%、この弾薬を持っている」などと言っています。そして動き回っています。少し道を外れさせてしまったので、元の場所に戻しましょう。ここにいるべきです。これからは何も触りません。
敵に対処しようとします。このプロジェクトの一部として、「先に進む前にすべての敵に対処する」というプロンプトを与えました。そしてバーン!ご覧のように、部屋をクリアすることができました。これは実際にかなり印象的です。現在、体力は61%で続行します。少し混乱しているようで、まだ数人の敵がいると思っているようですが、生き残りました。
このゲームを実行する別の方法があり、モデルが考えている間、ゲームが一時停止します。今はリアルタイムでプレイしています。スクリーンショットをモデルに渡し、次に何をすべきかを考え、使用するキーを指示し、それが実行されます。
現在は、「www」と言って前進し、クリップを拾うなどと言っています。しかし、これを実行する別のオプションがあり、「light」と呼ばれています。基本的に、モデルが考えている間、ゲームは一時停止され、モデルが望むコマンドを実行するためにゲームが再開され、その後再び一時停止されます。
Doomを試したい場合は、UIを有効にしてください。そうしないとクラッシュします。これがDoomです。ここから出るには、Ctrl+Cを押すとすべてをシャットダウンし、クリーンアップして終了します。
これがDoomとすべての一人称シューターゲームです。UIが必要になります。Quakeを試したい場合はQuakeができます。元のDoomを試したい場合も同様にUIを有効にします。Warcraft 2を試すこともできます。Warcraft 2の例を挙げましょう。しかし、異なるモデルを試してみましょう。
Google AI Studioに行き、APIキーを生成し、コピーしました。これでGeminiモデルを使ってこれらのゲームをプレイすることができます。
ここで「python main.py –game Warcraft 2 –model gemini/gemini-2.5-pro」を実行します。どれだけうまくプレイできるか見てみましょう。APIキーを「–api-key」で設定するか、環境変数として設定するか、好きな方法でできますが、ここでは提供されているこのコマンドを使用できます。
これがWarcraft 2:Tides of Darknessであり、新しいゲーム、新しいキャンペーンを開始します。繰り返しますが、私は何も触っていません。デフォルトではオークキャンペーンを選択していると思います。
これが始まるところで、何をしているかを考え始めます。ご覧のように、マウスを動かしています。これは時間がかかります。正直に言って、これらのタスクをすべて完了するには少し時間がかかりますが、少しずつ、理想的にはこれらのタスクを実行し始めるでしょう。
兵舎を建設する必要があることを知っており、木材や金などを収穫する必要があることを知っています。このモデルは私にとってヒットアンドミスでしたが、十分な時間を与えていませんでした。
また、バックグラウンドでこれを実行し、一定の間隔でスクリーンショットを撮るヘッドレスモードも利用可能です。後で戻ってきて、モデルが何をしていたかを実際に見ることができます。それをチェックしたい場合はログにあります。
しばらくDoom 2をプレイさせていましたが、ゲーム画面のすべての映像とモニターも保存されています。どのように考えていたかがわかります。
例えば、ライトモードで実行したものがあります。これは、モデルが考えている間、ゲームが一時停止されることを意味します。ご覧のように、このゲームがどのように展開されたかについて少し物語を語る大量のスクリーンショットがあります。
かなりうまくやっていることがわかりますが、ここでもモデルが考えている間ゲームは一時停止され、その思考のモニターが見えます。
ポケモンレッドを実行したい場合も、ここに入力します。好きなモデルを選択するか、デフォルトのGPT-4oが使用されます。また、「Pokemon red.gb」ファイルがROMsフォルダにあることを確認してください。そして実行します。
OpenAI GPT-4oのデフォルトモデルを使用しています。少しずつ初期シーケンスを進んでいきます。以前に実行して少し歩き回らせたクリップがあるかもしれません。それを再生するかもしれません。それが、お気に入りのモデルを使ってポケモンをプレイする方法です。
うまくいきましたか?インストールできましたか?コメントで教えてください。問題があれば教えてください。リソースやトラブルシューティングなどを提供するよう努めます。もちろん、指示に従うだけではうまくいかなかった場合の話です。すでに何百万ものAIエージェントがDoomでモンスターを倒し回っている場合は、おめでとうございます。


コメント