ここまで、Codexを使って作った2つの学習ゲームについて書いてきました。
一つは、来年小学生になる甥っ子のためのひらがなゲーム。
もう一つは、小学2年生の姪っ子のための九九ゲームです。
この2つは、ほぼ同時並行で作っていました。
作り終えてみて一番印象に残ったのは、
AIでコードを書くのが速くなったことより、「今までなら作らなかったもの」を作ったこと
でした。
2つのサイトを、ほぼ同時に作った
最初に作り始めたのは、来年小学生になる甥っ子のための「ひらがなで あそぼう」です。
それを作っているうちに、小学2年生の姪っ子にも何か作りたくなりました。ちょうど7の段を練習していたので、「九九ゲームひろば」も作り始めました。
ひらがなゲームが完成してから九九ゲームへ進んだわけではありません。
片方を直している間にもう片方の設計を考えるような形で、2つをほぼ同時並行で作っていました。
使っている技術はほとんど同じ。でも作るものは全然違った
2つとも技術構成はかなりシンプルです。
- HTML
- CSS
- JavaScript
- Git / GitHub
- GitHub Pages
- Codex
使っているものはほぼ同じです。
でも、ゲームの設計はかなり違いました。
ひらがなでは、
音に気付く
↓
言葉の中の音を扱う
↓
文字と音を結びつける
という方向で考えました。
九九では、
順番に覚える
↓
順番という手掛かりを外す
↓
複数の段を混ぜる
↓
選択肢がなくても答えられるようにする
という方向です。
同じ「子ども向け学習ゲーム」でも、
何をできるようになってほしいかによって、ゲームの形は全然違う。
当たり前といえば当たり前ですが、2つをほぼ同時に作ったことで強く感じました。
コードを書くことより「次に何ができればいいか」を考えていた
今回、実装そのものはかなりCodexに任せました。
その代わり、自分が何度も考えていたのは、
このゲームを遊んだあと、何ができるようになればいいんだろう?
ということでした。
ひらがななら、
「あり」の最初の音が「あ」だと気付けるようになってほしい。
九九なら、
7の段を順番に唱えなくても、7×8を見たら56を思い出せるようになってほしい。
そこが決まると、
じゃあ、どんな問題にするか
どんな順番で難しくするか
どんな演出なら邪魔にならないか
を考えられます。
逆に、そこが曖昧なまま、
子どもが喜びそうなゲームを作って
とCodexに頼んでも、たぶん今回の形にはならなかったと思います。
ChatGPTの試作から始まった
振り返ると、最初から大きな開発計画があったわけではありません。
ChatGPTで試しに作ったひらがなゲームが、思っていたよりちゃんとゲームになった。
だからCodexで本格的に作り直し、Claude CodeのAgent Teamsの考え方も参考にしながら、Codexのmulti-agent機能で複数のエージェントに研究・ゲーム設計・実装などの役割を持たせました。
Codexには実装だけでなく、調査・設計・QAまでかなり任せました。ただし、出てきた案を全部採用したわけではありません。
三択案を見直したこともあれば、Codexから提案された分析機能を「いらない」と判断したこともあります。
AIに判断を全部任せたというより、
判断するための材料と、試作品をものすごい速さで出してもらった
という感覚に近いです。
そしてCodexの使用上限に達したあとは、Claude Codeで最後の微調整もしました。
「試しに作ったら意外とよかった」ことから、気付けば2つのサイトを作っていました。
「どのAIが一番か」は、あまり重要ではなかった
今回はChatGPT、Codex、Claude Codeの3つを使いました。
でも、使ってみて感じたのは「結局どれが一番いいか」という話ではありませんでした。
ChatGPTで気軽に形にできたから、本格的に作ろうと思えた。
Codexでリポジトリを触りながら何度も試行錯誤できたから、ゲームを育てられた。
Codexの使用上限に達したあともClaude Codeへ切り替えられたから、細かいところまで仕上げられた。
ツールを一つに固定することより、「もう少し直したい」と思ったときに、そのまま作り続けられることの方が重要だったように思います。
以前なら、たぶん作っていなかった
ここが今回一番面白かったところです。
もしCodexがなかったとして、
甥っ子がひらがなを覚えるために、Webゲームを何本も作ろう
と思ったかというと、たぶん作っていません。
姪っ子の7の段の練習を見て、
じゃあ九九用にも別のゲームを何本か作ろう
とも、たぶん思わなかったはずです。
作れないわけではありません。
でも、
一人のためにそこまで実装するコストをかけるか
と考えると、やらなかったと思います。
AIコーディングで「作る対象」が変わる
AIコーディングについては、
開発速度が上がる
コードを書く量が減る
一人で作れる範囲が広がる
といった話がよくあります。
今回、それは確かに感じました。
でも個人的には、もう一つ大きな変化がありました。
「誰のためにソフトウェアを作るか」の範囲が広がることです。
大勢が使うサービスなら、時間をかけて作る理由があります。
仕事で必要なら、もちろん作ります。
でも、
甥っ子一人のため
姪っ子一人のため
となると、これまでは「わざわざソフトウェアを作る」対象ではなかったかもしれません。
AIによって実装コストが下がると、
これまでは「そこまでして作らない」と思っていたものまで作れる。
これは、単に開発が速くなることとは少し違う変化だと思います。
目の前の一人のためのソフトウェア
今回作ったゲームが、どれくらい学習効果を持つのかは、これから実際に遊んでもらわないと分かりません。
UIもゲーム性も、まだ改善できるところはたくさんあります。
それでも、
甥っ子がひらがなをまだ読めない。
姪っ子が7の段を練習している。
という、かなり小さなきっかけから、それぞれ専用のWebゲームを作れたこと自体が面白かったです。
AIコーディングによって、
大勢のためのサービスだけではなく、目の前の一人のためのソフトウェアも作りやすくなる。
そして、その結果、
今までなら「作らなかったはずのもの」を作るようになる。
今回の2つの学習ゲームを作って、一番感じたのはそこでした。