Rainbow Moon
Итак, день восполнения сна прошёл, пора бы отчитаться о выполненной работе
Задумка (как хотели сделать)
Как многие уже заметили, тема хакатона оказалось довольно общей. С одной стороны, у нас были развязаны руки, с другой, последнюю неделю мы не думали над механиками, ожидая озарения, нагнанного озвученной темой.
Посовещавшись в нашей скромной изначальной команде из 2 человек, мы пришли к идее скитаний спрайтовых персонажей в открытом (и пустом) 3D мире с монстрами, где любой урон имеет физическую и цветовую составляющую. Каждый генерированный вид монстров имеет свой цвет урона и цвет сопротивления (чем ближе к нему цвет внесённого по существу урона, тем меньшее влияние он имеет). Контролировать свой урон и сопротивление можно с помощью зельев, которые можно крафтить из собранных ресурсов.
Информацию о мире игрок должен получать с опытом. Ведётся энциклопедия (о видах монстров, результатах крафта, информация об эффектах растений и зельев после съедения/питья)
Процесс (как делали)
К концу первого дня были собраны и анимированы базовые префабы монстров и главного героя, реализована концепция цветового урона. Была готова генерация видов монстров и раскидывание их по миру. Всё шло по плану, и мы даже решили поспать полноценным сном.
Второй день начался на расслабоне. Списался с братом-музыкантом, заказал эмбиент на фон (+1 в команде). Не спеша сделали растения, генерацию видов растений, рассаживание по миру. Только к вечеру пришло осознание, что ещё предстоит заняться инвентарём и подбираемыми предметами. И интерфейса нет. А ведь ещё крафт задумывался. Чёрт, энциклопедия! Ладно, хер с ней.
Время 19:00 МСК. Кое-как разобрался с инвентарём. Вылезли какие-то баги с несоответствием растений и их спрайтами в инвентаре. Некоторые растения почему-то летают. Крафт даже не начат.
Через час безуспешных попыток исправить баг с отображением инвентаря забил на это дело.
Интерфейс собрал из говна и палок. Никаких дополнительных экранов для крафта - всё управление сделал по клику на ячейки инвентаря и выборе действий из всплывающего списке.
Крафт. Изначально были мысли разделить зелья на защитные (наносятся на костюм для смены цвета сопротивления) и атакующие (наносятся на кирку, меняя цвет урона атаки), одни крафтить из растений, другие из частей убитых монстров. В виду дедлайна (к тому моменту время было уже около 21:30) идея была отброшена, теперь универсальное зелье собирается из любых компонентов.
Около 22:30 получилось привести всё к состоянию "Ну, хотя бы есть, что показать. В отличие от двух наших предыдущих попыток на хакатонах". Наспех собрал менюшку с двумя кнопками, накидал из последних сил описание того, что получилось.
В 23:35, после быстрого запуска (но не проверки на отсутствие критических багов), всё было загружено, и я со спокойной душой отрубился.
Результат (что сделали, что не сделали)
Что из задуманного успели сделать:
- Генерацию монстров и растений
- Цветовой урон
- Инвентарь и простой крафт зелий
Что из задуманного не успели:
- Энциклопедия видов и рецептов
- Устойчивый мир (сохранение состояния и ареалов обитания монстров при смерти). В итоге вышло, что единственное, что остаётся при респавне главного героя (и сейв-лоаде) фиксированным - это информация о видах монстров и растений, которые снова раскидываются по миру рандомно, но имеют уже определенные характеристики.
- Глобальная цель, достижимая усилиями поколений (какой-нибудь эпический босс)
- Оборона базы поколениями героев
Что пришло в голову в процессе, но не было целью в рамках хакатона:
- Механика выживания с голодом, жаждой и возможностью есть всё подряд на свой страх и риск (с последующей записью в энциклопедию, естественно)
Итог и билды (что отправили, что доделали)
Уже ночью, проснувшись в кровати, я понял, что отправил на суд жюри версию, в которой смерть не приводила к перезапуску уровня с респавном персонажа, а загрузка игры после смерти просто спавнила героя с тем же количеством здоровья (0), что ломало сейв.
Поковырявшись с утра, сделал респавн, попутно поправив ещё пару багов с инвентарём и летающими растениями.
Скачать и попробовать игру:
Для тех, кто хочет вжиться в роль жюри и пощупать ту самую версию с багами, которая была отправлена:
В завершение хотелось бы поблагодарить организаторов мероприятия за скрашенные выходные, полученные эмоции и возможность показать себя и посмотреть на других ;)