VibeGame: AI支援ゲーム開発のための高レベル宣言型エンジン

概要

Hugging Faceの研究者Dylan Ebertは、AI支援ゲーム開発、すなわち「バイブコーディング」のために特別に設計された高レベル宣言型ゲームエンジンVibeGameを紹介しました。VibeGameは、プロジェクトのコンテキストが大きくなるにつれて通常発生するAIパフォーマンスの低下に対処するため、軽量でモジュラーなアーキテクチャと、AIモデルが容易に生成・理解できる構文を提供します。

「バイブコーディング」ゲームの課題

バイブコーディングは、AIを高レベルのプログラミング言語として使用してソフトウェアを構築することと定義します。このアプローチにより、ユーザーは深いコーディング知識なしでゲームを作成できますが、重要な技術的ハードルであるコンテキスト管理に直面します。

ゲームプロジェクトが拡大すると、Large Language Models(LLM)のコンテキストウィンドウが埋まり、パフォーマンスが低下します。これを緩和するために、EbertはClaude Code用の軽量で非意見的なコンテキスト管理システムShallotを開発しました。このシステムは2つの主要コマンドを使用します:

  • /peel [prompt]: 会話の開始時にコンテキストをロードします。
  • /nourish: 会話の終了時にコンテキストを更新します。

ゲーム開発プラットフォームの比較分析

VibeGameを開発する前に、シンプルなインクリメンタルゲームに対してAI駆動開発を最も支援できる環境を判断するため、3つの異なるスタックを調査しました:

プラットフォーム AI パフォーマンス 抽象化レベル コンテキスト管理 オープンソース
Roblox 非常に高い なし
Unity なし
Web Stack 非常に高い 非常に高い あり

主な発見:

  • Roblox MCP: 優れた抽象化とAIの理解を提供したが、「壁で囲まれた」環境とファイルベースのコンテキスト管理の欠如に制限された。
  • Unity MCP: 完全なファイルシステムアクセスを提供したが、エンジンの複雑さと頻繁なバージョン変更によりAIパフォーマンスが一貫しなかった。
  • Web Stack (three.js, rapier, bitecs): 大規模な学習データにより最高のAI熟練度を示したが、ゲームを作成する前に実質的にゲームエンジンをゼロから構築する必要があった。

VibeGame の技術アーキテクチャ

VibeGameは、WebスタックのAI熟練度とRobloxのようなプラットフォームで見られる高レベル抽象化を組み合わせています。three.js(レンダリング)、rapier(物理)、bitecs(ゲームロジック)上に構築されています。

設計哲学

  1. 高レベル抽象化: 組み込みの物理、レンダリング、共通メカニクスを含み、コードベースを軽量に保ちます。
  2. 宣言的構文: ゲームオブジェクトとプロパティを定義するためにXMLライクな構文を使用し、HTML/CSSに似せています—AIモデルがすでに高い熟練度を持つ形式です。
  3. ECS アーキテクチャ: エンティティ・コンポーネント・システム(ECS)アーキテクチャを採用し、データ(コンポーネント)と振る舞い(システム)を分離して、モジュラリティとスケーラビリティを確保します。

実装例

VibeGameの基本シーンは宣言的に定義され、エンジンがプレイヤー、カメラ、照明を自動的に処理します:

<world canvas="#game-canvas" sky="#87ceeb">
  <!-- Ground -->
  <static-part pos="0 -0.5 0" shape="box" size="20 1 20" color="#90ee90"></static-part>
  <!-- Ball -->
  <dynamic-part pos="-2 4 -3" shape="sphere" size="1" color="#ff4500"></dynamic-part>
</world>

AIモデルを支援するために、VibeGameはエンジンのドキュメントを含むllms.txtファイルを提供しており、モデルのシステムプロンプトや初期コンテキストに組み込むことが想定されています。

機能と制限

Claude Codeを使用してインクリメンタルな草収集ゲームを構築するテストにより、VibeGameは最小限のドメイン知識でコアメカニクスを実装するのに適していることが示されました。

しかし、著者は2つの主要な注意点を指摘しています:

  • エンジン依存: エンジンが既にサポートしている機能に依存するゲーム(例:基本的な物理を持つシンプルなプラットフォーマー)に対しては非常に効果的です。
  • 複雑性のギャップ: マルチプレイヤー、戦闘、インベントリシステムなど、エンジンにまだ実装されていない複雑な機能に対してはシステムが苦戦します。

今後のロードマップ

VibeGameの今後の開発は、主に2つのトラックに焦点を当てています:

1. エンジン拡張: インタラクション、インベントリ、マルチプレイヤー、スキンメッシュ、アニメーション、オーディオ用の組み込みメカニクスを追加します。 2. AI ガイダンス: ガイド付きプロンプト、制限に関する明確なメッセージ、テンプレートや教育リソースの大規模なライブラリを通じて、初心者体験を向上させます。

Sources