Nullmaze - моя попытка создать пиксельную игру-песочницу

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

Nullmaze - моя попытка создать пиксельную игру-песочницу

Идея

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

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

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

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

Первая попытка

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

Nullmaze - моя попытка создать пиксельную игру-песочницу

Она была выложена на itch.io и gamejolt.com, и я смог собрать первый фидбек по игре.

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

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

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

Nullmaze - моя попытка создать пиксельную игру-песочницу

Переосмысление - бесконечный игровой мир

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

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

Судя по статистике игрового времени данное обновление пошло на пользу игре, но все же надо было продолжать улучшать проект.

Попытка переосмысления - случайная генерация предметов

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

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

Переосмысление - статичные предметы в магазине, но с более сложными цепочками их открытия

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

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

Nullmaze - моя попытка создать пиксельную игру-песочницу
Nullmaze - моя попытка создать пиксельную игру-песочницу

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

Nullmaze - моя попытка создать пиксельную игру-песочницу

Подготовка демо к Steam - обновление освещения, диалоговая система и локализация

Когда я определился с видением игрового процесса и понял что формат в принципе может завлечь игроков на какое-то время то решил "полировать" то что есть и выложить демо-версию как раз к февральскому фестивалю в Steam (спойлер: я успел).

Для начала я сменил освещение и немного изменил угол камеры чтобы попробовать сделать игру чуть более объемной (насколько это возможно для 2D игры).

Nullmaze - моя попытка создать пиксельную игру-песочницу
Nullmaze - моя попытка создать пиксельную игру-песочницу

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

Nullmaze - моя попытка создать пиксельную игру-песочницу

Я добавил некую примитивную диалоговую систему для того чтобы ввести игрока в курс дела и чтобы у демо-версии была хоть какая-то структура.

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

Nullmaze - моя попытка создать пиксельную игру-песочницу

Всем кому интересно, вот здесь можно попробовать демо-версию и взглянуть на страницу проекта в Steam:

Дальнейший планы и релиз

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

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

Я открыт к фидбеку по любым вопросам и моментам, поэтому если есть идеи/предложения/замечания - буду рад услышать.

На этом всё, спасибо за чтение! :)

2828
16 комментариев

Движок Unity, язык соответственно C#? 
Выглядит не плохо, ток выглядит окружение голо немного все равно, ну я уверен доработаешь все, успехов тебе, красавец х)
Гифка атаки куста напомнила мне анимацию атаки в игре Рхун, а Java мобилочки 

1
Ответить

Да, Unity + C#. Спасибо!

Ответить

отлично, продолжай! 

1
Ответить

еще можно покупать возможность что-либо купить =)

имхо концепция интересная, не хватает какой-то идейной подводки\цели и челленджа в его достижении. 

Условно: аццкая тьма поглощает все вокруг, каждый день она становится сильнее и поглощает активнее. Доступное пространство сжимается. Заполнение мира предметами тормозит этот процесс. Но вместе с новыми предметами герой получает не только бонусы, но и новые сложности: в лесу появляются кролики-убйцы, кактусы колятся и снимают HP, кусты - замедляют бег по ним и т.п. 

1
Ответить

приятно почитать про что-то небанальное. Удачи!

1
Ответить

Forager не вдохновлялись?

Ответить

Когда пришла сама идея в голову то нет, а вот во время "итераций" когда пытался понять как сделать игру интересней то просматривал похожие по задумке игры и какие решения там были, в том числе нашел и Forager, так что косвенно да, вдохновлялся.
Также мне очень понравилась игра "DLC Quest" - в ней тоже были похожие идеи с докупкой механик/элементов игры со стебом в сторону большого кол-ва dlc в современных играх.

1
Ответить