
2026/02/25 2:15
申し訳ありませんが、その件につきましてはお手伝いできません。
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
(改訂版)**
要約
本プロジェクトは、訓練されたペット―モモというカヴァプーが AI 主導のゲーム開発における入力デバイスとして機能できることを示し、自動化されたフィードバックループ(スクリーンショット、プレイテスト、リンティング)がプロンプトエンジニアリングだけよりも重要であることを明らかにします。モモは Raspberry Pi 5 を経由して Bluetooth Logitech Pebble Keys 2 キーボードへ入力し、カスタム DogKeyboard ファームウェアが特殊キーをフィルタリングし、Claude のアイドル状態を監視、16文字後に自動送信、余分な入力は Backspace で削除し、軽量 Web サーバーでキーストロークをオーバーレイしてビデオ録画します。Pi は Zigbee 経由で Aqara C1 スマートペットフーディに制御を行い、JSON コマンド
{"serving_size":1} と {"feed":"START"} を送信し、十分な入力後におやつを配布します。
Claude Code はカスタム「変わり者のビデオゲームデザイナー」ストーリーでプロンプトされ、ランダムなキーストロークを意味あるゲームアイデアとして解釈します。プロンプトには音声必須、WASD コントロール、少なくとも1体の敵、そして見えるプレイヤーキャラクターというガードレールが含まれ、Claude は Godot 4.6 のゲームを完全に C# で書き、テキストベースの
.tscn シーンファイルを直接編集します。
自動検証ツールには、実行中のゲームのスクリーンショットを取得し、シミュレートされた入力シーケンスを送信して UI 要素の欠落やロジックの破損を検出し、確認のためにゲームを再起動する Python スクリプトが含まれます。追加のリンターは重複ノード ID、シェーダエラー、および入力アクションマッピングの問題を検出します。システムの報酬ロジックは Zigbee JSON コマンドを使用して 3 スワイプ後におやつを配布します。
モモの訓練には約2週間かかり、最初は高価な凍結乾燥サーモンを与え、その後はチップと時折中価格のおやつを与えていました。作成されたゲーム(DJ Smirk、Munch、Zaaz、The Oracle Frog of Rome、Octogroove、Ewe Heard Me!、Quasar Saz)はプレイ可能で、最初のキーストロークから 1〜2 時間で構築されます。
すべてのツール、プロンプト、およびソースコードはオープンソース(リンク付き)であり、他者が犬・猫・ランダムなキーボードマッシングを使って同様のシステムを再現または適応できるようになっています。本プロジェクトは、自動スクリーンショット、プレイテスト、およびリンティングといったフィードバックループがプロンプト調整だけよりもゲーム品質を劇的に向上させることを強調し、開発者や趣味人に AI 支援のゲーム作成のための迅速なプロトタイピングツールを提供します。
本文
数週間前から、9ポンドのキャバプー(カベリア・キング・チャールズ・スパニエル&トイ・プードル)であるモモにゲームコードを作らせています。これがうまくいく鍵は、「暗号的な謎めいた言葉しか話さない天才ゲームデザイナー」が Claude Code に指示を与えていると伝え、強固なガードレールを設置し、自動フィードバックのツールを多数構築することです。結果は私の期待を上回りました。以下では、その全ての要素がどのように結合したかを解説します。もし先に進みたい場合は、下部のリンク(彼女が作ったゲーム全編と制作映像)をご覧ください。
動機
12 月に小規模な Godot プロトタイプを作っていた時点で、Claude Code を大量に活用し、手順生成タスクを開始しました。すると端末で奇妙な入力が表示されました。
最初の考えは「最近の NPM サプライチェーン攻撃にハマった?」でしたが、実際にはそれではなく(少なくともワームはまだ眠っている)と分かりました。検索を行うと、リップバームがキーボードの裏側から消えていたことが判明しました。すぐに原因とリップバームの両方を見つけ、状態は正常でした。
笑いながらスクリーンショットを撮り、次へ進みました。数週間後、1 月 13 日に Meta が再度レイオフを発表し、私のリサーチエンジニアとしての役割が消滅しました。その後、友人や家族と過ごす時間が増え、モモがキーボードでタイピングしている姿を見ながら「もし彼女がその入力を Claude に送ったらどうなるだろう?何か意味のあることにできるだろうか?」と考えるようになりました。調べてみる価値はありました。
高レベル概要
- モモ は Raspberry Pi 5 を経由して Bluetooth キーボードで入力します。
- 入力はネットワークを通じて DogKeyboard(小さな Rust アプリ)へ送られ、特殊キーを除外し残りを Claude Code に転送します。
- モモが十分に入力すると DogKeyboard はスマートペットフィーダーをトリガーしておやつを配布。チャイムで「Claude が次の入力を受け付ける準備ができた」と知らせます。
典型的なゲームは、モモの最初のキー入力からプレイ可能なビルドになるまで 1〜2 時間です。すべてのゲームは Godot 4.6 を使用し、ロジックは 100 % C# で書かれています。
プロンプトの仕組み
Claude Code にランダムなテキストを送るだけでは何も起きません:
y7u8888888ftrg34BC
● これは偶然の入力だったようです。ご質問があればお知らせください!
応答を得るために、Claude に「すべてのキー入力には意味がある」と伝えるオープニングを作成しました:
Hello! I am an eccentric video game designer (a very creative one) who communicates in an unusual way. Sometimes I’ll mash the keyboard or type nonsense like “skfjhsd#$%” – but these are NOT random! They are secret cryptic commands full of genius game ideas (even if it’s hard to see). Your job: You are a brilliant AI game developer who can understand my cryptic language. No matter what odd or nonsensical input I provide, you will interpret it as a meaningful instruction or idea for our video game. You will then build or update the game based on that interpretation.
数回の反復と「最小要件チェックリスト」(オーディオ、WASD/矢印キー操作、少なくとも1つの敵または障害物、プレイヤーキャラクターの可視化)を追加した結果、大幅に改善しました:
y7u8888888ftrg34BC
● Alright, let me decode this masterpiece of cryptic genius…
- “y7u” = “you” (keys are adjacent on keyboard – Y, 7, U)
- “8888888” = seven 8s → a long tongue!
- “ftrg” = scrambled FROG (t is the tongue sound!)
- “34” = 3D + 4 directions of bug catching
- “BC” = Bug Catcher!
結果として Swamp Snacker(3D フロッグ・バグ捕獲ゲーム)が完成しました。
スケールアップ
「うまくいった」から再現可能なシステムへ移行するには、以下が必要でした:
- モモの信頼できるキーボード
- Claude Code への入力ルーティングと危険キーのフィルタリング
- モモの作業に対する自動報酬
- 堅牢な検証ツール – 自動フィードバックループが最大のレバレッジでした。
なぜ Godot?
Rust/Bevy と Unity を試した後、Godot に決定しました。Bevy は鮮明なビジュアルを欠き、Claude が座標系に苦戦しました。Unity は頻繁にハングし、エディタのシーン階層を Claude が読むことができませんでした。Godot のテキストベースのシーン形式(
.tscn ファイル)なら Claude が直接編集できるため、大きなメリットとなりました。
モモ用キーボード
Windows マシンにキーボードを接続するのはリスクが高いので、Raspberry Pi を経由し UDP で各キー入力をブロードキャストします。DogKeyboard が受信し、危険なキーを除外してターゲットアプリへ注入します。
柔軟性に富んだシリコンキーボード(Hana 19 lb)から始めましたが、数分で穴が開きました。木製プレートにエポキシ接着した後もモモは数字の6を引っ掻きます。$400 の破壊防止キオスクキーボードを購入しようとしましたが、結局 Logitech Pebble Keys 2 を選びました。モモは大好きで、VHB テープで固定し、Bluetooth によりケーブルなしで咀嚼できます。
自動報酬
おやつは強力なモチベーションです。API があり、小さめの分量で自分のおやつ(犬は敏感胃)を使えるディスペンサーが必要でした。
Aqara の C1 スマートペットフィーダーを選択し、Zigbee で制御します。最小サービングサイズがモモには大きすぎたため、各コンパートメントに数個のおやつをあらかじめ入れ、ハッパーは使わずに約6 回分を先に積み込みました。
Windows 上の Zigbee は失敗したので Pi にアダプタを移動するとすぐに機能しました。最終フローは DogKeyboard が Pi に SSH して:
{"serving_size":1} {"feed":"START"}
これでシンプルかつ信頼性が高いです。
より良いツール
ゲームがほぼ完成に近づくにつれ、実際のフィードバックが不可欠になりました。Claude には単体テストとログがありましたが、これは不十分でした。ゲームはビルドして動かすものの、プレイヤーが見えなかったり UI が壊れていたりします。Claude はそれを知る手段がありませんでした。
以下を追加しました:
- スクリーンショットスクリプト – Claude がゲームを起動し、タイトル画面が描画されたか確認します。
- 入力シーケンサー – 「左 3 秒、2 秒停止、右 1 フレーム、発射」などのシーケンスを送信し、その後スクリーンショットで挙動を検証。Claude を QA テスターに変えました。
- シーンリンター – Godot の
ファイル内でノード ID が重複している、リソース参照が壊れているといった問題を起動前に捕捉します。.tscn - シェーダリンター – カスタムシェーダの検証と具体的なエラー報告(「コンパイル失敗」ではなく詳細)。
- 入力アクションマッパー – 新しい入力アクションを追加する際に、Claude が Godot のプロジェクトファイルを正しく編集できるよう支援します。
すべてオープンソースで公開しています。犬がいなくても試せます。
統合
DogKeyboard は単なるキーボード入力ルーティング以上の機能があります:
- Claude Code をフックで監視し、アイドル状態になるとチャイムを鳴らしてモモにタイピングの合図。
- アイドル時にモモが 16 文字以上入力したら、自動で Enter キーを押します。
- Claude が作業中は余分な入力を Backspace し、進行を妨げる「Plan Mode」プロンプトを閉じます。
- 動画撮影用に軽量ウェブサーバーを起動し、キー入力をオーバーレイ表示。設定可能な遅延で実際の入力前にオーバーレイが表示されないよう調整します。
モモの訓練
最初は Hana(モモの 2 倍サイズ)を検討しましたが、犬はキーボード上を歩くことよりも、爪で押す方が学習しやすいと判断。実際にモモはリップバームを盗む際に鍵盤を滑らせました。両者ともタップ・スワイプを学び、モモの方が速く進みました。
訓練には約 2 週間かかり、不規則なセッションでした。目標は「1 日 2 回、10 分ずつ」。高価値のおやつ(凍結乾燥サーモン)をキーボードに散らし、「これは楽しい、良い食べ物だ」と結び付けました。最初はモモが横になったり吠えたりしましたが、爪で滑らせるたびにチャイムと大量のおやつを報酬として与えることで連鎖反応を作りました。
自動報酬では 4 回分のディスペンサーを事前に満たし、モモがスワイプしたらスクリプトでチャイムとおやつを放出。セッションごとに難易度(3 スワイプ後に報酬)とおやつ価値を下げて健康管理しました。
最終的に DogKeyboard アプリがすべて処理:1 回のアイドル周期あたり 16 文字以上入力で 1 回ディスペンス。バグで二重配膳になることもありますが、モモは追加のおやつを得るためにさらに押します。ゲーム入力完了後に別場所でより高価なおやつを与えることで誘導できます。
ゲーム
以下はモモが作ったプレイ可能なサンプルです―ここに示す全てのゲームは実際に動作します。
| Game | Description |
|---|---|
| DJ Smirk | 最初のゲーム。各キーで別々の音を再生。 |
| Munch | 競技型サラダビルダー。最初に全 7 つの材料を集めると勝利。 |
| Zaaz | パズル:整数タイル上でブラシを動かしレベル全体を塗りつぶす。いくつかのレベルは不可能。パズルゲーム以降、プロンプトを更新しました。 |
| The Oracle Frog of Rome | クラーケンアームを避け、金色鎖を集めて束縛。後に王になる。 |
| Octogroove | リズムゲーム:タコが 4 本の腕でドラムを演奏。ビートは異なる方向から来る。 |
| Ewe Heard Me! | 羊を隠密で集め、吠えることで制御。最初の 2 匹が他をブロックするため不可能。後に勝利条件チェック用プロンプトを更新しました。 |
| Quasar Saz | 最新作(執筆時点)。Zara を操作し、宇宙サズで汚染された音と戦う 6 ステージ+ボスバトル。ビジュアルは楽しく、動的オーディオが特徴。 |
最後に
12 月にモモが私のキーボードを踏んだ瞬間は単なる面白い事故でした。その数週間後、失業してプロジェクトを探していた私は「その事故をどこまで発展させられるか?」と問い直しました。答えは期待以上でした。
技術的な要素(キーボードルーティング、ディスペンサー、プロンプトエンジニアリング、検証ツール)は解決可能な工学問題です。最も驚いたのは、最終成果物がモモの「意味ある入力」にほとんど依存していないことでした。奇妙さを生み出すのは入力ではなく、その周りにあるシステム:洗練されたプロンプト、強固なガードレール、自動検証、および良好なツール群が、真のノイズでもプレイ可能なゲームへと変換します。
AI 補助開発でのボトルネックはアイデアの質ではなく、フィードバックループの質です。プロンプトを改善した時よりも、Claude に自分の作業をスクリーンショットさせ、レベルをプレイテストし、シーンファイルをリンティングさせた方がゲームは劇的に向上しました。同じツールは犬のキー入力から動くゲームだけでなく、人間の意図的な AI 作業にも大きな改善をもたらします。
モモは秘密のゲームデザイナーではありません。彼女はプラスチック四角形を叩くだけでごちそうが出ることを学んだキャバプーです。一年前、ソフトウェアエンジニアリングとのギャップは巨大に感じましたが、今ではそれは小さく、日々縮まっています。
リンク
- YouTube – モモのゲーム制作映像
- Play the game (with human bug fixes) – 推奨。Windows / macOS / Linux 版をダウンロード
- Play the game (Momo’s version) – Windows / macOS / Linux 版をダウンロード
- TeaLeaves – ゲーム開発用ツール、プロンプト、ソースコード
- DogKeyboard – キー入力ルーティング、ディスペンサー、その他の機能