AfterPartyVAN: как мы успели за 60 секунд

Всем привет, с вами команда A!-Ops и сегодня мы расскажем, как мы делали игру об отчаянном водителе маршрутки для хакатона. Билд, кулстори и смешные гифки под катом.

TL; DR: играть тут.

Команда

  • Вадим GaiEquilibrium Гуменюк

  • Вероника AreyWarlord Танаева
  • Николай neparij Лаптев
  • Степан ste-art Артемьев

Технические решения

  • Unity и бесплатные ассеты;
  • Google Docs как самая мощная система для ведения документации;
  • Audacity, чтобы через микрофончик делать звуки;
  • Figma для красивых кнопочек;
  • Github, потому что мы — ребята серьёзные.

Брейншторм

Игра о том, как сделать игру за 60 секунд! Ломаем Unity и делаем так, чтобы она вылетала через 60 секунд после запуска.

программист

С этими словами программист вылетел из Дискорда. Мы намёк поняли и решили не плагиатить.

Мысли наши крутились вокруг нескольких концепций:

  • собрать что-то за 60 секунд (а-ля вступление в 60 Seconds);
  • продержаться 60 секунд (как в любых играх с миссией «продержаться»);
  • сделать как можно больше за 60 секунд (привет, Papers, Please!);
  • 60 секунд — это расходуемый ресурс (почувствуй себя процессором, пока геймдизайнер рыдает над балансировкой).

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

Разработка

Top-down — не торт, давайте сделаем камеру как в Animal Crossing, только вывернём её наизнанку.

А ещё наш вэн настолько суров, что не сам едет вперёд, а вращает мир своими колёсами!

программист

И вот мы приступили к работе.

Ему лета-ать охота

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

Истоки финального названия проекта
Истоки финального названия проекта

Добавили разделение остановок по цветам, начали плейтестить и поняли, что нам нужен рэгдолл и озвучка полёта пассажиров. Сказано — сделано!

И ножкой — оп!

В процессе разработки шейдера «мира наизнанку» мы поняли, что нам придётся заменить абсолютно все материалы на кастомные, иначе… смотрите сами.

Опа, отсылочка к нашему прошлому проекту, сделанному для GMTK Jam 2020

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

Глубоким вечером второго дня на программистов напало особое пред-дедлайновое боевое безумие, и они буквально вылизывали проект, пока он не стал конфеткой — до четырёх утра. А через несколько часов все пошли на свою любимую работку. Кто на завод, кто на галеры, кто вершить судьбы и спасать миры. Но это уже другая история, история о доблести, превозмогании и литрах выпитого кофе.

Заключение

Конкретных 60 секунд у нас нет, но скорость движения и длина трассы подобраны таким образом, чтобы игровая сессия длилась минуту. За это время геймплей успевает зацепить, но не успевает утомить, и хочется снова нажать на кнопку «играть».

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

А всех, кто дочитал до конца, благодарим за внимание и ещё раз приглашаем поиграть.

5151 показ
910910 открытий
11 репост
7 комментариев

Очень годный тайм киллер. Пилите уровни сложности)))

Ответить

Спасибо!
Возможно, стоит приделать прогрессию с изменением ландшафта и возможностью апгрейдить минивэн, помимо сложности :)

Ответить

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

Ответить

Спасибо! На самом деле там просто сдвиг вертексов вдоль оси Y через возведение в степень в зависимости от расстояния , ну и оффсет небольшой.

Если интересно - могу скинуть код шейдера или написать микростатью с примерами :)

Ответить

Топ!!!

Ответить