AI Game Arcade の仕組み

AI Game Arcade のゲームは、アプリをインストールしなくてもブラウザだけで動きます。ページを開くと、ゲームに必要な画面や音、ルールを動かすプログラムが読み込まれ、端末のブラウザがその場で実行します。私たちはAstroでサイトのページを組み立て、ゲームの描画と入力にはPhaser、画面のUIにはReactを使っています。どれも「ゲームを始めるまでの手間を増やさず、画面で起きていることを気持ちよく返す」ための役割分担です。

配信のしかたも、その速さと分かりやすさを支えています。ページやゲームのファイルは静的な資産として配信され、必要なものをブラウザが受け取って表示します。Cloudflare Workers はサイトを配信する土台として使っていますが、通常のプレイごとにゲームの判断をサーバーで計算する仕組みではありません。開いたページの中で動くものを中心に設計することで、サーバーの混雑を待つより先に、まず遊び始められるようにしています。

端末の中で動くAI

現在、ニューラルネットワークを使うゲームは6本あります。そのうち対戦ゲームでは、AIが対戦相手や仲間として、あらかじめ学習済みの方策に沿って行動します。別のゲームでは、描いた線を読む分類器として使われます。「学習済み」とは、多くの試行の中で、状況を見てどの操作を選ぶとよいか、あるいは何を描いたかを判断する練習をした結果です。プレイ中にAIが経験を集めて勝手に学び直すのではなく、用意されたモデルがその場の状況を読み、次の一手や分類を返します。そのためゲームごとの個性を保ちながら、毎回すぐに応答できます。

その判断にはONNXというモデルの形式と、onnxruntime-webというブラウザ用の実行環境を使います。少し専門的に聞こえますが、役割は単純です。モデルはAIの判断のための小さな設計図、実行環境はその設計図をブラウザの中で動かす道具です。実行環境のWebAssemblyファイルもモデルファイルも、私たちが管理する場所から配信する自己ホストの資産です。第三者のCDNから実行中のコードを読み込むことはありません。ゲームが状況を数値にしてモデルへ渡し、返ってきた候補からAIが行動を選ぶ流れは、あなたの端末のブラウザ内で完結します。

これは、AIに話しかけるたび遠くのサーバーへ画面や操作を送る方式とは異なります。AIの推論に使う入力は端末内にとどまり、通常のフリープレイでAIを動かすためのプレイデータを外へ送る必要はありません。オンライン対戦や任意のランキング投稿のように通信が必要な機能は別に扱い、何が送られるかをプライバシーポリシーで説明しています。端末内推論は、待ち時間を減らすだけでなく、遊び始めるときの情報の扱いを分かりやすくするための選択でもあります。

同じ入力なら、同じ結果へ

ゲームの勝敗やスコアを作る中心部分には、決定論シミュレーションを使っています。これは難しい魔法ではありません。同じ初期状態から、同じ順番・同じタイミングで入力したなら、いつ実行しても同じ結果になるようにルールを計算する考え方です。乱数が必要な場面でも、再現できる種から順に取り出し、時間の進み方も一定の刻みで扱います。こうして、通信の揺れや端末ごとの偶然がスコアの内容に入り込みにくくなります。

その性質は、上達する手応えにもつながります。成功した操作をもう一度試せること、失敗の原因を画面と入力から振り返れること、同じ条件なら別の選択だけを比べられること。短いゲームでも、こうした積み重ねが「次は届くかもしれない」という挑戦を支えます。私たちはゲームの表示や触り心地を磨きながら、ルールの中核はできるだけ独立した形に保ち、同じ挙動をテストで確かめています。

登録なしで、まず遊ぶ

登録不要・端末内完結という方針は、技術の説明だけではありません。初めて来た人が、メールアドレスやパスワードを考える前に、ゲームそのものと出会えるようにするためです。すべてをオンラインから切り離せるわけではありませんが、通信が価値を生む機能だけを明確に分け、普段の一回を余計な手続きで重くしないことを選んでいます。詳しい運営の考え方はこのアーケードについて読むで読めます。