Всем привет! В сегодняшнем посте мы раскроем некоторые технические детали. В июле мы публиковали анимацию с устройством сцены (ссылка) , и сейчас хотим рассказать, почему выбрали именно такой метод рендера.
В конце девяностых и начале двухтысячных во всех изометрических тайловых играх использовали похожий метод отрисовки сцены – через сортировку 2д спрайтов. Таким образом можно делать вполне симпатичные игры, такие как: Jagged Alliance, Diablo, Ultima и т.д. Но все эти проекты имеют массу ограничений связанных с освещением и тенями. Теней либо вовсе нету, либо они полностью статичны, а освещение запечено в спрайты и не работает как положено с динамическими источниками света. Кроме всего этого, сам метод сортировки спрайтов очень ненадежный и порождает множество артефактов – это когда спрайты неправильно накладываются друг на друга и могут торчать сквозь другие графические объекты.
Мы хотим создать максимально универсальный, гибкий и симпатичный конструктор для создания РПГ и годами выпускать сюжетный контент для Tribal. Поэтому мы решили переработать способ отрисовки сцены. Результатом стала своя совершенно новая техника рендера спрайтов. Теперь они отрисовываются специальным шейдером с использованием “карт глубины” и ведут себя почти как 3д модели. На гифке голый дядька – это 3Д модель, а все остальное – 2д спрайты. При этом сортировка работает так, будто стены и колодец являются 3Д моделями, есть понятие глубины у этих спрайтов, и мы автоматически получаем тени как в обычном 3Д.
Это далеко не все подробности технической реализации рендеринга в нашем проекта, в будущих постах мы вкратце расскажем и о других деталях.
Date : 05 03 2021 Tribal development team