Gedel Escape dev #3 (с крайне большой задержкой)

START. Вступление

Всем привет! Меня зовут Александр и занимаюсь я разработкой игры под названием Gedel Escape (а также являюсь автором уже выпущенной игры в Play Market под названием Color Chips). По основной профессии и образованию я учитель истории и обществознания в обычной городской школе, мне 30 лет и я решил уйти из педагогики, сменить сферу деятельности и заняться разработкой игр. Разработку игр изучаю по статьям и урокам на Youtube.

О игре Gedel Escape рассказывал в этой и этой статье, и в принципе планировал выпускать дневники разработки на DTF каждую неделю, но что-то не получалось.. Надеюсь, что с третьего выпуска всё же наладится постоянный цикл появления статей. Хотя бы потому, что это нужно для формирования сообщества вокруг проекта и пополнения списка желаемого в Steam (да, за время с момента выхода дневников №2 у игры появилась страница в магазине дядюшки Габена). Изменений произошло много и, чтобы не забыть что-то важное, даже был подготовлен план статьи.

Собственно, план статьи Justcodeit Games
Собственно, план статьи Justcodeit Games

Как видно из скрина, статья будет разбита на несколько разделов. Внутри каждого находится подробное описание, видеодемонстрация того, о чём говорилось и также анализ работающих и не очень механик. В общем-то вступительное слово можно заканчивать и переходить к сюжету.

1. Сюжет и жанр

Игра позиционируется, как космическая выживалка с элементами менеджера ресурсов и загадками. Она естественно однопользовательская, а значит наличествует сюжет. Планирую два варианта концовок (ибо больше со своим опытом просто-напросто не вывезу).

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

Gedel Escape Teaser

После крушения перед Домиником стоит главная задача: выжить и выбраться с планеты. По мере реализации задачи перед игроком откроются загадки планеты Гёдель и станет понятным, в чём её секрет.

2. Core Gameplay

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

3. Окружение

Планета Гёдель (шифр: YXY-37B) - небольшая зрелая планета, наблюдаемая как шар темного цвета, расположенная близко к звезде. Масса небесного тела в 4,3 раза меньше земной, полный оборот вокруг звезды планета совершает за 53 дней, часов в сутках: 12. Спутников у планеты: 2 (Антенатус и Фратер)

Вид планеты Гёдель и её спутников (кстати, самое первое, что я опубликовал в соц.сетях про игру) Justcodeit Games
Вид планеты Гёдель и её спутников (кстати, самое первое, что я опубликовал в соц.сетях про игру) Justcodeit Games

Планета представляет собой мир «земного» типа, но с атмосферой состоящей преимущественно из углекислого газа. Поверхность планеты имеет гористый рельеф, и умеренную геологическую активность. Атмосфера ограниченно пригодна для дыхания человека. Жизни здесь нет, хотя, возможно, она была ранее. На планете существует три биома: биологический Витал (покрыт растительностью, реками), арктический Фригус (покрыт льдами), пустынный Морэ (покрыт песком, не имеет источников влаги). Витал и Морэ расположены симметрично на двух сторонах планеты, возможно раньше они были частью одного материка, но вследствие катаклизма были разнесены центробежной силой. Фригус находится на южном полюсе планеты.

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

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

Доминик далеко не первый, кто оказался на планете Гёдель. До него там побывала другая космическая экспедиция, намного лучше подготовленная. Это, в итоге, не спасло её от сурового мира планеты, но позволило открыть много нового. Как раз таки порталы и были созданы членами той самой экспедиции для удобства перемещения.

Каждый из частей материка Витал это отдельная сцена в Unity, на портале настроен триггер, при взаимодействии с которым грузится соответствующая сцена. Все части материка это обычный инструмент Terrain, но я хочу сделать полностью процедурную генерацию ландшафта, чтобы при каждых новых сутках окружение менялось. Отчасти такая генерация создана для того места, откуда начинает игрок - там процедурно расставляются деревья, камни и пр. Но делается это коряво, потому надо что-то новое попробовать. Главной проблемой с которой столкнулся при генерации это необходимость размещать деревья на участках с разной высотой.

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

Новое окружение материка Витал

Для демо-версии (о ней чуть ниже будет) я хочу сделать полностью работающий мир материка Витал со всеми заданиями и активностями. Потому оформления других материков и частей Витала пока что не касался.

4. Инвентарь и игровые предметы

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

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

Там были такие для меня новые вещи, как scriptable objects, создание собственных классов и пр. Но в результате автор канала предпочел с инвентаря переключиться на другие механики и то, что я хотел получить в итоге достичь не вышло. Потому я отправился на поиски вновь и обнаружил видео уже от русского автора, который делал инвентарь примерно таким же способом (классы, Scriptable Objects), но как-то проще. В результате...

Выглядит примерно также, но суть работы уже другая

После надо было создавать игровые объекты (итемы). Туда же отнёс игровые ресурсы, необходимые для крафта и выживания. Вышло следующее:

Основные ресурсы: витал (жизненная энергия, то, что питает клетки всех живых организмов), кремний (содержится в камнях и иных каменных породах, основной ресурс для производства различных технических устройств), углерод (используется в комбинации с кремнием для производства полупроводников и производных на их основе)
Еда: углеводный батончик, сухая белковая смесь, жировой брикет

Жидкости: вода, тяжелая вода, энергетик, углеводный кисель, белковый кисель, жировой кисель

Ресурсы: витал, углерод, кремний

Оружие: плазменный пистолет, плазменный автомат, плазмомёт

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

Еда и напитки

Согласно задумке, в инвентаре будет 20 слотов, пять из которых будут защищены от изменений планеты. Получается, ресурсы и предметы, которые находятся там не исчезнут. Добывать необходимые инструменты и еду можно будет при помощи крафта. Схемы получения будут открыты сразу, нужно лишь будет иметь на руках нужное количество ресурсов (см. текст выше). Сбор витала, кремния и углерода возможен только при наличии специального инструмента под названием Жнец. Его игрок получит после решения первой загадки и выполнения первого микрозадания в начале игры. Модель Жнеца также была собрана из готовых моделей. И только недавно я предварительно настроил его работу.

Схема работы Жнеца (объекты, из которых можно получить основные ресурсы выделяются)

Иконки для итемов вначале делал через Photoshop, ну а потом на связь вышел начинающий дизайнер и согласился за просто так порисовать. В результате получилось гораздо лучше, чем было.

Также дизайнер дал рекомендации по внешнему виду и палитре интерфейса

Из ближайших планов в отношении инвентаря вижу следующее:

- добавить всплывающие подсказки на объекты, чтобы игрок понимал, что перед ним и как с этим можно взаимодействовать

- добавить показатели жизни / здоровья / прочности для собираемых ресурсов, которые (при достижении 0) приводят к уничтожению объекта и получению ресурсов

5. Локализация и озвучка

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

Локализация игры

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

Важное место в игре занимает озвучка. Хочется создать атмосферу, которая сгладит огрехи в анимации и графике. И вот тут пригодились школьные связи 😀 На связь вышел 7-классник, у которого два года назад я вёл уроки и предложил свои услуги композитора, причём бесплатно. Именно ему принадлежит музыка из главного меню.

Gedel Escape Main Menu OST Justcodeit Games

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

Озвучка пока что отсутствует у основных механик: взаимодействия с интерфейсом, поедание еды и жидкостей. Также есть косяк с шагами: я что-то когда-то где-то сделал и теперь звуки шагов слышны даже в том случае, если персонаж стоит на месте 🤷‍♀ Не могу понять в чём дело...

6. Управление персонажем

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

Перемещаемся по клику мышью

Через какое-то время я решил, что лучше привычное управление посредством WASD и изменил скрипт управления персонажем.

Перемещаемся при помощи WASD

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

Идеальная на данный момент схема передвижения персонажа

В игре появился курсор, который меняется при появлении инвентаря, также курсором можно направлять работу Жнеца. Основные механизмы движения камеры настроил при помощи расширения для Unity под названием Cinemachine, правда получилось всё далеко не с первого раза. Из того, что ещё нужно сделать - бег. Прыжки делать не планирую, так как под них нет каких-либо игровых механик и элементов.

7. Социалочки и Steam

Выход игры запланирован на осень 2021 года. В июле я буду участвовать в летнем фестивале демоверсий Steam. Необходимым условием участия в этом фестивале является страница приложения в сервисе, потому 14 апреля я (опять таки с очередной зарплаты) оплатил взнос и завёл себе аккаунт разработчика. Страница игры в Steam имеется, но её надо очень серьёзно настраивать.

Первые материалы игры появились в ВК, потому паблик по разработке Gedel Escape я считаю основным ресурсом и приглашаю туда всех, кого игра заинтересовала.

FINISH. Заключение

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

Gedel Escape и её выпуск - это мой старт в мир геймдева, я планирую начать заработок именно с неё. Отчего же такая уверенность, что всё получится? Потому что при рысканий в Steam натыкаешься иногда на такую дичь, которую люди покупают, что смотря на то, куда вложены уже 4 месяца свободного время и сил, я понимаю, что не выстрелить игра не может. Нет, нет, это не будет хит, это будет просто хорошая игра. И периодически получаемые о ней отклики со стороны незнакомых людей и подписки на оф. паблик разработки являются подтверждением этого.

Ну и наконец вот ссылка на страницу игры в Steam. Если тебе понравилось то, о чём читал выше, то добавь игру в список желаемого.

Благодарю за внимание и готовы ответить на ваши комментарий 😎

1111
3 комментария

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

Сейчас попробую, спасибо за сигнал

У меня норм всё. С анонимной вкладки браузера с телефона работает.