Fun race. Аркада которая пытается удивлять. Презентация и история проекта

Всем привет! Меня зовут Саша и я хобби разработчик. С июня 2019 года я занимаюсь проектом Fun race. Моя основная профессия моряк, и в свободное время последние 5 лет я занимаюсь изучением и практикой разработки игр.

Кто такой моряк? Это человек который подписывает контракт и уходит на оговоренный период работать на корабле, обеспечивая его коммерческую деятельность.

Плюсы профессии:

· Каждый день шикарный вид из иллюминатора каюты.

· Ты работаешь только 6 месяцев в году.

· Бесплатно кормят и поят на контракте.

Минусы профессии:

· Ты не видишь семью и друзей 6 месяцев в году.

· У тебя нет интернета на контракте.


Про что проект?

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

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

Игра старается не быть сложной, но при этом сохранить пространство для вызова игроку. Чтобы полностью пройти уровень игроку необходимо получить 3 медали. Медали за кристаллы, время и здоровье. В чем выражается слоган игры: собирай кристаллы, будь быстрым, уворачивайся от препятствий!

Трейлер игры

История проекта.

Когда я начал свой путь как хобби разработчик, это была моя первая идея, которую я хотел реализовать. Это было начало 2016 года, я скачал Unity. Недавно вышедшую 5ю версию, которая стала первой бесплатной. Конечно с кодом я не ладил, для меня это была загадка. Но я нашел PlayMaker, это finite state machine. Мой первый инструмент игровой логики.

Конечный автомат (Finite-state machine) это модель вычислений, основанная на гипотетической машине состояний. В один момент времени только одно состояние может быть активным. Следовательно, для выполнения каких-либо действий машина должна менять свое состояние. Любая сущность может использовать конечный автомат. Эдакое визуальное программирование, но не совсем.

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

Конечно же, не важно сколько ты знаешь и умеешь, если ты встал на этот путь, тебе хочется творить. И первым моим творением стал проект Аркания. По геймплею это именно машинка и препятствия. Вдохновением для меня в первую очередь служила дорога к моей бабушке в деревню на границе Молдавии и Украины. Где-то на пути была дорога, где-то ее не было. Вернее, она там когда-то была, но ее не ремонтировали лет 20. Эти ямы, мне казалось, образовались от бомбежки, работы экскаватора и других катаклизмов. Ехать там надо километров 15-20 в час. Мне приходилось самому ее преодолевать несколько раз, всегда это был квест и испытание.

Первичная идея была в том, что игрок проходит линейную трассу уклоняясь от статичных препятствий (столбы, заборы) и ям. Когда игрок попадал в яму, он возвращался на чек поинт. На этом фундаменте я создал 5 уровней. Для разнообразия, мне показалось интересным сделать один уровень в виде лабиринта. Конечно же, мне захотелось все это окутать историей. И вот тут началось «натягивание совы на глобус». Я пробовал писать, придумывал, прочитал про написание историй. Это вылилось в 4000 слов - набросок сюжета. Мне кажется проще написать книгу, чем пытаться натянуть историю на игру. Затем я пытался экспериментировать с экстремальными трассами, но у меня не сильно получалось, требовало больше сил и больше знаний, которых у меня не было. В конце концов я забросил проект и переключился на другие прототипы, решил что-то создать на мобильные платформы.

Первые наработки

Возврат к идеи (Май '19)

Потренировавшись на прототипах, освоив написание кода на C#, какого-никакого, и поработав над проектом по типу StarFox, конечно же с проработкой сюжета, решил съездить на Devgamm2019 Moscow. Давно мечтал, и отлично совпало, что я не на контракте. Так бы и раньше съездил, но постоянно в дни проведения конференций я был в море. И только слушал интересные истории о конференции в подкасте КДИ. Купил билет еще в марте, как только открылась продажа, заполнил профиль в пайне. Снабдил профиль короткими роликами со своими наработками. И к моему удивлению мне назначили 2 встречи. Одна из встреч была с издателем мобильных игр, представителю понравился ролик как раз моего первого проекта. Спросили за билд, а я уже и забыл, когда и чего я там делал. Спросили, когда я смогу предоставить что-то предметное, для меня в лучшем случае это было полгода. Вы понимаете, что мобильные игры и полгода это довольно много. Впрочем, мне сказали, если что-то будет готово, пиши нам. Это обнадежило. Приехав домой, я обнаружил, что в моем городе будет конференция через месяц. Решил сделать переосмысленный проект и собрать отзывы на концептуальном уровне.

Games Gathering Odessa (Июль '19)

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

За месяц была собрана основная логика, 4 уровня и рабочий билд на Андроид. У меня был планшет 10 дюймов и на нем игра смотрелась отлично. На мой скромный взгляд, разумеется. Игру я подал за крайние сроки. Но мне пошли на встречу и нашлось место на шоу кейсе. Это действительно было здорово, спасибо организаторам! С утра до раннего вечера мне предстояло постоять на ногах показывая свою скромную разработку и собрать ценный фидбек. На планшете было подготовлено видео с геймплеем и залит билд. Демонстрировать проект предстояло в не большом помещении, где было представлено около 20 проектов. Было людно. В первую очередь нужно было взять бутылку воды, потому что, когда постоянно говоришь, горло сильно пересыхает. Я этого не сделал и было сложно долго общаться. Люди подходили, пробовали играть, и в итоге было получено достаточно много позитивных отзывов. Игра нравилась, и даже один гость конференции полностью прошел 4 уровня. Это еще раз обнадежило. Конечно, на карандаш были взяты все озвученные замечания. Был придуман даже нарратив для игры, который всем озвучивался. Но я снова понял, что это «натягивание совы на глобус».

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

Билд подготовленный на GG'19 Odessa

Прототипирование, поиск идей. (Июль '19 - Апрель '20)

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

Создание уровней. (Апрель '20 - Декабрь '20)

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

Разработка уровней

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

Мы где то здесь (Январь '21- Март '21)

По приходу с контракта, я сделал небольшой перерыв и начал готовится к ежемесячной рубрике паблик питч на канале КДИ. А также было намерение поучаствовать в Indie Cup W'21. Для участия были выбраны 5 уровней, создана итерация основного меню. Из выбранных уровней был создан билд, а на самих уровнях расставлено окружение приближенное к финальному качеству.

Геймплей последнего билда

Что дальше?

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

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

Добавление ускоренного режима. Всё кто пробовал и смотрел игру отмечали, что мало скорости и драйва. На данный момент решением будет добавление режимов х1.25 и х1.5. Если добавлять больше скорости для машины, то управление будет менее комфортным для игрока.

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

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

Добавление скинов машины. Разнообразие в игре всегда хорошо, это и дополнительная мотивация для игроков, и широкий спектр визуала в геймплее.

Послесловие.

На данный момент ищу концепт художника и 3д артиста желательно в одном лице. Пишите пожалуйста мне в телеграмм @Marakesch387

Скачивайте билд делитесь впечатлениями и замечаниями. Буду премного вам благодарен и рад услышать ваше мнение.

6464
27 комментариев

спидометр на машине скорее раздражает если честно

3

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

6

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

3

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

1

Выглядит бодро! Молодец! 
Единственное, у кристалликов такое "колючее" сияние, что я как только их увидел в ролике, сперва подумал, что это препятствие. Ну ив целом - колючее/острое = агрессивное подсознательно. Мне кажется, надо смягчить его. Плюс они прямоугольны в срезе и вращаются - в итоге зазор между ними и препятствием (если оно есть), то узкий, то широкий. Мне кажется, лучше сделать его в срезе симметричным от центра. Иначе при маневрах на большой скорости это может сыграть неприятно: верно ли игрок рассчитает маневр, чтобы кристалл оказался не только нужным боком к машинке, но еще и достаточно близко? Если "хитбокс" кристаллика одинаковый при любом положении - тогда зачем визуально вводить в заблуждение?
Всё это ИМХО, конечно.

3

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

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

2