【実録】知識ゼロの元エンジニアが、生成AI(Gemini)と小学生と「RobloxでFPS」を作ってみた結果〜これが本当のバイブコーディング〜
こんにちは、IT講師のケイです。
先日、スクールの小学生たちと「Roblox(ロブロック)」で本格的なFPS(シューティングゲーム)を作りました。
実は私、元ITエンジニアですが、ゲーム開発の経験はなく、Robloxで使われている「Lua言語」も触ったことがありませんでした。 (正直に言うと、Roblox Studioの画面も見方がよく分からないレベルでした…笑)
それでも、子供たちと協力して、「5対5のチーム対戦ができるマッチングシステム付きFPS」を完成させることができました。 どうやって? 生成AI(Gemini)を使った「バイブコーディング」です。
今回は、知識ゼロの大人が、AIという最強のパートナーを得て、子供たちの「作りたい!」を形にするまでの全記録を公開します。
1. 発端:「先生、Rivalみたいなゲーム作りたい!」
ことの始まりは、生徒の一言でした。 「先生、『Rival』って知ってる?あんな感じの撃ち合いゲーム作りたい!」
Robloxで人気のシューティングゲームらしいのですが、私は名前も知りません。 しかし、子供たちの目は本気です。
「よし、作ろう!でも先生、Lua言語わかんないから、みんなで調べながらやろうな」 そう言って、無謀とも言えるプロジェクトがスタートしました。
2. 企画会議:AIに指示するために「深掘り」する
ますやったことは、いきなりパソコンを開くことではなく、「ゲームのルールを言語化すること」です。 AIにコードを書いてもらうには、人間が「何を作りたいか」を明確にする必要があるからです。
子供たちにヒアリングを行い、仕様を決めました。
- ゲームジャンル: チーム対戦型FPS
- 人数: 自由(ただし、赤・青チームにそれぞれ最低1人いないとスタート不可)
- ルール: 制限時間内に多く倒したチームの勝ち(青チーム vs 赤チーム)
- システム: ロビー待機 → 自分で青・赤のパネルを踏んでチーム分け → スタートボタンでゲーム開始
「なんとなく撃ち合う」ではなく、ここまで具体的に決めるのが、プログラミング的思考の第一歩です。
3. 実装開始:Gemini先生との「バイブコーディング」
仕様が決まったら、いよいよ開発です。 ここからが、私(とGemini)の腕の見せ所です。
秘策:カスタムGem「Robloxコーチ」爆誕
実は今回、ただのGeminiではなく、このプロジェクト専用のカスタムAI(Gems)を作って挑みました。 その名も「Robloxコーチ」です。

- 名前: Robloxコーチ
- 指示: 「Roblox Studioを使ったゲーム制作についてサポートしてください。Lua言語を使ったスクリプト作成やプロパティ設定など、ステップごとにわかりやすく操作説明してください」
さらに、Geminiの「思考モード(Thinking Mode)」をONにすることで、複雑なマッチングシステムのロジックも、AIが深く考えて答えを出してくれるようにしました。
全く分からない画面…スクショで解決!
準備は万端。Roblox Studioを立ち上げましたが、ボタンが多すぎて何がどこにあるのか分かりません。 そこで、私は画面のスクリーンショットを撮って、この「Robloxコーチ」に投げました。
私: 「この画面で、さっき決めたマッチングシステムを作りたいんだけど、まずどこを押せばいい?」
Gemini: 「画面右側の『ServerScriptService』の横にある+ボタンを押して、Scriptを追加してください。そこに以下のコードを書きましょう…」
なんと、ボタンの位置から手順まで、完璧に教えてくれます。 私は言われた通りにクリックし、言われた通りにコードを貼り付けるだけ。 まさに、AIの指示に合わせて手を動かす「バイブコーディング」状態です。
コードは一番も書いていません
今回、マッチング処理や銃の判定など、複雑なプログラムがたくさんありましたが、私はLua言語のコードを1行も書いていません。 すべてGeminiが書いてくれました。
私がやったのは、「こういう動きにしたい」「ここを変えたい」と日本語で指示を出しただけです。
4. バグ発生!生徒は「最強のテスター」
順調に進んでいた開発ですが、当然バグ(不具合)も出ます。 ここで活躍したのが、子供たちです。
テストプレイをしてもらうと、彼らは容赦なくバグを見つけてくれます。
- 生徒:「先生!スタートボタン押しても始まらない!」
- 生徒:「倒されたらロビーに戻るけど、生き残っている判定になっている!」
- 生徒:「途中参加出来てしまい、ゲームが終わらない!」
私はその報告をそのままGeminiに伝えます。
私: 「生徒から『チーム判定がおかしい』って言われた。今のコードはこれなんだけど、どこが間違ってる?」
Gemini: 「あ、すみません。チーム分けのロジックに不備がありました。ここを修正してください」
生徒=プロダクトマネージャー兼テスター AI=リードエンジニア 私=ブリッジ(通訳)
この役割分担が完璧にハマり、ゲームは驚くほどのスピードで完成に近づいていきました。
5. 完成:そして「UI」はこれから
数時間の作業の末、ついに「大人数で青チーム vs 赤チーム vs コンピューターが戦うFPS」が出来上がりました! UI(ボタンや画面のデザイン)はまだデフォルトのままですが、中身は完全に動作しています。
子供たちが自分が考えたルールで動くゲームに熱中している姿を見て、私は確信しました。
「知識がないから作れない」という時代は終わったんだ、と。
AI時代のプログラミング教育とは?
今回、私はLua言語を教えませんでしたが、子供たちはもっと大事なことを学びました。
- 作りたいものを言葉にする力(要件定義)
- バグを正確に伝える力(問題解決)
- 「AIを使えば何でも作れる」という自信(自己効力感)
これこそが、これからの時代に必要なプログラミング教育ではないでしょうか。
AIという最強の味方がいれば、大人も子供も関係ありません。 みなさんも、お子さんと一緒に「知識ゼロからのゲーム開発」挑戦してみませんか? (困ったらGemini先生が全部教えてくれますから!)
個人の体験談でした!