RoadPunk

RoadPunk — рогалик-стратегия о путешествии на автомобиле. Ты прокладываешь маршрут по гексовой карте с туманом войны, следишь за топливом, деньгами, корпусом машины, едой и усталостью водителя, а по пути тебя ждут события, где нужно выбрать: объехать, помочь или взять себе. Сейчас игра существует как браузерный MVP: на нём я проверяю механики и баланс, это не конечная форма продукта.

RoadPunk: гексовая карта с маршрутом, экипажем и заданиями
Карта: маршрут прокладывается вручную, каждая клетка стоит ресурсов. Слева экипаж и попутчики, справа управление.
RoadPunk: дорожное событие «Груз на дороге» с тремя вариантами действий
Дорожное событие: машина остановилась, время не идёт. Объехать, помочь собрать груз за деньги и полдня или взять себе, если в экипаже есть добытчик.
RoadPunk: вкладка «Дорога» с бортжурналом, экипажем и радио
Вкладка «Дорога»: пока идёт путь, игрок видит бортжурнал, экипаж и радио.

Проблема

Рогалики обычно строятся на бое или подземельях, а дорога как игровая ситуация почти не используется. А у неё есть всё нужное: ограниченные ресурсы, риск на каждом участке, случайные встречи и усталость людей в машине. Мне было интересно проверить, получится ли из автомобильного путешествия короткая игра, в которую хочется сыграть ещё раз.

Решение

Забег идёт от левого края карты к правому. Игрок сам строит маршрут по гексам, и каждый гекс стоит ресурсов. Главные механики:

  • Экипаж. Водитель и штурман, у каждого своя усталость, навык и занятие на ночь. Ночью экипаж отдыхает, охраняет, чинит, разведывает или готовит еду, а ещё можно поменять водителя со штурманом.
  • Дорожные события с выбором. Машина останавливается, и игрок выбирает из нескольких вариантов. У каждого есть цена и риск, а у некоторых вариантов появляется метка навыка экипажа, как «Добытчик» в примере на скриншоте.
  • Попутчики. Пассажира нужно довезти до точки назначения в срок, награда — деньги и раскрытие скрытой точки на карте.
  • Таро дня. Каждый новый день игрок тянет карту, у которой есть эффект на сутки.
  • Инвентарь. Предметы с тегами, которые меняют исходы событий.

Забег заканчивается на правом краю карты: можно просто уйти или заплатить за официальный выезд ради бонуса к счёту. Поражение приходит, если кончилось топливо, разбита машина, нет еды или водитель выдохся.

Ключевые продуктовые решения

  • Время стоит, пока игрок выбирает. При событии машина останавливается, и выбор не наказывает за раздумья. Это снижает давление на новичка и оставляет место осознанному риску.
  • Счёт считает сервер. Результат забега отправляется на сервер, и итоговые очки считаются там, а не в браузере. Так рейтинг нельзя подправить в консоли.
  • Телеметрия вместо ощущений. Игра отправляет данные забегов, а в админке видны воронка, исходы и оценки событий. Баланс правится по данным: какие события выбирают, какие обходят, где обрываются забеги.
  • Аварийное отключение телеметрии. Отправку данных можно выключить с сервера, если что-то пошло не так.

Статус

MVP. Браузерная версия — не целевое состояние, а быстрый способ проверить, работают ли механики автомобильного путешествия: на ней собирается телеметрия и правится баланс. Сейчас MVP в версии 12.5 и доступен на drivibe.ru. Монетизации нет.

Чему научил проект

  • Выбор без явно лучшего варианта делает событие запоминающимся. Если один вариант всегда выигрывает, событие превращается в формальность, поэтому в данных я смотрю именно на долю выбора каждого варианта.
  • Телеметрия нужна с первой версии. Без неё баланс правится на ощупь и спорами с самим собой.

Стек и роль

  • MVP, фронтенд: HTML5 и ES-модули без сборщика, карта на Canvas 2D, маршруты по алгоритму A*
  • MVP, бэкенд: PHP 8.3, MySQL 8, без фреймворков; приём забегов, серверный счёт, рейтинг и админ-дашборд
  • Роль: solo founder — геймдизайн, данные, разработка, аналитика

Статьи по теме