2PlayerGame/detective-coop-game-prompt.md
2026-07-23 17:03:26 +03:00

18 KiB
Raw Permalink Blame History

Що будуємо

Інтерактивну веб-гру (single HTML/React artifact), детектив на двох гравців, кооп, нелінійна структура — досліджуємо локації, допитуємо підозрюваних, збираємо докази, зіставляємо їх на дошці, в кінці називаємо вбивцю і доводимо чому. Формат натхненний тим, як влаштовані справи в Shadows of Doubt: відкрита структура розслідування, а не лінійний ланцюжок квестів.

Жорсткий принцип: без живого AI всередині гри. Все — діалоги, докази, логіка розв'язання — прописано наперед і детерміноване. Гра має логічно "закриватись": є один винний, і його провину можна довести конкретним набором доказів без вгадування.

Формат і платформа

  • Один HTML-файл (React/vanilla JS), відкривається в браузері з телефону чи ноутбука.
  • Нелінійна навігація: хаб/карта локацій, з якого можна йти в будь-якому порядку.
  • Записник/журнал автоматично фіксує знайдені докази та репліки підозрюваних.
  • Дошка справи (case board): візуальне зіставлення доказ ↔ підозрюваний ↔ мотив/спосіб/можливість.

Кооп на двох з асиметричною інформацією

Два гравці, дві ролі, кожен бачить свою частину інформації — щоб реально доводилось синхронізуватись і думати разом уголос:

  • Польовий детектив — фізичні докази, огляд місця злочину, особисті допити (мова тіла, прямі реакції).
  • Детектив-аналітик — цифрові сліди: записи камер, фінансові транзакції, повідомлення, логи доступу, бекграунд-перевірки.

Кожна роль сама по собі НЕ дає повної картини. Приклад механіки синхронізації: польовий детектив чує від підозрюваного алібі ("я був у барі о 23:00"), аналітик бачить транзакцію/геолокацію, яка це підтверджує або спростовує — але тільки якщо гравці проговорять це один одному.

Технічно: два пристрої заходять під одним кодом сесії (спільний стан через сховище), кожен бачить свій інтерфейс/докази, спільна дошка справи синхронізується для обох.

Тривалість

Розрахунок на 6090 хв за вечір як базовий кейс, з можливістю розширення до "кампанії" на 23 вечори (кейс на кілька актів, де перший вечір відкриває докази, які стають актуальними у другому).

Сетинг і тон

Сучасність або кіберпанк-нуар: місто з чітким розділом на корпоративну верхівку і вулицю. Похмуро-серйозний тон — справжній труп, реальні мотиви (гроші, влада, ревнощі, шантаж), без карикатурного насильства й без "чарівних" пояснень.

Правила чесної гри (fair-play mystery)

  1. Один вбивця, 46 підозрюваних, у кожного своя пара мотив/спосіб/можливість (заповнена або навмисно неповна — щоб відсіювались логікою).
  2. Точний таймлайн подій. У вбивці має бути рівно одна суперечність в алібі, яку можна розкрити ТІЛЬКИ звівши докази з обох ролей.
  3. 23 red herring (хибні сліди) — кожен обов'язково спростовується конкретним доказом, який десь у грі є. Жодного "просто дивного факту без пояснення".
  4. Усе, що потрібно для доведення провини, повинно бути знаходжуваним у грі. Нічого не з'являється тільки у фінальному розкритті.

Механіка допитів

Фіксовані дерева діалогів (не вільний текст) — кожен підозрюваний має набір тем/питань на вибір, відповіді заготовлені заздалегідь, деякі питання розблоковуються тільки після знаходження конкретного доказу (наприклад, "спитати про транзакцію" з'являється тільки якщо аналітик її знайшов і команда це обговорила).

Фінал — звинувачення

Екран "Висунути звинувачення": гравці разом обирають підозрюваного + спосіб/знаряддя + 34 докази, що доводять провину. Система перевіряє логічний ланцюжок:

  • Якщо помилка — підказка яка саме ланка не сходиться (без спойлера відповіді), можна спробувати ще раз.
  • Перемога тільки при повністю правильній комбінації.

Візуальна складова

Вільно — від мінімалістичного текстово-UI підходу (карта, портрети, картки доказів) до повноцінної 2D/3D сцени. Для першої ітерації рекомендую стилізований UI-фокус (як настільна детективна гра), а не 3D-рендер — простіше зробити логіку надійною.


КЕЙС №1 — "Nightshade Protocol" (готовий, можна грати як є)

Сетинг: місто Meridian, 2087, нейроімпланти — норма. Верхній Шпиль (корпорації) / Нижні Доки (робочий клас).

Жертва: Маркус Рейз, 44, брокер даних у Halcyon Dynamics. Знайдений мертвим на балконі свого пентхауса, падіння з 40-го поверху. Офіційна версія — нещасний випадок. Час смерті: 23:14 (підтверджено біометричним піком нейроімпланта — незламний лог).

Локації: пентхаус жертви (балкон + кабінет), лобі будівлі, офіс Halcyon Dynamics, бар "The Hollow Note", підпільна майстерня Рука.

Підозрювані:

Хто Мотив Спосіб/доступ Заявлене алібі Статус
Елена Восс (партнерка по бізнесу) Рейз викрив її розтрату через тіньові рахунки, вранці мав доповісти раді директорів Її пропуск-чіп ще діє з часів стосунків "Була в офісі допізна" ВБИВЦЯ
Кайто Морі (екс-коханець) Рейз злив його медичні/генетичні дані конкурентам Хакерські навички Був у барі "The Hollow Note" всю ніч Спростовується
Д-р Сейбл (біотех-конкурент) Рейз вкрав і злив його дослідження Немає доступу/навичок На конференції Спростовується залізно
Рук (вуличний фіксер, кредитор) Рейз винен йому великі гроші Доступ до дронів/мускулів Не має алібі, "був біля будівлі" Red herring
Айві Чен (асистентка, таємно на зарплаті конкурента) Побоювалась, що Рейз запідозрив шпигунство Повний доступ до квартири Пішла о 22:30 (є на камері) Спростовується

Таймлайн: 22:15 — Елена сканує пропуск на вихід з офісу Halcyon (бачить нічний охоронець — фізичний доказ, чується в допиті). 22:47 — Елена повертається в будівлю Рейза (цифровий лог доступу — знаходить аналітик). 22:50 — силует на резервному записі патрульного дрона біля балкона. 23:10 — використано інженерний override для вимкнення силового поля безпеки балкона (лог з ID Елени). 23:14 — біометричний пік смерті.

Докази — фізичні (Польовий детектив):

  • Порваний клапоть тканини з піджака на поручні балкона
  • Сліди боротьби на балконі
  • Частковий відбиток пальця на панелі override
  • Допит нічного охоронця офісу: усно каже, що бейдж Елени вийшов о 22:15
  • Фінансовий гросбух у схованці Рейза (доказ розтрати, підтверджує мотив)
  • Записи допитів усіх підозрюваних (мова тіла)

Докази — цифрові (Аналітик):

  • Лог override панелі балкона — ID Елени, 23:10
  • Резервний запис дрона — силует біля балкона, 22:50
  • Лог повернення Елени в будівлю — 22:47 (суперечить її словам "була в офісі")
  • Запрошення в календарі: "Термінова рада — комплаєнс Е.В." на 9:00 ранку
  • Лог нейроімпланта/wifi бару Кайто — безперервно в барі до 23:30 (знімає підозру)
  • Маніфест доставки Рука — був у будівлі 21:3021:45 з іншої причини, не пов'язаної (знімає підозру)
  • Камера лобі: вихід Айві о 22:30 збігається з бейджем (знімає підозру)
  • Лог реєстрації на конференції д-ра Сейбла (знімає підозру)
  • Біометричний лог імпланта Рейза — час смерті 23:14, сплеск адреналіну (боротьба/падіння)

Розкриття протиріччя (потребує обох ролей одночасно): Польовий детектив чує від охоронця "вийшла о 22:15". Аналітик бачить "повернулась в будівлю Рейза о 22:47". Кожен окремо — не доказ. Разом — Елена бреше про алібі.

Правильне звинувачення: Елена Восс; спосіб — вимкнула силове поле балкона через override, зіштовхнула Рейза; докази — [лог override з її ID] + [суперечність бейджів 22:15/22:47] + [клапоть тканини на поручні] (+ гросбух як мотив).


Алгоритм процедурної генерації нових кейсів

Щоб не вигадувати кожен кейс вручну — принцип той самий, що й у Shadows of Doubt: seed → комбінаторна генерація → перевірка розв'язності.

Крок 1. Пули даних (заповнюються один раз, дають безкінечні комбінації):

  • Пул жертв (архетип, професія, чому вигідно/небезпечно її вбити)
  • Пул локацій смерті (кожна дає свій набір фізичних доказів)
  • Пул мотивів (гроші, помста, шантаж, влада, ревнощі, самозахист)
  • Пул способів/доступу (кожен спосіб вимагає конкретного "тегу навички/доступу": хакерство, фізична сила, інсайдерський пропуск, хімія тощо)
  • Пул типів доказів — окремо фізичні / цифрові, кожен доказ має тег "що доводить" (доступ / мотив / присутність / алібі)

Крок 2. Генерація сцени:

  1. Обрати жертву + локацію + точний час смерті (TOD).
  2. Обрати 46 підозрюваних із пулу ролей, кожному рандомно призначити мотив + тег доступу/навички + тип алібі.

Крок 3. Призначення вбивці:

  • Вбивцею стає той підозрюваний, чий тег доступу/навички відповідає вимогам обраного способу вбивства, і чиє алібі навмисно генерується як "правдоподібне, але з рівно однією слабкою ланкою".
  • Слабка ланка завжди розбивається на 2 частини — одна дається польовому детективу (почута репліка/фізичний слід), інша аналітику (лог/запис) — і жодна сама по собі не доказ.

Крок 4. Призначення решти підозрюваних:

  • 1 підозрюваний отримує "залізне" алібі (конференція, багато свідків, цифрове підтвердження) — навмисно найбільш підозрілий мотивом, але фактично чистий.
  • 12 отримують red herring: підозріла деталь (не був на камерах, борг, погрози), яка спростовується конкретним доказом десь у грі (обов'язково генерується разом зі спростуванням, ніколи окремо).
  • Решта отримують нейтральні, просто перевірювані алібі.

Крок 5. Перевірка розв'язності (як міні-solver, обов'язковий крок):

  • Перевірити: рівно один підозрюваний одночасно задовольняє мотив + доступ/спосіб + суперечність в алібі.
  • Перевірити: усі інші проваляють хоч один із трьох критеріїв, і це доводиться доказом, який реально є в грі.
  • Якщо перевірка не проходить — перегенерувати мотив/алібі/доказ для конфліктного підозрюваного і повторити.

Крок 6. Вивід: зібрати фінальний кейс у той самий формат, що й "Nightshade Protocol" вище (таблиця підозрюваних, таймлайн, списки доказів по ролях, точна комбінація для звинувачення) — це і є те, що завантажується в гру.

Цей алгоритм можна буквально закодувати (JSON-пули + функція-валідатор) і генерувати новий кейс кожного разу, коли набридне готовий — тоді гра буде реально безкінечною, як міні-версія генерації міста в Shadows of Doubt.

Fixes

Зробити "закріплені докази" прикріплені зверху, прибрати кнопку зірки. Тільки галочка, хрестик, приховати і прикріпити. Додати можливість лишати нотатки на доказах. Покращити систему комунікації з підозрюваними і іншими, більше питань (де ви були в X (time picker), якщо попали - правда або брехня, в яких стосунках X з Y, etc.(Тут можна пошукати натхнення в інеті)), бо зараз всі кажуть "нічим не можу допомогти". Прибрати помітки типу "алібі", "дрібниця", "місце". Просто пробрати той pill. Всі кнопки з "Системи й лабораторія" переробити: зробити інтерактивними як База мешканців і шифри(у з'вязку з видаленням 3301 - видалити цю вкладку). З приводу реалізації цього - задати додаткові уточнюючі питання. Мапа має кожен раз, залежно від сіду, генеруватись. Різні будинки, різні жителі, різні приміщення. Також я хочу щоб перед імплементацією, але після опитування, ти запропонував ідеї, які позитивно могли б вплинути на гру.