Игровой проект «This is my way» на Unity. Часть 2

Предисловие

С момента публикации первой статьи (Игровой проект «This is my way» на Unity. Часть 1) прошло 23 дня. За это время моя напарница (Медведникова Ю.А.) дополнила список ТЗ, элементы которого предстояло (и предстоит в дальнейшем) нам реализовать. 

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

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

Что есть сейчас в проекте

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

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

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

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

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

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

На этом описание фактически используемых новых реализованных механик и элементов, которые имеют значение – закончилось.

Заключение

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

Дополнительно: демонстрация кода в данный момент осуществляется только по непосредственному запросу.

С уважением, Стороженко В.Л.