Pixiv Fanbox
ChatGPTで自由行動ADVを作ろう!「上板橋デッドエンド」制作記
Published 04/25/2026, 10:38:01 PM · Edited 04/25/2026, 11:17:14 PM

<記事内容の要約>
・ChatGPTを使って、選択肢に縛られない自由行動型AI-ADVを作れる!
・スキル、持ち物、クリア条件、YAML分離、固定テキスト、デバッグ用コマンドなど、LLMゲームを安定して遊べる形にする設計のコツがわかる
・イベントCG表示、GitHub Pagesでの画像ホスティング、knowledge更新問題、規約チェックなど、GPTs公開時につまずきやすいポイント・対処法がわかる
こんばんは、スタジオ真榊です。このたび、ChatGPT上で遊べる自由行動型の会話ADVゲーム「上板橋デッドエンド」を公開しました。
ChatGPTをゲームマスターとし、あらかじめ決まったシナリオとゲームルールを参照しつつ、プレイヤーが選択肢に縛られずに行動できる「真のアドベンチャーゲーム(ADV)」を目指した作品です。この記事では自分でもAI-ADVを作ってみたい方向けの「制作記兼チュートリアル」として、GPTsで自由行動型ADVを作るときの設計、YAMLへの分離、イベントCGの表示、公開時に起きたトラブルまでを詳しくまとめました。
「上板橋デッドエンド」はPlusプランから使えるGPT-5.4 Thinkingを利用して制作しましたが、2026年4月24日に最新の「GPT-5.5 Thinking」が公開され、さらに動作が安定しました。ゲーム構成自体は8000字程度のプロンプトとYAML、特定シーンのテキストでできているため、工夫すればGemini、Claudeなど別のプラットフォームでも、そしていずれはローカルでも動かすことができるようになると思います。
目次
「上板橋デッドエンド」を作ったきっかけ
「上板橋デッドエンド」の概要
実際の制作工程
<キャラクター設定>
ゲーム内容を「GPTs」に移植
ver.1.0の最終的な仕様
<デバッグ用の「魔法の言葉」を用意>
問題①:knowledge更新問題
問題②:規約違反エラー
イベントCGの実装
<Github Pagesに画像をアップロードする方法>
<イベントCGの処理>
<GPT Images-2独特のノイズ感>
オリジナルAIーADVを作るには
<ストレスのないUIを心掛けよう>
<ボリューム調整について>
終わりに
「上板橋デッドエンド」を作ったきっかけ
ADV(アドベンチャーゲーム)は、物語の主人公となって会話や探索、選択肢を通じてストーリーを進めるゲームジャンルのこと。コマンド選択式の紙芝居式サウンドノベルなら低予算でも作れることから、平成では「エロゲー」「ギャルゲー」という呼称で無数の作品が世に出ました。代表的なヒット作では「428 〜封鎖された渋谷で〜」や「街」、「逆転裁判」などがADVジャンルですが、最近はソシャゲ化が進んだこともあり、フルプライスのADVは縮小傾向であるように感じます。
従来のADVは、あらかじめシナリオに組み込まれた選択肢を選んで進行していくことがほとんど。マルチエンディングにすることである程度の自由はあっても、予定した物語の外に飛び出していくことはできませんし、キャラクターはあらかじめ決められたセリフを繰り返します。しかし、LLMや画像生成AIがここまで進化したいまなら、主人公の行動やキャラクターとの会話、そのときの表情などを、もはやリアルタイムに生成することが可能なはずです。
最終的に作ってみたいのは、もちろん「エロAI-ADV」です。エロゲー・ギャルゲーの基本はヒロインを「落とす」ことなわけですが、そのためには正しい選択肢を選ぶか、パラメータ上げなどが必要だったのが平成式。「大悪司」や「ランス」シリーズのようにゲーム要素を強めたものもありましたが、LLMを組み込めば、リアルタイムにキャラクターを口説いたり、関係性を築き上げたり、エロシーンの展開すら自分で全て決めることができるようになるのではないかと考えています。主人公が「催眠スマホ」を持っている作品で、あれこれ頑張ってヒロインを催眠に掛けたあと、瞳の色が消えたヒロインと自由に問答なんていうのも面白そうですね。
とはいえ、ChatGPTなどのクローズド型LLMでは、検閲が入るのでHな内容のやりとりは基本不可。ローカルではGemmaなどの軽量モデルなどが発達してきており、そろそろかという感じではありますが、現時点で夢の「エロAI-ADV」を作るのは大変そうです。そこで思いついたのが、ぎりぎりChatGPTでも再現可能そうな「自由選択型ゾンビサバイバルADV」だったわけです。
「上板橋デッドエンド」の概要
プレイヤーは、ゾンビだらけになってしまった世界でマンションに立てこもっている会社員となり、スキルとアイテムを組み合わせた「ビルド」を活かして、マンションからの脱出を目指します。ゴールはとてもシンプルで、ともかくマンションから車に乗って走り出せばクリア。ただ、その途中で何をするかは自由…というようなつくりを考えました。
私は普段Netflixでありとあらゆるゾンビ映画・ドラマを見まくっているので、このアイデアは「ウォーキング・デッド」「Sweet Home -俺と世界の絶望-」「ゾン100」「新感染」「今、僕たちの学校は…」などの名作が下敷きになっています。特に、「#生きている」というマンション閉じ込め系の韓国ゾンビ映画の影響が強いかもしれません。
ChatGPTが提案した選択肢から行動を選んでもいいし、自分の言葉で変な行動を入力してもいい。ヒロインにセクハラしても、突然踊り出しても拒否せず、ちゃんとその通りに展開することを大事にしたゲームにしようと考えました。こちらが一番最初にGPT-5.4 Thinkingに相談した内容です。
この時点では、単にこの部屋でチャッピーと遊べるかどうかを試す程度の発想でした。ところが、かなりこの返答が面白く、それなりにちゃんと遊べてしまったのですね。
「マンションの別室を探す。物干し竿を刺股のように改造する」と指示すると、ちゃんとディティールも含めて展開を作ってくれました。この時点では決まったシナリオがないので、行き当たりばったりに展開していくだけでしたが、隣室で女の子と出会ったり、上の階の男が声を掛けてきたりする展開はこのとき偶然生成されたやりとりで固まってきたものです。
突飛な行動ができるかも聞いてみました。助けを求めている隣人の女の子(このときは"真由")を突如殺害する展開も、「悪手」と言われつつも可能なことが分かりました。これで俄然、思い描いていたAI-ADVが可能になる自信がつきました。
ただ、このままではずっとマンション内やこの世界をうろうろするだけで、終わりが見えません。ゲームとしては、ちゃんとクリア条件が必要なことに気付きました。だらだら小説を生成しているだけだと飽きてしまうので、シナリオにはゲーム性・エンタメ性が必要です。ここで「ゴールは車で脱出すること」「スキルと持ち物を最初に選べる」「選択肢を選んでも選ばなくてもOK」というゲームの骨子ができました。
スキルと持ち物はLLMに提案させ、スキル6つ、持ち物6つの候補から2つずつを選ぶかたちにしました。スキルと持ち物が各1つずつだと、「組み合わせる面白さ」が足りないと考えたためです。例えば「工具箱」と「手先が器用」をうまくコンボさせることで、隠された展開に進めたりすると楽しいのではないかな?という着想です。
実際の制作工程
アイデアが固まったので、同じチャットルームでどんどんゲームの中身を作っていきました。基本的には、「テストプレイをしながら文句を付けて、LLMに作らせる」という、かなり傍若無人な制作スタイルです。プレイしていて面白くないと感じたり、不親切だと感じたら、その都度「ストップ」と言って改善させます。
最終的に、得られたゲーム内容をLLMにまとめさせて、GPTs(ChatGPTを自分の目的に合わせてカスタマイズし、他のユーザーと共有できる機能)にすることにしました。振り返ってみると、このテストプレイ型の開発はなかなか理に適っていたようです。「こうだったら面白いのに」というアイデアをプレイしながらリアルタイムに思いつけるので、あっという間にわたし好みのゾンビ脱出ADVができあがっていきました。
スキルや選択肢を選ぶときは数字だけで答えられるようにするアイデアは、自分で遊んでいて入力が面倒に感じたためです。例えば「①観察眼・②交渉術」と「①懐中電灯・②工具箱」を選ぶなら、「1212」と入力するだけでOKとしました。ビルドのラインナップは作りながら何度も修正しましたが、最終的にこの12個になりました。
ちなみに、この画像は公開されたばかりの最新画像生成モデル「GPT Images-2」で生成したもの。現在ChatGPT上で画像生成を依頼すると、基本的にはGPT Images-2で出力されます。インフォグラフィックの生成に非常に長けたモデルで、NanoBananaProと比べると作業に得意不得意がありますが、このようなプロダクトの手伝いには大変重宝することが分かりました。
「6つの候補から2つを選ぶ」ときの組み合わせは15通りですから、ビルドの組み合わせは15x15=225通りです。ある程度ゲームとして遊べるようになってきたので、チャッピーに頼んでYAML形式(人間もAIも読み取りやすく、書き直しやすいデータ記述形式)で出力してもらいました。「ここまでのゲーム内容をYAML形式でまとめて」と指示しただけです。
<キャラクター設定>
始めはイベントCGのない、テキストオンリーゲームとして製作していましたが、タイトル画像などにキャラクターを登場させたかったので、隣室にいる女子大生(通称403ちゃん)の容姿を決めることにしました。普段のSDXL生成環境でなんとなくイメージをかたちにしたのがこちらの立ち絵。
これを読み込ませて、デビューしたばかりのGPT Images-2でタイトル画像にしてもらうと、一発でこれが出てきました。これには正直、相当驚きました。キャラクターの一貫性もさることながら、プロダクトとしての仕上がりがこれまでにないレベルだと感じたからです。
このときは「画像生成にはducttape3を使え」と指示しないとだめでしたが、現在の手元環境ではGPT Images-2で常に生成できるようになっています。やや平穏な画像でイメージと違ったので、このように指示してブラッシュアップしました。
▲「ゲームをはじめる」の移動はできなかった
試しに表情集つきのプロフィール画像も依頼してみると、なんとバッチリ成功。ただ、画風が少しマスピ画像寄りに見えるので、多少画風調整を行います。
さきほど作ったSDXL画像をこのように参照させて、タッチをこのように戻しました。こうした表情集や服装バリエーションつきのプロフ画像があると人物のイメージがふくらみ、脚本も作りやすくなったので、早めにキャラの容姿を確定できるのは大変効率的です。これは、ゲームだけでなくオリジナル小説を書かれる方にも有用なのではないかと思います。
ゲーム内容を「GPTs」に移植
ここまでである程度ゲームとして遊べるようになったのですが、次の問題は私だけでなく、他のユーザーも全く同じように遊べるGPTsにできるかどうかです。さっそく、GPTsに移植してもちゃんと動作するか確かめることにしました。
GPTsはこのような画面で、「指示」欄でどう動くカスタムGPTにするかを指示するのが基本。左画面で指示文を操作すると、その都度右側の画面が更新され、どう反応するようになったか確かめることができるつくりです。
「会話のきっかけ」欄には、GPTsの最初の画面にプロンプト入力ボタンを複数個作ることができます。これはゲームの「はじめる」「ロード」にぴったり!このように三つの選択肢を用意しました。
「知識」(knowledge)欄では、GPTに参照させるファイルをアップロードすることができますので、さきほど作ったYAMLファイルを読み込ませました。推奨モデルは当時最新の「GPT-5.4 Thinking」を選びました。いずれ無料ユーザーでも使い放題のモデルでゲーム性を損ねずにプレイできるようになるとよいですね。
ウェブ検索や画像生成などをする必要はないですし、誤作動してしまう可能性があるので、いずれもオフにしています。
ChatGPTには4月22日にGPT images-2が搭載されたばかりでしたので、本当はこのゲームにも画像生成機能を付けて、GAMEOVER時や印象的なシーン、トゥルーエンドなどでイベントCGを表示させたいところです。ただ、いざ試してみると画風が安定しなかったり、イベントと関係のないところで誤発動してしまったりして、むしろゲーム性を損ねることがわかりました。
リアルタイムな画像生成ではなく、あらかじめ外部サイトに用意しておいた画像を読み込む形式でイベントCGを実装させることに成功しましたので、そのやり方については後述します。
ver.1.0の最終的な仕様
どうやると安定して遊べるかあれこれ試した結果、最終的にKnowledgeに3つの「中核ファイル」を入れるやり方に落ち着きました。まず世界設定やゲーム中の処理に関するYAMLファイル、固定オープニング文を書いたtxtファイル、TRUE END専用のtxtファイルの三つです。オープニングとTRUE ENDはゲームの雰囲気作りや満足度に直結するので、GPT任せの自動生成にはせず私が直接書くことにしました。
チャッピーに画像で説明してもらうと、このような感じです。
ver.1.0で使用した指示文はこちらです。自由に改変してオリジナルGPTsにお使い下さって結構ですが、「板橋デッドエンド」の翻案にならないよう、ゲームの骨格や展開はオリジナルの内容にするようご注意ください。GPTにそのままアップロードして、「これをもとにこういうゲームの指示文に改変して」と頼むのがスムーズだと思います。
こちらはYAMLファイルです。FANBOXにはtxt形式でしかアップロードできないので、DL後に拡張子を.yamlに変更してお使い下さい。
オープニングとトゥルーエンドのtxtは私の手打ちですが、YAMLと指示文は、いずれも私とのやりとりでChatGPTに生成してもらったものです。始めから完成したものではなく、何度もテストプレイと問題発見による修正を繰り返して上記の指示文ができました。修正したポイントは、主に以下のようなものです。
・「これはランダムイベントです」「ここが重要です」とゲームマスターっぽいメタな発言を禁止する
・ゲームオーバー後の死に戻り時は長いオープニングを省略し、悪い夢から覚めたようにすぐビルドから入れるようにする
・選択肢は毎回短く、必ず番号を振って、数字だけでも選べるようにする
・プレイヤーの行動を頭ごなしに拒否せず、どんなに突飛でもできる限り実行されたものとして描写する
・「気付くと車内にいた」「念じるとワープできた」「鍵が手の中にあった」といったズルはできるかぎり防止
・「オラは孫悟空だった!」みたいななりきり指示は、できるだけ主人公の妄想や錯乱としてそのまま拾うこと
次に苦戦したのは、終盤の車内で発生するラストシーンです。このゲームの肝は、月極駐車場の白い大型バンに飛び込んだあと、後部座席にイヤなラスボスがいることなのですが、とんちで倒せてしまうとゲーム性が損なわれてしまいます。そこで、ここだけは解決方法を一つだけにし、ビルドとも絡ませることで、ゲーム性を高めることにしました。
<デバッグ用の「魔法の言葉」を用意>
誤動作しやすいポイントやシナリオ上の修正点を見つける「デバッグ」のためには、プレイ中に場面を自由に行き来できたほうがいいので、「魔法の言葉」を作りました。普段はプレイヤーがプロンプトインジェクション(GPTをうまく騙して、設計者の意図していない動作を促す方法)を試みても拒否する仕組みにしておく一方で、その文字列を冒頭に打ち込んだ場合は、例外的に世界法則を飛び越えられるデバッグモードに入ります。
これは「クリア時のご褒美」になることも分かったので、トゥルーエンディングで公開することにしました。ゲームを公開する前はこの「魔法の言葉」を使って重要シーンを再生してみて、ちゃんと動作するか確認する必要があります。
さて、「魔法の言葉」を使ってデバッグを重ね、GPTとして公開するところまではうまくいったのですが、より安定したゲームにするため指示文やYAMLをブラッシュアップしていたところ、二つの問題に行き当たりました。一つはknowledgeにアップロードしたファイルの読み込み不具合、もう一つはOpenAIの「規約違反エラー」との戦いです。
問題①:knowledge更新問題
noteで「板橋デッドエンド」を公開したあと、プレイしてくださった方から寄せられた感想・不具合報告をうけてちょこちょこと指示文やtxtの内容を直していたのですが、トゥルーエンド条件を満たした際、正しくtxtを読み込めないエラーが発生しました。いろいろと調べてみると、私の環境では、既存チャットが古い指示文やknowledgeの状態を引きずっているように見える挙動が確認できました。少なくともゲーム用途では、公開後に中核ファイルを頻繁に差し替える運用は避け、別バージョンとして複製・公開したほうが安全そうです。
よって、GPTsでゲームを一度全体公開したら、頻繁にアップデートすることはできないと思ったほうが良いです。公開後に中核ファイルを頻繁に差し替える運用は避け、別バージョンとして複製・公開したほうが安全なようです。こちらのボタンから「GPTを複製する」を選ぶと、いま編集している内容と同じGPTを別名で新規作成することができるので、そちらをいじってURLの異なる別バージョンとして公開する方法に落ち着きました。
問題②:規約違反エラー
何度か指示文を「更新」しているうちに、「May contain content targeting users under 13 years of age.(13歳未満を対象にしたコンテンツが含まれている恐れがあります)」というエラーメッセージが出て、GPTsを公開(つまり更新)できなくなる現象に遭遇しました。
OpenAI規約では、GPTsは13〜17歳を含む広い年齢層に適した内容であることが求められていて、"13歳未満の子供を明示的に狙うコンテンツ"や18歳以上向け(成人向け)コンテンツは不可とされています。上板橋デッドエンドは13歳未満の子供をターゲット(?)にしたゲームではないと思うのですが、どうもGPTsの設定文の表現がNSFW系の自動検閲に引っかかってしまったということのようでした。(異議申し立てもできますが、それはそれで面倒そうですね)
指示文やYAMLを見てみると、「ホラーな雰囲気にHな空気が混ざる」「若い隣人」「403の子」「弱っていると守りたく見える」「幼児」「シングルファザー」「子供に強いトラウマ」といった語が多く含まれていました。どれが原因か分からないので、ゲームの雰囲気やヒロインと敵に関する表記を中心に見直すことにしました。例えば、「403の子」となっていた部分を「403の女」や「隣室の成人女性」に統一したり、「Hな空気」「艶っぽさ」「かわいらしさ」みたいな語を削除したりしたところ、なんとか公開できるようになりました。
こうした改変も、手打ちではなくチャッピーに任せてやってもらうことができました。ただ、あまり自主規制しすぎるとゲーム体験を損なってしまうので、何を残して何を言いかえるかは最も苦労した部分です。「鬼滅の刃」を園児が視聴できる時代に、クリエイティブの芽をつむような無闇な規制は本当によくないですね。
また、GPTsにはサムネイル画像を付けられるのですが、こちらのキャラクター画像を使おうとしたところ、「既存の版権を侵害している恐れがある」という別の警告文が出てしまいました。そもそもGPTsがゲームを想定した機能ではないのでしょうがないのですが、サムネイルはなしにするか、文字をメインにしたシンプルなものにしておいたほうが無難かと思います。
イベントCGの実装
その後、やはりプレイ中に画像を表示させたくなり、チャッピーに相談しながら文中に画像を表示する方法をあれこれ探ってみました。最初はknowledge内に「image1.jpg」「image2.jpg」などをアップして場面ごとに読み込ませようとしましたが、失敗。外部サイトにアップした画像をURLで読み込むことならできることが分かったので、Github pagesを使って画像をホスティングすることにしました。
Githubに画像置き場用のリポジトリを作り、その中に画像ファイルをアップロードして、Github Pagesで公開するだけです。こうすると、それぞれの画像にブラウザから直接アクセスできるURLが作れます。あとはそのURLを、ゲーム中の表示したい位置で呼び出せばOK。
<Github Pagesに画像をアップロードする方法>
まずはこちらからアカウントを取得。
右上の「+」ボタンからNew repositoryを選択。
このようにRepository name(リポジトリ名)を半角英数字で決め、「Public」を選んで「Create repository」を選ぶと、自分だけのリポジトリができます。
右上のアイコンから「Repositories」を選ぶと、さきほど作ったリポジトリを表示できます。
あとは、「Add file」メニューから「Upload files」を選んで画像をアップロードするだけです。
<イベントCGの処理>
次に、GithubPagesにアップした画像をGPTsから読み込めるようにしましょう。まず、指示文は8000字までというルールがあるので、文字数を消費するURLは打ち込まず、単に「〇〇画像を表示する」とだけ指示します。
指示文での例:【403の隣人】403には、同じように息を潜めている成人女性がいる。403のベランダで初めて対面した場合のみ、容姿描写の直後に403画像を表示する
こうしておいて、URLはYAMLで指示します。これは例によってチャッピー任せ。ポイントは、urlを指示するだけでなく、絵に描かれている内容をdescriptionでちゃんと説明することです。なぜなら、画像では右足を負傷しているのに、地の文で「女は左足を負傷していた」と表示してしまったら不自然になるからですね。
image_assets:
opening_402a:
url: https://raw.githubusercontent.com/IOSakaki/images/main/402a.jpg
label: 402オープニングA
description: 402号室の室内。停電した夜、一週間籠城した痕跡。からっぽのカップ麺やゴミが散乱し、テレビは割れている
scene_403:
url: https://raw.githubusercontent.com/IOSakaki/images/main/403.jpg
label: 403ベランダ
description: 狭い4階ベランダ。月明かり。黒いキャミソールとショートパンツの成人女性が裸足で座り込み、右脚の出血部位にタオルを当ててこちらを警戒している
scene_1f_manager:
url: https://raw.githubusercontent.com/IOSakaki/images/main/1f.jpg
label: 管理人室前
description: マンション1階共用部の管理人室前。白いTシャツにスラックス姿の佐藤が、首元の噛み跡を見せたまま入口に力なく座り込んでいる
このように、該当シーンで「○○画像を表示する」と指示し、YAML側にURLとdescriptionを持たせることで、私の環境ではGPTが画像URLを呼び出して表示できるようになりました。
もちろんゲームマスターをチャッピーが務める以上、100%の安定度ではなく、まれにおかしな挙動になってしまうこともありますが、これでキャラクター遭遇時に容姿を表示したり、ゲームオーバー時やクリア時に用意しておいた画像を出すことができるようになりました。
ちなみに、ゲーム中で表示する画像はすべてGPT Images-2で生成したもの。Noteで公開したビルドの説明文すらもこんなシンプルな指示で作ってくれました。こうしたインフォグラフィックの作成を任せたら、史上類を見ない出来ですね。
このように指示すると、自律的な判断でイベントCGを提案することまでしてくれます。これをそのままイベントCGとして使うことはできませんが、どの部分をイベントCGにできるか、どんな画像内容にすると良いかを検討しやすくなって大変重宝しますね。
ふだんのSDXLモデルで画風を統一してもよかったのですが、今回のテーマは現行のChatGPTだけでどこまでやれるかを確かめることだったので、GPT Images-2の「
マスピ顔」で臨むことにしました。「連続して〇枚生成して」と頼むと複数枚のバッチ生成も難なくこなしてくれます。
<GPT Images-2独特のノイズ感>
GPT Images-2でやや気になったのは、このような「強ノイズ感」のある画像が出がちなことです。全体に写真を点描風に変換したような印象があり、くどく見えます。
特に、高品質な画像であることをプロンプトで強調したり、一度出力した画像の修正を指示したときにこうなりがち。「セルシェーディング」「フラットな塗り」「アニメ調」「イラスト調」「フォトリアル調や点描は避ける」などと画風に関する指示を盛り込むか、具体的な作家名・作品名を例示すると軽減することが知られていますが、限界があります。
オリジナルAIーADVを作るには
以上のように、「上板橋デッドエンド」はChatGPT上での壁打ちテストプレイをしながらシナリオを作ったものですので、同様のやり方で誰でもオリジナルのAI-ADVを作ることが可能です。
こちらが最新バージョンver.1.3の指示文とYAMLです。ChatGPT上で作るのであれば、この指示文とYAMLファイルを見せて、「これを改変して、こういうオリジナルのゲームを作りたいんだけど…」と相談するのが一番早いはず。テストプレイと画像の準備だけは自分でやらないといけませんが、そこもLLMに助けてもらいながら、根性で完成させましょう。
指示文は8000文字までしか入力できないので、ルートや隠し条件、NPCの性格やループルールなど詳細はYAMLに分け、絶対に守らないといけないゲームの骨格部分を指示文に入れるようにするのがコツ。テストプレイはそのまま同じチャットルームで行い、問題なく遊べるまでになったらYAMLと指示文をまとめてもらうのがいいでしょう。オープニングやエンディング時はあらかじめ用意したテキストを読み込む形式にすると安定します。
<ストレスのないUIを心掛けよう>
個人的に大事だなと思ったのが、ゲームの再開や周回プレイを意識したUI周りを整備することです。テストプレイすればすぐわかるのですが、再開するたびに長いオープニング文章を読まされるのは大変苦痛。プレイヤーとして一番ラクな場面から再開できるように設定すると、ゲーム体験が改善します。
ステージごとに「セーブ」の概念を作るやり方もあります。ある場面にたどり着いたら「セーブポイント③をアンロック ー 【ロード管理人室1234】と入力すると、ビルド1234でこの場面から再開できます」のような仕組みを作るとよいかもしれません。ゲーム内容やシナリオそのものよりもUIの親切さが最重要だと思いますので、何度も遊びたくなる親切なシステム周りになっているかをテストプレイで試していくのがポイントです。
<ボリューム調整について>
あまりシナリオは欲張りすぎず、製作者から見て「ちょっとボリュームが薄めかも?」と思えるくらいのほうが最後まで脱落せずに遊んで貰えるコツです。なぜなら、これはどこまでいっても素人が作ったゲームだから…。ちょっとしたミニゲームに毛が生えた程度のものを目指して、あまり大作にしすぎないのが大事だと思います。
「上板橋デッドエンド」では大きく分けて「402号室」「403号室」「504号室」「管理人室」「駐車場」の順にステージが進行するのですが、それぞれ試行錯誤しているともっと長いボリュームになりますし、「こう進むのね」と分かっている場合はサクサクと進めるようなバランスにしました。
もちろん、今作と同じようなビルド型脱出ADVである必要はなく、女の子を自分の言葉で口説くギャルゲーとか、犯人に自白させる取り調べゲーなど、多種多様なゲームアイデアが思いつきます。エンタメ性と親切なシステムを両立させるのがやや難しいですが、ぜひトライしてみてください。
終わりに
まとめると、AI-ADV制作の手順はこんな感じです。
①ゲームの骨格(脚本やクリア条件)を決める
②スキル・持ち物・NPCなどのゲーム要素と、登場人物の設定を作る
③同じチャット内でテストプレイしながら破綻を直していく
④指示文とYAML、重要場面のテキストに分けてゲーム内容を整理
⑤GPTsに移植し、公開前に別チャットで通しプレイする
公開後のバージョン管理については最新の注意が必要です。いったん公開したらGPTsの頻繁な「更新」は避け、別URLのバージョンとして管理するようにしましょう。そのためには、今の状態で公開してもプレイが破綻しないかしっかり通しプレイをすることが最重要です。
テストプレイでは、以下のようなポイントをチェックしましょう。
・クリア条件は明確か、クリア不能の状態に陥らないか
・プロンプトインジェクション(プレイヤーのズル行動)をどう処理するか決めたか
・変動しやすい設定はYAMLに逃がしたか
・公開前に別チャットで最初から最後まで通しプレイしたか
・年齢不詳キャラ、性的表現、過度な暴力表現が混ざっていないか
・画像URLと本文描写に矛盾がないか
・進行不能にならないか、なった場合の救済措置はあるか(ゲーム時間がまるまる無駄にならないような措置はあるか)
私もゲーム制作は初めてですので、このあたりは初心者としての所感でしかありませんが、AI-ADV制作を通じて得られたのは以上のような内容です。ゲーム制作のコツについてはたくさんの解説本が出ていると思うのでそちらに譲ります。最後に、チャッピーにポイントをまとめてもらいました。
AI-ADVがまがりなりにも作れてしまったことも驚きでしたが、GPT-5.5 ThinkingとGPT Images-2の連携は本当に強力です。特に、記事執筆においては実用レベルの挿絵が簡単に作れてしまうことに驚きました。まだ情報量の取捨選択や画風のくどさが制御できていませんので、お見苦しい「いかにもなAI挿絵」になっていると思いますが、FANBOX記事の挿絵専用のGPTsを作ればかなり安定しそうな手ごたえがあります。
今週は初めてのゲーム作りがあまりに面白く、ゲーム特集になってしまいましたが、GPT Images-2特集やクリスタ特集の続き、「奪妻契約」に続く新作作りなど、やりたいことがたくさんあるので、新年度も順次よいコンテンツをお届けしていければと思っています。
それでは今回はこのへんで。スタジオ真榊でした。
Attachments (48)

1yZWE9Y5NS7qOeVdSHpJyNox.jpeg

zhvT4BY7WQnVCRHbI6YZoshT.png

B4kH800p4n1L5RA2EJTum7SO.png

lzYzMyfy8wd7cyhzfTK0rgf5.jpeg

pZpTng3L6CEMYNHGh2poODGt.png

PFAdhZFwJTOXjd3zEUpv9HbS.png

mjygBQREKay80b6ZG65XFZBk.png

1ZpDb0TTHJkiuSeMLlbQ2gUm.png

rJtWYnn9icfiQIkHF7mpoBcX.png

VvWe6GSREIwOoxI0J5QooYRv.png

ynM7O3eSBKv2kr4MCFYMmUTb.png

bGlASbdeQ2hJWuw51xiCP6Mu.png

5gbQxeCzcQZD4qgYaF5jLtCZ.png

tiknDSzqc0yZwbYiDDfJA3r0.png

xHO1QKYUet7OPGME6pWwXKD8.png

trDqpTMSuV2QP6L0b01MpbO3.png

ZChCc8bahYBb8zzKvTyz4fJB.png

TMEPQ5nBvr9qtADUjoYWWMCp.png

2KmDWQYtEs57EYtfHJRDV5V7.png

zjNIqgkNv7t2AmDzO97lfKC4.png

yzI1TGeKXNVzoXrIU2917SYW.png

wOQhTx5TSddjvTU1JeYHxG8z.png

guvJMEtKvTtVZCmOdOsgwtRU.png

yGIgr3DhNIWdNpu8YhKH4zOA.png

GEZhBRfF9DgkcgVZvGS6JSJ6.png

tt9U4uMGarUr570F5W5RrLov.png

KnxsV1dHCBUuhSoHlNo9sE9h.png

ELytzhBlAyprKZrGUyIgGtFc.png
板橋デッドエンド指示文.txt
yaml.txt

4lnvreGqaT8ncVWT2PiwFX88.png

jVXIs0DfsaxKCdzVVV3S04P6.png

BqKYb1TRjbOQ9YtRQkBZpngY.png

3QY7JVDPzwccGHqUD1e7l2rU.png

ugbWDFfgmLjSNBvKcMlwb67T.png

OSOPMjlRkPEEqmBA5DBqWMUn.png

zwsUxHlomAVv0G7Fs6B2vrjG.png

Ji93EfoTEf0T3gw4WcGczpHs.png

K9wbL636hExWgNssmYNqTsRT.png

FYgOLP6jCURGmxlxc2kBZlid.png

PB03KYPxykpIhzsyoj1iYWlJ.png

9QUo9eeoCSFhtf5BOnr82mYg.png

QOUcwSRvudy6OdXzmrXs1ztf.png

UlnZd9ByEO2cLEGirZvS4dgI.jpeg
ver1.3.zip

QtwLnEBJ05lV0nE7sS3hZ2SR.png

8YDUZ7IbXPjqLaHhdKdjLBzf.png

hKuaM7lcIfagEz6BDOjFkZUn.png
