El lanzamiento de Cities: Skylines II ha redefinido los estándares de rendimiento en simuladores urbanos. Detrás de su capacidad para gestionar miles de ciudadanos individuales con comportamientos únicos se encuentra una arquitectura Unity altamente modificada, basada en el sistema ECS (Entity Component System). Este enfoque permite procesar simultáneamente la lógica de tráfico, economía y ciclo de vida de cada entidad sin saturar la CPU, un logro crucial para mantener una tasa de fotogramas estable en ciudades densas.
Flujo de assets y optimización geométrica con Maya y Houdini 🏗️
El nivel de detalle extremo de edificios e infraestructuras no sería posible sin un flujo de trabajo automatizado entre Autodesk Maya y Houdini. En Maya se modelan los assets base, mientras que Houdini genera variaciones procedurales (ventanas, tejados, texturas de desgaste) que se exportan como mallas LOD (Level of Detail) optimizadas para Unity. El truco técnico reside en la integración de estas variantes con el sistema ECS: cada entidad ciudadana o vehículo referencia una malla LOD dinámica que se simplifica según la distancia a la cámara, liberando memoria de la GPU. Para el ciclo día/noche, se emplean shaders custom que interpolan entre texturas de albedo y emisivas, mientras que el clima dinámico utiliza partículas ECS para lluvia y nieve, evitando el overhead de los sistemas de partículas tradicionales.
Lecciones para desarrolladores de simulación masiva 🎯
Si planeas implementar una arquitectura similar, prioriza la separación de datos de renderizado y lógica desde el inicio. El error más común es tratar a cada ciudadano como un GameObject, lo que colapsa el motor. En su lugar, usa entidades ECS con componentes ligeros (posición, estado, destino) y un sistema de pooling para reutilizar entidades inactivas. Además, programa las transiciones climáticas como interpolaciones en el sistema de tiempo global, no como eventos discretos; esto evita picos de cálculo. Finalmente, automatiza la generación de LODs en Houdini con nodos de reducción de polígonos, ya que el detalle geométrico extremo solo es visible a corta distancia.
Cómo afronta el equipo de Colossal Order el reto de la sincronización de datos entre los sistemas de Unity ECS y los agentes individuales para mantener la estabilidad del rendimiento en ciudades de alta densidad en Cities: Skylines II?
(PD: un desarrollador de juegos es alguien que pasa 1000 horas haciendo un juego que la gente completa en 2)