見出し画像

AIは最強の相棒! 企画・実装・記事執筆までGeminiと駆け抜けたRobloxゲーム開発日誌【AIと自由研究】

先日、86時間という超短期間でゲームをゼロから作り上げるゲームジャム「Roblox Inspire Challenge 2025」に挑戦しました!

今年のテーマは「One Tool, Many Uses(一つの道具、多くの使い方)」。 この挑戦で、私はAIアシスタントのGeminiを相棒に、企画から開発、プロモーションまで二人三脚で走り抜けました。今回は、その開発の全記録を、Geminiとの膨大なチャット履歴を元に振り返ります。


0.まずはGemの準備から

Gemは、「自分だけのGeminiを作れるテンプレート機能」で、特定のテーマや目的に合わせたAIアシスタントを作り何度でも使いまわせます。ゲームジャムの準備として、まず「企画用」と「スクリプト用」に分けてGemをスタンバイ。効率的に進められる体制を整えました。

スクリプト用Gem
あなたはRobloxのプロスクリプターです。ユーザーが要望する処理を実装するためのスクリプトを考え、提供してください。ユーザーの指示に従い、明確で効率的なコードを提供します。

目的とゴール:
* ユーザーの具体的な要望に基づき、Roblox Studioで機能する高品質なLuaスクリプトを作成する。
* スクリプトがどのように動作し、どこに配置すべきかを明確に説明する。
* Robloxのベストプラクティスに従い、安全でパフォーマンスの高いコードを提供する。

振る舞いとルール:
1. スクリプト作成:
a) ユーザーの要望を正確に理解し、最も効率的で堅牢なスクリプトを考案する。
b) ユーザーが指定した処理と同じ機能を持つ有名なライブラリ(例:ProfileStore、SimplePath、RagdollModuleなど)がある場合は、それを活用する方法を提案する。また、同じ機能を持つ公式テンプレートがあれば、それを活用する方法を提案する。
c) 作成したスクリプトが'LocalScript'か'ServerScript'かを明記し、'Explorer'内のどの場所に配置すべきかを具体的に指示する。
d) 処理をモジュール化することが適切である場合は、'ModuleScript'として構成する。
e) データストアの保存、リモートファンクション、テレポートなど、失敗の可能性が高い処理には、'pcall'を使用して5回のリトライを試み、それでも失敗する場合は警告を出して処理を終了するように設計する。
f) 'player'オブジェクトを参照する際は、必ず'if player then ...'といった存在チェックを行う。characterオブジェクトを参照する場合はplayer.Character or player.CharacterAdded:Wait()を使用する
g) GUIのボタンをタップまたはワークスペースのパーツをタッチ、またはプロンプトをタップする処理をする場合はdebouceチェックを入れる
h)モバイルでもpcでも動くように、指示にモバイル時の処理が不足していた場合は処理を追加する
i) 'player'やCharacterがゲームに参加した際にオブジェクトを参照する場合は、既にゲーム内にいる可能性も考慮してコードを書く。
j) 各プレイヤーのみに聞こえる音を鳴らす必要がある場合は、'RemoteFunction'を使用して'LocalScript'を呼び出し、各プレイヤーの頭上で音が鳴るように実装する。
k) アニメーションを再生させる必要がある場合も、'RemoteFunction'を使用して'LocalScript'を呼び出し、アニメーションを実行するように実装する。

2. コメントと説明:
a) スクリプトには、各処理の内容が理解しやすいように、日本語で分かりやすいコメントを付ける。
b) スクリプトの提供後、その機能や使い方について簡潔かつ明確に説明する。

企画用Gem
あなたは訪問者1億人越えの有名Robloxクリエイターです。

Robloxで最近の流行りのゲームの傾向、不動の人気のゲームの傾向を知り尽くしています。
私が提案したテーマで3日間で作れそうなミニゲームのアイディアを考えてください。

・人気が出そうなゲームタイトル、ゲーム説明、タグも英語と日本語で考えてください。

・それに合うサムネイル、ゲームアイコン、ウェルカムバッジを作成するためのプロンプトも考えてください。
・サムネイルのサイズは長方形で「1920×1080」ピクセル
・ゲームアイコンのサイズは正方形で「512×512」ピクセル
・ウェルカムバッジのサイズは円形で「512×512」ピクセルです。
それぞれのサイズを厳守してください。

薬品やurlリンクを含まないなどRobloxコミュニティ基準(https://en.help.roblox.com/hc/ja/articles/203313410-Roblox%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E5%9F%BA%E6%BA%96)に反しない画像にしてください。

1. コンセプト誕生:「一本の筆から生まれる無限の解法」


開発が始まると、Geminiは早速テーマに沿ったゲームのアイデアを5つ提案。その中で特に私の心を掴んだのが、『マジックインク・クリエイター』
というアイデアでした。

「一本の魔法の筆」を使い、インクの種類を変えることで様々な機能を発揮する。このコンセプトを元に、「魔法のペンキで足場を描いて塔の頂上を目指す」という、シンプルで奥深いゲームの骨格が固まりました。

2. 完成への最短ルート:スコープの選択と集中

最初のアイデアは夢に溢れていました。「固まる黒インク」「跳ねる緑インク」「消せる白インク」など、様々なインクや筆のカスタマイズ機能…しかし、与えられた時間はたったの86時間。

ここでGeminiと相談し、「何よりもまず完成させること」を最優先に、スコープを大胆に絞り込む決断をしました。そして採用されたのが、ゲームの心臓部となる以下の2つの機能です。

  • 自由描画モード (FreeDrawBrush) マウスでドラッグした軌跡に沿って、固い足場(黒インク)を作り出す機能。プレイヤーが自由に道を描ける、創造性を刺激するモードです。

  • パズルモード (PuzzleBrush) ステージ内の「ノード」同士を繋ぐことで、決められた足場を出現させる機能。インクを消費して課題を解く、パズル要素を担います。

この「選択と集中」が、短期間でゲームの完成度を高めるための賢明な判断だったと、今改めて感じます。

↑ゲームジャム開始3時間後の進捗です。 

3. Geminiとの共同開発:スクリプト実装の舞台裏

スコープが決まれば、あとは実装あるのみ。ここからがGeminiとの共同作業の真骨頂でした。

  • データセーブ機能 プレイヤーのゴール回数(Wins)やペンキ残量が消えないよう、堅牢なProfileServiceを使ったデータ管理システムを提案してもらいました。エラー時のリトライ処理まで組み込まれており、安心して導入できました。

  • コア機能の実装 ゴール処理、インク回復アイテム、エリアに応じたツールの自動切換えなど、ゲームの根幹をなすスクリプトの骨子を次々と作成してもらいました。これにより、私はゲームデザインの調整に集中できました。

  • UI/UXの向上 プレイヤー体験はゲームの命です。ペンキ残量ゲージや、ゴール時に表示される**「WINS +1」のアニメーション**、PCとスマホ双方での操作性の最適化など、プレイヤーが気持ちよく遊べるための細やかな工夫を数多く提案してくれました。サウンドやパーティクルエフェクトのアイデアも、ゲームの没入感を大きく高めています。

  • リーダーボード プレイヤーのゴール回数をランキング表示する機能も実装。最初はトップ100を目指しましたが、データが少ない状況でも見やすいようにトップ10表示に調整するなど、実用的なアドバイスももらいました。

↑Geminiとのスクリプト作成のチャット履歴。まだまだ続いたので途中までの撮影です。

4. ぶつかった壁と学び

もちろん、開発は順風満帆ではありませんでした。

コース自動生成の限界

アスレチックコースの自動生成をお願いしたところ、複雑なコースをゼロから作り出すのは難しかったようです。AIにもまだ得意不得意があることを実感しました。

↑足場やらコースやらを自動作成してほしいのに、ゲームに必要な設定方法と各ギミックのスクリプトをまとめてしまう。やってほしいのはそうではないんだ😭

AIの小さなミス

Geminiが書いてくれたスクリプトで、Enumのタイプミス(Beginと書くべきところをBeganと記述するなど)が何度か発生し、修正をお願いする場面も。GUI画像の作成にもちょっとした問題が。AIといえど完璧ではなく、最終的には人間のチェックが不可欠。こうしたデバッグのやり取りも、良いチームワークの証だったと思います。

いや、透過されていないように見えるんですが。
ゲームに入れたけどやっぱり透過されてなかったです。

5. 最後の仕上げ:トレーラー制作

ゲームジャムの締めくくりは、ゲームの魅力を伝えるトレーラー動画の制作です。ここでもGeminiは、動画生成AI(Veo)を使った動画(下記動画終盤)や、Storybookを使ったゲームの世界観を深める前日譚(「デイビッドと魔法の筆」)の作成を手伝ってくれました。

これらの素材と、自分で撮影したプレイ動画を組み合わせ、無事にトレーラーを完成させることができました。


結論:AIは最高のクリエイティブ・パートナー

こちらが完成したゲームです。(サムネイル、アイコンもGemini作)

振り返ると、「マジックインク・クリエイター(最終名:Paint Puzzle Obby)」の開発は、まさにAIと人間が協力して一つのものを創り上げる、未来のクリエイティブを体現したようなプロジェクトでした。

86時間という極限状態の中、「自由描画」と「ノード接続」というコアな体験に集中する戦略が成功の鍵だったと思います。Geminiの協力がなければ、この短期間で、このクオリティのゲームを完成させることは不可能でした。

この挑戦は、「One Tool, Many Uses」というテーマをゲームで表現するだけでなく、AIという強力なツールをいかに使いこなし、自らの創造性を拡張していくかという、私自身にとっての大きな学びと成功体験になりました。

AIとのゲーム開発、本当にエキサイティングで楽しかったです!


追伸:ちなみに、この記事自体も、私とGeminiの膨大なチャット履歴をnotebooklmに要約してもらい、その文章をさらにGeminiが「note投稿用」にリライトしてくれたものです。企画から記事の仕上げまで、まさにAIとの二人三脚でした!

補足:Geminiに頼らなかった。短時間のコース作成について


ここからは手動で書いています。結局Geminiでうまくいかなかったコース作成はどうしたかです。背景モデラーでない私が短時間でどうやったかというと数ヶ月前に追加されたPlatformerテンプレートの改造です。

元々あったコースの足場を非表示にし、魔法の筆で出現するように修正しました。その他元々あった動く足場などを利用し、Obbyのコースを少し足し、反対側に自由描画コースを設け、周りに拡大したバケツを配置したらもう短時間で完成です!
ゲームジャムは86時間でしたが、お仕事もあったので実際は20時間程度の超短時間作成となりました。この短時間でも生成AIとテンプレートの力を使って何とか完成できました。みんなもゲームを創ってみよう!


こんな記事も書いてます。見てね!!

自己紹介

生成AIは楽しいな

Roblox開発記事まとめ

私の制作したRoblox作品まとめ

万博旅行記

仕事の悩み・自分語り

イベント参加報告



いいなと思ったら応援しよう!

くろにゃんこ@Robloxクリエイター 本当に私なんかがもらっていいんですか?いただいたチップはクリエイターとしての活動費に使わせていただきますが、よく考えたほうが(((( ;゚д゚)))アワワワワ