Как дизайн одной локации добавил в игру целую механику

Как дизайн одной локации добавил в игру целую механику

Я делаю игру Tiny Delivery про робо-курьера, и хочу поделиться небольшой историей — как простой дизайн локации перерос в что то большее

Всё началось с квеста: помочь пастуху найти овец на поле. По плану — поле, кусты, минимальное окружение.

Но в какой-то момент подумал: слишком пусто. Начал искать рефы, и вот один из них мне зашёл:

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

Потратив пару часов я воссоздал из г. и палок ( ассетов ) что то похожее

первый набросок
первый набросок
финальный результат
финальный результат

Всё шло хорошо: расставить овец, придумать пару квестов по их освобождению из ловушек — и дело с концом.

Но раз появилась большая площадь воды, встал вопрос: что с ней делать? Робот у меня waterproof и технически может ездить по дну, но вылезло две проблемы:

  1. Хочется настоящее глубокое озеро — там и водяная мельница, и река , надо это все задействовать
  2. В глубоком озере робот уже не проедет, да и предметы могут утонуть

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

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

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

Решил: всё это фигня, под нож.

Переделал физику с нуля — сделал упрощенную симуляцию буйков с точками приложения силы. У плота четыре точки устойчивости, у мелких объектов — одна по центру. Высоту воды беру прямо из триггера воды, в который попадает объект, и просто прикладываю силу вверх/вниз для удержания на нужном уровне. Дёшево по перформансу, а результат — каждый предмет реально держится на воде.

Для игрока сделал отдельный тип передвижения: взял оригинальный контроллер и добавил удержание на высоте поверхности воды. Глубину определяю лучами — чтобы точно понимать, когда переключать режим.

Ну и в моём ТГ подсказали: добавь роботу воздушную подушку. И я такой — да это же имба, надо!

Теперь у меня есть доставки по воде!

И когда все получилось - я в таком диком восторге был ! Это не просто прикольная фича, это целый пласт для водных сегментов , квестов и новых механик!

Спасение пошло не по плану , само собой это баг, хотя я думал может так и оставить)

И так всего лишь один дизайн локации очень круто улучшил геймплей и вариативность
А что с овцами? Они на месте :D

Поддержи соло разраба виш листом ,заглядывай в тг и спасибо за внимание :)

18
3
4 комментария