ChatGPTに愛のあるスパルタ教師になってもらってゲームを作る作戦(3)

 第三回目です。いちおう完結編です。

 前回まででタイトル画面、ステージ画面、およびそれら2画面の画面遷移を作成できた。今回の目標は、ゲームクリアのための目標位置の作成と、ゲームクリア画面の作成だ。そもそもこれはゲームとしての体を成しているのか……という疑問はなきにしもあらずだが、自分はぺーぺー開発者なので、まずはサンプルを完成させることが大事なのだ。

 さっそく前回のセッションからChatGPT先生を呼び起こす。先生、生きていますか?

先生は健在みたいだッ でも手順番号がかなり怪しいッ

 さすがに4日間隔を開けてしまったせいか、先生が提示した手順番号が前回からずれてしまっていた。回答が返るまでの時間も遅かったので、ここで一度残り行程のおさらいをやっておくことにした。

念のため確認するッ

 本当は先生に復唱してもらいたかったのだが、今日はネットワークの調子が悪いのか、OpenAIが混み合っているのか、先生の返信が2連続途中で止まってしまい、通信エラーも出てしまった。しかたがないので復唱は諦める。

先生に罪悪感をいだかせるプレイングが成功してしまうッ チョロイぞ先生ッ

6.ゲームクリアの条件を作る

ゲームクリアの条件を作るぞ!
特定の場所にGameObjectを配置し、「Goal」のタグを付けろ。キャラクターがその場所に到達したら、エンディング画面に遷移するように実装しよう!エンディング画面を作成するんだ!

先生4.0

※このあと怒濤のネットワークエラーが発生し、先生の回答が途中で途切れる現象が頻発しました。そのため「途中で途切れたので続きを入力してください」という命令が挟まっています。

途中でお返事が切れてしまう
またもや途切れてしまう
ようやく最後までお返事もらえました

 さっそくGoalオブジェクトを作成する。作成したが、どうも現状の見た目が無色透明のようなので、わかりやすい形と色を設定してあげないといけないみたいだ。先生ッよろしくお願いしますッ!

先生ッ……
先生ッ

 なるほどなるほど、自分で作った画像を貼り付けるということみたいだ。Windows 10に標準付属している「ペイント3D」なら透過画像PNGも簡単に作れる。

こんな感じ

 簡単に作れるんだけど、せっかくだからこの画像も先生に作ってもらいたいな。せっかくだからね。

どうですか先生……?
先生ッ
先生さすがですッ

 さっそくVisual Studio Codeを起動する。Ctrl + @でコマンド打てる画面が出てくるので、指定のコマンドを実行する。

プロキシエラーがでることがある。プロキシは一時的にOFFするとうまくいく。

 Visual Studio CodeにPythonプラグインが入っていなかったので追加して、コードをコピペする。ターミナルで実行。エラーなし。順調だ!

無事に生成された! 透過処理(格子っぽいところ)もバッチリ!さすがです先生ッ

 このあとGoal作成でちょっとしたトラブルが発生したが、先生に聞けばなんとかなった。先生スゴイ!

解決候補を複数挙げてくれるッ 先生ッ
先生ッ!

 ゴール判定のスクリプトは先生のコードをコピペしてAdd Componentするだけだったので省略。なんて簡単なんだァ…

7.エンディング画面を作成する

新しいシーンを作成し、「Ending」の名をつけろ。UIを追加し、「Game Clear!」の文字を表示させるぞ!

先生4.0

 いよいよ最後の手順だ。いつものように詳細な手順を聞くところからはじめよう。

先生ッがんばれッ ネットワークエラーに負けないでッ
もう少しッ
最後までッ
先生ッ…!

 このあとなんやかんやEndingScreenManagerのコードを聞いたり、カメラオブジェクトがSceneにないので追加したりなどトラブルがありましたが、これも先生に確認して解決できました。先生すごいなあ。

8.実装完了後の動作確認

 最後の仕上げ、動作確認だ。

終盤であることを感じ取ったのか先生が決め台詞を言ってくれるようになる

 おさらいした仕様をもとに動作確認を行ったところ、ゴールに触れても画面遷移しないという問題があることがわかった。せっかくなので、不具合解析は先生に行ってもらおう。先生、解析は得意かな?

TC=TestCaseの略である
先生は不具合解析もできるッ
もはやこのやりとり…ただの業務では
不具合対応成功! ただ、先生の挙動が怪しい(‘_’) 「申し訳ありません」!?
せ、先生ッ!? 先生がマトモな人間にッ!?

訪れた終焉のとき

 GTP-4であってもさすがに長時間&長文のやりとりを続けていたためか、先生が普通の人に戻ってしまった。前回、GPT-3.5のときは初期プロンプトを入れ直すことで先生を復活させることができたが、今回もはたして上手くいくだろうか?

よみがえれ先生ッ
なんかだいぶ大仰になりすぎた感じあるけど…先生ッ!
ご期待にそえるよう励みますッ

 TestCase-06の修正はいろいろ面倒なことがあったので省略。Unityあるあるに引っかかっており、ここは正直先生に聞くよりググったほうが早かった。ありがとうUnityに詳しいオオバさん

 そんなこんなでできあがったサンプルゲームがこちらです。ゲームとしての体を成していないのはしかたがないことです。

虚無のゲームだッ

先生の答辞

軽い気持ちでお願いしたらクソ長い演説が始まったッ 先生ッ
先生が止まらないッ
先生どこまでいくの…?
ありがとうございます先生ッ!

 まるで世界を救う勇者に相対したかのような濃ゆい激励をもらってしまった。恐るべし先生、恐るべしChatGPTである。

 なんだかんだサンプルコードを書けたのでChatGPTすごいな~っという感想になった。途中で寄り道したPythonコード即書きもなかなか衝撃的だった。おま…こんなレベルでコード書けるんか…みたいな。プラグインが使えるようになったらPython実行できるようになるらしいので、ChatGPTに書かせたコードをChatGPTに実行させるというマジヤバワールドが本当にすぐそこまで来ているのだな…と感じた一週間だった。

 このブログ、通常運転時は「小説家になろう」でスコップした作品の感想を書いている。このスコップ作業がなかなか大変なのだが、ChatGPTのプラグインが使えるようになったら、この大変さから解放されるんじゃないかな…マジで。かなり確度の高いマジさで。

自分で作れそうな気がしてきた

 夢が広がるゥ~(*´ω`*)

おまけ

 先生の再現プロンプトを先生自身に作ってもらってみた。自らを再現するプロンプトについて論じるChatGPT…ここに倫理観などないッ

参考プロンプトは後略
原文からの差分を黄色ハイライトにしています。なんかオレオレ詐欺みたいになってます先生ッ
このプロンプトを入力する前から思い出せるわけないだろと思ってしまうのである
なんだか健気だな、先生…
さよなら先生ッ