はじめに
これまでにGodotとVSCode、Codexを使ってゲーム開発を行う準備をしてきました。 今回はゲーム内容の大枠を決めてから、いよいよ実装を始めていきます。
連載記事
ゲーム開発の連載記事は下記のリンクからご参照ください。
https://yusukekato.jp/tags/game-dev/
ゲーム内容の大枠を決める
Codexに手伝ってもらいながらゲームの構想やシステム構成を決めていきます。
ゲームの構想を決める
店舗経営シミュレーションのゲームを作ることは決めていますが、 まだゲームの構想はしっかり考えられていません。 Codexにいろいろ質問をもらって私が回答することで、 ゲームの構想をまとめていきます。
たとえば下記のようにCodexが質問してくれます (実際は何を答えたらよいか例も提示してくれていますが、 ここでは長くなるので省略します)。
- どんなお店を経営する?
- プレイヤーが主に楽しむことは?
- プレイヤーはどこまで直接作業する?
- どんな雰囲気・難しさにしたい?
- 何を目指して遊ぶゲームにする?
- 画面の見せ方と操作環境は?
- 参考にしたいゲームや、必ず入れたい要素は?
質問に一つずつ回答していくとCodexがいい感じに考えをまとめてくれます。 このやりとりを何度も繰り返してゲームの構想を練っていきました。 ひとまず、品物を仕入れて陳列し、一日ごとの営業結果を見ながらお店を経営する形にしました。 今後も参照できるように最後にCodexに決まった内容を資料にまとめてもらうとよいかと思います。
ゲームシステムを決める
ゲームの構想が練れたら、その構想を実現できるゲームシステムを考えていきます。 このゲームシステムもCodexに検討してもらいました。 いきなり詳細に作ろうとすると大変なので、 まずはざっくりどういう処理が必要かの大枠を考えてもらいました。 下記がゲームシステムの構成図です。 主なコア機能が記載されています。

現在は主に下記の機能をあげています。
- 一日ごとにループする経営処理
- 時間経過処理
- ストーリー、イベント管理
- UI
- UIと内部処理の橋渡し
- セーブ&ロード
- 言語切り替え(日本語、英語)
コア機能の仮実装
ゲームシステムの大枠も決まったので、 Codexにコア機能を試作してもらいます。 まだ細かいところは未確定なので、 いろいろ仮決めの状態のまま大枠だけ作ってもらいます。
経営シミュレーションを実装
まずは肝心な機能の経営処理部分を実装してもらいました。 下記がゲームプレイ画面です。

下記の基本的な流れが実装されました。
- 品物を仕入れる(品物は倉庫へ)
- 倉庫から陳列棚へ移動
- 営業開始(自動でシミュレートされる)
- 営業結果が表示され、在庫と所持金が更新される
- 倉庫を整理する
- 次の日へ進む
レビューする
Codexに実装してもらったコードをレビューします。 レビューをしやすくするために、 ファイル、クラス、関数、変数において、 それぞれ何をしているのか、どういう処理をしているのか、 入力と出力は何かなどコメントを細かく入れてもらいました。 やはりコードだけを追うよりコメントを入れてもらったほうがレビュー速度がかなり上がると思います。
また、Codexが勝手にテストを作ってくれるのでとりあえず自動テストも自由にやってもらっています。 ただし、実際に人間が手動で動作確認すると挙動がおかしいこともあったので、 人間のレビューは必要かと思います。
AGENTS.mdを更新する
常にCodexに意識してもらいたいことはAGENTS.mdに書いておくとよいかと思います。 たとえば「レビューしやすいようにコメント書いて」とか、 「言語切り替え機能を意識して実装して」とか、 そういうことも追記しておきます。 あとは実装方針も逐次更新していきます。 たとえば勝手にgit commitはしてほしくないけど、 テストは承認なしでやってほしい場合はその旨を書いておきます。 ただし、Codexの権限設定やテストの内容によっては、実行時に承認が必要になることもあります。
AGENTS.mdの詳しい使い方はOpenAIの公式ドキュメントをご参照ください。
おわりに
今回はゲーム内容を決めて、実装に着手し始めました。 とはいっても基本はCodexにお任せしています。 私が実装するよりもCodexのほうがスピードもあって正確なのでとても助かります。 この調子でどんどんゲーム開発を進めていけたらと思います。 それでは、また。