Как я сделал первую игру и загрузил на Яндекс.Игры. Часть 1 (Прототип и кор-механика)​

Дисклеймер

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

Поиск идеи

В качестве первой игры хотелось сделать что-то казуальное. Простую в разработке с интересным геймплеем, чтобы по времени заняло не больше месяца. Начал исследовать различные геймджемы на itch.io в поисках вдохновения. Понравилась механика игры Cleaning the system и я решил ее развить, добавив другие механики и сделав менее абстрактный дизайн.

Прототип

За пару часов сделал прототип с кнопками для мобилок. Время потратил в основном, чтобы настроить прыжок, вращение и физический материал на Bounciness. Также важно было сделать ограничение силы отталкивания, т.к. можно было "напрыгать" силу и далеко улететь. Ограничил улет скриптом ниже:

if (_rb.velocity.magnitude > _jumpForce) //_jumpForce эмпирически выявленное значение { _rb.velocity = Vector2.ClampMagnitude(_rb.velocity, _jumpForce); }
Как я сделал первую игру и загрузил на Яндекс.Игры. Часть 1 (Прототип и кор-механика)​

Angular Drag позволил ограничить вращение при отскоке, т.к. "сигарета", как игрока прозвал один из тестеров, вращалась как пропеллер. В Cleaning the System по всей видимости гравитация спущена, но я решил оставить единицу для чуть большего реализма.

Остальные скрипты и пакет

Добавил стандартные скрипты: переход на следующую сцену при контакте с финишом и перезагрузка сцены при выпадении за карту. Также использовал пакет Cinemachine.

Компонент на объектах, которые запускают что-либо при триггере определенным тегом.
Компонент на объектах, которые запускают что-либо при триггере определенным тегом.

Все скрипты старался делать компонентным подходом, придерживаясь принципа DRY. Тем самым упрощая разработку и себе жизнь :)

На всех этапах я делал билд и кидал друзьям на проверку. Так и этот прототип проверило около 5 человек, выборка, конечно, не лучшая, но какая есть. Механика залипательная и есть перспективы.

Пайплайн

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

Самое главное в такой игре — это интересная механика и хорошая кривая сложности. Поэтому после каждой локации кидал на тест уровни для аналитики сложности.

Вторая часть тут

11
Начать дискуссию