Механика: бинокль и разведывательная история
Зафиксировано: в бою ников над головами нет. Ник и сведения о враге — (1) бинокль при прямом наведении, (2) ящик после смерти + опционально жетон (вражеский жетон). Всё пишется в историю бинокля / трофеев.
Связь: роль «Разведка» в GDD; эвент эвент 1к ссср 1940е; лента лента территории.
1) Зачем в дизайне
| Без бинокля | С биноклем |
|---|---|
| Враг на дистанции — силуэт, сторона по униформе (грубо) | При наведении — ник, объединение, роль, оружие (по уровню бинокля) |
| Нет «ников над головами» в бою | Разведка — активная роль, не пассивный wallhack |
| Стрим-снайп по нику из UI | Идентификация = действие + запись в журнал |
| Убитый враг | ящик у тела → тот же ник/инфо; можно забрать жетон |
Поддерживает жёсткий тон: узнаёшь врага трудом; после боя — трофей и бирка.
2) Режим бинокля
Вход / выход
- Предмет: полевой бинокль (6×30, СССР 1940-е) — слот / быстрый выбор.
- Удержание клавиши наблюдения → камера переходит в узкий FOV (≈ 6–8°), лёгкое покачивание рук (опционально).
- В режиме: ходьба медленная, стрельба отключена (или только смена на нож — TBD).
«Прямое наведение» (обязательное условие)
Идентификация срабатывает только если одновременно:
| Условие | Правило |
|---|---|
| Прицел на цели | луч из «глаз» бинокля попадает в хитбокс тела врага (не земля, не угол здания) |
| В центре экрана | отклонение от центра прицела ≤ 3–5% экрана (узкий круг идентификации) |
| Дистанция | в пределах бинокльных ступеней (см. §4) |
| Просвет | сервер: нет сплошной стены между наблюдателем и целью |
| Время фиксации | удержание на цели 1.2–2.0 с (прогресс-бар «Фиксация…») |
Сброс фиксации: цель ушла из круга, пропала за укрытием, дым «Пелена», смена цели, выход из режима бинокля.
Не считается наведением:
- взгляд 3rd person без бинокля;
- «скан» по области без удержания на одной цели;
- маркер на миникарте без личной фиксации;
- союзники (для них — отдельные правила штаба, без «истории врага»).
3) Что видно при успешной фиксации
По ступеням (крафт / нахождение бинокля):
| Ступень | После фиксации | В истории |
|---|---|---|
| Базовый | ник, фракция/объединение | да |
| Штабной | + роль (класс), примерное оружие в руках | да |
| Регистратор | + дистанция, сектор карты (сетка 16 м), время | да + экспорт отряду |
Ник и текст инфы рисуются только в overlay бинокля на время удержания прицела и остаются в журнале — не висят над моделью в обычном режиме.
Вне бинокля (всегда)
- модель, движение, вспышки выстрелов;
- грубая сторона по силуэту формы (без точного тега «это Вася»);
- метки командира без ника («вражеский стрелок, 240 м») — если командир сам зафиксировал через бинокль и передал в канал.
4) Дистанция и помехи
| Параметр | Базовый бинокль | Штабной (TBD) |
|---|---|---|
| Макс. фиксация | 350 м | 550 м |
| Мин. | 25 м (слишком близко — размытие, «не фокус») | то же |
| Туман (игровые сутки) | −20% дальность | −15% |
| Дымовая завеса | блок фиксации | — |
| Сидит в окне | +0.3 с к времени фиксации | — |
5) История бинокля
Запись одной строки
При успешной фиксации сервер добавляет запись (авторитетно):
[1943-09-12 14:08] | сектор D2 | 280 м
Цель: <ник> | <Объединение> | штурмовик | винтовка
Наблюдатель: <твой ник> | бинокль базовый
- Личный журнал у каждого игрока (последние N записей, напр. 50 на эвент).
- Дубликат: повторная фиксация того же ника обновляет время и позицию, не спамит (группировка «последний контакт»).
UI журнала
- Меню: «История бинокля» — список, фильтр по времени / сектору / нику.
- Клик по строке → метка на миникарте последней точки наблюдения (не live-трекинг).
- Передача в отряд: 1–3 выбранные строки в отрядный чат / «доска разведки» (без автопередачи всего журнала).
Что не пишется
- мимоцельное проведение прицелом;
- союзники (отдельный режим «свои» — TBD, без вражеской истории);
- цели в зоне слепой у парткома (если включён радиоподавление H4 — опционально).
6) Роли и кооп
| Роль | Использование |
|---|---|
| Разведка | основной носитель бинокля, ведёт журнал, кормит командира |
| Командир | запрашивает «последние 5 строк» у разведчика в радиусе связи |
| Штурмовик | базовый бинокль — 1–2 фиксации «кто на крыше» |
| Снайпер | дублирует оптику прицела? Нет — прицел даёт баллистику, ник только через бинокль (единое правило) |
7) Крафт и лут (1940-е)
| Предмет | Источник |
|---|---|
| Полевой бинокль | тыл, разведрота, редкий ящик «штаб» |
| Штабной бинокль | крафт: стекла + латунь + кожаный ремень (инженер/тыл) |
| Ремонт | тряпьё + смазка — износ после N фиксаций (TBD) |
Лор: Бинокль Б-6 / аналог 6×30, ремешок через шею, чехол из кожи.
8) Анти-абуз и честность
| Риск | Решение |
|---|---|
| Wallhack | клиент не получает ники врагов без intel_grant от сервера |
| AFK-скан | нужна фиксация 1.2+ с на одной цели |
| 1000 игроков | фиксация — редкое событие; в лог только успешные |
| Стрим | зрители видят только то, что видит стример в overlay бинокля |
| Подсадка в текст | ники — только серверная строка, не клиентский ввод |
9) Связь с другими системами
| Система | Связь |
|---|---|
| Мачта H4 | не даёт ники; только расширяет радиус появления «силуэт враг» на миникарте без имени |
| Маркировочная лента | журнал бинокля не захватывает территорию |
| Победа 80% пгт | бинокль — охота на «разматывателей» врага у границы пгт |
| Event log | дублирование intel_fixate для споров и реплея |
10) События сервера (черновик API)
intel_fixate_start (observer_id, target_id) — клиент запрос, сервер валидирует луч
intel_fixate_cancel
intel_fixate_complete → запись в BinocularHistory + краткий overlay
intel_share (entry_id, squad_id) — опционально
11) Открытые решения
- Союзники в бинокле: показывать ники сразу или тоже только после фиксации?
- Снайперский оптический прицел: полностью без ников или «ник только в бинокле» жёстко для всех?
- История на эвент: лимит 50 строк или весь журнал за 10 дней?
- Награда: ачивка/очки разведки за N уникальных фиксаций?
12) Формула для игрока
В бою ников нет. Бинокль + наведение — записал. Убил — ящик, жетон, та же карточка в журнале. Без этого враг — безымянный силуэт.