最近、特に書きたいネタもないな・・・と思って放置していたnoteですが、今話題のChatGPTをゲーム開発に活かしている(現在進行形)なので、自分のやったことの記録として記事を書こうと思います。
かなり冗長な記事になります。(要点がまとまっておらず長いということ)
・使っているのはGPT-4
・APIは未使用
・〇〇で××なゲームを考えて、みたいな丸投げはしない
・ある程度の世界観の指向性が決まっており、裏付けや科学的根拠に基づいてアドバイスもらうために使う
※この記事は今頑張って作ってるゲームの軽いネタバレを含みます
世界観を理解してもらうほど複雑になるとやはり高性能なGPT-4のほうが良いです。GPT-4を使うのには月額課金が必要です。
ChatGPT plusに加入すると、APIが使用できますが、無条件で公開されているAPIはGPT-3.5までのようで、GPT-4のAPIはフォームから申請して、許可されると使えるようになるらしいですが、自分は許可されていません。
めっちゃ長いので、さくっとまとめてほしい人はこちら
では、内容について話していきます。
GPT-4を最初に使ったのは世界観設定をよりリアルにするために使いました。
今作っているのが未来のSF物で、リアルなものを考えるにはかなりニッチな科学的な情報が必要でした。具体的には、
・人類が絶滅の危機に瀕するほど、大規模な災害がおきる
・その絶滅の危機の理由は、生存圏が標高1km以上のみに何かしらの理由で狭まってしまう
・現代に存在しない謎の物質などは使いたくない
というワガママな条件を満たす、災害Xとその後生存圏が狭まる歴史年表が欲しかったのです。適当にでっち上げても成り立つのがゲームではありますが、自分はインターステラーのようなウソだけど無駄に設定を凝ってるSFが好きだったのです。
なんとも無茶ぶりな設定で質問を投げかけています。一応、ギャグではありません。
ちなみに大量絶滅というワードは、これ以前に何度かやり取りしていた(ログが残っていない)ものによって、こういう現象が過去にはあったよとGPT-4さんが教えてくれた災害の一つです。
おお、なんかそれっぽいものをちゃんと答えてくれた。
具体的にアルゴンと言ってしまったので、だいぶアルゴンに引っ張られているようでしたが、SFっぽい方向性でちゃんとでてきています。
自分の知識不足で、こんなイメージと比較したらどう?と聞いてみましたが、ちょっと変かも、と教えてくれました。全否定じゃないところに優しさを感じました。
以下、しばらくやり取りをした後です。
計算が合っているのかすらわかりませんが、隕石の衝突のみではだいぶムリがあったことが判明します。こういう数字に基づくSFを考えるのは非常に大変なので助かる・・・
しかしやりたい舞台設定があったので、もうすこし粘ってみることにしました。災害の序盤のイメージが湧いてきたので記述し、続きを書いてもらいます。
めっちゃいい感じに続きが出てきました。
しかし、自分の想定とはズレ始めたので修正も行い、もう少しゲームの世界観の中身を深掘りしてアイデアを出してもらうことにします。
ここで筆者は衝撃を受けました。
ゲームのテーマとか、自分の中ですらハッキリしていなかったものに近づき始め、提案してきたからです。
一応、出してもらったアイデアは参考にはしますが、全部採用するというわけではありません。自分の頭の中でふわっとしていたアイデアが、これは近いな、これは遠いな、といった具体例と比較して少しずつ固まっていくのを感じました。
これ以降は、ここまで相談できるのならば、ゲーム本編についても相談しちゃえ、という感じでゲーム本編の相談もしていきました。(クッソ長い上に未決定事項でかつネタバレになるので割愛します)
この相談をしていた頃は、ChatGPTのログに不具合がある時期で、過去のログが参照できない+残らない状態でした。
最近復旧したら見事にログが消えていたので、保存しておいたテキストデータを元に、再度ゲームの説明を行った上で、アイデアだしを手伝ってもらったりしています。
これだけを見ると全部アイデアをGPTに出してもらっているように見えるかもしれませんが、主要なアイデアを上げたうえで、追加で賑やかしのアイデアを考えてもらっています。
ゲームのストーリーのコアな部分は自分である程度構想があるのですが、葉分かれした細かい部分や、逆にストーリーと関係ない賑やかしや、ブラフ、ミスリードに関係するものは追加で考えなければならず、アイデアを出してもらったりします。
現在ではこんな感じでゲーム開発に実際に使えています。
結構、大枠は決まっているけど、詳細が詰まっていないというのはよくあると思いますし、その詳細を詰めるのに利用している感じです。
一応、UE5で使えるマテリアルのシェーダーをかいてもらおうとしたこともあったのですが、エラーのチェックバックが大変なことと、自分がシェーダーコードの成否を判定できないので、使いづらいな…という感じでした。(現在、普通のプログラムであればエラーチェック含めて自分で修復するタイプのAIもでているようなので、UE5と直接連携するAIがあれば使えそうです)
特に今回有用だと感じたのは、専門家に聞かないとおかしいのかすらわからない部分を聞けたことです。でも正直GPTが適当を言っている可能性も否めないので、今回見たいなウソでもOKなSFでは使えますが、ウソだと困るものだと使いにくいかもしれません。
ちなみにGPT3.5だと計算周りも怪しいです。同じ計算を違う表現で聞くと違う答えが返ってきたりします。それっぽい感じで答えるので騙されないように。
以下感想まとめ
・間違っててもそれっぽいならOKな案だしならめっちゃ有能
(特にフィクション)
・主要なことはあくまで自分のアイデアで、その間の繋ぎや、葉分かれした部分に使うと、めっちゃアシスタント感があって良い。(自分のオリジナルの部分が損なわれない)
・ログが消し飛ぶこともあるから、別途テキストファイルなどに保存しておいたほうが安全
・一発で良いアイデアはそんなに出てこない。出してもらったアイデアがズレてるところを指摘して、何度も会話することが重要。
正直、今の段階でかなり優秀に情報を理解してアイデアをだしてくれているので、そのうち全部任せて、こんなゲームが欲しい!といったら出してくれる未来は来てもおかしくないな・・・とは思いましたが、そのうち人間じゃないと生み出せない、根拠もない曖昧なもので矛盾していたり間違ったりするものが求められるのかも・・・とかぼんやり思いました。
あとAIさんは敬語で話してるほうが精度が高いらしいです。礼儀だたしく、ちゃんと仲良くしようね。