コーディング禁止!?
生成AIを使ったゲーム制作大会【その1】

みなさん、こんにちは。
私たちイメージプロセッシング事業部(通称:IP事業部)では、AIテクノロジーソフトウェア「VINIE®」を開発しています。
また、独自チューニングの生成AI「AI-P(アイピー)」を活用しながら、日々さまざまな開発を行っています🤖

助手:ポンズ

ぼくも生成AIを使っています!
分からないことを尋ねたり、面白い画像を作ったり…

博士

生成AIが大活躍しておるのぅ…
では、ポンズ君は、AIが欲しい答えを返してくれなかった経験はあるかのぅ?

助手:ポンズ

よくあります!
以前、適切なプロンプトについて教えてもらいましたが、
本当にプロンプト次第で答えが変わるんでしょうか?

博士

フォフォ…
プロンプト上手になることが、生成AIを使いこなすカギじゃよ

今回は、IP事業部内のプロンプト上手を探すべく、
    "生成AIだけ"を使ったゲーム制作大会
を実施しました!

ちょこっと解説
「プロンプト」ってなに?

生成AIに何かをお願いするときの指示のこと。「○○ってどういう意味?」、「○○の画像を作って!」 etc.

技術のプロが多いIP事業部ですが、今回はコーディング(自分でコードを書くこと)は禁止!
文章のみで生成AIに指示を出してもらいました。

コラム第1回は、5名の制作の様子をご紹介します。次回からは、受賞作品の発表や実際に作成したゲームをお届け予定!
博士、ポンズ君と一緒にプロンプト上手を探してみましょう


ルール

参加者は、IP事業部の8名
管理職、熟練の技術者、海外出身、新入社員など…幅広い社員の皆様にご参加いただきました。

参加者にはこのようなルールをお渡ししました。書いてあること以外は自由!
また、今回は社外秘を含まないので、社外の生成AIも使用OK!

参加者が使った生成AIは…?

  • Gemini :2名 (うち、高速モデル:1名)
  • Copilot :2名 (うち、Smartモデル(速度重視):1名)
  • ChatGPT :2名 (うち、plus(有料版):1名)
  • AI-P(社内AI):1名
  • Claude :1名
博士

有料版速度重視モードを使った人も!
ここでも違いが出たのぅ。

今回は、新しいチャットで、ゲームを作り直すのは禁止となっています。
いちばん最初のプロンプトがかなり重要になる気がしますね。

さあ、どんな作品が出来上がったのでしょうか!?

1人目:Aさん(20代男性・エンジニア・理系・熊本出身)

  • 使用したAI:ChatGPT
  • プロンプト総数:6回
  • かかった時間:2.5時間

Aさんの1回目はこちら。

JavaScriptを使用してアクション迷路ゲームを作成してください。
必須事項
・迷路内に「敵」を1体以上設置すること。
・敵を三体倒すと「ボス」が出現。
ボスを倒すと宝がドロップする
・宝を取得するとゲームクリア。
・敵の攻撃を三回受けるとゲームオーバー。

~~~~  略  ~~~~

シンプルな見た目のゲームが完成しました!
一見問題なさそうなので、赤色の敵を倒してゲームを進めますが…

なんと、ボスが倒せない!?

Aさん

実際にゲームをプレイして気付くエラーが多々ありました。

修正を指示し、問題なくボスに攻撃できるようになりました!

ゲームの見た目についても修正を加えているようですね。
Aさんが「ゲームらしい画像」と指示を出したとき
  プレイヤー=勇者 敵=スライム型モンスター
をイメージしていたそうですが、想定とは異なる見た目になったようです。

抽象的なプロンプトでも、ある程度は変更してくれますが、期待通りにならないこともしばしば。
イメージをうまく伝える必要がありますね。

2人目:Bさん(30代男性・エンジニア・理系・福岡出身)

  • 使用したAI:社内AI 「AI-P」(アイピー)
  • プロンプト総数:3回
  • かかった時間:30分

Bさんの1回目はこちら。

ブラウザで動作する2D迷路探索ゲームを作成してください。 
以下、要求仕様です。 
# ゲーム概要 
A-1.クリア条件は迷路内のゴールに到達すること 
A-2.迷路内に「敵」を1体以上設置すること。どんな「敵」にするか、数などは自由。 
A-3.「なにか」を取得しないと、ゴールできないようにすること(宝、食べ物など) 
A-4.デザインは宇宙的な感じで統一し、ゲームエフェクトもそれに準ずる 
A-5.デモ用途のため1ステージで完結する 
A-6.制限時間をつける、最終スコアは"制限時間-クリアタイム" 

# 要求仕様 

~~~~  略  ~~~~

C-2.ゲームの実装はこのプロンプトに対する返答として1度で完了してください。 
(途中で質問等はしない) 

~~~~  略  ~~~~

宇宙的な感じ」といった曖昧な表現ですが、ちゃんと宇宙っぽく、動きも可愛らしいゲームが出力されました。
指示した内容は、漏れなく入っているようですね。

ですが、迷路の壁が見えづらく、どこを通ればよいのか分からなくなっています。
制限時間も短く、難易度高め
見た目は可愛らしいですが、クリアするのは厳しいようです。

Bさん

機能要件を満たすことは容易でも、
非機能要件(難易度調整、ゲーム性、楽しさなど)の検討が不十分に感じました。

ゲームの問題点2つ(視認性が低い、難易度が高い)と、解決案を示すことで、無事修正することができました!
AI-P」は、インターネットに接続されていない、IP事業部独自のAIですが、
少なくとも本企画内では、他のAIと遜色ないように見えます。

また、生成AIに質問をすると、「ココはどうしますか?」、「AとB、どっちがいいですか?」のような
逆質問をされることがよくあります。
より欲しい答えを得るために有効ですが、会話のラリーが増えて時間がかかってしまいます。

Bさんは、「1度で完了してください。 (途中で質問等はしない) 」と指示していますね。
そのおかげか、かかった時間は30分だけ!今回の参加者の中で最短です。
効率よく作成することができたようですね。

3人目:Cさん(30代男性・エンジニア・理系・奈良出身)

  • 使用したAI:Copilot GPT5.5 Think Deeper
  • プロンプト総数:2回
  • かかった時間:2時間

Cさんの1回目はこちら。

あなたは優秀なゲームプログラマーです。仕様に基づいたゲームを作成してください。
■基本仕様
・迷路ゲームを作成する
・使用言語はJavaScript

~~~~  略  ~~~~

■ゲーム仕様
・待機画面→ゲーム画面→ゲームオーバー画面(もしくはゲームクリア画面)→ゲーム画面の順に遷移する
【待機画面仕様】
・起動時に待機画面を表示する
・「Enterキーを押されたらゲームが開始する」旨のメッセージを表示する
・待機画面→ゲーム画面はEnterキーが押されたら遷移
【ゲーム画面仕様】
・プレイヤーが自キャラを操作し、ゴール地点にたどり着くとゲームクリアとする迷路ゲーム
・自キャラは"★"で表現する
・自キャラは方向キーで操作する
方向キーを単押しで1マス移動する
方向キーを長押しで連続マス移動する
・自キャラが移動できるマスを全角空白で、移動できないマスを"■"で表現し、ゲーム中に移動しない
・ゴール地点は"G"で表現し、ゲーム中に移動しない
・中間地点は"$"で表現し、ゲーム中に移動しない
・自キャラがゴール地点と同マスに重なるとゲームクリアとする
・敵キャラを"Ω"で表現する

~~~~  略  ~~~~

【ゲーム画面の迷路仕様】
・ゲーム画面に遷移したときにランダムで横30x縦20マスの正方形になるように迷路を作成する
・キャラの移動によりマスが崩れないようにする
・自キャラと中間地点、ゴール地点は必ず1つのみとし、迷路内のランダムな移動できるマスに配置する
・自キャラはプレイヤー操作の移動により必ず中間地点、ゴール地点に到達できるような迷路にすること
【ゲームオーバー画面(もしくはゲームクリア画面)】

~~~~  略  ~~~~

仕様書!?
移動のルール、キャラの発現場所など、数字を使って書いているので、人間が読んでも分かりやすい内容になっています。

また、「あなたは優秀なゲームプログラマーです。」とロール(役割)を決めています。
ロールを指定することで、AIが持っている膨大な情報の中から、
 どのような情報を重視するか?
 どんな視点で返答するか?
など、方向性に沿った回答をしやすくなります。

なんと、1回目でほとんど指示通りのものが完成!エラーなども特に起こっていません。

Cさん

レイアウトやカラーなどは生成AIに一任しました。
思ったよりゲームが簡単だったため、追加要素として後半に強敵を増やしました。

博士

優秀なゲームプログラマー役になって、
良いプログラムを出してくれたようじゃの。

2回目のプロンプトで敵を追加していますが、特に問題なく動いているようですね。
Think Deeper」という、より良い回答のために長めに考えるモードを使ったのも影響しているのかも?

助手:ポンズ

敵が増えてドキドキ感がUP!
左上の文字も見やすくなっていますね。

4人目:Dさん(20代女性・エンジニア・理系・台湾出身)

  • 使用したAI:Claude
  • プロンプト総数:7回
  • かかった時間:4.5時間

Dさんは台湾出身。中国語(繁体字)を使って、プロンプトを書いてもらいました。
Dさんの1回目はこちら。(""で簡単な解説を加えています)

請用JavaScript寫一款迷宮遊戲。
以下為遊戲敘述與各條件細項。
--------------------------------------------------------------------
{首要條件}
1.將 HTML/CSS/JS 合併到一個檔案中。
2.寬度將自動調整以適應螢幕(最大 500 像素)。
{迷宮式樣}
1.寬 x 高 = 500像素 x 300像素。
2.路線:  ★「路」で通り道を表現!
土土土土土土土土土土土石石土土土土土土土
土土土路路路路路土土土石石土土土土土土土
土石石路路路路路土路路路路路路土土土土土
土石石路路土路路土路路路路路路石石土土土
土土土路路土路路土路路土土路路石石土土土
路路路路路土路路土路路土路路路土土路路路
路路路路路土路路土路路土路路路土土路路路
土土土土土土路路土路路土路路土土土路路土
土土土土石石路路土路路土路路路路路路路土
土土土土石石路路路路路土路路路路路路路土
土土土土土土路路路路路土土土土土土石石土
土土土土土土土土土土土土土土土土土石石土

以上文字,一個文字=25像素 x 25像素的方格。
土:請生成 25像素 x 25像素土地的像素圖。
路:請生成 25像素 x 25像素路面的像素圖。
石:請以4個石為一單位生成 50像素 x 50像素石頭的像素圖。    

~~~~  略  ~~~~

★モノやキャラの見た目を細かく指示!
 (例)盗賊がホネになったドット絵、深紅色のスライム(泥)モンスターのドット絵 etc.

{物件}
請生成下列物件(各物件背景須為透明,以便重複疊加。)。
1. 盜賊(上): 從頭頂俯視,其面部向上的盜賊像素圖,50像素 x 50像素。
2. 盜賊(下): 從頭頂俯視,其面部向下的盜賊像素圖,50像素 x 50像素。
3. 盜賊(左): 從頭頂俯視,其面部向左的盜賊像素圖,50像素 x 50像素。
4. 盜賊(右): 從頭頂俯視,其面部向右的盜賊像素圖,50像素 x 50像素。
5. 盜賊白骨: 盜賊白骨像素圖,50像素 x 50像素。
6. 怪物: 深紅色泥巴怪物像素圖,50像素 x 50像素。

~~~~  略  ~~~~

{事件}
介面初始設定與介面跳轉。
   ★遷移(画面の移り変わり)の順番を指示!

1. 執行時初始化,顯示介面1。
2. 按下開始按鍵: 淡出介面1,淡入介面2。
3. 按下結束按鍵: 關閉遊戲。
4. 淡出介面2 -> 介面5 -> 淡入介面2。

~~~~  略  ~~~~

今回の参加者の中で最長のプロンプト!
制作にかかった4.5時間のうち、プロンプトの作成に約3時間を費やしたとのこと。ゲームの流れだけでなく、見た目にもこだわって制作しているのが伝わりますね。
こちらも、人間が読んでも分かりやすい内容になっています。はたして結果は…?

細かく指示をしていた通り、1回目で可愛らしい見た目のゲームが完成!

でも…
  ・敵が道の上を通ってくれない
  ・岩みたいにしたいのに、「丸が2つ重なった形」になってしまう
  ・敵にぶつかってもホネのキャラクターにならずにゲームオーバー画面になってしまう
などきちんと伝えたはずの指示が通っていないこともしばしば…

2回目以降も同様、超~~丁寧に伝えても、修正するのを忘れてしまうことがあったようです。

Dさん

1回目で、プロンプト内容の9割ができました。
AIが修正をあきらめてしまうことがあるとは知りませんでした

助手:ポンズ

長めにいっぱい書けばいい!!というわけではないんですね。

5人目:Eさん(50代男性・管理職・理系・熊本出身)

  • 使用したAI:Gemini
  • プロンプト総数:43回
  • かかった時間:2時間

Eさんの1回目はこちら。

2D迷路を上から見て、3Dのようにぐりぐり動かせる迷路をHTML+Javascriptで作って。

なんと、一言からスタート!?
ぐりぐり」というあいまいな表現をAIは実現できるのでしょうか?まだ細かいルールや条件を指示していませんが、はたして…?

超かっこいい3D迷路が誕生しました!
マウスでぐりぐりと迷路を回したり、拡大したり…

…と思いきや、迷路をぐりぐり眺めることしかできません

ここから、Eさんはちょっとずつ指示を加えていった様子。
途中で指示を忘れて落とし穴がなくなっちゃったり、勝手に床の色を変えられたりなどなど、根気強い修正が必要だったようですね。

なんと、プロンプトの回数は43回!そのおかげで、独自性のあるゲームが完成しました。

Eさん

落とし穴の配置を通路幅の半分にして通過する時のギリギリ感を出すことで、緊張感や難易度をアップしてゲーム性を高めました。
操作感をイメージしたものに修正するのが難しかったです。

まとめ

今回は、5名の制作過程をご紹介しました。
生成AIは、明確に指示したことはある程度実装してくれますが、あいまいな指示をしたり、まとめて指示しすぎたりすると、うまくいかないこともあるみたいですね。

また、生成AIへばっちり伝えられたつもりでも、いざ遊んでみると違う…なんてこともありました。
人に頼みごとをするときの難しさと同じですね。

次回は受賞作品を発表します。
いちばんのプロンプト上手は? いいゲームを作ったのは?
次回のエンジニア’sコラムもお楽しみに!