GDD — техническое задание
1) Позиционирование
STONE - это масштабная сетевая военная sandbox-игра с постоянным миром и упором на социальную координацию.
Базовый референс: Foxhole.
Цель: выйти дальше по масштабу боевых узлов, глубине роли игрока и устойчивости симуляции под перегрузкой.
Зафиксированные решения (на сейчас)
- Сеттинг боя: реализм. Эпоха и сценарий меняются от войны к войне (Война 1 - ВОВ 40-е, Война 2 - «новорождённый» с дронами и кибер-очками; мета-лор - сеть и соц мета).
- Камера: строго от третьего лица (3rd person).
- Тон боя: максимально жесткий и кровожадный.
- Визуальный стиль крови: “заквадраченная” (блочная/пиксельная) кровь как осознанная оптимизация ресурсов.
- Монетизация: игра — по минимальной цене; запись на войну (индивидуально) и покупка запуска войны; набор «Суперфан» (см. §13, войны и запуск).
- Бренд и публичное имя: КАМЕНЬ; сайт и вики — https://stonegame.ru (вики:
/wiki/).
Текущий этап (июнь 2026)
| Направление | Статус |
|---|---|
| GDD, механики, каталог | в работе, вики Quartz в Docker |
| Карты | эталон 4×4 км — стартовая карта деревня; эвент 1 (лес + ручьи) — эвент 1 карта |
| 3D | прототип в Unreal Engine 5.7 (ПК METODIKA); целевой клиент — Unity после дискретной GPU — стек и железо |
| Ближайшая измеримая цель | постоянный тестовый сервер до 100 онлайн к 03.08.2027 — цель к 2027 08 03 |
| North star нагрузки | ~2k в узле (инженерная цель GDD), 10k — долгосрочно (§3) |
2) High Concept
Игроки двух (или более) фракций ведут непрерывную войну за территорию на единой глобальной карте.
Экономика, логистика, строительство, разведка и тактика так же важны, как стрельба.
Ключевой “вау”-момент: огромные сражения в реальном времени, где тысячи игроков одновременно влияют на исход.
3) Масштаб боевого узла (канон)
3.1 Конечная точка (north star)
10 000 игроков одновременно в одном боевом узле — долгосрочная цель продукта, не то, с чего начинаем разработку и тесты.
3.2 Ближайшая инженерная цель (сейчас)
Спроектировать, обкатать и держать в фокусе узел под ~2 000 игроков в пике.
Карты эвентов и дизайн плотности ориентируются на ~1 000 онлайн с запасом проектирования до 2 000.
3.3 Дорожная карта нагрузочной катки
Рост постепенный, без скачка сразу на тысячи:
10 → 50 → 100 → 500 → 1 000 → 2 000 → … → 10 000
На каждом шаге: нагрузочный прогон, KPI, узкие места, фиксация регрессий. Следующий порог — только после стабильности на предыдущем.
3.4 Условия успеха этапа «~2k» (текущий фокус)
- В пике ~2 000 подключённых игроков в одном боевом узле (целевой потолок обкатки).
- Событие/сессия выдерживает 20–30+ минут без потери состояния узла.
- Базовые действия (перемещение, стрельба, снабжение, возрождение, захват точки) остаются предсказуемыми.
- Time dilation и прочая деградация под экстремальной нагрузкой — на будущее (см. §7.4, §8), в текущем прототипе не реализуем.
3.5 Условия успеха north star «10k» (когда дойдём)
- В пике 10 000 подключённых игроков в одном боевом узле.
- Устойчивость узла на длительной сессии без краша симуляции.
- При перегрузе — time dilation (§7.4), а не разрушение состояния.
- Сохраняется играбельность ролей и командования на масштабе north star.
4) Core Pillars (стержни игры)
-
Массовость без потери управляемости
Игрок ощущает вклад даже в “мясорубке” за счет ролей, целей и интерфейса командования. -
Война как система, а не матч
Бой связан с производством, логистикой и картой фронта. -
Техническая устойчивость как геймдизайн
Замедление времени и деградация качества сервиса становятся частью правил мира, а не багом. -
Социальная организация
Отряды, штабы, цепочки поставок и командные приказы - основа победы.
5) Игровой цикл (первый)
- Фракция получает приказ на штурм/оборону узла.
- Логистика везет боеприпасы, стройматериалы, медкомплекты.
- Инженеры строят укрепления и точки возрождения.
- Боевая фаза: давление, контратаки, огневые линии.
- Узел захвачен или удержан → фронт на глобальной карте сдвигается.
- Награды и стратегические последствия (ресурсы, доступ к маршрутам, мораль).
6) Роли игроков (MVP)
- Штурмовик: контактный бой, зачистка.
- Поддержка: снабжение/перенос боекомплекта.
- Инженер: укрепления, ремонт, возведение.
- Медик: стабилизация и возврат бойцов.
- Разведка: метки угроз, информирование командования.
- Командир отряда: тактические приказы и координация.
7) Архитектура массового узла (концепт)
7.1 Пространственная сегментация
- Мир делится на крупные регионы, регионы на ячейки интереса (AOI).
- Внутри “узла битвы” вводятся микросекторы с независимым расчетом.
- Клиент получает только релевантные сущности по AOI + приоритетам.
7.2 Многоуровневая симуляция
- L0 (ближний бой): высокая частота обновления, точная физика попаданий.
- L1 (средняя зона): упрощенные столкновения и баллистика.
- L2 (дальняя зона): агрегированные события (потоки урона/снабжения/морали).
7.3 Event-sourcing ядра боя
- Критичные действия пишутся как события (выстрел, постройка, захват, смерть, лечение).
- Состояние узла периодически снапшотится.
- Это дает восстановление после сбоев и воспроизводимость спорных моментов.
7.4 Time Dilation (замедление времени)
Механика включается локально для перегруженного узла:
- Замедляется “игровая секунда” (например, 1.0 → 0.8 → 0.6 реального времени).
- Скорость анимаций/перезарядки/передвижения согласованно скейлится.
- UI явно показывает коэффициент времени, чтобы игрок не считал это лагом.
- Урон и физика пересчитываются консистентно в том же масштабе.
Принцип: “Справедливое замедление для всех в зоне”, вместо рассинхрона и телепортов.
8) Деградация качества под нагрузкой (graceful degradation)
Порядок упрощений:
- Снижение детализации дальних обновлений.
- Укрупнение дальних боевых расчетов (батчинг событий).
- Уменьшение частоты вторичных систем (декали, мусор, второстепенные эффекты).
- Локальное замедление времени узла.
- Ограничение небоевых интеракций в перегретой зоне.
Критично: управление персонажем, стрельба и медицинские действия остаются приоритетными.
9) Анти-хаос дизайн для массового узла (2k сейчас, north star 10k)
- Механика “боевых задач”: короткие директивы от командиров для отрядов.
- Карта нагрузки: визуализация где фронт перегрет и где подкрепления нужны.
- Система “коридоров снабжения”: без логистики фронт не держится.
- Ограничения спавна для предотвращения мгновенного “потопа тел” в одной точке.
- Микроцели в зоне (генераторы, узлы связи, арт-радар), чтобы рассредотачивать массу.
10) Технологический скелет (черновик)
- Сервер: авторитетная симуляция, горизонтальное масштабирование по зонам.
- Сетевой транспорт: UDP/QUIC-подобный подход + надежные каналы для критичных событий.
- Хранилище: event log + snapshots + метрики в real-time.
- Оркестрация: динамическое выделение вычислительных воркеров под горячие узлы.
- Наблюдаемость: latency, tick time, queue depth, packet loss, dilation factor.
11) Риски и заранее принятые решения
Риск: north star 10k в одной точке может сделать честный real-time невозможным без упрощений.
Решение: поэтапная обкатка (§3.3); time dilation и многоуровневая симуляция — целевой дизайн на будущее, когда приближаемся к верхним порогам.
Риск: игрок не понимает, почему “все замедлилось”.
Решение: встроить это в лор и UI (“Перегрузка театра боевых действий”).
Риск: командование тонет в шуме.
Решение: иерархия приказов + ограниченное число высокоприоритетных маркеров.
12) Дорожная карта (черновая)
Фаза A — Бумажный прототип ✅ (2026-05)
- Уточнить фантазию мира и сеттинг войны.
- Описать 6-8 ролей и базовые ресурсы.
- Сформировать KPI производительности.
Сейчас: фаза A закрыта; идём к tech prototype и промежуточной вехе 100 онлайн (см. цель к 2027 08 03).
KPI нагрузки (простыми словами)
KPI нагрузки - это конкретные численные границы “игра работает нормально под массой”.
Они нужны, чтобы не спорить по ощущениям (“вроде лагает”), а проверять по метрикам.
Базовый набор KPI для STONE:
- Server tick time (p95): сколько сервер тратит на один шаг симуляции.
- End-to-end latency (p95): задержка от действия игрока до подтвержденного результата.
- Packet loss: процент потерянных пакетов у игроков.
- Active entities per hot zone: сколько активных сущностей держим в перегретом узле.
- Dilation factor uptime: как часто и насколько сильно включается замедление времени.
Целевые границы для этапа ~2k (текущий фокус, черновик):
- Tick time p95 ⇐ 120 ms при ~2 000 в узле.
- Задержка p95 ⇐ 250 ms для ключевых боевых действий.
- Packet loss p95 ⇐ 3% у большинства клиентов.
- Стабильность узла: минимум 20–30 минут непрерывного боя без потери состояния.
Ориентиры north star 10k (когда дойдём, уточнять отдельно):
- Те же метрики при 10 000 в узле; time dilation ступенчато: 1.0 → 0.9 → 0.75, без резких скачков.
Логика простая: если значения хуже порога, система автоматически упрощает вторичные расчеты и/или усиливает dilation, но оставляет управление, стрельбу и лечение в приоритете.
Фаза B — Tech Prototype (в работе)
- Запустить “пустой” боевой узел с ботами/заглушками.
- Пройти шкалу нагрузки: 10 → 50 → 100 (веха 2027) → 500 → 1k → 2k виртуальных агентов.
- Зафиксировать KPI на потолке ~2k; к 10k — отдельная фаза после стабильного 2k.
- Time dilation controller — позже, не блокер текущего прототипа.
Фаза C - Vertical Slice (6-10 недель)
- Играбельный бой + логистика + захват точки.
- Командные интерфейсы и карта приказов.
- Первая публичная тестовая сессия.
Фаза D - Pre-Alpha онлайн-кампания
- Непрерывная карта.
- Официальные войны (см. войны и запуск).
- Социальные инструменты (отряды, штабы, доктрины).
13) Монетизация (концепция)
Статус: идея продукта; конкретные цены и платёжка — при реализации (сейчас оценивать суммы рано). Правила войн, записи, запуска и скидок — войны и запуск.
Базовая покупка игры
- Игра продаётся по минимальной условной цене (бюджетный порог входа, без pay-to-win в боевой механике).
- Доступ к Сети (аккаунт, кланы, чаты) — после разовой покупки.
Война = запуск сервера
- Продуктовый термин — война (не «сезон»).
- Официальная война — запуск от STONE («Война 1», «Война 2», …): глобальный рейтинг и награды Сети.
- Частная война — запуск, купленный игроком («Война НИК N» / «Война КЛАН N»): без глобального рейтинга и наград; отдельная статистика в профиле.
Запись на войну (участие)
- Индивидуальная, платная за каждую войну; не зависит от клана.
- Смысл: билет на старт уже объявленного инстанса.
Покупка запуска войны
- Платит один человек — от своего лица или от лица клана (право
war.launch). - Официальный запуск — всегда на максимальной доступной карте; частный — любая карта, любой выпущенный сценарий, настраиваемые параметры (от чего зависит цена — см. док войн; суммы позже).
Скидка победителей
- Все участники клана на момент победы — −80% на одну запись (на любую войну, когда угодно; не сгорает от паузы).
- Глава клана — −80% на один запуск (то же правило срока; только когда платит глава).
Набор «Суперфан» (постоянный)
| Параметр | Значение |
|---|---|
| Стоимость | ×10 от цены игры (относительно; абсолютные суммы — при реализации) |
| Срок | Навсегда (разовая покупка, не сгорает) |
| Скидка | −20% на все записи на войну |
| Прочее | Дополнительные преимущества — уточним при реализации |
Преимущества «Суперфан» (кроме скидки 20%) — уточнить: косметика, ранний доступ к записи, соц-инструменты (без P2W в бою).
Явно не в фокусе (пока)
- Battle pass, подписка, pay-to-win в бою — не зафиксированы.
14) Что нужно уточнить вместе (вопросы)
- Точный баланс “реализм vs удобство” в 3rd person (инерция, отдача, скорость перемещения).
- Длительность одной войны на сервере (сейчас в механиках — до 10 суток): финально зафиксировать.
- Бонусы «Суперфан» кроме скидки на запись.
- Идентичность проекта: милсим с массовостью или массовый экшен с милсим-элементами?
15) Ближайший actionable результат
К 03.08.2027 — постоянный тестовый сервер до 100 онлайн с минимальным циклом (клан, территория, бой, логистика, крафт). Чеклист: цель к 2027 08 03, Задачи.
Карта первого инстанса:
- Стартовая деревня 4×4 км — стартовая карта деревня (эталон: лес + поля + ИЖС, 3–5 ключевых точек).
- Эвент 1 (лес + ручьи, поляна узла) — эвент 1 карта — для масштабных войн позже.
Остальное для «Операции Узел»:
- 6 ролей игроков (§6).
- Базовые ресурсы снабжения.
- Нагрузочные сценарии по шкале §3.3; первая веха — 100, инженерный потолок обкатки — ~2k.
- North star: сценарий 10k одновременных участников (отдельный этап).
- Time dilation — в бэклоге до приближения к верхним порогам нагрузки.