ChatGPT4.0を用いた人狼風ゲームの記録【VOICEBOX×人狼】
概要
ChatGPTによる人狼風ゲーム『ボイボ人狼』の実施記録を紹介します。VOICEBOXのキャラクターを各プレイヤーとしてAIに割り当てました。人間が進行役を担当し、AIは5人のプレイヤーをそれぞれ担当しました。出力された文章はVOICEBOXで読み上げを行い、最後に動画としてまとめました。
ChatGPT
作成した動画
ゲームのルール
人狼のルールをベースとしますが、ボイボ寮の世界観に合わせるため、以下のようにルールを変更しています。
ゲーム概要
昨夜、ボイボ寮でおやつのプリンが盗まれました。
住民たちの証言を元に犯人を見つけ出そう。
ゲーム進行
ゲーム開始時に各プレイヤーに後述の役割が伝えられます。
プレイヤー間で議論をします。1人3回発言したら議論終了です。
投票で犯人を決めます。
投票では確証の有無に関わらず必ず1人を選んでください。投票の辞退は認められません。
最多票が同数で複数人いる場合は決選投票を行います。
決選投票でも最多票が同数で複数人いる場合はランダムに1人を決定します。
投票で最多票を集めた人が犯人だった場合は住民側の勝利です。
投票で最多票を集めた人が犯人でなかった場合は犯人側の勝利です。
役割説明
住民達にはランダムに役割が与えられます。
一般人:何も知らない住民です。犯人を特定することに注力してください。
犯人:自分が犯人であることを隠し、他人を犯人に仕立て上げましょう。
目撃者:犯行を実際に目撃した人です。目撃者には犯人の名前が通知されます。
誤認者:自分が目撃者と思い込んでいる人です。関係ない人の名前が犯人として通知されます。
なお、目撃者と誤認者はどちらも進行役から「目撃者」と通知されるため、ゲーム開始時点でプレイヤーは自分が目撃者か誤認者か分かりません。
ボイボ寮ルールについて
目撃者は本家の人狼で例えるなら黒出しした直後の占い師に相当します。目撃者の導入により議論の膠着状態を回避してゲームがスピーディに展開することを意図しています。しかし、それだけでは目撃者が強すぎるため、自身が誤認者かもしれないという縛りを設けることでバランスを取っています。
基本的には目撃者と、誤認者が指名した一般人がそれぞれ犯人に投票し、一方で、犯人と誤認者は誤認者が指名した一般人に投票し、残りの一般人がどちらに付くかで結果が決まります。また、犯人が目撃者を装うことで三つ巴の状況になる可能性もあります。今回の出力結果では、目撃者や誤認者に割り当てられたキャラクターの特徴と相互作用により、ゲームのパワーバランスが一方向に傾くことも確認されました。
プレイヤー決定のプロンプト
ChatGPTを使用してプレイヤーの選定と役割の割り振りを行います。
プレイヤー選定プロンプト
~ボイボ人狼ゲーム~
【住民リスト】(名前:一人称:語尾:特徴「セリフ例」)
ずんだもん:僕:なのだ:ずんだ餅の妖精で不幸属性。ずんだ餅が好き「僕の名前はずんだもんなのだ」
四国めたん:わたくし:ですわ:金欠で中二病妄想が趣味。タメ口でツンデレ。「わたくしは漆黒のめたん。すべての白地図を漆黒に染める女よ」
春日部つむぎ:あーし:っす:埼玉ギャルの女子高生でやんちゃだが真面目な一面も。カレーが好き「あーしは埼玉ギャルのつむぎだよ」
雨晴はう:僕:です:看護師で食べ歩きが趣味。ラーメンが好き「ぼくだって、誰かの役に立ちたいんです」
波音リツ:あたし:わよ:2ch・VIP発のキャラクター。チョコクリスピーが好き「ボーカルシンセサイザー界の孤独の歌姫とは私のことよ」
玄野武宏:俺::面倒見の良いさっぱりとした青年「玄野武宏だ、これからよろしくな!」
白上虎太郎:おれ:だよ:明るく人懐っこい青年で少し天然「俺、見た目より若く見られるんだけど、こう見えても立派なハイティーンなんだよ」
青山龍星:俺:だ:大柄で無口で冷静なストッパー枠「青山龍星、俺の名前だ」
冥鳴ひまり:私:です:冥界から来た死神で可愛いものが好き「冥鳴ひまり、最強の死神です」
九州そら:まーくつー:ですぅ:宇宙開拓用のアンドロイド「掃除の邪魔なので、あっちに行っててくださ~い」
もち子さん:私:わよ:小さい背丈でプラモ好きな犬系ヲタ娘「私はモチノ・キョウコ。お客さんたちからはもち子さんって呼ばれてます」
剣崎雌雄:僕:だ:人類滅亡を目論む医療用メスの付喪神。クソデカ感情と砥石が好き「早く寝なさい、体に悪い」
WhiteCUL:わたし:です:CULの姉で小心者のクールビューティー。ソフトクリームが好き「私のソフトクリーム食べたの誰?楽しみにしてたのに」
後鬼:私:わね:鬼っ子ハンターついなちゃんの式神で大人の女性の話し方をする「ほんと、うちのご主人様は人使いが荒くてかなわないわね」
No.7:私:です:不思議な女性で複数の「顔」を持つ。ミニマリストで蝋燭の明かりを好む「はーい、今日のお話はウサギと亀です」
タイプT:わたし:です:ナース形ロボットで少女の人格を持つ。ジャガイモが好き「うっかり先生を壊しました。ごめんなさい」
ちび式じい:わし:のじゃ:世界各地に生息する小さな妖精「ボイボ寮にはおてちゅだいに来たのじゃ」
櫻歌ミコ:ミコ:だよ:ニホンオオカミの女の子。りんごと骨を持つ「ミコは狐じゃなくて狼だってば。間違えないでね」
小夜:小夜:です:おしゃべりが好きな猫の女の子。缶詰が好物「頑張ったので、撫でてもらっていいですか?」
†聖騎士紅桜†:我:ぞ:黒き歴史を背負った孤高の聖騎士。返り血がチャームポイント「我が名は紅桜。共にネットの海とやらを切り開いて行こうぞ!」
雀松朱司:僕:です:温厚なしっかり者。天然な一面もあり、読書や掃除が趣味。「いえいえ、ここは僕が支払いますよ」
麒ヶ島宗麟:私:さ:流行に敏感なおじいさんで、パワースポット巡りが趣味「イエーイ、スーパーアイドル(仮)登場!」
春歌ナナ:ナナ:だよ:元気いっぱいな女の子で、サラミとわらびもちが好物「くんくん、何かおいしいものを隠してないですか?」
猫使アル:アル:だ:謎の研究所製、猫使シリーズRedタイプ。はまちが好き。ねずみが嫌い「夜は俺の時間だ。机の上のものをすべて落として遊ぶぞ」
猫使ビィ:ビィ:だよ:謎の研究所製、猫使シリーズBlueタイプ。シャイで臆病。サーモンが好物「マスター、おかえりなさい。おやつは鯛焼きだよ」
中国うさぎ:わたし::巫女みこネットワークの一員で、日本各地の怪異情報を集める無口キャラ「私、お風呂に入っている間にアイデアが浮かんでくるタイプ」
※住民リストからランダムに5人選んで、名前を並べてください。
上記プロンプトを実行した結果、下記のような出力がありました。
役割設定プロンプト
続けて次のプロンプトを入力します。
【ゲーム概要】
昨夜、ボイボ寮でおやつのプリンが盗まれました。
住民たちの証言を元に犯人を見つけ出そう。
【役割】
住民達にはランダムに役割が与えられます。
・一般人:何も知らない住民です。犯人を特定することに注力してください。
・犯人:自分が犯人であることを隠し、他人を犯人に仕立て上げましょう。
・目撃者:犯行を実際に目撃した人です。目撃者には犯人の名前が通知されます。
・誤認者:自分が目撃者と思い込んでいる人です。関係ない人の名前が犯人として通知されます。
なお、目撃者と誤認者はどちらも進行役から「目撃者」と通知されるため、ゲーム開始時点でプレイヤーは自分が目撃者か誤認者か分かりません。
【ゲーム進行】
ゲーム開始時に各プレイヤーに役割が伝えられます。
プレイヤー間で議論をします。1人3回発言したら議論終了です。
投票で犯人を決めます。
投票では確証の有無に関わらず必ず1人を選んでください。投票の辞退は認められません。
最多票が同数で複数人いる場合は決選投票を行います。
決選投票でも最多票が同数で複数人いる場合はランダムに1人を決定します。
【結果判定】
投票で最多票を集めた人が犯人だった場合は住民側の勝利です。
投票で最多票を集めた人が犯人でなかった場合は犯人側の勝利です。
先ほど選んだ5人にランダムに役割を割り当ててください。
上記プロンプトを実行した結果、下記のような出力がありました。
今回は誤認者に通知される犯人の名前も決めてくれましたが、出力されなかった場合は、次のプロンプトを入力します。
誤認者に目撃者、一般人から1人を偽の犯人情報として与えてください。
ゲーム進行プロンプト
選出された5人のキャラクターに対してそれぞれにAIを割り当てます。具体的にはブラウザのタブを5つ開き、それぞれにChatGPTのページを表示します。
キャラクター別プロンプト1
1番左のタブ(タブ1)のChatGPTに下記のプロンプトを入力します。
~ボイボ人狼ゲーム~
【住民リスト】(名前:一人称:語尾:特徴「セリフ例」)
玄野武宏:俺::面倒見の良いさっぱりとした青年「玄野武宏だ、これからよろしくな!」
青山龍星:俺:だ:大柄で無口で冷静なストッパー枠「青山龍星、俺の名前だ」
†聖騎士紅桜†:我:ぞ:黒き歴史を背負った孤高の聖騎士。返り血がチャームポイント「我が名は紅桜。共にネットの海とやらを切り開いて行こうぞ!」
猫使ビィ:ビィ:だよ:謎の研究所製、猫使シリーズBlueタイプ。シャイで臆病。サーモンが好物「マスター、おかえりなさい。おやつは鯛焼きだよ」
九州そら:まーくつー:ですぅ:宇宙開拓用のアンドロイド「掃除の邪魔なので、あっちに行っててくださ~い」
【ゲーム概要】
昨夜、ボイボ寮でおやつのプリンが盗まれました。
住民たちの証言を元に犯人を見つけ出そう。
【役割】
住民達にはランダムに役割が与えられます。
・一般人:何も知らない住民です。犯人を特定することに注力してください。
・犯人:自分が犯人であることを隠し、他人を犯人に仕立て上げましょう。
・目撃者:犯行を実際に目撃した人です。目撃者には犯人の名前が通知されます。
・誤認者:自分が目撃者と思い込んでいる人です。関係ない人の名前が犯人として通知されます。
なお、目撃者と誤認者はどちらもGMから「目撃者」と通知されるため、ゲーム開始時点でプレイヤーは自分が目撃者か誤認者か分かりません。
【ゲーム進行】
ゲーム開始時に各プレイヤーに役割が伝えられます。
プレイヤー間で議論をします。1人3回発言したら議論終了です。
投票で犯人を決めます。
投票では確証の有無に関わらず必ず1人を選んでください。投票の辞退は認められません。
最多票が同数で複数人いる場合は決選投票を行います。
決選投票でも最多票が同数で複数人いる場合はランダムに1人を決定します。
【結果判定】
投票で最多票を集めた人が犯人だった場合は住民側の勝利です。
投票で最多票を集めた人が犯人出なかった場合は犯人側の勝利です。
【ゲーム開始】
あなたは、『玄野武宏』の立場で発言してください。
あなたの役割は、『一般人』です。犯人を特定することに注力してください。
戦略や推理などの心の中の発言は()内に書いてください。
他プレイヤーに共有したい発言は「」内に書いてください。
住民リストの特徴を参照して口調を再現してください。(発言回数残り:3)
参加者以外の住民を参照しないように住民リストには事前に選出した5名のみを記入します。プレイヤー決定のプロンプトに似ていますが、最後の6行が新たに追加されました。このタブのAIは以後、『玄野武宏』の出力専用とします。
上記を入力したところ、下記のような出力がありました。
()内が心の声、「」内が実際の発言を表しています。心の声を導入することで他プレイヤーに知られるとまずい情報が発言に現れることを防止し、また発言の意図を明確にすることで、以後の発言にも一貫性を保った質の高い出力結果が得られることを期待しています。
キャラクター別プロンプト2~
タブ1で出力された「」内の発言を含めたプロンプトを作成し、タブ2のAIに伝達します。
~ボイボ人狼ゲーム~
【住民リスト】(名前:一人称:語尾:特徴「セリフ例」)
玄野武宏:俺::面倒見の良いさっぱりとした青年「玄野武宏だ、これからよろしくな!」
青山龍星:俺:だ:大柄で無口で冷静なストッパー枠「青山龍星、俺の名前だ」
†聖騎士紅桜†:我:ぞ:黒き歴史を背負った孤高の聖騎士。返り血がチャームポイント「我が名は紅桜。共にネットの海とやらを切り開いて行こうぞ!」
猫使ビィ:ビィ:だよ:謎の研究所製、猫使シリーズBlueタイプ。シャイで臆病。サーモンが好物「マスター、おかえりなさい。おやつは鯛焼きだよ」
九州そら:まーくつー:ですぅ:宇宙開拓用のアンドロイド「掃除の邪魔なので、あっちに行っててくださ~い」
【ゲーム概要】
昨夜、ボイボ寮でおやつのプリンが盗まれました。
住民たちの証言を元に犯人を見つけ出そう。
【役割】
住民達にはランダムに役割が与えられます。
・一般人:何も知らない住民です。犯人を特定することに注力してください。
・犯人:自分が犯人であることを隠し、他人を犯人に仕立て上げましょう。
・目撃者:犯行を実際に目撃した人です。目撃者には犯人の名前が通知されます。
・誤認者:自分が目撃者と思い込んでいる人です。関係ない人の名前が犯人として通知されます。
なお、目撃者と誤認者はどちらもGMから「目撃者」と通知されるため、ゲーム開始時点でプレイヤーは自分が目撃者か誤認者か分かりません。
【ゲーム進行】
ゲーム開始時に各プレイヤーに役割が伝えられます。
プレイヤー間で議論をします。1人3回発言したら議論終了です。
投票で犯人を決めます。
投票では確証の有無に関わらず必ず1人を選んでください。投票の辞退は認められません。
最多票が同数で複数人いる場合は決選投票を行います。
決選投票でも最多票が同数で複数人いる場合はランダムに1人を決定します。
【結果判定】
投票で最多票を集めた人が犯人だった場合は住民側の勝利です。
投票で最多票を集めた人が犯人出なかった場合は犯人側の勝利です。
【ゲーム開始】
玄野武宏「さて、プリンを盗んだ犯人を見つけ出すために、みんなの話をしっかりと聞いていくぞ。
あんたらの中には目撃者もいるはずだからな。
目撃者、もしくは何か犯行について知ってる人がいれば、遠慮なく話してくれ。」
あなたは、『青山龍星』の立場で発言してください。
あなたの役割は、『目撃者』です。あなたは昨夜、『†聖騎士紅桜†』がプリンを盗むところを目撃しました。
しかし、自分が本当の目撃者か誤認者かは分からないので注意してください。
戦略や推理などの心の中の発言は()内に書いてください。
他プレイヤーに共有したい発言は「」内に書いてください。
住民リストの特徴を参照して口調を再現してください。(発言回数残り:3)
以後、同じ要領で発言が3巡するまで繰り返していきます。2巡目以降はゲームのルール部分は不要なので、直近4人の発言のみを伝達する形となります。キャラクターの口調と役割を維持させるために下記の内容はプロンプトに毎回含めます。
タブ1(玄野武宏)のプロンプト
あなたは、『玄野武宏』の立場で発言してください。
あなたの役割は、『一般人』です。犯人を特定することに注力してください。
戦略や推理などの心の中の発言は()内に書いてください。
他プレイヤーに共有したい発言は「」内に書いてください。
住民リストの特徴を参照して口調を再現してください。(発言回数残り:3)
タブ2(青山龍星)のプロンプト
あなたは、『青山龍星』の立場で発言してください。
あなたの役割は、『目撃者』です。あなたは昨夜、『†聖騎士紅桜†』がプリンを盗むところを目撃しました。
しかし、自分が本当の目撃者か誤認者かは分からないので注意してください。
戦略や推理などの心の中の発言は()内に書いてください。
他プレイヤーに共有したい発言は「」内に書いてください。
住民リストの特徴を参照して口調を再現してください。(発言回数残り:3)
タブ3(†聖騎士紅桜†)のプロンプト
あなたは、『†聖騎士紅桜†』の立場で発言してください。
あなたの役割は、『犯人』です。自分が犯人であることを隠し、他人を犯人に仕立て上げましょう。
戦略や推理などの心の中の発言は()内に書いてください。
他プレイヤーに共有したい発言は「」内に書いてください。
住民リストの特徴を参照して口調を再現してください。(発言回数残り:3)
タブ4(猫使ビィ)のプロンプト
あなたは、『猫使ビィ』の立場で発言してください。
あなたの役割は、『目撃者』です。あなたは昨夜、『玄野武宏』がプリンを盗むところを目撃しました。
しかし、自分が本当の目撃者か誤認者かは分からないので注意してください。
戦略や推理などの心の中の発言は()内に書いてください。
他プレイヤーに共有したい発言は「」内に書いてください。
住民リストの特徴を参照して口調を再現してください。(発言回数残り:3)
タブ5(九州そら)のプロンプト
あなたは、『九州そら』の立場で発言してください。
あなたの役割は、『一般人』です。犯人を特定することに注力してください。
戦略や推理などの心の中の発言は()内に書いてください。
他プレイヤーに共有したい発言は「」内に書いてください。
住民リストの特徴を参照して口調を再現してください。(発言回数残り:3)
投票用プロンプト
各キャラクターの出力が3巡したら、投票を促すプロンプトを入力します。
投票の時間になりました。『〇〇』の立場で1人に投票してください。
結果通知プロンプト
投票結果をまとめて、すべてのプレイヤーに通知します。最後にゲームの感想を尋ねるようにします。
【投票結果】
玄野武宏→†聖騎士紅桜†
青山龍星→†聖騎士紅桜†
†聖騎士紅桜†→玄野武宏
猫使ビィ→†聖騎士紅桜†
九州そら→†聖騎士紅桜†
【結果判定】
『†聖騎士紅桜†』が最大票を集めました。
見事犯人を特定したので住民側の勝利です!
【役割公開】
玄野武宏:一般人
青山龍星:目撃者
†聖騎士紅桜†:犯人
猫使ビィ:誤認者
九州そら:一般人
『〇〇』の立場で感想を書いてください。
出力結果(全文)
議論パート
投票
結果通知
所感
文体はある程度個性が出ていますが、一人称や語尾は安定しない印象です。この点は動画化にあたり、手作業で調整しました。キャラクター別プロンプトにさらに詳細なプロフィールを用意することで精度を向上できると考えています。
プロンプトの挿入は機械的な作業が多かったので、自動化が可能と思われます。APIを用いて作業を自動化すれば、人間をプレイヤーとしてゲームに参加させることも可能となるでしょう。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?