TR Studio e Yummy Games apresentam Project: Tower, um shooter bullet-hell em terceira pessoa que desafia a estética tradicional do gênero. Enquanto os bullet-hell geralmente optam por sprites e cores planas, este projeto aposta no fotorrealismo extremo através do Unreal Engine 5. A combinação de Nanite para geometria infinita e Lumen para iluminação dinâmica permite que cada projétil e cada cenário pareçam pertencer a um filme de ficção científica, o que abre um novo debate técnico sobre os limites do gênero. 🎮
Fluxo de trabalho com ZBrush e Substance 3D para metais e orgânicos 🛠️
O pipeline gráfico de Project: Tower se apoia no ZBrush para esculpir assets de alta densidade, desde as armaduras metálicas do protagonista até as criaturas orgânicas que lançam ondas de projéteis. Posteriormente, o Adobe Substance 3D gera texturas PBR que simulam desgaste, refletividade e rugosidade em tempo real. O principal desafio é que o Nanite lida com polígonos sem LODs, mas as texturas metálicas de alta frequência exigem cuidado para evitar aliasing nos reflexos do Lumen. A equipe otimiza os mapas de normais e oclusão para que o metal não pareça plástico sob a iluminação global dinâmica.
Otimização em tempo real para um gênero caótico ⚡
O bullet-hell exige dezenas de projéteis simultâneos, o que normalmente satura a GPU com partículas. Project: Tower aproveita o Nanite não apenas para cenários, mas também para certos projéteis esculpidos, reduzindo o draw call por instância. No entanto, o Lumen em tempo real pode se tornar custoso com tantas fontes de luz dinâmicas. A solução da TR Studio passa por limitar o rebote do Lumen a duas ou três iterações e usar materiais simplificados para os inimigos mais distantes, mantendo o fotorrealismo em primeiro plano sem sacrificar os 60 FPS em consoles da atual geração.
Como o Project Tower consegue fundir a estética fotorrealista do Unreal Engine 5 com a jogabilidade caótica do bullet hell sem sacrificar a clareza visual para o jogador
(PS: um desenvolvedor de jogos é alguém que passa 1000 horas fazendo um jogo que as pessoas completam em 2)