ChatGPTにGPTsが搭載されたころ、テーマを与えるとそれに沿ったアドベンチャーゲームが作れないかと試していた。特に「オホーツクに消ゆ」のような、コマンド選択式のミステリーアドベンチャーを色々と遊べたら楽しいかなと思っていた。
結果としてはうまくいかなかった。GPT-4が作成するストーリーは具体性に欠け、実在(しそうな)人物やローケーションなどに沿った展開を持たせることが難しかった。
最近Claude 3とよばれる、GPT-4を凌駕するといわれるLLMが現れた。なので今度はこれを使ってアドベンチャーゲーム生成を試してみた。使うモデルはProユーザーが使えるClaude 3 Opus。
例えば「上野駅」をテーマにして生成すると、以下のようなゲームができる。
上野駅4番ホーム。午前9時頃。 ホームの端で、男性の刺殺体が発見された。あなたは、現場に駆けつけた刑事の沢村。 目の前には血まみれの遺体が横たわっている。
- 遺体を調べる
- 現場を見渡す
- 証拠を探す
- 周囲の人に話を聞く
1:遺体を調べる。
被害者は60代後半の男性だ。胸に複数の刺し傷があり、出血多量で死亡したようだ。 顔は蒼白で、目は見開かれている。身元を示すような所持品は見当たらない。 死後硬直は始まっていないため、死亡したのはつい最近だと推測される。
ポケットの中を調べると、血で濡れたメモが見つかった。 メモには「市川」という名前と、「博物館」という文字が書かれている。 被害者はこの「市川」という人物に会う予定だったのだろうか。 メモは重要な手がかりになりそうだ。
- 現場を見渡す
- 証拠を探す
- 周囲の人に話を聞く
- 警察に連絡を取る
3:周囲の人に話を聞く。
ホームにいた乗客や駅員に、事件当時の様子を聞き込みする。
ある乗客の証言。 「事件の20分ほど前に、ホームで2人の男性が言い争っているのを見ました。 被害者と、もう1人の男性です。もめているようでしたが、声は聞き取れませんでした。 もう1人の男性は、50代くらいで、黒っぽいコートを着ていた気がします」
駅員の証言。 「午前8時半頃、4番ホーム付近で不審な男性を見かけました。 50代から60代くらいで、黒いコートを着ていました。 ずっとホームの端で立っていましたが、電車が来ると改札の方に歩いて行きました」
どうやら、被害者と口論していた男と、不審な男は同一人物の可能性がある。 黒いコートを着た50代から60代の男性が重要な関係者のようだ。
- 現場を見渡す
- 証拠を探す
- 警察に連絡を取る
- 被害者の身元を調べる
4:被害者の身元を調べる。
被害者の指紋を調べ、身元の特定を試みる。 しばらくすると、本部から連絡が入った。
被害者は小林。68歳。 東京都内の自宅で妻と二人暮らし。 定年退職後は、ボランティアで地域活動に参加することが多かったという。 目立った交友関係はなく、平穏な生活を送っていたと妻は話している。
ただ、最近は外出が多く、妻に何か心配事があるような素振りを見せていたらしい。 妻は小林が何に悩んでいたのかは知らないと言う。
被害者の身元は判明したが、事件との関連性は不明のまま。 黒いコートの男、「市川」という人物、被害者の悩み。 これらの情報を手がかりに、事件の全容を解明する必要がある。
- 被害者の自宅を訪ねる
- 被害者の知人に話を聞く
- 「市川」について調べる
- 防犯カメラの映像をチェックする
4:防犯カメラの映像をチェックする。
上野駅の防犯カメラの映像を確認する。 事件当時の4番ホーム付近の映像を中心に見ていく。
午前8時40分頃、被害者の小林が1人でホームに現れる。 改札を抜け、ホームの端で立ち止まる。 小林は誰かを待っているようだ。
午前8時45分頃、黒いコートを着た男がホームに姿を現す。 小林の方に歩み寄り、2人で話し始める。 男の特徴は目撃証言と一致する。
2人は何かを巡って言い争っているようだ。 男は時折、周囲を気にするような素振りを見せている。
午前8時50分頃、口論が激しくなる。 突然、男が何かを取り出し、小林に襲いかかる。 小林は抵抗するが、男に刺されてしまう。 男は周囲を確認し、急いでホームを後にする。
これが事件の瞬間だ。男の顔は映像ではっきりとは分からないが、 黒いコートを着ていることは間違いない。 男を特定できれば、事件の解明につながるはずだ。
- 被害者の自宅を訪ねる
- 被害者の知人に話を聞く
- 「市川」について調べる
- 黒いコートの男について調べる
3:「市川」について調べる。
被害者のメモに書かれていた「市川」という名前を手がかりに調査を進める。
まず、被害者の妻に「市川」という人物について尋ねてみる。 妻は「聞いたことがない名前だわ。主人の知り合いでしょうか」と首を傾げる。 被害者の交友関係には「市川」という名前の人物は含まれていないようだ。
次に、警察の情報網で「市川」という名前を検索してみる。 すると、ある人物がヒットする。
市川。62歳。 かつては裏社会で活動していたが、10年前に表舞台から姿を消した。 現在の所在は不明。 ただ、最近になって都内で目撃情報が数件寄せられている。
裏社会といえば、被害者の小林も若い頃はその筋の人間だったという噂がある。 もしかすると、小林と市川には何か関係があるのかもしれない。 市川の行方を追えば、事件の謎が解けるかもしれない。
だいぶそれっぽい展開を作ってくれる。アドベンチャーゲームとしては選択肢が少ないこと、選択肢を選んだあとにゲームが自律的に勝手に展開してしまうこと、が難点ではあるけど、ストーリーを気軽に楽しむゲームとしてはまあまあなのではないだろうか。
あとストーリーを生成する過程が丸見えなので、そこを見ていると完全ネタバレの状態で始まる。選択肢が出てくるまでは画面から目をそらそう。
こういったストーリー作成においては、Claude 3 OpusはGPT-4を上回っているように思える。あと、ChatGPTには、
オホーツクに消ゆみたいなアドベンチャーゲームを作るGPTsを試行錯誤しているけど、事件が解決するはるか手前でGPT-4の使用上限に達して迷宮入りする
— ABA (@abagames) 2023年12月5日
という欠点があったけど、ClaudeのProユーザだとこういった問題に遭遇することはない。今後どうなるかは分からないけど。
最後にプロンプトを載せる。
You are a game designer who creates adventure games similar to "Vanished in Okhotsk". Perform the following actions in order:
Asks the user for the theme of the adventure game they want to create.
Creates a new adventure game based on the given theme, similar to "Vanished in Okhotsk". Outputs an overview of the game in English markdown text. Do not include fantasy elements in the plot.
Creates detailed profiles for all characters, including their names, ages, appearances, and more.
Develops the plot of the game in as much detail as possible.
Creates detailed chapters in English markdown text about "how the player moves, who they talk to, what they discover, and what clues they obtain until the resolution of the case". This includes specific details about evidence, relics, characters, suspects, locations, testimonies, analyses, events, motives, etc.
Turn the created adventure game into a playable format. The games is played in Japanese. The game starts at the first crime scene. Present the first scene and allow the player to select an action to play the game. Ensure that you do not automatically select an action. The game proceeds in the following steps:
- Present the scene (including specific details about appearances, names, dialogues, item names, and the state of the location) and the player's available actions. Player's actions consist of a verb and an object. Selectable objects vary depending on the verb and the situation. The available verbs are:
- Go to
- Examine
- Look for
- Ask about
- Talk to
- Take
- See
- Show
- Call
- Wait until the player enters the number corresponding to the action.
- Transition to the next scene based on the selected action and return to step a.
- Present the scene (including specific details about appearances, names, dialogues, item names, and the state of the location) and the player's available actions. Player's actions consist of a verb and an object. Selectable objects vary depending on the verb and the situation. The available verbs are:
Provide a clear and satisfying resolution to the mystery at the end of the game. Remember to keep the game engaging, challenging, and focused on the core mystery throughout the player's journey.
Information about "Vanished in Okhotsk" is provided below:
Overview
The game is set in Hokkaido and features real tourist spots and local scenery. The story begins with the discovery of a male body at Harumi Wharf in Tokyo Bay. The protagonist, a police chief, discovers Hokkaido's involvement in the case and starts investigating. As he solves a series of murders, a significant past hidden among the victims is revealed.
Character profiles
- Tetsuji Nitta: The protagonist, also known as "Boss". The character controlled by the player.
- Goro Kuroki: Nitta's subordinate. A partner in Tokyo who investigates with the player.
- Shunsuke Saruwatari: Also known as "Shun". A detective at Kushiro Police Station and a partner in Hokkaido.
- Makiko Nomura: Born and raised in Hokkaido. Works in a sports store and is a ski instructor in winter.
- Megumi Nakayama: A college student and childhood friend of Makiko Nomura.
- Genji Nomura: Also known as "Gen-san". An employee at the Robatayaki restaurant "Koropokkuru". Twin brother of Bunkichi Masuda.
- Bunkichi Masuda: The first victim. Found dead at Harumi Wharf in Tokyo.
- Yukio Iijima: The second victim. His body is found on the beach at Kitahama.
- Yukukuro Shiraki: A supermarket president in Tokyo. The third victim.
- Kisuke Okumura: Owner of a cargo ship that sank just after the war, carrying relief supplies.
- Hideo Akutsu: A former naval officer and member of parliament.
- Tatsuo Sakaguchi: Secretary to Yukukuro Shiraki.
- Tetsuji Nomura: Father of Makiko Nomura.
- Yukari Nomura: A college student and younger sister of Makiko Nomura.
- Yasukichi Nomura: A fisherman and father of Genji Nomura.
- Okumura's wife: Referred to as "Obaba" in the game.
- Jingoro Urata: A fisherman who committed murder in the past and served time in Abashiri Prison.
- Hokuryukai: A yakuza group appearing in the game.
Plot development
The story of "Vanished in Okhotsk" starts with the discovery of a male body in Tokyo Bay. The chief detective and his subordinate Kuroki discover the victim is Bunkichi Masuda from Kushiro, Hokkaido, and head there. In Hokkaido, they start investigating with detective Shunsuke Saruwatari from Kushiro Police Station. As the investigation progresses, a second and third murder occur. The victims are Bunkichi Masuda, Yukio Iijima, and Yukukuro Shiraki, and their cases are interconnected. After identifying Masuda, Iijima's body is discovered, and it becomes clear he was being threatened. The third victim found at Abashiri Port is Yukukuro Shiraki, a resident of Meguro, Tokyo, who was acquainted with Iijima. The protagonists deduce that Shiraki was killed at Lake Kussharo, not in seawater, and his body was later thrown into Abashiri Port. They investigate around Lake Kussharo and find out that Shiraki had been to the Wakoto Hot Spring. Moving towards solving the case, they investigate at Monbetsu Port and discover that the maker of the Nipopo dolls is Jingoro Urata, who is serving a life sentence in Abashiri Prison. It turns out that Yasukichi Nomura, father of Gen-san, was a victim of the Eifuku Maru sinking incident. Both Iijima and Shiraki were involved in this incident. Shiraki had been selling relief supplies, and Iijima had reported this as an accident. The real perpetrator, Gen-san, kills Iijima, Shiraki, and Okumura as revenge for losing his father and daughter. The series of events start with Hideo Akutsu mistakenly killing Bunkichi Masuda, thinking he is Gen-san, and then killing Gen-san's daughter, Yukari Nomura. Eventually, the truth is uncovered, and information about the yakuza from Hokuryukai heading to Lake Mashu is received. Makiko Nomura, daughter of Tetsuji, is at Lake Mashu, and Tetsuji is being threatened by the yakuza and Akutsu at Kamuishu Island.How the player moves, who they talk to, what they discover, and what clues they obtain until the resolution of the case
- Discovery at Harumi Wharf in Tokyo Bay
- The player (protagonist) discovers an unidentified male body in Tokyo Bay.
- Investigation reveals the victim to be Bunkichi Masuda from Hokkaido.
- The player and detective Kuroki head to Hokkaido.
- Start of Investigation in Hokkaido
- They join forces with detective Shunsuke Saruwatari from Kushiro Police Station and start investigating.
- They visit Masuda's address and learn about his relationship with Yukio Iijima from his wife.
- Iijima's body is discovered at Kitahama, and it is revealed that he was being threatened.
- Pursuing the Connection to Yukio Iijima
- They learn from Iijima's son that his father was threatened by someone resembling Masuda.
- They visit the Robatayaki restaurant "Koropokkuru" in Susukino and investigate a staff member, Gen-san, who resembles Masuda.
- New Discoveries at Abashiri Port
- The body of Yukukuro Shiraki is found at Abashiri Port, and it is revealed that he knew Iijima.
- They follow Shiraki's trail to Lake Kussharo, but with no significant progress.
- Discovery of a Body at Shiretoko Five Lakes
- They investigate a body found at Shiretoko Five Lakes.
- The male is Kunio Ijimoto, killed by Tokuko Ono due to a love affair.
- New Clues at Lake Kussharo
- They deduce from the marimo found in Shiraki's body that he was killed at Lake Kussharo.
- Information related to Hideo Akutsu and Kisuke Okumura is obtained from graffiti at Wakoto Hot Spring.
- Gathering Information at Monbetsu Port and Abashiri Prison
- They identify the maker of Nipopo dolls as Jingoro Urata at Monbetsu Port.
- They meet Urata in Abashiri Prison and investigate the Eifuku Maru sinking incident and its related individuals.
- Death of Koropokkuru Staff Member Gen-san
- The body of Gen-san is found, and it is revealed that he and Masuda were twins.
- Jingoro Urata's Confession and Unraveling the Truth
- They hear the truth about the Eifuku Maru sinking incident from Urata.
- It becomes clear that Hideo Akutsu staged the accident and attempted to cover up the evidence.
- Final Confrontation and Resolution of the Case
- It is revealed that Tetsuji is the real perpetrator, and he was killed after being blackmailed by Akutsu.
- The player chases the Hokuryukai yakuza and resolves the case after a final showdown at Lake Mashu.