本記事にはプロモーションを含みます。

第8回:ゲームが大きくなったので、開発体制を変えた。ChatGPTが設計、Codexが実装【Ver0.6.18】

日々の記録

2026年10月4日 · @Hideyoshi Namba

結論から言うと、この日から開発のやり方が変わりました。

ChatGPTで仕様を考え、Codexが実際のコードを書く。そのためにGitHubも導入しました。

ただ、AIに任せれば全部終わるわけではありませんでした。自動テストがすべて通った後、自分で画面を触ってみると、問題はちゃんと見つかりました。

気づけば、「すごろく」が「人生シミュレーター」になっていた

このゲームは、もともと30マスの小さなすごろくでした。サイコロを振って、赤い丸が進んで、GOALで終わり。Macのテキストエディットで、HTMLを直接書き換えていました。

それが今では、遊びながら自分の人生とお金の選択を試せる「人生シミュレーター」になりつつあります。作っている本人が一番驚いています。

将来的には、3年・5年・10年モードに加えて「50年モード」も考えています。人生100年モードも一度考えましたが、ゲームとしては長すぎるのでやめました。

50年モードでは、毎回サイコロを振る必要はありません。普段の進行は自動です。プレイヤーが操作するのは、保険を見直すか、家を買うか、転職するか、生活防衛資金を準備するかといった、人生と家計を左右する選択だけ。

人生は「社会人・独身→結婚・家族形成→子育て前半→教育費ピーク→セカンドライフ・老後」の5段階で進みます。資産も借金も、身につけた知識も、次の段階へそのまま引き継ぎます。20代の選択が、40代にも、老後にも効いてくる。そんなゲームにしたいと考えています。

生活防衛資金を、全モード共通の仕組みに

仕様の面では、生活防衛資金の扱いも決めました。

生活防衛資金は、別の資産ではありません。「現金のうち、生活を守るために確保している金額」という扱いです。画面にはこんな風に表示する予定です。

現金:180万円
うち生活防衛資金:90万円
生活防衛資金:生活費3.2か月分

失業や病気、景気後退、急な出費のときに取り崩し、減ったらまた補充する。3年モードでも、50年モードでも、CPUでも同じルールで動きます。

「貯める」カードの整理も進めています。自分がこれまで取り組んできたお金の見直しリストをもとに、重なる内容をまとめて、社会人・独身モードでは18枚前後にする予定です。カードを実践すると状態が残り、数か月後や数年後のイベントで効いてくる。前回決めたこの構造はそのままです。

開発体制を変えた:ChatGPTが設計、Codexが実装

ここからが、この日の一番大きな変化です。

これまでは、ChatGPTに相談しながら、その都度自分でHTML・CSS・JavaScriptを直していました。でもゲームが大きくなり、コードも長くなってきて、このやり方では限界が見えてきました。

そこで、役割を分けました。

  • ChatGPT:仕様とゲーム設計を一緒に考える
  • Codex:実際のファイルを読んで、コードを書く

第1回で、「Codexは機能が増えてコードが複雑になってから導入する」と書いていました。そのときが、ようやく来たわけです。

GitHubを導入した

Codexにファイルを直接触ってもらうために、GitHubを使い始めました。

GitHubは、コードを保管して、変更の履歴を管理するためのサービスです。これまでは「Ver0.1」「Ver0.2」とフォルダを分けて保存していましたが、それをきちんとした仕組みでやるイメージです。

やったことは次のとおりです。

  1. GitHubに、非公開の保管場所(Privateリポジトリ)を作る
  2. GitHub Desktopを入れて、Macにその保管場所のコピーを作る
  3. そのフォルダをCodexのプロジェクトとして登録する

これでCodexが、index.html、style.css、script.js、変更点のメモを直接確認して、編集できるようになりました。

もう一つ大事にしたのが、「ブランチ」です。Codexには、本体(main)を直接触らせません。本体のコピーである作業用のブランチを作らせ、そこで作業してもらいます。失敗しても、本体は無事。確認して問題がなければ、本体に統合します。

これは、AIに作業を任せるうえでの安全装置だと思っています。

Codexに任せた最初の仕事:カードを検証する道具づくり

Codexに最初に頼んだのは、新しいカードづくりではありません。カードを大量に作る前に、「カードとイベントを検証する開発環境」を整えることです。

主な中身はこんな感じです。

  • 人間1人、CPUなしで遊べる1人モード
  • 開発者モードから、好きなカードや関連イベントを強制的に起こす機能
  • 4人にそれぞれ違う条件を設定して、同じイベントの結果を比べる「シナリオテスター」
  • テスト用の状態と、通常のセーブデータを分ける仕組み

開発者モードのパスワードも、この機会に廃止しました。

一番使えるのがシナリオテスターです。たとえば、次の4人を用意します。

  • A:何も対策していない
  • B:パスワード管理ソフトを入れている
  • C:メールを整理している
  • D:両方やっている

この4人全員に、同じ「不正ログイン」イベントを起こします。そして、被害を受けたか、防げたか、損失はいくらかを並べて比べる。

これで「このカードを取る意味が、本当にあるのか」を実際に確かめられるようになりました。「備えは後で効く」というこのゲームの一番大事な部分を、数字で確かめるための道具です。

自動テストは、全部成功した

Codexは、作業の後に自分でテストもしてくれます。

全191個の選択肢が動くかの確認。イベント10種類の比較テスト。1人で3年間を最後まで遊ぶテスト。CPU4人での高速進行。古いセーブデータが読めるか。画面の幅が720〜1440pxで崩れないか。

報告は、すべて成功でした。

開発者用の機能は、dev-tools.js と dev-tools.css という別のファイルに分けてくれました。ゲーム本体と開発用の道具が、ある程度分かれた形です。

でも、自分で触ったら問題は見つかった

自動テストが全部通ったので、安心して自分で遊んでみました。すると、気になるところがいくつも出てきました。

生活イベントの欄では、見出しの右側と下の「収入」「支出」に、同じ内容が二重に出ていました。今後は、収入・支出に分けられるものは下の欄だけ。分けられない状態の変化だけを見出しの右に出します。

今月の収支の欄では、「キャッシング返済」「NISAインデックス積立」「生活防衛資金への振替」で、項目名と金額が重なっていました。長い項目名が2行になるものもあります。プレイヤーごとにカードの高さが違うので、横に並べて比べにくいことにも気づきました。

一番気になったのは、給与の表示です。「給与(額面)」と「手取り収入」が両方出ています。これ、現金に二重で加算されていないか?画面を見ていて、ふと不安になりました。本来は、額面は参考として表示するだけで、現金に入るのは手取りだけのはずです。ここはコードを確認してもらうことにしました。

自動テストが確かめるのは、「動くかどうか」です。「見やすいか」「数字が感覚と合っているか」は、人間が触ってみないと分かりません。AIに任せる部分が増えるほど、自分で遊んで確かめる役割はむしろ大事になる。そう感じた日でした。

これらの修正は、翌日に回しています。そのため、Ver0.6.18はまだ作業用のブランチにあるだけで、本体には統合していません。直してから、正式版にします。

Notionで開発の進め方も管理し始めた

やることが増えてきたので、Notionにこのゲーム専用の開発タスク管理も作りました。普段の日常のタスク管理とは完全に分けています。

ロードマップはこうです。

  • Ver0.6:画面と土台を安定させる
  • Ver0.7:カードとイベントを本格的に増やす
  • Ver0.8:アニメーションなどの演出
  • Ver0.9:イラスト、BGM、効果音
  • Ver1.0:正式リリース

「今日の開発」という画面も作り、毎日の作業だけを抜き出して見られるようにしました。ゴールまでの道のりが見えると、毎日の作業に迷いがなくなります。

この日を振り返って

テキストエディットで「.txt」が勝手に付いて困っていたのが、つい最近のことのように感じます。それが今では、GitHubでコードを管理し、Codexに実装を任せ、Notionでロードマップを見ています。

ただ、道具が変わっても、やっていることの中心は同じです。自分で遊んで、おかしいところを見つけて、直す。AIが書いてくれるコードが増えた分、「何を作るか」と「ちゃんとできているか」を判断するのが、自分の仕事になってきた気がします。

このゲームで目指しているのは、何も使わずに資産だけ増やした人が勝つゲームではありません。お金、健康、時間、満足度。そのうえで「自分は何にお金を使い、どんな人生を選ぶのか」を考えられるゲームです。

次回は、見つかった画面と金額表示の問題を直して、Ver0.6.18を正式版として本体に統合する予定です。

コメント