Работа над собственной RTS
Всем привет!
Меня зовут Пётр и я - железный человек разработчик игр!
Игра "Dune M.A.R.S" - это моя третья попытка создать интересную стратегию, основными фишками которой должны быть:
- Простота восприятия (нет кучи метрик, лишних цифр, скрытых под тоннами менюшек)
- Легкость управления (играть можно, задействуя минимум действий от игрока)
- Плавность развития (этпаность развития, так может лучше сказать)
- Мультиплатформенность (возможность игры в формате Online независимо от платформы)
- Сюжетная кампания (что-то тут пояснять?)
Какие платформы поддерживаются уже сейчас:
- Windows
- Linux
- Android
- iOS / iPadOS
- MacOS
- HTML5/WEB
Независимо от платформы, играть можно в режиме онлайн (как Йода сказанул).
Имеется ввиду, что "Игрок А" на Android может с лёгкостью зарубиться с "Игроком Б" на Windows.
Трудность, которую я для этого пока не преодолел - архитектура сервера.
Трудность, которую я УЖЕ преодолел - UI/UX, поддержка всех видов управления, минимизация действий от игрока и больше автоматизаций с возможностью давать шаблоны поведения.
Но и каждым конкретным юнитом можно управлять.
Есть шуточный "режим Рембо", когда можно взять под контроль любого юнита (или технику) и управлять им от третьего лица.
При разработке я черпаю вдохновение из "сеговской" версии игры "Dune", той, что где надо воевать за арахис. В моём детстве, что занятно, я ничего не знал ни об "Арракисе", ни об арахисе, так как рос в глухой деревне, но сегу родители как-то раздобыли, за что им конечно же моё ностальгически приправленное спасибо! Вернуться бы туда...
СТРОИТЕЛЬСТВО
Строить в игре надо, и иногда много.
Менеджмент (я модный) ресурсов строится на трёх составляющих:
- Металл (в игре называется "Ресурс")
- Электричество (обычное)
- Вода (необычная)
Ресурс и Вода добываются при помощи специальной техники, электричество вырабатывается генераторами и преобразователями.
За каждый тип ресурсов отвечает соответствующая постройка: Элеватор, Бойлер, Электростанция.
У них ещё есть вспомогательные постройки - склад, генератор, резервуар и т.д. Вспомогательные штуки увеличивают скорость переработки и максимальную ёмкость хранения накопленных единиц.
Все постройки, в зависимости от своего типа, так или иначе всё это расходуют. Так что с ростом построек нужно будет контролировать баланс, иначе постройки начнут сбоить, а от их работоспособности зависит много составных механик.
ПРОИЗВОДСТВО
Помимо строительства, есть ещё и производство (сюда помещается и обучение бойцов).
Есть основные типы построек, отвечающих за производство: казармы. заводы, лаборатории.
Казарма позволяет производить базовых юнитов с лёгким и тяжелым вооружением.
Завод производит технику и оборонительные сооружения.
У них тоже есть вспомогательные постройки, позволяющие производить водителей, пилотов, командиров, и т.д.
Для завода тоже дополнительные постройки есть.
В общем, всё по классике.
УПРАВЛЕНИЕ
Управлять юнитами можно с любого типа устройства: сенсор, мышь, геймпад, пульт от телевизора, и т.д. В этот раз я решил пойти совсем другим путём и очень запарился, чтобы сделать управление плавным и понятным.
Управление постройками довольно простое - это просто менюшки и навигация.
Управление юнитами я постарался сделать удобным:
- Выделение любого юнита
- Выделение группы юнитов по радиусу
- Выделение по сетке
- Группировка юнитов (если в группе есть командир, то при отдаче ему команд он распространяет их на всю группу)
Выделенных юнитов можно:
- Отправить к точке
- Рассредоточить (для снижения риска попадания)
- Сосредоточить (для уплотнения огня)
- Направить на цель
- Преследовать (но не стрелять и не выдавать себя)
- Перейти в осадный режим (увеличивается радиус атаки но пропадает возможность перемещения)
- Сняться с осадного режима
Техникой можно давить юнитов.
МЕХАНИКА СРАЖЕНИЯ
С момента начала уровня сражение считается начавшимся. Развитие начинается с нуля и всех соперников (пока игра строится по принципу 1 на 1, но технически мне ничто не запрещает сделать и другие режимы, допустим, 2 на 2, или все против всех и т.д. Пока проблема в архитектуре сервера).
В сюжетной кампании бой происходит против ИИ, он довольно простенький, но нужно балансировать, чтобы он тоже опирался на свои ресурсы.
Победой считается уничтожение штаба соперника. Остальные постройки можно уничтожать, а можно и не трогать. Главной целью является штаб. Но на ранних этапах уничтожить его не выйдет, так что любителям заслать группу стартовых юнитов на базу противников облом.
Демка игры скоро появится, и в неё можно будет поиграть. Вначале будет только сюжетная часть, без онлайна.
Вот такие мои инди-дела. Очень рад, что имею возможность поделиться всем этим!
ТЕХНИЧЕСКИЕ ПОДРОБНОСТИ
- Игра делается на движке Godot Engine версии 3.6
- В качестве сервера есть два варианта: сервер на Godot или сервер на Python/NodeJS.
Я проработал в базовом виде все варианты, и предпочтительно конечно на Godot, но, там есть свои нюансы. Возможно, сделаю что-то вроде "тонкого сервера" на NodeJS. Тут мне предстоит время экспериментов и наблюдений.
- Графика в игре создаётся в программе Blender 3D версии 3.5
Моделирую я так себе, но с отдалённым видом, нормально. Тем более, что графика, это то, что можно переделать. Так что пока на неё не делаю акцента. Мне бы победить задуманные механики...
ПОСЛЕСЛОВИЕ
Мне очень не хочется быть автором одной игры, не хочется быть заложником жанра и существовать в рамках одного проекта, поэтому я так стремлюсь разнообразить область, в которой работаю.
Конечно, можно сказать, что нужно делать то, что получается лучше всего - но мне, в таком случае, проще вообще ничего не делать.
Хочется развития.
Пока же, вот список моих проектов, вдруг кого заинтересует =)
- Бункер 21
Приключение от первого лица. Видео собрало почти миллион просмотров, обалдеть!
- Убежище
Приключение от первого лица. Мой текущий основной проект.
- Альтернативный Мир
Приключение от первого лица. Игра временно заморожена. Думаю, что делать.
- Traffic Driving
Аркадные гонки для ТВ, делал ради эксперимента, считаю его провальным.
- Dune of Mars
РТС в реальном времени с очень специфическим управлением. Делал в качестве проверки сил, силы проверил, игра получилась не очень.
- Игра про шарики
Убивалка времени для ТВ и смартфонов. Делал чтобы протестировать работу на ТВ. Протестировал, работает.
- Tractor Defeat
Гонки с несколькими режимами. Раньше был онлайн, но после продажи игры, вроде как, отключился.
Спасибо всем большое за внимание! Простите, если кого-то задел.