【Show HN】AI容疑者を音声で尋問せよ!没入感MAXの音声対話型ミステリーゲームを作りました
Show HN: Voice driven murder mystery, Interview AI suspects with your voice
Show HN: Voice driven murder mystery, Interview AI suspects with your voice
Hacker Newsの皆さん、こんにちは!今回、以前から温めていた最高に面白いプロジェクトを形にしたので紹介させてください。実は2~3年前に一度着手したのですが、当時はAI技術、特に音声AIエージェントがまだ黎明期で、納得のいく仕上がりではありませんでした。最近になって改めて最新技術で挑戦してみたところ、皆さんも興味を持ってくれそうな面白いものができたのでシェアします。今回の対話エンジンは、OpenAIの「gpt-realtime-2.1」をWebRTC経由で使用したリアルタイム音声会話です。このモデルはかなりコストがかかるため、Clerkによるユーザー認証制にし、さらに予期せぬ高額請求を防ぐために30分のプレイ制限を設けています。各容疑者には「告発」用のツールが実装されており、あなたが誰を指名し、どんな証拠を突きつけたかを記録します。その情報を別の「gpt-4o-mini」(判定用)が分析し、事件解決に必要な証拠が正しく提示されたかを厳密に判定します。単なる曖昧な疑いやカマかけでは通用しません。技術スタックはNext.js、MongoDB、Clerkを採用しました。容疑者たちがあなたの本気の尋問にどう答えるのか、ぜひ試してみてください!
「一人の毒殺された家長、閉じ込められた真実」というキャッチコピーですら、すごくAIっぽくて楽しめないんじゃないかって懸念はある。でも、アイデアは最高だからとりあえず試してみるよ。人間が書いたシナリオと組み合わせたら、すごくうまく機能しそうな気がする。
いいね!LLMが登場するずっと前から、こういうものをずっと作りたかったんだ。ChatGPTが初期の頃、真っ先に試したことの一つがこれだった。息子と一緒にミステリーを作って、お互いにChatGPTのチャット欄に貼り付けて、他のキャラクターになりきらせたりして遊んでたんだ。ただ、僕の方はあまりうまくいかなくて、息子は一度も謎を解けなかったよ。ChatGPTが明後日の方向に誘導しちゃったからね。息子が作った方は、僕がいきなり「犯人は誰?」って聞いたら、あっさり答えを教えちゃったんだ。あんなに一生懸命作ってたのに申し訳ない気持ちになったよ。答えを教えないように指示しておくよう言っておくべきだった。とにかく、誰かがこれを作ってくれると思ってたよ!プレイするのが楽しみだ。
リリースおめでとう!まだ試せてないけど、見た感じ最高そうだし絶対にプレイしてみるよ。また後で感想を書き込みに来るね。僕も6ヶ月前から似たようなコンセプトで開発してるんだ(https://game.selna.ai 、今はポルトガル語のみでごめん!)。本当に大変な道のりだよ。VR関連の仕事を8年くらいしてるけど、「ソーシャルVR」を作るのは簡単そうに見えて、実際には想像以上に複雑だった。通常のVRでオブジェクトのスケールが少し違うだけで没入感が壊れるのと同じで、「ソーシャルVR」では一つでも矛盾があると体験が台無しになっちゃう。でも、全てがうまく噛み合った時の魔法のような体験は格別だ。最初は「誰がやったか(whodunnit)」系から始めたけど、今はリニア・非リニア両方のストーリーテリングに拡大した。現在の生成パイプラインは40以上のステップがあって、一つの出力を次々につなげていき、最終的にNPCがリアルタイムAPIを使って喋るためのプロンプトになる。プラットフォーム全体で完全な物語(登場人物の性格や画像を含む)を20分程度で生成できるし、その過程で本一冊分くらいのテキストができあがるんだ。ただやりたくてやってるだけなんだけど、完璧に仕上げることに少し執着しちゃってるな。完成した後にどうするかはまだ決めてないけどね。
この夏、いくつかマーダーミステリー系のゲームを遊んだけど、その中にこんな機能があったよ。容疑者に電話をかけて、制限時間内(3分とか)に自由に質問できるやつ。ただ問題は、モデルが平気でハルシネーション(嘘)をついて、関係ないはずの容疑者同士を血縁関係があるように説明しちゃったりしたことだな。
すごく面白いアイデアだし、全体的にも「とりあえずコード書きました」的なゲームよりよっぽど完成度が高い。残念ながら制限時間を過ぎてしまったら、ゲームが何も受け付けなくなって、犯人が誰か分からないままになってしまった :( 答えを知る手段があればよかったのに。前から思ってたんだけど、『Civilization』みたいなゲームで、敵の指導者とあらかじめ決められた選択肢以外で自由にやり取りできたらいいよね。相手の性格や目的を知った上で、今のゲームよりもずっと没入感があって駆け引きを楽しめる外交ができるはず。このジャンルはここ数十年間、あまり進化していない気がするし。
AIと対話している様子がわかるデモ動画か音声を追加してくれないかな。どんな感じか見たいけど、サインアップするのはちょっと面倒で。
みんな、ありがとう!!!応援してくれて本当に感謝してる。寝る前にリリースしたんだけど、よりによって深夜3時頃に猛烈な嵐が来て、起きたらOpenAIの残高が尽きてたんだ(笑)。それで資金不足で動かなくなっちゃったみたい。東海岸の朝だけど、娘が落ち着いたらみんなのコメントに返信していくよ!
ローカル環境でLLMを動かしていて、STT(音声認識)とTTS(音声合成)も導入済みだよ。大したことは期待していないけど、自分のLLMでこのゲームを遊ばせたら面白そうだね。
予算の500ドルを少しでも長持ちさせるために、プレイ時間を15分に短縮して、BYOK(自分のキーを使う)オプションを追加したよ。全員を満足させる解決策じゃないのは分かってるけど、キーはブラウザのlocalStorageにのみ保存されていて、僕のデータベースには一切保存されないから安心してほしい。このサービス専用の新しいキーを発行して、後で無効化できるようにしておくのがおすすめだ。そのキーはx-openai-keyヘッダーとしてAPIに送信され、WebRTC機能を利用するための一時的なクライアントシークレットが生成される仕組みだよ。
このアイデアすごく好き。実装方法も読んでいて興味深いよ。BYOKはユーザーが自分のアカウントを使いたいだろうから必須だね。本当に斬新でうまくまとめられている。頑張って!ありがとう。