Игра про робота: Как это было или могло быть.

Классический пост во_время\после конкурса. Очевидно, содержит спойлеры сюжетные и игровые.

Начну свой рассказ с того, что не мог понять тему и пытался выяснить смысл её, что на Гамине, что в чате Гамина. Важные даты. Даты стали мне более-менее понятны — это события, единичные или ежегодные, но могут быть и ежесезонные? Но что такое Важные? Кому они важны? Почему?

Долго не мог решиться участвовать или нет. Склонялся даже пропустить этот Гаминатор, но затем пара идей и захотелось их воплотить. На вопрос важности дат так и не смог ответить, ведь я и в реальности не всегда понимаю их ценность-важность. И практически аналогичным путём пошёл в игровом лоре — те даты, что встречаются на самом деле не «важные события», а в каком-то смысле факты.

Начало

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

5iryzWe

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

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

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

EMX0ke3

Геймплей, которого не было

На концепте указана пара построек, которые не вошли в игру. Но я бы сказал, что это целый пласт игрового процесса, а не просто постройки. В планах была хоть какая-то механика боя, а если не боя, то сдерживания атаки т. е. в каком-то простом смысле tower defence. Игрок мог строить не только мосты и лестницы, но и пушки для обороны, а в качестве врагов выступала бы чёрная слизь, которая собственно и портила бы постройки. Появляться они должны были бы тоже по своему таймеру, который я нагло украл из Зельды BotW — там появляется Красная Луна и воскрешает всех врагов.

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

Ещё один важный игровой момент, который даже не дошёл до этапа обдумывания, но есть в концептах — смерть и препятствия. Например, думал о добавлении «бассейна», который роботу явно противопоказан, но если бы мы повернули какой-то рычаг, то вода бы ушла и открылась новая зона исследования. Так же нет классических шипов, хотя казалось бы. В итоге смерть в игре одна — по таймеру. Или от бага.

Опять он со своим 3D

ГМС ЭТО ТРИ ДЖЭ ДВИЖОКЭ!!1 Не умею делать даже 2д игры, но тянет меня пытаться вывернуть гмс так, чтобы он стал трёхмерным. Наверно это моя специфичная тяга чуть ли не к движкописательству и прочему тех.артовскому.

Возможно, кто-то знает про мой проект The Стенки. Думаю он никогда не будет доделан. Для этой же игры я просто взял и с нуля написал какие-то 3д штуки. Но да, у меня есть опыт работы с 3д в ГМ, как минимум в одной игре полноценной. А ещё Вампир Виталий.

Но пришло время немного побухтеть. Как выяснилось, в GameMaker нельзя взять UV координаты тайла. Нельзя и всё. Можно получить координаты тайлсета, а высчитывай давай сам. Разве сложно? Вообще нет, если настроить тайлсет. А если не настраивать, то будут совсем не те координаты.

Платформер 2.5Д на самом деле предназначался как раз для того самого проекта-который-не-попадает-в-тему. И я решил, что можно было бы и набить руку на таком платформере. В итоге всё равно вышла каша, что по 2.5Д, что по физике, что вообще устройству.

Про уровни

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

wvKORuQ

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

Много времени потратил на создание уровней в ГМ из тех набросков что были. Оказалось, что мне багованный ГМ попался и приходилось на каждый новый уровень-экран выставлять размеры. Ещё больше времени я провёл за написанием-улучшением своего старого кода с порталами-переходами между уровнями. Как в итоге выяснилось — очень зря, так как они не используются практически никак (кроме дверей, но там совсем другая логика).

Tiled

Затем я подумал, что может пришло время использовать внешний редактор независимых (от ГМ) тайлов? Смог вспомнить только то, что Dreik использовал эту программу как раз в аналогичном ключе — один большой мир, который разделён на «экраны». В моём случае понадобилось добавить особую логику со слоем Rooms, что оказалось достаточно просто.

D5lNGvA

Всё это делалось в +\- последнюю (4-ую) неделю конкурса. Написание кода загрузки заняло около 2−3 дней, а дальше это всё допиливалось каждый день до конца сроков. (кроме сегодняшнего дня)

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

О теме

Основной стали даты внутриигровых событий-фактов. Мне это напомнило битси джем № 1, где я сделал краткую пробежку по всей своей игровой вселенной. Кто-то что-то понял? Думаю нет. Поэтому и этот проект не исключение. Должен признать, что я просто выдумал даты и некоторые события. А к каким-то событиям примазал даты. Например получилось так, что события Вампира Виталия происходят в будущем, хотя при разработке я думал про настоящее или +\- недалёкое прошлое.

Большой проблемой было придумать даты месяц-число. Казалось бы — бери любые. Но нет. Изначальную свою задумку я запорол, когда перешёл на Tiled и у меня появилась свобода делать комнаты любого размера и при этом иметь 100% стыковку мира.

Изначальна идея месяц-число была такая, что в зависимости от того, где находится «дневник» в координатах ячеек такая дата и ставилась. То есть игровой мир это буквально календарь. Честно говоря у меня не хватило сил и терпения, чтобы смотреть даты. Меня хватило лишь на ЧАТЫРЕ таких даты. То есть я реально брал календарь 2117 года например и смотрел по ячейкам-месяцам-дням куда попадает. Затем я автоматизировал этот процесс в игре, получил даты и записал в файл. Потом конечно оказалось, что оно не очень точное, но я так и оставил.

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

Конкретно в игре такой отправной точкой служит «ошибка в коде». День и событие неважное, но по итогу несёт за собой последствия некоторых столь же неважных событий. Конкретно в этой игре исправление ошибки не спасает мир\человечество, потому что событие с кодом исправляет лишь роботов. В игре я кстати не указал, что условный конец света так же наступает, но у людей есть шанс от того, что роботы-хранители теперь на стороне людей. Что я вообще сейчас написал?!

Всем спасибо за внимание!