Игра в жанре текстовый квест (Choose Your Own Adventure) с интерактивными 3D паззлами, разработанная на конкурс "Зимняя Олимпиада Квестов 2021". Разрабатывал я её в одиночку, на движке Godot.
Скачать и поиграть можно по ссылке. Имеются сборки для следующих платформ: Windows 32/64, Linux 32/64, или версия с пониженной графикой под Windows 32-Bit.
История разработки
Делать игру я начал 3 января 2021 года, а завершил работу 7 февраля, за суммарное время в 33 дня. Это был мой первый опыт в жанре Interactive Fiction, хотя GameDev'ом занимаюсь далеко не первый год. Игра получилась короткой, но тому есть ряд причин, о которых я хочу рассказать более подробно.
Итак, первым делом я решил разработать инструмент - визуальный редактора графов, с помощью которого программировалась логика текстовой части игры. За одну неделю был разработан быстрый прототип, после чего я выявил две ошибки. Первая ошибка заключалась в визуальном дизайне, все было очень крупным и топорным, а вторая в архитектуре кода самого редактора. Так было принято решение все переписать и переделать графическую часть.
Итоговый вариант редактора.
Разработка этого инструмента была "закончена" седьмого февраля, т. е. она продолжалась на протяжении всей работы над игрой. Время от времени я переключался на другие задачи – моделировал куб и коридор в 3D, рисовал текстуры и иконки, сочинял сюжет, создавал персонажей, делал черновые наброски текста в блокноте, и конечно же программировал сами паззлы и текстовый интерфейс будущей игры.
Небольшая видео-демонстрация.
Создавая куб, я вдохновлялся шкатулкой Лемаршана из произведений Клайва Баркера – «Восставшие из ада». По задумке - части этого артефакта должны были быть разбросаны по различным игровым локациям, а игроку предстояло их найти и собрать вместе. Но из-за нехватки времени, сценарий пришлось многократно сократить. Как результат - в игре мы находим уже целый куб, который нужно лишь правильно «сконфигурировать».
Так выглядит этот куб.
Если внешним видом куба я остался доволен, то дела с монстрами обстояли иначе. Их было трое, и каждый со своим характером и уровнем опасности, место их обитания - иной мир, куда случайным образом попадает наш игрок. На образ каждого монстра я потратил порядка полтора дня, хотелось сделать их более отвратительными, но получилось вот так.
Монстро пати.
Еще одним важным элементом была квартира и "скрюченный" коридор, который вел к различным номерам этого многоэтажного дома. Не так-то просто пройти по нему, не провалившись в бездну. Поэтому игроку предстояло выровнять коридор по средством тайных ритуалов, прежде чем он сможет попасть домой.
На полпути от дома.
Завершалось все тем, что 7-го февраля у меня был полностью готов визуальный контент, не доработанные паззлы и редактор графов, отсутствие текста и не запрограммирована логика.
В этот день я параллельно дорабатывал редактор, текстовой движок, соединял все эти разрозненные компоненты, отлавливал кучу багов в коде, и даже наткнулся на неизвестную мне ранее ошибку в самом Godot'е, на вылавливание которой ушло порядка половина часа.
Это когда ты смотришь на свой код, интерпретируешь его мысленно, и вроде все правильно, а работает не так, и нет сообщений о каких либо ошибках в отладчике, и вроде бы ничего не отваливается, но и результат выполнения программы - некорректный.
Я уже хотел сливаться с конкурса, ибо не понимал в чем причина, и сильно устал за все это время, но данное в начале слово о том что я сделаю игру на собственном редакторе графов, подстегивало и не давало мне покоя.
Обычно в таких ситуациях нужно писать юнит тесты на каждую, хоть немного важную строчку кода, но здесь толи мне повезло, толи как по наитию - я начал тестирование именно с причинной строчки, которая работала не правильным образом.
С легка переписав изначальный алгоритм функции, который собственно и отвечает за интерпретацию графа и выполнения прописанной в ней логики, я наконец-то начал писать текст уже в самом редакторе.
До конца конкурса оставалось часов восемь, а у меня лишь черновые наброски, и то процентов на 30 от финального объема действий и диалогов, которые я прописывал в течении оставшегося времени. От сюда и ошибки в тексте и сильно сжатый сценарий, ведь все писалось и додумывалось уже на лету.
Вычитка? Нахождение и исправление ошибок в орфографии? Все это я проводил поверхностно и в спешке, ибо оставался последний этап - сделать финальную сборку и отправить её организатору конкурса.
Так как я не первый день работаю с Godot, то знаю что сюрпризы могут подстерегать тебя где угодно. Так и получилось что в режиме разработки - все работает как надо, а стоит экспортировать проект в самостоятельное приложение - и оно отказывалось запускаться.
Уже оставалось минут сорок до конца конкурс, а у меня это был уже час - двадцать ночи, когда я боролся со сборкой, ища возможную причину неисправности в конфигурациях проекта. Спустя немного времени мне удалось получить работающую версию игры.
Перед отправкой работы нужно было еще протестировать её на наличие критических ошибок в игровой логике, чем я собственно и занялся. Спустя минут десять - финальная сборка была упакована в архив, и отправлена организатору конкурса.
P. S.
Возможно что я еще вернусь к этой игре, и доделаю её в соответствии с изначальной идеей, и в задуманном объеме. На этом все. Пока!
Общая информация Редактор графов - это по сути система визуального программирования, где нужно оперировать функциональными узлами, соединяя их в определенных последовательностях, от которых и будет зависеть выполнение той или иной функции программы. Пример того как может выглядеть граф. Здесь три узла: данные, настройки и матрица передаются в узел Render, который на основе полученных данных сформирует (просчитает) итоговую картинку и передаст её в Preview, чья задача - отобразить результат в специальном окне, а так же в узел Save, который сохранит картину в файл. Бывают разные системы графов, созданные для решения конкретных задач - будь то Render и настройки материала (шейдера) в 3D, или написания логики текстовой игры, как например моя реализация в игре Дверь . Более подробно о разработке игры я писал в предыдущей статье . Предыстория Идею по написанию этой системы я вынашивал достаточно давно, но только недавно принялся воплощать её. Начиналось все с конкурса интерактивных текстовых...
Введение В древние времена, когда не существовало текстильной и фармацевтической промышленности, чтобы обеспечить людей тоннами одноразовых масок, перчаток и таблеток арбидола, на борьбу с эпидемиями выступали отважные, чумные доктора. Вот и эта история об одном маленьком докторе, который поклялся на могиле Гиппократа, что искоренит зло витающее среди смертных, и спасет мир с помощью пилюли и меча. Однако, часть истории была потеряна, и сохранился лишь рассказ финального акта. Лечение корона вируса по средневековому. Общая информация Планировалась Zelda-like игра, но из-за нехватки времени, успел реализовать только часть боевой системы, два небольших уровня, мелких противников и босса. Тем не менее игра получилось несколько сложной, но вполне проходимой. Я с этим проектом участвовал в конкурсе " Веселые и Хайповые " на GameDev.ru, который проходил во время карантина. Доступны сборки под Windows и Linux. Игра несколько требовательна к ресурсам компьютера, поэтому в начале нужн...
Введение Представьте себе: землю атаковали ракообразные мутанты, искусали её вдоль и поперек, да так что целые города превратились в бесплодную пустыню. Ни деревьев, ни воды, только полу съехавшие многоэтажки, и повсюду рыскающие, вечно голодные крабы. И где-то там, в одном районе, одного засыпанного песком города, борется за выживание храбрый человек на усовершенствованном, сельскохозяйственном тракторе - Зорюшка 39... Скриншот из игры. Основная информация 3D игра в жанре Survival, созданная мной в рамках конкурса " Челлендж на выживалку за 120 дней ", на GameDev.ru. Игроку предстоит собирать ресурсы, крафтить болты (стрелы) для арбалета, чинить "железную кобылу", подливать ей топливо чтобы не заглохла, и конечно же - отбиваться от крабов переростков! В игре так же присутствует прокачка, и инвентарь, а главная цель - собрать определенное количество еды и доставить её в специальный пункт, помеченный белым прямоугольником. Игра доступна для платформы Windows/Linux/...
Комментарии
Отправить комментарий