AI

AIを使ったバイブコーディングで「愛犬にゲームを開発させる」ことに成功


元Metaのエンジニアであるカレブ・リーク氏が、愛犬のモモにClaude Codeを使用してゲームを制作させるというユニークな試みを行いました。このプロジェクトは犬によるランダムなキーボード入力を、高度なプロンプトエンジニアリングと自動化されたフィードバックツールを駆使して、実際にプレイ可能なゲームへと変換するシステムの構築を目的としています。

I Taught My Dog to Vibe Code Games | Caleb Leak
https://www.calebleak.com/posts/dog-game/

リーク氏は以前Metaのリサーチエンジニアを務めていましたが、レイオフにより時間ができたことから、モモが以前キーボード上で誤入力をしたことがあったことを思い出し、この実験を開始したとのこと。

システムはモモがBluetoothキーボードで入力した信号をRaspberry Pi 5経由でDogKeyboardというRust製アプリに送り、特殊キーをフィルタリングした後にClaude Codeへ渡す構成。


モモが一定の文字数を入力すると、Zigbee接続されたAqara製のC1スマートペットフィーダーから報酬のおやつが提供され、Claudeが次の入力を待機する際にはチャイムが鳴る仕組みとなっています。モモがキーボードを叩くことでおやつがもらえることを学習するまで2週間のトレーニングを要したとのこと。


Claude Codeには「ユーザーは風変わりな天才デザイナーで、意味不明な入力はすべて天才的なアイデアが込められた暗号として解釈する」というプロンプトを入力済み。開発環境にはGodot 4.6が選ばれており、コードはC#で記述されます。Godotが選ばれた理由はシーンファイルがテキスト形式であり、Claudeが直接読み書きしやすいという利点があったからだそうで、過去に試行したUnityやBevyでは物理エンジンの不足やツールの連携に課題があったとのこと。

リーク氏は、Claudeが自身の制作物を検証するフィードバックループがこの開発において最も重要な役割を果たしたと語っています。さらにリーク氏は、Pythonスクリプトを用いてClaudeがゲームのスクリーンショットを撮影し、表示に不備がないか確認する機能や、自律的に操作コマンドを送ってQAテストを行うツールを導入しています。加えて、シーンやシェーダーのエラーを検知するリンターや入力マッパーなどのツールを統合することで、動作しないゲームが生成される確率を大幅に下げることに成功したそうです。

制作された作品はキー入力で音が鳴る「DJ Smirk」、サラダを作る「Munch」、リズムゲームの「Octogroove」など。


パズルゲームの「Zaaz」はクリア不能なレベルが生成されるなどの課題もあり、後にプロンプトでパズルゲームを除外する設定が追加されたそうです。



最新作の「Quasar Saz」は6ステージとボス戦を備えたアクションゲームとなっています。


リーク氏はAI支援開発における真のボトルネックはアイデアの質ではなく、フィードバックループの質であると結論づけています。Claude Opus 4.6がリリースされた際には品質がさらに向上し、Claudeが自律的に問題を修正してプレイテストを繰り返す様子も見られたとのこと。犬のデタラメな入力であっても、適切な検証ツールと環境があれば、動作するソフトウェアを構築できることが証明されたとリーク氏は述べています。

なお、リーク氏は実験に使用したツールやプロンプト、ソースコードはすべてオープンソースとして公開しており、誰でも試すことができます。

GitHub - cleak/tea-leaves
https://github.com/cleak/tea-leaves

この記事のタイトルとURLをコピーする

・関連記事
人間は犬に求めすぎている - GIGAZINE

人工知能を使用してクジラと会話するプロジェクトとは? - GIGAZINE

GPT-5.2-Codex・Claude Code・Gemini CLI・Mistral Vibeにマインスイーパーを開発させるとこうなる - GIGAZINE

小さな液滴を操作して実験できるガジェット「OpenDrop」でパックマンやヘビゲームをプレイする動画 - GIGAZINE

in AI,   ソフトウェア,   ゲーム,   生き物, Posted by log1i_yk

You can read the machine translated English article AI-powered vibration coding allows dogs ….