Создание игры «грузчик» или как хакатонить в одиночку

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

Вступление

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

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

Эй, вы, пятеро!

Да-да, вы, четверо!

Еще раз втроем увижу ,оба у меня получите!

Ты меня понял?

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

Сможете ли вы потянуть хакатон в одиночку ?
Сможете ли вы потянуть хакатон в одиночку ?

Этап 1: Генерация идеи

Вначале было куча идей по типу 60 ходов или замедления времени, но большинство из них пришлось отложить из-за приписки в теме:

Одна игровая сессия в вашем прототипе не должна длиться больше 60 секунд.

Хакатон

Если честно, даже моя игра подходит под эту тему с натяжкой. Игровой раунд длится ровно 60 секунд(может и меньше), если игрок выполняет все условия он переходит на следующий уровень и всё начинается повторно с возрастающей сложностью.

По итогу было решено сделать игру по типу crazy taxi в который игроку нужно успеть развести посылки по городу за 60 секунд.

Олды вспомнят
Олды вспомнят

Этап 2: Запускаем Unity

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

Создание игры «грузчик» или как хакатонить в одиночку

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

Следы в процессе удаления потерялись, простите

Этап 3: Графика

На самом деле, графика на хакатоне не самое важное, но всё равно неплохой плюс в карму.

Я использую всего два инструмента для создания 3D графики, MagicaVoxel и VoxelShop, конечно можно было бы обойтись только вторым, но он не очень удобный.

MagicaVoxel

Инструмент для создания воксель арта, если играли в майнкрафт, то как создать свою модель, думаю, понятно.

Дерево за минуту

VoxelShop

Если бы предыдущая программа умела нормально экспортировать проекты, то можно было бы обойтись только ей, но ниже можно увидеть пример того, как выглядит меш после экспорта.

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

Этап 4: Создание уровня

Вот тут мне и пригодился друг, я попросил его нарисовать схему небольшого города, а сам параллельно рисовал модели домов.

Схема
Схема

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

Создание игры «грузчик» или как хакатонить в одиночку

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

Этап 5: Шлифовка и звуки

Для того чтобы многоэтажки не блокировали камеру, была создана система скрытия зданий.

Система была неидеальна, но она работала

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

Создание игры «грузчик» или как хакатонить в одиночку

Нашёл в интернете музыку(СС0 лицензии), немного настроил ее скорость. Чем меньше времени оставалось у игрока, тем быстрее играла музыка.

Конец

Итоговый вариант который был послан на хакатон:

Исправление ошибок вне хакатона

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

Итоговая версия с исправлениями

Спасибо за внимание

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

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

Сверху кнопка Хакатон рядом с моим именем. А кто выиграл, ещё неизвестно.

В схеме почему-то есть бесплатные звуки, но отрицаются прочие бесплатные ассеты, хотя всякие opengameart'ы и «погуглить free 3d shooter assets» стары как мир

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