All Opus 5.5 videos › Games

Browser-based mystery game about a room of a non-buyer

by 豊藏 翔太@ThinkMove Inc. (@shotatykr) · Sep 24, 2026

Prompt

The author shared the full prompt.

『買わなかった人の部屋』という、ブラウザで遊べる短編ミステリーを作ってください。
マーケターが、商品を買わなかった人の生活の痕跡を調べて、その理由を考えるゲームです。5〜10分で遊び切れる、一つの部屋と一つの事件に絞ります。企画だけで終わらせず、最初の画面から結末まで実際に遊べるところまで作ってください。
遊んでいる途中に、「あ、最初に考えていた理由と違うかもしれない」と気づく。そのあとで部屋を見直すと、さっきは気にも留めなかった物の意味がわかる。そういう体験にしたいです。
マーケティングの経験がある人ほど考えたくなる内容にしつつ、専門用語を知らない人でも、部屋を調べれば推理できるようにしてください。
舞台にする商品や企業、人物、物語、画面のデザインは、このゲームのために作ってください。技術やライブラリは任せます。今回の遊びを作るのに合うものを選んでください。
ある人が、何度も商品を調べ、カートに入れ、最後に買うのをやめました。
アクセス解析には「カート離脱」とだけ残っています。どの画面まで進んだかはわかっても、その人に何が起きたのかはわかりません。
プレイヤーが入るのは、その日の部屋を再現した不思議な調査室です。本人はいませんが、暮らしていた様子は残っています。
机には開いたままのブラウザ。冷蔵庫にはメモ。途中まで書いたメッセージや、まだ開けていない荷物もあります。調べていくうちに、何を買おうとしていたかだけでなく、それを使って何をしたかったのかが見えてきます。
最後に、売り手が変えることを一つだけ選びます。その結果は、翌日の生活が少し動く場面で見せてください。
購入ボタンが押されたかどうかに加えて、その人が困っていたことは解消されたのか、やりたかったことはできたのかまで伝わる結末が理想です。
まずは、事件の答えから決めてください。
人物が実現したかったこと、商品を探し始めたきっかけ、購入をやめた理由、その日に起きた出来事を整理します。そこから逆算して、部屋に残る証拠を配置してください。
ここでは、ウミガメのスープのように、前提を捉え直すと話がつながる面白さを使いたいです。
ただ、最後に知らない設定を出されて「実はこうでした」と言われても、推理した感じがしません。答えに必要な材料は、結論を選ぶ前に見つけられるようにしてください。珍しい事情や偶然だけで説明するのも避けたいです。
最初に思いつく理由にも、そう考えるだけの根拠を用意します。でも、それだけでは説明できない物や行動が残っている。少なくとも三つの別々の手がかりを合わせると、より筋の通る理由にたどり着ける構成にしてください。
一枚のメモに答えが書いてあって、それを見つけたら終わり、という作りにはしません。反対に、作者の頭の中にしかない連想を当てるゲームにもしたくないです。
真相がわかったあと、部屋にある二つ以上の物について「だから、あれがあそこにあったのか」と思えるようにしてください。
遊び始めたら、短い依頼を読んですぐに部屋に入ります。開始から30秒以内には、自分で何かを調べられるようにしてください。
最初から操作説明を全部読ませる必要はありません。物を調べる、証拠を見返す、仮説を作る。それぞれが必要になったところで、短く伝えます。
調べられる場所は10〜14か所くらいを目安にします。全部が事件の証拠だと、部屋が問題集のようになるので、その人の癖や生活、ちょっとしたおかしさがわかる物も混ぜてください。
一つ調べると、別の場所が気になるようにつなげてほしいです。画面を端から順番にクリックするだけで済む探索にはしません。
調べた物にも反応をつけてください。引き出しを開ける、紙を裏返す、画面を点ける、物を少し動かして下を見る。毎回文章が出るだけより、実際にそこを調べている感覚がほしいです。
集めた証拠は、ノートでいつでも見返せるようにします。
ノートでは、見つけた事実と、そこから考えたことを分けてください。「比較サイトが開いていた」は事実ですが、「安い物を探していた」は解釈です。主人公が勝手に相手の気持ちを言い当てて、プレイヤーの考える部分を奪わないようにしてください。
証拠を結びつける、出来事を時間順に並べる、仮説に根拠を添えるなど、事件に合った操作を選んでください。重要なところでは、証拠を集めただけで自動的に答えが出るのではなく、それをどう読むかをプレイヤーが選びます。
文章の自由入力は必須にしません。カードを全部組み合わせて当たりを探すだけにもならないようにしてください。
仮説は、あとから気軽に直せるようにします。最初に外しても、矛盾に気づいて考え直せれば進める作りです。
ヒントは段階を分けて用意してください。最初は答えを教えず、「あの物をもう一度見てみよう」「この二つの時間は合っているだろうか」と、次に確かめることを示します。
最後に選ぶ施策は、3〜4個に絞ります。
値段を変える、説明を変える、購入の手間を減らすなど、それぞれが違う仮説に対応する内容にしてください。事件に合うなら、購入を勧めない選択もあって構いません。
明らかに雑な選択肢と、いかにも正しそうな選択肢を並べるのは避けてください。どれも一度は考える理由があり、集めた証拠を使うと違いが見えるようにします。
結末では、その施策で何が変わり、何が残ったかを描いてください。購入にはつながったけれど、本人の目的は果たせなかった、という結果もありえます。
分岐ごとに大きな別シーンを作る必要はありません。同じ部屋でも、荷物が開いている、メモが書き換わっている、ある物が使われている。その違いで、翌日に起きたことを伝えられます。
ゲーム内の結果は、設定した人物と出来事に沿って決めてください。それを、現実の顧客にも必ず通用するマーケティングの法則として説明する必要はありません。
結末を見たら、証拠と自分の判断を振り返れるようにしてください。別の選択を確かめるために、毎回冒頭から同じ操作を繰り返させないようにします。
最後には、新しい部屋の依頼を少しだけ見せてください。次はどんな人なのか、気になるところで終わりたいです。
部屋は、眺めているだけでも少し調べたくなる画面にしてください。
斜め上から見た部屋でも、奥行きのある固定画面でも構いません。ピクセルアートに限定せず、この物語に合う描き方を選んでください。
夕方の窓の光、使い込んだ机、重なった紙、椅子にかけた服、少しずれたラグ。小物を増やすときは、そこに住んでいる人の行動が感じられるように置いてほしいです。
ただ、細かく描き込むほど調べる場所が見えなくなるのは困ります。部屋全体の雰囲気を保ちながら、触れられる物は見つけられるようにしてください。小さな点を探してクリックする難しさはいりません。
操作できる物は、カーソルを合わせたり選択したりしたときに控えめに反応させます。画面中がずっと光っている状態にはしないでください。
物の拡大画面から部屋へ戻る、ノートを開く、前に見た証拠を読む、といった操作は迷わずできるようにします。部屋の存在感を残して、情報カードを順番に読むだけの画面にならないよう
Prompt by @shotatykr, from their reply
Category
Games
On X
26 likes · 1.6K views · 4 saves

More games

GamesPrompt0:23

Playable Minecraft-style browser game with advanced shaders

@noahwachnik♥ 5.3K
GLSL
GamesPrompt1:02

3D computer simulation with logic gates, OS, and a running game

@mattshumer_♥ 1.8K
GamesPart of prompt2:08

First-person three.js game scene polish and lighting pass

@maxt3chno♥ 1.6K
Three.js
GamesPrompt0:18

Single-file HTML game reward animation with 3D chests and effects

@op7418♥ 1.2K
Three.jsWeb AudioCanvas
GamesPart of prompt1:30

Roblox Minecraft-style game prototype built overnight

@albie_io♥ 1K
GamesPart of prompt0:18

Interactive 3D gummy octopus you can grab and stretch

@vib3coded♥ 712
WebGPU
GamesPrompt1:21

Cute three.js mini-game with seasonal mode switches

@studio_veco♥ 677
Three.js
GamesPart of prompt3:09

Browser-based first-person Three.js game with swimming, boat, and inventory mechanics

@maxt3chno♥ 607
Three.js