Создание игры «грузчик» или как хакатонить в одиночку
На самом деле, название игры должно было быть «курьер» или «доставщик», но мой разум в 4 утра решил создать логическую цепочку «ящики->грузоперевозка->грузчик».
Вступление
Вот и закончился хакатон, я смог отоспаться, отпраздновать свой день рождения и опять отоспаться. Поэтому пишу свой рассказ только сейчас.
Итак, за пару дней до хакатона мы с друзьями собрались в конфе, но в самый важный день у большинства случились важные дела. Остался один человек, у которого был день рождения и он был готов помочь если это не займет много времени. В целом ситуация напоминала анекдот.
Эй, вы, пятеро!
Да-да, вы, четверо!
Еще раз втроем увижу ,оба у меня получите!
Ты меня понял?
Поэтому выбор был невелик, пришлось работать в одиночку. Специально под этой случай я нарисовал картинку, если вы попадете в такую ситуацию пройдите этот тест и поймёте, сможете ли вы хакатонить сами.
Этап 1: Генерация идеи
Вначале было куча идей по типу 60 ходов или замедления времени, но большинство из них пришлось отложить из-за приписки в теме:
Одна игровая сессия в вашем прототипе не должна длиться больше 60 секунд.
Если честно, даже моя игра подходит под эту тему с натяжкой. Игровой раунд длится ровно 60 секунд(может и меньше), если игрок выполняет все условия он переходит на следующий уровень и всё начинается повторно с возрастающей сложностью.
По итогу было решено сделать игру по типу crazy taxi в который игроку нужно успеть развести посылки по городу за 60 секунд.
Этап 2: Запускаем Unity
Начинаем процесс создания прототипа, читаем в интернете как делать машинки в юнити и понимаем, что делать мы их не умеем, машинка каждый раз при касании земли улетала в небо. Пришлось схитрить и использовать стандартные ассеты юнити, в старых версиях они были встроенные в проект, сейчас же их надо загружать через магазин.
Но даже с ними было куча проблем, они были созданы под старую версию юнити. Также при подключение пакета в проект вставляется достаточно много мусора: сцены, скрипты, звуки. Приходится искать связи с нужным нам префабом и удалять лишнее.
Этап 3: Графика
На самом деле, графика на хакатоне не самое важное, но всё равно неплохой плюс в карму.
Я использую всего два инструмента для создания 3D графики, MagicaVoxel и VoxelShop, конечно можно было бы обойтись только вторым, но он не очень удобный.
MagicaVoxel
Инструмент для создания воксель арта, если играли в майнкрафт, то как создать свою модель, думаю, понятно.
VoxelShop
Если бы предыдущая программа умела нормально экспортировать проекты, то можно было бы обойтись только ей, но ниже можно увидеть пример того, как выглядит меш после экспорта.
Да, каждый цветной пиксель в magicavoxel это отдельная плоскость. На втором скриншоте видно, что программа исправляет такую оплошность.
Этап 4: Создание уровня
Вот тут мне и пригодился друг, я попросил его нарисовать схему небольшого города, а сам параллельно рисовал модели домов.
От некоторых улиц пришлось отказаться, чтобы игрок успел проехать весь город за установленное время, а также добавлены срезы между улицами.
Так же были созданы скины для домов, которые при каждом запуске случайно выбирались. Из-за этого город выглядел не так скучно.
Этап 5: Шлифовка и звуки
Для того чтобы многоэтажки не блокировали камеру, была создана система скрытия зданий.
Появилась та самая, стереотипная зелёная стрелка. А так же условия прохождения уровня. На карту были добавлены точки, вроде вышло 54.
Нашёл в интернете музыку(СС0 лицензии), немного настроил ее скорость. Чем меньше времени оставалось у игрока, тем быстрее играла музыка.
Конец
Итоговый вариант который был послан на хакатон:
Исправление ошибок вне хакатона
Уже после хакатона я немного исправил игру и баги, которые были не критичны. Переписал систему скрытия зданий, поменяв ее с коллайдера вокруг машины на луч, который проверял, блокирует ли ему обзор, добавил фонарные столбы, которые можно сбить.
Спасибо за внимание
Комментарий недоступен
Сверху кнопка Хакатон рядом с моим именем. А кто выиграл, ещё неизвестно.
В схеме почему-то есть бесплатные звуки, но отрицаются прочие бесплатные ассеты, хотя всякие opengameart'ы и «погуглить free 3d shooter assets» стары как мир
Можно конечно, но обычно чтобы выдержать стилистику задумки используются модели одного автора. Ассет флиппом, например, без знания программирования новые механики которые нужны не особо добавишь и обычно все заканчивается танцами от моделей и скриптов которые есть.