Как дизайн одной локации добавил в игру целую механику
Я делаю игру Tiny Delivery про робо-курьера, и хочу поделиться небольшой историей — как простой дизайн локации перерос в что то большее
Всё началось с квеста: помочь пастуху найти овец на поле. По плану — поле, кусты, минимальное окружение.
Но в какой-то момент подумал: слишком пусто. Начал искать рефы, и вот один из них мне зашёл:
Потратив пару часов я воссоздал из г. и палок ( ассетов ) что то похожее
Всё шло хорошо: расставить овец, придумать пару квестов по их освобождению из ловушек — и дело с концом.
Но раз появилась большая площадь воды, встал вопрос: что с ней делать? Робот у меня waterproof и технически может ездить по дну, но вылезло две проблемы:
- Хочется настоящее глубокое озеро — там и водяная мельница, и река , надо это все задействовать
- В глубоком озере робот уже не проедет, да и предметы могут утонуть
Пошёл по пути наименьшего сопротивления. Для робота — фейковый plane на небольшой глубине: визуально он как будто плывёт, хотя просто едет по невидимой поверхности. Для предметов — фейковая симуляция буйков: физически лежат на том же плейне, а их визуальная часть просто покачивается на уровне воды
Вроде бы готово — но нет. Проблемы посыпались одна за другой: при падении сверху на крупные объекты визуально предметы никак не реагировали, коллизии не совпадали, да и само движение робота в воде ничем не отличалось от движения по земле. Никакой фишки.
Решил: всё это фигня, под нож.
Переделал физику с нуля — сделал упрощенную симуляцию буйков с точками приложения силы. У плота четыре точки устойчивости, у мелких объектов — одна по центру. Высоту воды беру прямо из триггера воды, в который попадает объект, и просто прикладываю силу вверх/вниз для удержания на нужном уровне. Дёшево по перформансу, а результат — каждый предмет реально держится на воде.
Для игрока сделал отдельный тип передвижения: взял оригинальный контроллер и добавил удержание на высоте поверхности воды. Глубину определяю лучами — чтобы точно понимать, когда переключать режим.
Ну и в моём ТГ подсказали: добавь роботу воздушную подушку. И я такой — да это же имба, надо!
И когда все получилось - я в таком диком восторге был ! Это не просто прикольная фича, это целый пласт для водных сегментов , квестов и новых механик!
И так всего лишь один дизайн локации очень круто улучшил геймплей и вариативность
А что с овцами? Они на месте :D
Поддержи соло разраба виш листом ,заглядывай в тг и спасибо за внимание :)