LLM統合ガイド

ChatGPT、Claude、Gemini、その他のAIで毎回有効な.rakuゲームを生成する方法

2つのフォーマット、1つのエンジン

Rakuエンジンは2つの.rakuファイル形式をサポートしています。ニーズに合ったものを選択してください。

標準フォーマット

推奨

宣言的設定 — 何が欲しいかを記述すれば、エンジンがどのように実現するかを判断します。

バージョンキー: "schema_version": "1.0"

トップレベル: gameaientitiesscenesrenderingaudioxrai_disclosure

スキーマ: rakuai.com/schema.json

サンプル: 全標準サンプル →

最適な用途:素早いゲーム作成、初心者、ほとんどのLLMタスク

ランタイムフォーマット

上級者向け

明示的なAPI呼び出しシーケンス — すべてのエンジン関数呼び出しが順番に指定されます。

バージョンキー: "raku_format": "1.0.0"

トップレベル: metadataassetsinitializationsetupgame_loopai_pipelineshutdown

リファレンス: ランタイムフォーマットリファレンスカード →

サンプル: void-wyrm.raku(290行) →

最適な用途:複雑なゲーム、カスタムビヘイビアツリー、詳細なAIパイプライン制御

このページの残りでは標準フォーマットについて説明します。ランタイムフォーマットについては、GitHubのLLMランタイムリファレンスカードをご覧ください。

問題点

実際のスキーマを提供しないと、LLMはスキーマをハルシネーション(幻覚生成)します。Rakuの仕様に存在しない settingsgameplaycontrolsanalytics といったフィールドを作り出します。ファイルは有効なJSONに見えますが、実行できません。

スキーマなしで起こること

テストしました:ChatGPTに「ゾンビサバイバルゲームの.rakuゲームファイルを作成して」と依頼しました。完全に架空の構造で150行の有効なJSONを生成しました。バリデーターは2つのエラーと2つの警告を検出しました。バージョン形式の誤り("1.0"ではなく"1.0.0")、gameオブジェクトの欠落、6つのハルシネーションフィールド、ai_disclosure形式の誤りが含まれていました。

解決策はシンプル

常にAIにスキーマURLを指定してください:https://rakuai.com/schema.json。 LLMが実際の仕様を読めれば、最初の試行で有効なファイルを生成します。 プレイする前に必ずバリデーターツールで検証してください。

コピー&ペーストプロンプト

任意のAIアシスタントでこれらのテスト済みプロンプトを使用してください。スキーマURLが含まれているため、AIが実際の仕様を読み取ります。

基本プロンプト(あらゆるゲーム向け)

Using the Raku game engine schema at https://rakuai.com/schema.json — read that schema first, then create a .raku game file for: [describe your game here]. Include the ai_disclosure section. Output only the raw JSON, no markdown code fences.

詳細プロンプト(サバイバルゲームの例)

Using the Raku game engine schema at https://rakuai.com/schema.json — read that schema first, then create a .raku game file for: A zombie survival game with day/night cycles, crafting, and base building. Zombies should get more aggressive at night. The AI should track emotional state and back off if the player is frustrated. Use the "survival" template and genre. Include the ai_disclosure section with appropriate systems. Output only the raw JSON, no markdown code fences.

厳格プロンプト(頑固なLLM向け)

Read the JSON schema at https://rakuai.com/schema.json before generating anything. Create a .raku file for: [describe your game here].

RULES:
- schema_version must be "1.0" (not "1.0.0")
- Top-level must have: schema_version, game, ai, entities, scenes, rendering, audio, xr, ai_disclosure
- The "game" object must contain: title, genre, template
- Do NOT invent fields like settings, gameplay, controls, ui, analytics, assets, or levels
- ai_disclosure must have: live_generated, pre_generated, description, systems
- Output raw JSON only, no markdown fences, no explanation

修正プロンプト(不正なファイルの修正)

The .raku file you generated has validation errors. Read the correct schema at https://rakuai.com/schema.json and fix these issues:

[paste your validator output here]

Output only the corrected raw JSON, no markdown code fences.

ステップバイステップのワークフロー

1. AIで生成

上記のプロンプトのいずれかをChatGPT、Claude、Gemini、または任意のLLMにコピーしてください。ゲームの説明を入力すると、AIがJSONを出力します。

2. .rakuファイルとして保存

JSON出力を.rakuファイルとして保存します。重要:BOMなしのUTF-8で保存してください。 Windowsのメモ帳を使用する場合は、「名前を付けて保存」→ エンコード:「UTF-8」(「UTF-8(BOM付き)」ではなく)を選択してください。 AIが```jsonフェンスで囲んでいた場合は、それらの行を最初に削除してください。

3. 検証

raku-publicをクローンしてバリデーターを実行してください:

# Validate your file
python tools/validate-raku.py my-game.raku

# Auto-fix common LLM mistakes (BOM, fences, wrong version)
python tools/validate-raku.py my-game.raku --fix

# Validate all files in a folder
python tools/validate-raku.py *.raku

4. 残りのエラーを修正

バリデーターがエラーを報告した場合は、上記の「修正プロンプト」を使用して出力をAIにコピーし直してください。 または、--fixモードを使用して最も一般的な問題を自動修復できます。

5. プレイ

PASS - Valid .raku fileと表示されたら、ファイルをダブルクリックしてプレイできます。 ランタイムをダウンロード →

プラットフォーム別の注意事項

ChatGPT

精度:良好

GPT-4およびGPT-4oはスキーマURLを確実に読み取ります。注意点:出力にMarkdownコードフェンスが含まれること(```json行を削除)、時折余分なフィールドを作り出すこと。プロンプトに常に「output only raw JSON」を含めてください。

Claude

精度:優秀

Claude OpusとSonnetはURLが提供されるとスキーマに正確に従います。直接検証のためのMCPサーバー統合をサポート。指示があればMarkdownフェンスを追加することはほとんどありません。

Gemini

精度:良好

Gemini Proはスキーマをよく読み取ります。マルチターン会話での反復的な設計に最適。schema_versionに"1.0"ではなく"1.0.0"を使用することがあります。

GitHub Copilot

精度:良好

VS Codeでスキーマを参照ファイルとして使用すると効果的です。schema.jsonを隣のタブで開くと、Copilotが.rakuファイルのオートコンプリートに使用します。

トラブルシューティング

一般的なバリデーターエラーとその修正方法。ほとんどは--fixで自動修正できます。

Invalid JSON: Expecting value: line 1 column 1

ファイルが空であるか、BOMが含まれているか、Markdownフェンス(```json)で始まっています。

修正:python tools/validate-raku.py my-game.raku --fixを実行してBOMとフェンスを自動的に削除します。

Unsupported schema version: '1.0.0'. Expected '1.0'

LLMはバージョン番号に余分な桁を追加しがちです。

修正:"schema_version": "1.0.0""schema_version": "1.0"に変更します。--fixフラグで自動的に修正されます。

Missing required field 'game'

AIがtitle、genre、templateを"game"オブジェクト内ではなくトップレベルに配置しました。

修正:"game": { "title": "...", "genre": "...", "template": "..." }で囲みます。--fixフラグで自動的に修正されます。

AI-hallucinated fields detected

AIがsettingsgameplaycontrolsuianalyticsassetslevelsなどのフィールドを作り出しました。

修正:これらのフィールドを削除してください。有効なトップレベルフィールドは次のみです:schema_versiongameaientitiesscenesrenderingaudioxrai_disclosure--fixフラグで自動的に削除されます。

Wrong ai_disclosure format

AIが正しいスキーマの代わりにcomplianceuses_player_datadata_trackedなどのフィールドを使用しました。

修正:ai_disclosureセクションを次のように置き換えます:live_generated(bool)、pre_generated(bool)、description(string)、systems(array)。有効なシステム名についてはスキーマを参照してください。

File starts with UTF-8 BOM

Windowsのメモ帳やPowerShellのSet-Content -Encoding UTF8が不可視のBOMバイトを追加します。

修正:--fixを使用するか、PowerShellで:[IO.File]::WriteAllText("$PWD\file.raku", (Get-Content file.raku -Raw), [Text.UTF8Encoding]::new($false))

スキーマクイックリファレンス

有効な.rakuファイルの完全な構造。完全なスキーマ →

{
  "schema_version": "1.0",
  "game": {
    "title": "string (1-128 chars)",
    "genre": "shooter|platformer|puzzle|rpg|racing|tower-defense|arena-combat|survival|music-rhythm|custom",
    "template": "space-shooter|tower-defense|puzzle|platformer|arena-combat|custom-advanced|racing|rpg-adventure|survival|music-rhythm",
    "description": "optional",
    "max_players": 1 // 1-16, multiplayer requires Pro
  },
  "ai": {
    "dda_enabled": true,
    "target_flow_state": 0.7, // 0.0-1.0
    "profiler_mode": "adaptive|fixed|learning",
    "emotional_tracking": true,
    "npc_personality": false
  },
  "entities": [
    { "type": "player", "health": 100, "speed": 1.0, "properties": { } }
  ],
  "scenes": [
    { "name": "Main Menu", "type": "menu" },
    { "name": "Gameplay", "type": "gameplay", "entities": ["player"] }
  ],
  "rendering": { "resolution": "auto", "fps_target": 60, "vrs_enabled": true },
  "audio": { "spatial_audio": true, "adaptive_music": true },
  "xr": { "openxr_enabled": false },
  "ai_disclosure": {
    "live_generated": true,
    "pre_generated": false,
    "description": "What AI does in your game",
    "systems": ["dda", "emotional-tracking"],
    "guardrails": "optional safety bounds"
  }
}

GitHubで6つの完全なサンプル.rakuファイルを閲覧 →