Nivalis es un simulador de vida cyberpunk que destaca por su dirección artística basada en voxels, neón y lluvia persistente. Desarrollado sobre una versión profundamente modificada de Unity, el juego emplea MagicaVoxel para el modelado de escenarios y herramientas internas para gestionar el trazado de rayos en tiempo real. Este enfoque permite una estética low-poly pero con iluminación fotorrealista, un desafío técnico que pocos indies logran equilibrar sin sacrificar rendimiento.
Optimización de Ray Tracing en Escenas Voxel con Unity Modificado 🌧️
El equipo de Nivalis ha modificado el pipeline de renderizado de Unity para tratar cada voxel como una unidad de datos ligera, lo que reduce la carga sobre el trazado de rayos. En lugar de usar geometría poligonal densa, los edificios y objetos se construyen con bloques de MagicaVoxel, que se convierten en estructuras jerárquicas de colisión en tiempo real. Para la lluvia y los reflejos de neón, se implementó un sistema de ray tracing híbrido: los reflejos especulares se calculan con rayos limitados a superficies voxel, mientras que la iluminación global se hornea parcialmente en texturas de luz. Esto permite que el trazado de rayos funcione en hardware de gama media, una lección clave para indies: simplificar la geometría base para que el trazado de rayos no colapse el framerate.
Lecciones para Indie Devs: Herramientas Internas como Diferenciador 🛠️
Nivalis demuestra que el éxito visual no depende solo de assets caros, sino de integrar herramientas propias en el flujo de trabajo. El estudio creó scripts en Unity que interpretan directamente los archivos de MagicaVoxel, permitiendo iterar sobre la ciudad sin pasar por un proceso de exportación tradicional. Además, desarrollaron un sistema de partículas volumétricas para la lluvia que interactúa con el trazado de rayos, evitando el uso de assets genéricos. Para cualquier desarrollador indie, la clave es invertir tiempo en personalizar el motor antes de empezar a poblar la escena; así se asegura que cada elemento, desde un cartel de neón hasta un charco, responda coherentemente a la luz.
Como desarrollador, cual fue el mayor desafío técnico al integrar ray tracing con un motor de voxels en tiempo real para lograr la iluminación dinámica de Nivalis sin sacrificar rendimiento.
(PD: los game jams son como las bodas: todo el mundo feliz, nadie duerme y acabas llorando)