0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIMLAB風のゲームをAIで作ってみた

Posted at

今回は、Three.jsを使ってブラウザ上で動くAIMLAB風のエイム練習ゲームを制作しました。

このゲームは四角いフィールドの中にランダムに現れるターゲットをクリックし、ターゲットのサイズによってスコアが変動する仕様です。

制限時間は20秒で、マウスでカメラ操作も可能になっています。

「作った」と言っても私自身がコーディングしたわけではなく、GPT-5とKiroの2つのAIに作ってもらいました。

ゲームの仕様

  • 四角いフィールド内でターゲットがランダム出現
  • ターゲットは球体(SphereGeometry)、クリックするとランダム移動
  • クリックしたターゲットのサイズによってスコアが変動(小さいほど高得点)
  • 制限時間20秒
  • マウス操作でカメラを自由に回転・ズーム可能(OrbitControls)
  • マウスカーソルは非表示で、画面中央に小さい白い点(ドット)表示

制作工程

GPTで簡易的なプロトタイプを作る

  • まず、私が書いた適当なプロンプトを使用し、GPT-5に簡易的な骨組みを作ってもらいました。この時点で既にある程度理想に近いものができています。

See the Pen Untitled by STELLAR INTER (@STELLAR-INTER) on CodePen.


簡易的なゲームに改良を施す

  • 四角い部屋の中でターゲットが出現するように変更
  • マウス操作でカメラを動かせるように改良

See the Pen Untitled by STELLAR INTER (@STELLAR-INTER) on CodePen.


作業を踏まえてプロンプトを作る

  • Kiroに指示するための詳細なプロンプトをGPTで作成し、仕様を整理しました。
あなたはフロントエンド開発エキスパートです。
以下の仕様に沿った3Dブラウザゲームを作るためのコードを作成してください。

【ゲーム概要】
- AIMLAB風のターゲット練習ゲーム
- プレイヤーはマウスでターゲットをクリックしてスコアを稼ぐ
- 制限時間は20秒

【描画・環境】
- Three.jsを使用(CDNは以下URLを使用)
  <script src="https://cdn.jsdelivr.net/npm/three@latest/build/three.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/three@latest/examples/js/controls/OrbitControls.js"></script>
- CanvasではなくThree.jsのWebGLで3D描画
- ターゲットは球体(SphereGeometry)、部屋の中でランダム位置に出現
- カメラはOrbitControlsでマウス操作可能

【ターゲット・スコア仕様】
- クリックしたターゲットのサイズに応じてスコアが変動
  - 小さいターゲットほど高得点
- ターゲットはクリック時にのみランダム移動
- 同時に1個だけ出現

【ユーザーインターフェース】
- 画面上にスコアとタイマーを表示
- 制限時間20秒が終了したらゲーム終了
- マウスカーソルは非表示にし、画面中央に小さい白い点(ドット)を表示
- ゲームはクリック精度トレーニング用で、クロスヘア型もオプションで考慮可

【追加要件】
- 外部APIは一切使用しない
- 純粋にブラウザだけで完結
- ウィンドウリサイズ対応
- アニメーションループはrequestAnimationFrameで描画

上記の仕様を満たす 最小限かつ動作確認可能なHTML + JSコードを生成してください。  
可能であれば、後で複数ターゲットや自動移動に拡張できる構造にしてください。

作成したプロンプトをKiroに投げ、仕様書を作成

  • プロンプトを元にKiroがゲームの仕様書を生成

スクリーンショット 2025-10-06 134228.png

仕様書をもとにコーディング

  • Three.jsを用いてゲームのコーディングを実施
  • 部屋・ターゲット・タイマー・スコア・カーソルなどの要素を実装

完成したゲームのバグや修正点をKiroに伝え、改良

  • マウスカーソルを小さい点に変更
  • カメラ操作(OrbitControls)バグ修正
  • リサイズ対応やタイマー終了処理の修正

完成

  • すべての要素が揃い、エイム精度トレーニング用の3Dゲームが完成
    ※難易度高めです

See the Pen Untitled by STELLAR INTER (@STELLAR-INTER) on CodePen.

まとめ

ポッと出のアイデアをサクッと形にする上で、AIはとても便利。

GPTやKiroを活用することで、アイデアの具体化、仕様書作成、バグ修正までスムーズに進められました。

AIをうまく補助として使うことで、私のようなゲーム制作未経験者でも3Dブラウザゲーム開発が可能になります。みなさんもぜひ試してみてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?