NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

注目のタグ

    ゲーム開発未経験者がKiroで3Dゲーム開発してみた

    本記事は  AWSアワード受賞者祭り 2026  16日目の記事です。
    🏆  15日目  ▶▶ 本記事 ▶▶  17日目  🌐

    はじめに

    こんにちは、横田です。
    ひょんなことから2026 Japan All AWS Certifications Engineersに選出されたので、ブログを書くことになりました。 とはいえ書くネタがないので、Kiroを使って簡単な3Dゲームを開発することにしました。 以前からゲーム開発に興味を持っていたので、ちょうどいい機会です。

    ゲーム開発は一度もしたことはありませんが、生成AIがあれば何とかなるでしょう!

    前提

    Kiroとは

    Kiro は、AWSが提供するAI開発支援ツールです。
    チャット形式で要件や実装したい内容を伝えることで、コード生成や修正、設計支援、開発手順の提案などを行ってくれます。
    aws.amazon.com

    Unityとは

    本記事では、ゲーム開発エンジンの Unity を使用して3Dゲームを開発しています。
    Unityは、PC・スマートフォン・コンシューマーゲーム機向けのゲームやアプリケーションを開発できる、世界的に利用されているゲームエンジンです。3Dモデルや画像、音声などのアセットを組み合わせながら開発を進めることができ、個人開発から大規模開発まで幅広く利用されています。
    Unityでゲームを作る際は、キャラクターやステージなどのオブジェクトに C# で作成したスクリプトを設定し、移動や攻撃、当たり判定などの挙動を実装します。
    また、ゲーム開発はコードを書くだけで完結するものではありません。作成したスクリプトをゲームオブジェクトに設定したり、各種パラメータを調整したりといった、Unity Editor上での作業も必要になります

    本記事では、Kiroを活用し、主にC#コードの生成や、Unity上での作業指示を行ってもらっています。なお、ゲームで使用するアセットについては事前に用意したものを使用しています

    ゲーム内容

    今回AWSに関するブログを執筆するため、
    AWSっとろう」→「AWSMS」→「あわせみそ」
    ということで、合わせ味噌のゲームを作ることにしました。

    目指すゲーム内容としては、「ランダム生成されたマップ内で合わせ味噌を持った敵から逃げつつゴールを目指す」というものになります。

    アセット

    アセットとはゲーム内で使用される3Dモデルや画像のことを指します。
    アセットの作成方法については本記事の本筋ではないため今回は省きます。
    ※一応これらも生成AIサービス(以下)を利用して作成しています。
    (3Dモデルやイラスト作成のスキルなど、私は持ち合わせていない。。。)

    • 画像:ChatGPT
    • 3Dモデル:Meshy

    以下が今回作成したアセットになります。

    ゲーム内で追いかけてくる敵です。

    通路

    以下の通路を用意しています。

    • スタート地点
    • ゴール地点
    • 直線通路
    • 曲がり角

    これらを組み合わせてマップを作成します。

    画像

    タイトル画面やゲームオーバー・クリア時に表示される画像などです。

    Kiroによる実装

    では、実装の方を始めていきます。
    とりあえずKiroに以下の内容のプロンプトを投げてみました。

    • 作りたいゲームの概要
    • ゲームの仕様
    • 各アセットの格納場所と用途
    • 生成したコードの格納場所
    • 初心者だから、Unity上で必要な操作をわかりやすく説明してほしい

    実際のプロンプト:

    私は今から3Dゲームを作成しようとしています。
    作りたいゲームの内容としては、迷路の中で追いかけてくる敵から逃げつつゴールを目指す、というものになります。
    私はゲーム開発の経験が全くないのでUnityで必要な操作に関して、初心者でもわかるように説明してください
    それでは以下の要件を満たしたゲームを作成してください。
    ・一人称視点のゲーム
    ・追いかけてくる敵のモデルは「Assets>Resouces>AWSMS」に格納されている「AWSMS」を使用してください
     ・複数体生成しても問題ありません
    ・ゲーム開始前にタイトル画面を表示してください、タイトル画面は「Assets>Resouces>Pictures」に格納されている「Title」の画像を画面いっぱいに表示してください
     ・クリックしたらゲームが開始するようにしてください
    ・敵に捕まったらゲームオーバーとし、「Assets>Resouces>Pictures」に格納されている「GameOver」がファイル名に含まれているファイルの画像をランダムに選択し、画面いっぱいに表示してください
    ・敵に捕まらずにゴールまでたどり着いたらゲームクリアとし、「Assets>Resouces>Pictures」に格納されている「GameClear」の画像を画面いっぱいに表示するようにしてください
    ・ゲームオーバー時とゲームクリア時の画面からはクリックしたらタイトル画面に戻るようにしてください
    ・迷路は、「Assets>Resouces>Prefabs」に格納されている「Start」「Straight」「Corner」「Goal」を利用して毎回ランダムに生成してください
     ・「Start」:スタート地点用のプレハブです。ゲーム開始時は必ずこのプレハブからスタートするようにしてください
     ・「Straight」:直線通路のプレハブです。
     ・「Corner」:曲がり角のプレハブです。
     ・「Goal」:ゴール地点用のプレハブです。このゴール地点のプレハブの端にたどり着いたらゲームクリアとしてください
    ・作成したスクリプトは「Assets>Scripts」に格納してください

    Kiroの回答: コード生成後にUnity上で必要な作業とその手順を教えてくれました。
    (Resourcesのスペルをミスっていました。。。しっかりKiroから指摘されてます)
    指示された手順通りに設定を行い、動作確認を行ってみます。

    ゲームスタートと同時に、プレイヤーと敵の両方とも通路のない場所にスポーンして落下していきました。。。

    生成されたマップを上から確認してみると マップの生成が全然うまくいっていないようです。
    その後しばらくKiroとやり取りを続けて粘りましたが、結局うまくいきませんでした。 (私の指示が良くなかっただけだとは思いますが。。。)

    解決の兆しが見えなかったので、簡単なマップを自分で作成しました。
    敵もすでに配置済みで、スタート地点とゴール地点も設定済みです。

    Kiroに作成したマップを利用してゲームを作成するように依頼。

    コード修正後に動作確認してみると うまくいきました!
    敵もちゃんと追いかけてきますし、ゲームオーバー・クリア時の挙動も想定通りでした。

    結果

    マップに関して目をつぶれば、ほぼ希望通りのゲームを作成することができました。 アセットの準備からWeb上に公開するまでにかかった作業時間は大体5時間くらいでした。 私が初心者のため、いろいろ調べながら作業を進めていたことに加え、マップ生成の部分でかなり粘っていたのでこの作業時間になってしまいました。 ただ、最初からマップを作成していたら、Kiroとのやり取りはほぼワンラリーで実装は終了していたので、実装だけなら1時間もかからなかったかもしれません。

    所感

    今回初めてKiroを利用して3Dゲーム開発に挑戦してみましたが、想像していた以上にスムーズに開発を進めることができました
    Kiroに実装したい機能を伝えると、ほぼ一発で期待通りの動作を行うコードを生成してくれましたし、それだけでなく、提示してきたUnity上での作業手順も非常にわかりやすかったです。 生成したスクリプトをどのオブジェクトに設定すればよいのか、Unity上でどのような作業が必要になるのかを説明してくれるため、Unityに慣れていない私でも迷わず作業を進めることができました
    実際に利用してみて、簡単なゲームであれば、ゲーム開発の経験が少ない人でもKiroのサポートを受けながら形にできるのではないかと感じました。一方で、ランダムマップ生成のような少し複雑な機能では、Kiroに前提条件や要件を正しく伝えることの重要性も実感しました。

    おわりに

    書き終わってみて思いましたが、AWS成分がかなり少ないブログですね。。。
    他の受賞者の方々が純度高めのAWSブログを執筆されているので、AWS成分をもっと摂取したい方はそちらをご覧ください!

    本記事で作成したゲームはWeb上に公開していますので、ぜひ遊んでみてください。
    (PC限定、少し難しい) unityroom.com

    執筆者:横田 陽洋 アプリケーションエンジニア