Игра по сериалу. Девлог #2
Карта есть, камеру двигать можно, есть некоторый интерактив.Уже имеется около 10 секунд геймплея из запланированных 4-5 часов. Можно выпустить прямо в таком виде в раннем доступе. Звучит как план.
Прикинул 4-5 часов как среднюю продолжительность игры, когда проект меня по-настоящему заинтересовал. В процессе разработки ориентируюсь на этот временной отрезок, чтобы игра не успела наскучить игроку.
Главными темами поста будут симуляция погоды и дорожный трафик как средства оживления города и погружения игрока в игровой мир – увеличиваю иммерсивность. Это одно из средств удержания игрока, помимо интересных механик, сюжета, дизайна и прочего.
Если ты прочитал этот пост и хочешь еще, то есть прошлый пост, где я расписывал как пришел к идеи и даже кое-что сделал.
Симуляции погодных явлений
Меня завораживают погодные явления в играх. В детстве интересовало как разработчики создавали дождь / туман / грозу / ветер. Сейчас 2024 год и кубом с дождем, преследующий игрока, никого не впечатлить.
Но все еще есть некоторые проекты, которые удивляют и восхищают.
Начать было решено с плывущих облаков. Сделать их очень просто — спрайт с облаком и движение по одной из осей. Казалось бы, на этом все. Вот что получилось:
В спрайтах кроется одна проблема: они плоские. При движении камеры это бросается в глаза.
Погружение рушится, и возникает желание поставить 0 из 10 и оставить гневный отзыв. Это не входит в мои планы. Чтобы исправить эту проблему, нужно вдохнуть в облака жизнь.
Добавим плавное появление и исчезновение, несколько дополнительных слоев с разными спрайтами и тень.
Теперь стало гораздо лучше: облака стали объемными, и в них можно поверить, если захотеть, конечно. Метод со спрайтами прост в реализации, но в плане вариативности и взаимодействия с окружающими объектами значительно уступает объемным облакам (например воксельных или шейдерных).
С добавлением облаков появилась очередная проблема — теперь не видно карту под ними. Исправить это, не испортив сами облака, можно следующим образом:
Считаем расстояние от камеры до облаков и применяем эффект фейда. Таким образом, на высоте птичьего полета облака видны, а при приближении они исчезают.
К облакам можно добавить дождик, грозу и туман. Но для начала облаков вполне достаточно.
заглядывать в статистику батчинга и overdraw даже не буду. Там сейчас страшно.
Подобие погоды есть, перейдем теперь к транспорту.
Симуляция дорожного трафика.
Никогда не делал городской дорожный трафик и все это звучит сложно. Было страшно начинать: светофоры, повороты, полосы, ещё трекать чтобы машинка не врезалась в другую машинку. Пересмотрел пару видео и ассетов из магазина, даже что-то попробовал оттуда. Но все это не то. В одних случаях слишком громоздкое, в других непонятное, в третьих платное.
По заветам наших предков, я взялся велосипедить. Отмел всю мишуру по типу светофора и оставил такие правила:
- Есть дорога. Это две точки A и B и отрезок между ними.
- Дорога может вести к другим дорогам.
- Есть машина, которая едет только по дорогам. От точки А до B или от B до А.
- Если машина доехала до конечной точки, то случайно выбирай следующую дорогу.
- Забить на столкновение машин, пусть сквозь друг друга ездят. В моем мире машины теперь как поезда — не объедут.
эти примитивные правила, конечно, слабо помогают иммерсивности, но прорабатывать каждую механику до блеска на данном этапе у меня нет в планах. Как сказал кто-то, лучшее — враг хорошего.
Правила настолько простые, что стало легче подходить к реализации. Страх ушёл, и разработка пошла.
Для создания разветвлений дорог я использовал LineRenderer, поскольку с его помощью легко добавить новую точку. В принципе это единственный критерий моего выбора.
В качестве машин использовал растянутые кубики. С разными материалами 😎
И соединив все вместе получаем такой результат
В итоге карта вместе с облаками и транспортным трафиком стала гораздо живее. Игровой мир выглядит всё лучше и лучше.
Похоже, я рассказал всё, что планировал для этого поста. Но впереди ещё много интересного, например, про заглядывание в будущее ⏰ и немного о постэффектах 💥.
Спасибо, что дочитал!
Кого утомляет лирика, но интересно подглядывать за разработкой, прошу в свой телеграм-канал: там по хронологии показано чуть больше, но немного сухо.
Молодец!
Приятно читать, как ты пересиливаешь страхи, лень и прочее и планомерно улучшаешь проект. И что на пальцах рассказываешь какие приемы и ассеты использовал, с какими проблемами столкнулся и т.д.
Формат хороший, продолжай в том же духе.