作品概要
このゲームはJavaScriptとPHPからChatGPTとDALL-Eを利用し、プレイヤーのレスポンスを元に文章生成と画像生成を行うことができるRPGツクールMZのゲームである。
制作背景
・昨今のAI技術の発達は非常に迅速で、一般人にも身近なものになってきている。
・現在のノベルゲームやRPGの文章、イラストレーションは基本的に開発者が事前に用意したもので構成されている。
・文章、イラストレーションの二つは現在利用可能なAIで自動生成が可能である。
これらの観点からAIを駆使してストーリーとビジュアルの両方がリアルタイムで展開される新しいゲームを作れないかと考えた。
実際のプレイ映像
この映像は編集されており、実際の生成はこれよりも遅いものとなっている。
https://youtu.be/fgfbTbnYlt8
仕組み
文章生成の仕組み
RPGツクールMZ内のJavaScriptからFetchを用いてプレイヤーが入力したデータをAPIキーを用いてChatGPTに送り、レスポンスを受け取る
↓
JavaScriptでゲーム内のテキストウィンドウに表示する。
画像生成の仕組み
RPGツクールMZ内のJavaScriptからAjaxを用いてプレイヤーが入力したデータをローカルサーバー上のPHPファイルに送る。
↓
PHP内のスクリプトでAPIキーを用いてDALL-Eにアクセスし、画像を生成させる。この際、画像のURLを受け取る。
↓
JavaScriptで画像のURLを受け取り、それをゲーム内の背景として表示する。
改善点
・現時点では画像生成時の非同期通信の影響でプレイヤーの入力からそれを元にした画像生成と文章生成、画像生成から背景の表示等がシームレスに行われておらず、タイムラグが顕著である。asyncとawait演算子を用いたより最適化されたレスポンスを追求する余地がある。
・画像生成時にこれまでの文脈に沿った画像が生成されないことがある。これに関してはスクリプトの制御タイミングを変数内のデータの有無で管理することによって改善が見込める。
・画像生成の非同期通信の際、AjaxではなくFetchを利用することでローカルサーバーを経由せずに画像を生成できる可能性がある。
・現状の方法ではプレイヤー毎のAPIキーの取得(有料)やローカルサーバーの必要性からネット上での頒布が困難である。
開発環境
・RPGツクールMZ
・CotEditor
・Visual Studio Code
・MAMP
使用プラグイン
・ChatGPT_APIMZ.js
・InputDialog.js
・WebImageOutput.js
これらのプラグイン作成者のkotonoha*様にこの場を借りて御礼申し上げます。
コメント