O lançamento de Cities: Skylines II redefiniu os padrões de desempenho em simuladores urbanos. Por trás de sua capacidade de gerenciar milhares de cidadãos individuais com comportamentos únicos, encontra-se uma arquitetura Unity altamente modificada, baseada no sistema ECS (Entity Component System). Essa abordagem permite processar simultaneamente a lógica de tráfego, economia e ciclo de vida de cada entidade sem sobrecarregar a CPU, uma conquista crucial para manter uma taxa de quadros estável em cidades densas.
Fluxo de assets e otimização geométrica com Maya e Houdini 🏗️
O nível de detalhe extremo de edifícios e infraestruturas não seria possível sem um fluxo de trabalho automatizado entre Autodesk Maya e Houdini. No Maya, os assets base são modelados, enquanto o Houdini gera variações procedurais (janelas, telhados, texturas de desgaste) que são exportadas como malhas LOD (Level of Detail) otimizadas para Unity. O truque técnico reside na integração dessas variantes com o sistema ECS: cada entidade cidadã ou veículo referencia uma malha LOD dinâmica que é simplificada conforme a distância da câmera, liberando memória da GPU. Para o ciclo dia/noite, são empregados shaders customizados que interpolam entre texturas de albedo e emissivas, enquanto o clima dinâmico utiliza partículas ECS para chuva e neve, evitando o overhead dos sistemas de partículas tradicionais.
Lições para desenvolvedores de simulação em massa 🎯
Se você planeja implementar uma arquitetura semelhante, priorize a separação de dados de renderização e lógica desde o início. O erro mais comum é tratar cada cidadão como um GameObject, o que colapsa o motor. Em vez disso, use entidades ECS com componentes leves (posição, estado, destino) e um sistema de pooling para reutilizar entidades inativas. Além disso, programe as transições climáticas como interpolações no sistema de tempo global, não como eventos discretos; isso evita picos de cálculo. Por fim, automatize a geração de LODs no Houdini com nós de redução de polígonos, já que o detalhe geométrico extremo só é visível a curta distância.
Como a equipe da Colossal Order enfrenta o desafio da sincronização de dados entre os sistemas Unity ECS e os agentes individuais para manter a estabilidade do desempenho em cidades de alta densidade em Cities: Skylines II?
(PS: um desenvolvedor de jogos é alguém que passa 1000 horas fazendo um jogo que as pessoas completam em 2)