PAD

Как там... make love, not console war, да? Хорошо. Эта игра будет про мирный (наверное) летающий джойстик, переключающийся между мирами для решения своих проблем...

PAD

Итак, сначала вкратце о том, что происходит в получившейся игре:

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

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

итоговая демонстрация геймплейных моментов (до некоторых финальных правок)

А вот сами архивы для скачать и поиграть (вес каждой около 45 Мб):

Подсказки по управлению, если что, выводятся на уровнях при нажатии Enter

Разработка

Ниже немного о самом процессе игроделания данной демки.

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

В качестве движка взял уже привычный Godot, на котором как раз только только закончил собирать демку "космической" jrpg. Ещё Unigine в процессе немного пригодился, как быстрый способ что-либо отрендерить.

Следующий день - собрал контроллер управления, написал переключатель состояний мира и стал пробовать делать уровни. Для основы уровня требовалась относительно простая геометрия, чтобы не перегружать систему слишком большим количеством геометрии, участвующей в булевых операциях. Я пособирал в Blender различные варианты, чтобы прощупать примерные границы возможного и понять как оно ощущается на практике, в каждом планируемом измерении. Таким образом пришёл к некоторым оптимизациям и понял примерный workflow создания дальнейших уровней.

PAD

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

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

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

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

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

Параллельно с этим собрал мини-сценку в Unigine, в основном для съёмки там небольшой вводной для геймплейного ролика.

После тестов на другом компьютере (где и планировалось записывать видео) вылезли некоторые проблемы с освещением, которые не отследил у себя, так как на основном ноутубке проблемный драйвер и я не вижу тени при разработке под режим gles3 на Godot. Что в целом не проблема, когда об этом знаешь и учитываешь, что придётся перепроверять итоговый вид на другом железе или на второй ОС (linux).

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

PAD

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

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

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

UPD. Теперь демку можно также скачать с itch.io:

1313
4 комментария

Комментарий недоступен

2
Ответить

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

2
Ответить

А что там с номинациями? В чём участвуешь, в чём нет?

Ответить

Я так понял во всех, которые по умолчанию. И куда возьмут. Разве что игра на Godot, так что не под Unity-категории.

Ответить