1 ноября 1 нояб. 7 719

Nebula Elite devlog 1

+14

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

Однако такая тишина способна сама по себе работать на снижение мотивации, поэтому я попробую вести более-менее регулярные девлоги. Надеюсь, всё будет честно — для меня шанс на какую-то обратную связь, а для вас какие-то занимательные факты. Но начну я с описания того, что же такое NebuLeet.

Что же я планирую реализовать в игре:

  • Симуляция живого мира
  • Экономика, основанная на модели аукциона с лотами на покупку и продажу
  • Битвы в космосе — как с ручным управлением, так и в режиме автобоя
  • Полная или частичная автоматизация автопилота через визуальное программирование
  • Модульные корабли — собираем судна из отдельных частей
  • Тактические планетарные битвы
  • Фокус на большом количестве свободы в игре, но и сюжетные квесты будут под рукой
  • Дружелюбная к моддингу структура игры

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

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

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

Экономика и торговля максимально честная — если кто-то купил ресурс, то они заплатили за это свои кредиты. Если где-то произведена часть экипировки, она выкладывается на аукцион с ценой, которая зависит от цены ресурсов, которые были использованы предприятием для создания этого товара. Можно устанавливать монополию, манипулировать рынком играя на спросе и предложении — игрок полноправный участник экономики, но его роль не имеет большего веса, чем роль в экономике любой планеты или предприятия.

При работе над аукционом, я во многом вдохновлялся тем, как это работает в ММО играх, где игроки формируют рынок. В NebuLeet игрок может влиять на спрос или предложение путем создания своих лотов на покупку и продажу.

Нельзя просто «купить» минералы, вы покупаете их или у конкретного предприятия через их sell order, или создаёте свой buy order и ждете, пока вам кто-то продаст материал по выбранной цене.
Нельзя просто «купить» минералы, вы покупаете их или у конкретного предприятия через их sell order, или создаёте свой buy order и ждете, пока вам кто-то продаст материал по выбранной цене.
Аналогично с продажей. Цена покупки зависит от множества факторов, а конкретную цену покупки выставляет местное для планеты предприятие, которому нужен тот или иной товар. Не нравятся цены на рынке? Можно создать свой sell order.
Аналогично с продажей. Цена покупки зависит от множества факторов, а конкретную цену покупки выставляет местное для планеты предприятие, которому нужен тот или иной товар. Не нравятся цены на рынке? Можно создать свой sell order.
Можно отслеживать цену во времени, количество запасов ресурса на планете в целом, и многое другое.
Можно отслеживать цену во времени, количество запасов ресурса на планете в целом, и многое другое.

В конструкторе кораблей можно сидеть часами, создавая что-то совершенно неожиданное. При этом позиционирование некоторых деталей влияет не только на внешний вид, но и на эффективность. Например, ракетницу можно развернуть на 180 градусов и стрелять ими за спину.

Скриншот творчества моего друга.
Скриншот творчества моего друга.

Битвы в космосе представляют из себя сражения кораблей на отдельной арене. На каждой стороне может быть несколько кораблей.

Управлять кораблем можно вручную, тогда это будет что-то вроде аркадных битв в «гипере» (черные дыры, Космические Рейнджеры). А можно включить автопилот и играть в них как в autobattler. Автопилоты не простые, а программируемые — можно создать свой алгоритм вместо стандартного.

 

Пример ручного управления и демонстрация механик одного из оружий.

Визуальное программирование выглядит так.
Визуальное программирование выглядит так.

Игра проходит в одной звездной системе, в которой 12 планет. Примерно половина из них заселена, а остальные — полигоны для планетарных сражений за территории.

Масштаб мира выбран таким, чтобы исход даже от мелких решений был проще заметен. Это что-то вроде Mount & Blade в космосе (только вместо размещения мелких поселений на карте, они унесены в планеты — там может быть больше десятка организаций разной направленности).

 

Торговцы летают, что-то покупают и продают. Жизни в космосе пока не так много, но я работаю над этим.

Планетарные битвы ещё ни в каком виде не добавлены в игру, но я сделал идейный прототип на недавнем Ludum Dare 56. Битвы очень похожи на автобой в наземных схватках Master of Orion. Учтите, что этот прототип делался всего двое суток, он лишь демонстрирует как это могло бы играться.

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

 

На графику внимания не обращаем. Главное - механики. Расстановка войск, автобой, выбор "карт действий" до битвы.

Моддингу могут подлежать многие аспекты игры — как изменение существующих значений, так и добавление нового контента. Например, можно добавить новое оружие в игру или свою деталь для корпуса.

Весь базовый контент в игре описывается в открытых JSON-файлах, поэтому все эти же фичи можно использовать и в кастомном контенте.
Весь базовый контент в игре описывается в открытых JSON-файлах, поэтому все эти же фичи можно использовать и в кастомном контенте.

В игре, скорее всего, будут короткие текстовые эвенты в стиле FTL, но полноценных текстовых квестов я не потяну.

В игре уже есть наработки для диалоговой системы, которая может тянуть и что-то вроде текстовых квестов. Проблема скорее в том, что для хороший текстовой квест требует хорошего писателя.
В игре уже есть наработки для диалоговой системы, которая может тянуть и что-то вроде текстовых квестов. Проблема скорее в том, что для хороший текстовой квест требует хорошего писателя.

Изначально, я планировал сделать гораздо менее амбициозную игру. Что-то вроде Carnage Heart, только в космосе. Но такая игра могла бы довольно быстро надоесть: у улучшения своего флагмана должна быть какая-то более долгосрочная цель. Подход неторопливых ролевых игр, типа Mount & Blade, работает здесь очень хорошо — у игрока всегда будет конкуренция с окружающим миром, в котором хочется преодолевать трудности даже за диапазоном текущего этапа развития, что и мотивирует развиваться как игроку (писать более хорошие алгоритмы или улучшать своё ручное пилотирование, например). Это как победить босса 20 уровня, когда ваш персонаж только что поднял 15-й. Если же игра не дает такой свободы подобрать себе вызов, то эффект от этого будет слабее.

В Carnage Heart мы тоже используем визуальное программирование для контроля над юнитами. Я пытаюсь сделать такое программирование, которое одновременно и более простое/удобное, и не намного менее функциональное. По задумке, это программирование должно ощущаться как игра в паззл, а не как работа.
В Carnage Heart мы тоже используем визуальное программирование для контроля над юнитами. Я пытаюсь сделать такое программирование, которое одновременно и более простое/удобное, и не намного менее функциональное. По задумке, это программирование должно ощущаться как игра в паззл, а не как работа.

Заинтриговал? Или, может быть, у вас есть вопросы?

Вы можете очень сильно помочь мне, добавив игру в список желаемого (wishlist) в Steam. :)


Лучшие комментарии

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

Думаю на SG можно было бы больше в игровую логику уклон делать, а не в код и реализацию. 🤔

Чем старше я становлюсь, тем приятнее в теории слышать что-то про юность, даже если это сарказм и/или ирония. :)

И пусть мне не хватило какой-то технической части, историй из разработок, данных, идей

Прямо техническое я на хабре обычно выкладываю (ник quasilyte). Но в целом рассказать есть много о чём, но пока не знаю, с чего именно начать.

Например, есть история про набор команд в визуальном программировании, про шейдерную генерацию космоса и звезды (с анимацией). Я не знаю, насколько такие тему на SG могут быть уместны из-за хардкорной техничности.

(вопрос хороший, я могу только попробовать ответить)

Я думаю почти с любой компонентой КР такое было, некоторым текстовые квесты не нравились, а другим — аркадные битвы в черных дырах, но все они (как и RTS) были опциональными, поэтому можно было играть без них.

Мне во всех этих элементах (текстовые, RTS, чд, и некоторые другие) не очень нравилось то, что, что они вырваны из контекста, как мини-игры, в которые может играть только игрок. Другой рейнджер не может выполнить текстовой квест, пройти RTS-битву, нырнуть в чд, и так далее — это такие отдельные миры, живущие по своим правилам и вне времени (можно в текстовом квесте 2 недели вести президентскую кампанию, а потом выйти из квеста в тот же день). Но они играли роль разнообразия, чтобы разные игроки могли получать деньги и опыт разными способами.

Я решил интегрировать эти мини-игры прямо в основу. Планетарные битвы — это не отдельный режим, а что-то, что происходит и без твоего участия. Игровые фракции сражаются за контроль территорий и ресурсы. Участвовать в этом или нет — выбор игрока, но, если он будет участвовать, то и последствия будут в той же игре, а не в контексте одной партии RTS.

Другой своеобразностью планетарок в КР2 было то, что они были просты для профеессионалов (или тех, кто абузил баланс и ИИ) и почти непроходимы для новичков в RTS. Да и занимают они по 10-40 минут, в зависимости от удачи/скилла/карты, что довольно много. В моей идее пока что время на битву зависит от желания игрока — можно авторасстановку войск сделать и потратить ~10 сек на бой, но побеждать с большими потерями, а можно 2-3 минуты думать, как бы малыми силами захватить крупный регион, если игроку интересна тактическая часть (и ещё дольше подбирать войска до самой битвы).

Самому миру планетарные битвы за территории нужны, чтобы была более высокая динамичность в дипломатии и потоке ресурсов. Текущее положение «на земле» будет менять доступность тех или иных ресурсов для фракций, оно же будет провоцировать войны и альянсы. Если бы битвы были только в космосе, пришлось бы делать сражения на кораблях чаще, от чего космос мог бы стать настоящей ареной. Размазать конфликты в две плоскости пока звучит удобно.

Не уверен, что получится однозначно лучше, но будет немного иначе. Моя главная задача — чтобы каждая деятельность была честной и частью игрового мира. Именно поэтому экономика идет через явные покупки-продажи как для игрока, так и для любого компьютерного агента.

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

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

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

А всякие смешные ситуации с рынком и экономикой, которые может создавать игрок, я считаю чем-то позитивным. Лучше чтобы в игре была возможность применить смекалку и видеть результаты, чем баланс будет пытаться удерживать определённую сложность. :) Мою задачу вижу сделать «слом» не таким простым и чтобы оно в среднем работало. Если кто-то хочет стать монополистом в чём-то, why not. Если хотим победить через экономику, то хорошо иметь влияние экономики на что-то кроме баланса $ игрока. Я не могу дать игроку отыгрыш роли как в других RPG, но эта роль может отыгрываться через действия. Если на планете голод, завезти туда еду и продать дешевле рынка — это добрый поступок.

Пока сложновато представить, насколько легко будет соблюсти баланс — чтобы и сломать игру было возможно, и чтобы это не было тривиально.

Буду честен, открывал блог с скепсисом и мыслью " ну-ка, что там юные дарования хотят порекламировать на этот раз".
И пусть мне не хватило какой-то технической части, но проект в целом смог лично меня заинтересовать, что даже в желаемое закинул.

Много кто плевался на планетарные бои во второй части. Думаешь, они вообще нужны в такой игре?

Симулиционизм, в данном случае экономики, за ради симуляционизма редко срабатывает. Люди ещё согласны терпеть все эти дополнительные клики, по сути очередной гриндилки, если за ними будут сиськи или ещё какое удовлетворение потребностей. Но само по себе оно мало кому нравится.

Частично это правиться через автоматизацию, как в тех же Иксах.

Ну и прочие проблемы, начиная с неспособностью фиксированных систем справляться с перебоями в поставках, заканчивая чёрной дырой игрока, который стягивает к себе все возможные материальные ресурсы. В КР в своё время это решали очень дубово, каждый новый корабль во вселенной стоит +\- столько же, сколько игрок на тот момент.

Читай также