18 KiB
Що будуємо
Інтерактивну веб-гру (single HTML/React artifact), детектив на двох гравців, кооп, нелінійна структура — досліджуємо локації, допитуємо підозрюваних, збираємо докази, зіставляємо їх на дошці, в кінці називаємо вбивцю і доводимо чому. Формат натхненний тим, як влаштовані справи в Shadows of Doubt: відкрита структура розслідування, а не лінійний ланцюжок квестів.
Жорсткий принцип: без живого AI всередині гри. Все — діалоги, докази, логіка розв'язання — прописано наперед і детерміноване. Гра має логічно "закриватись": є один винний, і його провину можна довести конкретним набором доказів без вгадування.
Формат і платформа
- Один HTML-файл (React/vanilla JS), відкривається в браузері з телефону чи ноутбука.
- Нелінійна навігація: хаб/карта локацій, з якого можна йти в будь-якому порядку.
- Записник/журнал автоматично фіксує знайдені докази та репліки підозрюваних.
- Дошка справи (case board): візуальне зіставлення доказ ↔ підозрюваний ↔ мотив/спосіб/можливість.
Кооп на двох з асиметричною інформацією
Два гравці, дві ролі, кожен бачить свою частину інформації — щоб реально доводилось синхронізуватись і думати разом уголос:
- Польовий детектив — фізичні докази, огляд місця злочину, особисті допити (мова тіла, прямі реакції).
- Детектив-аналітик — цифрові сліди: записи камер, фінансові транзакції, повідомлення, логи доступу, бекграунд-перевірки.
Кожна роль сама по собі НЕ дає повної картини. Приклад механіки синхронізації: польовий детектив чує від підозрюваного алібі ("я був у барі о 23:00"), аналітик бачить транзакцію/геолокацію, яка це підтверджує або спростовує — але тільки якщо гравці проговорять це один одному.
Технічно: два пристрої заходять під одним кодом сесії (спільний стан через сховище), кожен бачить свій інтерфейс/докази, спільна дошка справи синхронізується для обох.
Тривалість
Розрахунок на 60–90 хв за вечір як базовий кейс, з можливістю розширення до "кампанії" на 2–3 вечори (кейс на кілька актів, де перший вечір відкриває докази, які стають актуальними у другому).
Сетинг і тон
Сучасність або кіберпанк-нуар: місто з чітким розділом на корпоративну верхівку і вулицю. Похмуро-серйозний тон — справжній труп, реальні мотиви (гроші, влада, ревнощі, шантаж), без карикатурного насильства й без "чарівних" пояснень.
Правила чесної гри (fair-play mystery)
- Один вбивця, 4–6 підозрюваних, у кожного своя пара мотив/спосіб/можливість (заповнена або навмисно неповна — щоб відсіювались логікою).
- Точний таймлайн подій. У вбивці має бути рівно одна суперечність в алібі, яку можна розкрити ТІЛЬКИ звівши докази з обох ролей.
- 2–3 red herring (хибні сліди) — кожен обов'язково спростовується конкретним доказом, який десь у грі є. Жодного "просто дивного факту без пояснення".
- Усе, що потрібно для доведення провини, повинно бути знаходжуваним у грі. Нічого не з'являється тільки у фінальному розкритті.
Механіка допитів
Фіксовані дерева діалогів (не вільний текст) — кожен підозрюваний має набір тем/питань на вибір, відповіді заготовлені заздалегідь, деякі питання розблоковуються тільки після знаходження конкретного доказу (наприклад, "спитати про транзакцію" з'являється тільки якщо аналітик її знайшов і команда це обговорила).
Фінал — звинувачення
Екран "Висунути звинувачення": гравці разом обирають підозрюваного + спосіб/знаряддя + 3–4 докази, що доводять провину. Система перевіряє логічний ланцюжок:
- Якщо помилка — підказка яка саме ланка не сходиться (без спойлера відповіді), можна спробувати ще раз.
- Перемога тільки при повністю правильній комбінації.
Візуальна складова
Вільно — від мінімалістичного текстово-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:30–21:45 з іншої причини, не пов'язаної (знімає підозру)
- Камера лобі: вихід Айві о 22:30 збігається з бейджем (знімає підозру)
- Лог реєстрації на конференції д-ра Сейбла (знімає підозру)
- Біометричний лог імпланта Рейза — час смерті 23:14, сплеск адреналіну (боротьба/падіння)
Розкриття протиріччя (потребує обох ролей одночасно): Польовий детектив чує від охоронця "вийшла о 22:15". Аналітик бачить "повернулась в будівлю Рейза о 22:47". Кожен окремо — не доказ. Разом — Елена бреше про алібі.
Правильне звинувачення: Елена Восс; спосіб — вимкнула силове поле балкона через override, зіштовхнула Рейза; докази — [лог override з її ID] + [суперечність бейджів 22:15/22:47] + [клапоть тканини на поручні] (+ гросбух як мотив).
Алгоритм процедурної генерації нових кейсів
Щоб не вигадувати кожен кейс вручну — принцип той самий, що й у Shadows of Doubt: seed → комбінаторна генерація → перевірка розв'язності.
Крок 1. Пули даних (заповнюються один раз, дають безкінечні комбінації):
- Пул жертв (архетип, професія, чому вигідно/небезпечно її вбити)
- Пул локацій смерті (кожна дає свій набір фізичних доказів)
- Пул мотивів (гроші, помста, шантаж, влада, ревнощі, самозахист)
- Пул способів/доступу (кожен спосіб вимагає конкретного "тегу навички/доступу": хакерство, фізична сила, інсайдерський пропуск, хімія тощо)
- Пул типів доказів — окремо фізичні / цифрові, кожен доказ має тег "що доводить" (доступ / мотив / присутність / алібі)
Крок 2. Генерація сцени:
- Обрати жертву + локацію + точний час смерті (TOD).
- Обрати 4–6 підозрюваних із пулу ролей, кожному рандомно призначити мотив + тег доступу/навички + тип алібі.
Крок 3. Призначення вбивці:
- Вбивцею стає той підозрюваний, чий тег доступу/навички відповідає вимогам обраного способу вбивства, і чиє алібі навмисно генерується як "правдоподібне, але з рівно однією слабкою ланкою".
- Слабка ланка завжди розбивається на 2 частини — одна дається польовому детективу (почута репліка/фізичний слід), інша аналітику (лог/запис) — і жодна сама по собі не доказ.
Крок 4. Призначення решти підозрюваних:
- 1 підозрюваний отримує "залізне" алібі (конференція, багато свідків, цифрове підтвердження) — навмисно найбільш підозрілий мотивом, але фактично чистий.
- 1–2 отримують red herring: підозріла деталь (не був на камерах, борг, погрози), яка спростовується конкретним доказом десь у грі (обов'язково генерується разом зі спростуванням, ніколи окремо).
- Решта отримують нейтральні, просто перевірювані алібі.
Крок 5. Перевірка розв'язності (як міні-solver, обов'язковий крок):
- Перевірити: рівно один підозрюваний одночасно задовольняє мотив + доступ/спосіб + суперечність в алібі.
- Перевірити: усі інші проваляють хоч один із трьох критеріїв, і це доводиться доказом, який реально є в грі.
- Якщо перевірка не проходить — перегенерувати мотив/алібі/доказ для конфліктного підозрюваного і повторити.
Крок 6. Вивід: зібрати фінальний кейс у той самий формат, що й "Nightshade Protocol" вище (таблиця підозрюваних, таймлайн, списки доказів по ролях, точна комбінація для звинувачення) — це і є те, що завантажується в гру.
Цей алгоритм можна буквально закодувати (JSON-пули + функція-валідатор) і генерувати новий кейс кожного разу, коли набридне готовий — тоді гра буде реально безкінечною, як міні-версія генерації міста в Shadows of Doubt.
Fixes
Зробити "закріплені докази" прикріплені зверху, прибрати кнопку зірки. Тільки галочка, хрестик, приховати і прикріпити. Додати можливість лишати нотатки на доказах. Покращити систему комунікації з підозрюваними і іншими, більше питань (де ви були в X (time picker), якщо попали - правда або брехня, в яких стосунках X з Y, etc.(Тут можна пошукати натхнення в інеті)), бо зараз всі кажуть "нічим не можу допомогти". Прибрати помітки типу "алібі", "дрібниця", "місце". Просто пробрати той pill. Всі кнопки з "Системи й лабораторія" переробити: зробити інтерактивними як База мешканців і шифри(у з'вязку з видаленням 3301 - видалити цю вкладку). З приводу реалізації цього - задати додаткові уточнюючі питання. Мапа має кожен раз, залежно від сіду, генеруватись. Різні будинки, різні жителі, різні приміщення. Також я хочу щоб перед імплементацією, але після опитування, ти запропонував ідеї, які позитивно могли б вплинути на гру.