Last Epoch demonstra que a Unity pode ser o motor ideal para um ARPG ambicioso, desde que se domine o fluxo do asset pipeline. O jogo se destaca por seus efeitos elementais (fogo, gelo, raio) e armaduras com um nível de detalhe que homenageia o gênero diablo-like. Para um desenvolvedor indie, entender como essa estética é alcançada é fundamental para otimizar o desempenho sem sacrificar a identidade visual do projeto.
Fluxo de trabalho: Do Blender à Unity com Substance Painter 🛠️
A modelagem das armaduras detalhadas de Last Epoch começa no Blender, onde se prioriza a geometria modular para permitir combinações entre peças. Cada segmento de armadura é exportado com uma topologia limpa e um mapa UV otimizado. Posteriormente, no Substance Painter, são aplicadas texturas PBR que simulam materiais como aço desgastado, couro ou gemas encantadas. O truque está em gerar mapas de máscara (R, G, B) que na Unity são atribuídos a diferentes parâmetros do Shader Graph. Isso permite que um único material base possa variar entre um capacete enferrujado e uma couraça reluzente, reduzindo o número de draw calls. Para os efeitos elementais, são usados sistemas de partículas personalizados com texturas de ruído e animações de vértice, fazendo com que o fogo ou o raio pareçam orgânicos sem sobrecarregar a GPU.
Level design temporal e otimização para múltiplas eras ⏳
A gestão das diferentes eras temporais em Last Epoch é um desafio de design que a Unity resolve através do uso de cenas aditivas. Em vez de carregar um mundo aberto massivo, o jogo carrega porções de mapa específicas para cada era (passado, presente, futuro). Isso permite que desenvolvedores indies apliquem o mesmo princípio: dividir o level design em blocos temáticos e usar occlusion culling para ocultar assets de outras épocas. Além disso, ao texturizar no Substance Painter, recomenda-se criar variações de cor e desgaste para um mesmo asset base, de modo que um templo pareça intacto em uma era e arruinado em outra, tudo sem duplicar o modelo 3D.
Como Last Epoch gerencia o fluxo de assets entre programas de modelagem 3D e a Unity para conseguir que as armaduras e efeitos escalem sem perder desempenho em um ARPG tão dinâmico
(PS: game jams são como casamentos: todo mundo feliz, ninguém dorme e você acaba chorando)