Mopuru Gamesでは、CODE TRACEやウラギリ・シグナルの実装と検証にCodexとClaude Codeを使っています。AIへ完成形を一度に任せるのではなく、変更範囲、禁止事項、検証条件を小さなcheckpointに分け、人が結果を確認して次へ進む方法です。

先に変えてよい範囲を決める

ゲーム開発では、UIの改善が通信プロトコルを変えたり、テスト用設定が本番へ入ったりすると影響が大きくなります。そのため依頼ごとに「Workerは変更しない」「Production selectorは触らない」「ゲームルールは固定」といった境界を明示しました。

CODE TRACEでも、SOLOの純粋関数、DAILY TRACE、Challenge、共有画像、BATTLEを段階ごとに分けています。安定した状態をGitのcheckpointとして残し、次の実験が既存仕様を壊した場合に差分を読みやすくしました。

実装とテストを同じ単位で進める

数字の判定、日付からのCODE生成、Challenge URLの検証、質問カードの回答はUIから分離した純粋関数です。境界値や不正値をテストしてから、画面やWorkerへ接続しました。

オンライン対戦では、ブラウザ表示だけでなく、2クライアントのWebSocket統合テストでREADY、手番、質問、推測、RESULT、REMATCHを確認しています。iPhone Safariで初回のルーム作成後に画面エラーが出た際は、Storageが例外を投げる条件と古いsessionの遅延競合をテストで再現し、クライアント側のraceを修正しました。

スマホは最後ではなく各段階で見る

主要画面は375×812と390×844を基準に、横スクロール、ボタンの押しやすさ、結果画面の情報量を確認しています。PCで成立したレイアウトを縮めるだけでなく、モバイルでは装飾を減らし、数字入力や現在の手番を優先します。

ブラウザ確認と自動テストは役割が違います。計算や状態遷移はテストで広く固定し、文字切れ、視線の順番、タップ領域は実際の画面で確認します。

多言語表示は既存の切替へ統合する

JP / ENはサイト共通のLocaleContextを使い、ゲームごとに別の言語スイッチを作っていません。英語はキーを置換するだけでなく、短いボタン文言や説明の順番を画面幅に合わせて書き直します。内部enumやプロトコル名はそのまま保ち、利用者に見える文章だけを自然な表現へ変えます。

AIの提案も比較して採否を決める

DAILY TRACEではCodex版とClaude Code版の実装差分を読み比べ、失敗時の秘密CODE、URLパラメータの優先順位、連続記録、共有カード、テスト範囲を確認しました。差分があるから混ぜるのではなく、採用する価値があるかを項目ごとに判断し、最終的には一方を正式実装として残しました。

AIは調査、編集、テスト、ブラウザ確認を速く進める助けになります。一方で、公開する仕様、事実として書ける内容、本番へ反映するタイミングを決めるのは人です。この分担を崩さないことが、継続して改善できる開発につながっています。

公開中のゲームを見る