Моя RTS вышла в Steam и она честно-честно не является клоном Factorio

Привет! Хочу рассказать вам об игре, которую я недавно опубликовал в Steam.

Трейлер игры

Есть такой язык геймеров и разработчиков игр, который может в несколько странных слов очень неплохо описать игровой процесс, но при этом звучит это довольно оторванным от реальности. В этих терминах Roboden — это асимметричная стратегия в реальном времени с непрямым управлением.

Асимметричность мне проще всего описать через примеры других игр. They Are Billions — асимметричная игра. Вы играете за поселение, а противник — за крипов. Red Alert же игра симметричная: несмотря на разные фракции, все они играют по одним и тем же правилам. В Roboden можно играть за обе стороны: и за колонии, и за крипов. Геймплей за каждую из них сильно отличается.

Игра за колонии напоминает игру на выживание: нужно собирать ресурсы, строить рабочих и воителей, избегать схваток с превосходящим противником. Условие победы зависит от режима игры, но в классическом режиме нужно уничтожить вражеский флагман, который в игре называется Дредноут. То есть большую часть игры мы развиваемся, а потом совершаем атаку на главного босса.

Игра за крипов значительно отличается. Нам не нужны ресурсы, разбросанные по карте. Единственные наши ресурсы — это время и технологический прогресс (который тоже во многом завязан на времени). В этом режиме нужно балансировать между натиском на вражеские колонии и долгосрочными инвестициями. Технологический прогресс открывает новых юнитов, но он же означает переключение с атаки на выжидание. Баланс скользящий: сначала преимущество на стороне крипов, затем у колоний есть шанс на победу, упустив который, преимущество снова получают сторонники Дредноута.

Непрямое управление выражается в том, что ваш арсенал приказов весьма ограничен. Нельзя заказать конкретного юнита, можно лишь настроить колонию так, чтобы она с большей вероятностью создавала тех или иных дронов. Грубо говоря, игрок перемещает колонии, а все её юниты управляются автоматически. Это автоматическое поведение зависит от приоритетов колонии, а вот их уже выставляет сам игрок. Примеры игр с непрямым управлением — Majesty и Dungeon Keeper.

Чтобы было наглядно видно, какие тут крипы и колонии с дронами<br />
Чтобы было наглядно видно, какие тут крипы и колонии с дронами

Вы спросите: а при чём здесь Factorio? Это всего лишь кликбейт, ребята. 😈

Делал я игру с напарником, который помогал во многом и, в частности, нарисовал большую часть графики игры. Изначально, я пришёл к нему с идеей игры о колониях, которые создают автоматизированных юнитов, а управляются через косвенные директивы ("приоритеты").

Дизайн первых спрайтов сразу выдал в нём фаната Факторио. Он представил, как дроны кружат вокруг некоторой базы. Эти спрайты закрепили художественный стиль всей игры, как и её сеттинг.

База и дроны в Факторио
База и дроны в Рободене

Мне нравится автоматизация в стиле Factorio с той точки зрения, что её можно противопоставить традиционному в RTS жанре микроконтролю, где эффективность игроков измеряется количеством их действий в минуту (actions per minute). Roboden должен был быть такой игрой, где не нужно всё закликивать.

В Roboden тоже присутствует частичка автоматизации. Сначала колония беспомощна: у неё мало дронов, не распределены фракции и приоритеты могут быть неоптимальными. Через какое-то время мы можем привести колонию в стабильное и развитое состояние, когда она будет самостоятельно следовать инструкциям и нам будет оставаться лишь время от времени перемещать её к ресурсам или отправлять в атаку.

Разные колонии можно настроить на отличающиеся программы. Одна колония может создавать только наземных юнитов, другая добывать больше ресурсов и затем перераспределять их через курьеров. А можно делать универсальные колонии, которые делают всего понемногу (это самая популярная тактика).

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

Всё это очень упрощённое понимание автоматизации, но зато в игре получился именно такой геймплей, которого я хотел: медитативный и залипательный.

Колонии, курьеры, навигационные маяки - робожизнь кипит и без нашего прямого участия<br />
Колонии, курьеры, навигационные маяки - робожизнь кипит и без нашего прямого участия

Roboden отлично играется с контроллера. Что я больше всего ценю в контроллерах — их можно подключить к компьютеру в количестве больше одного. Мне всегда нравились локальные мультиплееры, hotseat и split-screen режимы, поэтому и в моей игре такая возможность есть. Причём играть можно как в одной команде, так и друг против друга.

В PvP-режиме первый игрок управляет колонией и дронами, а второй — крипами.

Кстати, с помощью Steam Remote Play вам даже не обязательно находиться в одном месте. Эта фича позволяет из локального мультиплеера сделать онлайн мультиплеер (хоть и с разделённым экраном).

Локальный мультиплеер через разделение экрана<br />
Локальный мультиплеер через разделение экрана

На данный момент в игре есть два основных элемента прогрессии: открывание нового контента (дроны, турели, режимы и настройки) и соревнования с другими игроками через лидерборд.

Каждый игрок может без регистрации и смс отправить результат своей игры на сервер и попасть в таблицу рекордов. Количество очков за сражение зависит, в основном, от выставленной сложности. Игра позволяет очень гранулярно настроить сложность, так что предела совершенства почти нет. Мне это чем-то напоминает Космических Рейнджеров 2, где было несколько отдельных опций для регулирования сложности и можно было выкрутить всё на максимум и получить почти непроходимую игру (победить там можно, но это уже совсем другой геймплей).

Я буду очень рад увидеть ваши никнеймы в лидерборде. 😇

Лидерборд ждёт своих героев! Неужели Yukki так и останется лидером?<br />
Лидерборд ждёт своих героев! Неужели Yukki так и останется лидером?

Игра создана на довольно нишевом игровом движке с красивым названием Ebitengine. Игры на этом движке пишутся на языке программирования Go.

Я всегда старался уделять много внимания оптимизациям по науке. В игре используются крутые алгоритмы, эффективно распределяется нагрузка между кадрами. На моём ноутбуке Roboden потребляет 2-3% CPU даже в моменты крупных схваток, а на Steam Deck в него можно играть часов 10 без перерывов.

Запускаем Рободен на Steam Deck<br />
Запускаем Рободен на Steam Deck

Ebitengine позволяет создавать игры, работающие на разнообразных платформах. Сейчас Roboden можно запускать на Windows, Linux и MacOS. Есть так же билд, работающий прямо в браузере. Steam Deck? — Пожалуйста. Скоро ещё и под Android версию доделаю и выпущу в Google Play.

Прототип игры делался за неделю с небольшим во время геймджема. Если любопытно сравнить текущую версию игры с тем прототипом, можете посмотреть видео по ссылке.: )

Самые же любознательные могут изучить исходные коды игры. Там вы найдёте все ответы на технические вопросы, которые вы так настойчиво мне не задавали.

Моя RTS вышла в Steam и она честно-честно не является клоном Factorio

По-моему, вердикт очевиден — ставим Рободен и пробуем. :D

Тем более что игра бесплатная, так что поставить её в Steam — вопрос пары минут даже с учётом времени на скачивание.

210210
114 комментария

О, а я графику для игры рисовал!

19
Ответить

И ты проделал чертовски хорошую работу. 🧐
Плюс ты не только графику делал, но и в геймдизайне участвовал. :)

10
Ответить

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

8
Ответить

Вылезу из readonly ради коммента.

Узнал про игру еще в день релиза по новости в одном из профильных go сообществ, но до сих пор руки не дошли опробовать. Только звездочку пока поставил))

Огромное спасибо за публикацию исходников - посмотреть закулисье разработки игры редкая возможность для разработчика из другой сферы)

18
Ответить

Я ещё планирую библиотеку для поиска пути из игры вынести и выложить. Она получилась довольно неплохой и может быть полезна и в других игрушках на Go. А на хабре статью с разбором напишу. Существующие либы для построения пути работают с сотнями аллокаций на 1 вызов, а у меня - zero alloc.

13
Ответить

Go gamedev is alive!

7
Ответить

и она честно-честно не является клоном FactorioНу да, потому что она является клоном Mindustry
( ͡° ͜ʖ ͡°)

18
Ответить