Содержание
Разработчик James Lambert показал движок для Nintendo 64, который тянет «бесшовный, огромный мир без экранов загрузки» на оригинальном железе. В демо Junkrunner 64 дальность прорисовки выглядит так, что с угла карты можно видеть почти весь мир.
Демо уже доступно публике: версия 2.1 выложена как 16,5 МБ файл формата z64. Код и исходники тоже открыты.

Как Junkrunner 64 обходит ограничения N64 по дальности и глубине
Главная боль N64 в больших локациях — дальность прорисовки и артефакты глубины. В видео Lambert прямо упирается в проблему Z-fighting, когда полигоны «спорят» за приоритет, и дальние объекты могут перекрывать ближние.

Причина в том, что у N64 15-битный Z-buffer. Он хранит около 32 000 уникальных значений глубины. По словам разработчика, в его тестах примерно 90% этих значений «съедают» объекты рядом с камерой. На дальние дистанции точности уже не хватает, и сцена начинает мерцать.
Решение Lambert описывает просто: «I just draw the world twice». Сначала движок рисует дальний мир, но в масштабе примерно в 100 раз меньше, а затем отдельным проходом отрисовывает ближнюю геометрию с более «жёсткой» near clipping plane и большей детализацией.

Вторая часть трюка — тайлы мира с разными уровнями детализации. Движок «слоями» подмешивает нужную LOD-геометрию и экономит и память, и производительность.
Текстуры, «запечённый» свет и новый туман

Над текстурированием демо работал разработчик Pyroxene. Он использовал baking — когда освещение и материал частично «запекают» прямо в текстуры. Это помогает низкополигональным моделям выглядеть богаче без дорогих эффектов в реальном времени.
Ещё одна заметная деталь — туман. В демо используют RGB-смешиваемые градиенты тумана на дистанции и локально окрашенный туман. Для N64 это редкая роскошь, и она хорошо маскирует компромиссы по дальним объектам.
Что это за демо и куда пойдут технологии дальше
В ролике Junkrunner 64 персонаж бегает по миру и катается на джет-байке. Карта поначалу скрыта и открывается по мере исследования, как в современных open world. Для перемещения есть быстрый ховербайк со скоростью 180 mph (около 290 км/ч), который можно улучшать.
Lambert в конце видео тизерит полноценную игру (название пока не назвали), которая выйдет на N64, ModRetro и Analogue 3D и будет использовать эти же технологии.
Сам ролик с объяснением техники разработчик опубликовал на YouTube: James Lambert. А демо Junkrunner 64 v2.1 лежит в релизах на GitHub: Version 2.1 is now on GitHub.