EVERSPACE 2 traça o caminho para o futuro com a Unreal Engine 5

Redescubra Beltegrades com a nova iluminação do Lumen

29 de abril de 2024
Olá, somos Caspar Michel, produtor, e Marco Unger, líder de efeitos visuais/artista 3D de ambientes da ROCKFISH Games. Somos parte de uma pequena equipe sediada em Hamburgo, Alemanha, com foco na criação de jogos de ação espacial com nossa série EVERSPACE. Nosso título mais recente, EVERSPACE 2, foi lançado para PC em abril de 2023 e para Xbox e PlayStation em agosto de 2023. Recentemente, nossa atualização Incursions de 29 de abril de 2024 incluiu a migração do EVERSPACE 2 da Unreal Engine 4 para Unreal Engine 5.3. Estamos aqui para compartilhar alguns dos benefícios e desafios encontrados durante a experiência de migração da ROCKFISH.

Nosso objetivo ao migrar o EVERSPACE 2 de uma versão básica da UE4 para a UE 5.3 foi garantir a manutenção de longo prazo do jogo e um desenvolvimento contínuo e suave para o conteúdo de expansão futura. Esta foi uma atualização estratégica para evitar interrupções ao longo das próximas fases de desenvolvimento e atualizações. Nossa ideia era que o trabalho feito no momento nos pouparia potenciais dores de cabeça no futuro.
Uma mistura de luz estelar ambiente e diversas fontes de luz na Prescott Station oferece uma ótima oportunidade para o trabalho do Lumen brilhar (ilustrado à direta).
Nós costumamos utilizar as tecnologias mais recentes e atualizar a engine com regularidade durante o desenvolvimento, contando com as extensões da plataforma, algumas das quais não funcionariam mais com um SDK desatualizado. Se não tivéssemos planos de continuar o desenvolvimento do EVERSPACE 2, provavelmente permaneceríamos na UE4, mas, como planejamos criar conteúdo de expansão, encontrar soluções para ferramentas obsoletas teria gerado uma perda de tempo significativa.

Habilitar o Lumen

O EVERSPACE 2 é considerado um dos títulos espaciais mais atraentes do mercado atual. Nós estamos especialmente orgulhosos da iluminação no jogo, com uma combinação de solução de IG pré-calculada e iluminação global do espaço de tela (SSGI) para todos os tipos de áreas espalhadas por vários sistemas solares do jogo. Entretanto, os mapas de luz mais detalhados levam vários dias para serem calculados, mesmo utilizando o hardware de alta capacidade do nosso estúdio.
A iluminação global indireta do Lumen (ilustrado à direita) simula o reflexo da luz nas superfícies (um cálculo que geralmente custa muito caro) para criar detalhes de sombra mais realistas (ou de alta-fidelidade), dando mais personalidade para uma cena ou área.
A implementação do Lumen foi literalmente apenas uma questão de definir uma variável em nossa configuração (*.ini) como “True”. A funcionalidade ativou imediatamente, o que é uma raridade no desenvolvimento de jogos! Apesar de no início estarmos céticos em relação à implementação do sistema de iluminação global dinâmica e reflexos, vimos como o Lumen rapidamente aprimorou visuais já impressionantes de maneiras que não eram possíveis com mapas de IG incorporados.
Os ossos desta criatura antiga parecem ainda mais desgastados com Lumen habilitado (ilustrado à direita).
Por mais que a implementação do Lumen tenha sido feita com poucos cliques, fizemos alguns ajustes adicionais na interface para aumentar o raio de seleção de cenas de traçado de raios para acomodar ambientes maiores, além de permitir o uso de oclusão de ambiente de espaço de tela (SSAO) junto com o Lumen. Isso foi mais uma escolha artística e, mesmo que não seja particularmente realista, acrescentou muita profundidade ao que é visto na tela. 

O resultado final com o Lumen é espetacular, especialmente nas situações de iluminação de alto contraste, onde a luz das estrelas se reflete na geometria intrincada de estações espaciais, estruturas antigas e plataformas de mineração.
As sombras com o Lumen habilitado (ilustrado à direita) adicionam ainda mais detalhes a essa colônia de mineração movimentada.
Porém, nem tudo foi tão fácil como habilitar o Lumen. Junto da migração, surgiram alguns problemas relacionados aos sistemas de partículas do Niagara, que receberam alterações significativas. Alguns módulos ficaram obsoletos, enquanto outros foram mesclados, o que gerou erros quando o editor tentou converter/atualizar os sistemas existentes automaticamente. Com a remoção do deslocamento de material, também tivemos que refazer grande parte dos efeitos visuais, o que não é uma tarefa fácil para um jogo repleto de lasers chamativos e explosões coloridas. No entanto, acreditamos que o esforço valerá a pena a longo prazo, para nos mantermos mais alinhados com os próximos lançamentos.

Desafios, bugs e obstáculos

Ao todo, nossos programadores investiram centenas de horas na migração inicial, incluindo desenvolvimento, reuniões, solução de problemas e a correção de diversos bugs causados pela migração. 

Embora tivéssemos experiência em migrar entre as versões principais da Unreal Engine 4, ainda encontramos problemas iniciais ao migrar para a Unreal Engine 5.3. Logo de cara, nós lidamos com diversos bugs e incompatibilidades de sistemas. Isso incluiu problemas com shaders, materiais, cenas, efeitos visuais, partículas, física, texturas esticadas, falhas e mal funcionamento de elementos da interface do usuário (IU), além de feixes de lasers cortados. Apesar de não ser uma lista completa dos problemas que encontramos, é possível ter uma ideia do tipo de bugs e problemas registrados pela nossa equipe de garantia de qualidade e por nossos testadores externos. 

Pouco tempo depois de embarcarmos no projeto de migração para a Unreal Engine 5, fizemos uma postagem no blog mostrando alguns dos bugs visuais para compartilhar com a nossa comunidade que estávamos trabalhando no projeto e mostrar o desenvolvimento de jogos de uma forma divertida.
Embora muitos locais já tenham uma aparência fantástica, a iluminação do Lumen (ilustrado à direita) ajuda a destacar a característica de cada asteroide, dando mais textura visual a essas superfícies irregulares.
Um dos bugs iniciais que notamos logo após abrir a UE5 foi como as costuras de uma nave estavam brilhando porque alguns shaders de materiais foram associados incorretamente. Nossa comunidade imediatamente pediu pelo visual “Tron” das naves dos jogadores, algo que recriamos como um item cosmético especial numa DLC do Supporter Pack.

Nós iniciamos a migração da engine em 28 de novembro de 2023, e continuamos as otimizações ao longo do projeto. O maior desafio foi uma perda de desempenho em todas as áreas, afetando mais gravemente o PlayStation 5 e o Xbox Series X e S. Em alguns níveis, o PlayStation 5 e o Xbox Series X baixaram de 60 FPS estáveis para menos de 30 FPS, e não havia uma única causa para isso, mas vários problemas pequenos que se acumularam. A maioria desses problemas de desempenho foram resolvidos com a remoção de naves de PNJs desnecessárias das áreas com problemas, a nativização de Blueprint e otimização de taxas de marcação de atores e componentes.
Plataformas externas (como as estações espaciais) receberam muitas melhorias visuais com a iluminação dinâmica do Lumen (ilustrado à direita).

Funcionalidades e vantagens

Além do Lumen, a mudança para a Unreal Engine 5 nos permitiu implementar funcionalidades de jogo ativáveis, como geração de quadros e redução de latência do NVIDIA Reflex, upscaler Intel XeSS e upscaler AMD FSR 3.0 com interpolação de quadros para jogadores de PCs com GPUs de ponta. Como nem todos os jogadores têm o hardware necessário para usar essas funcionalidades, adicionamos a opção de ativação para cada uma delas.

A manutenção do EVERSPACE 2 e o desenvolvimento futuro de conteúdos devem ser muito mais simples do que seriam se não tivéssemos feito a migração. Como mudamos para as ferramentas atuais, a Unreal também está pode atender melhor às nossas necessidades de desenvolvimento. Já percebemos que as novas ferramentas e funcionalidades da Unreal Engine 5, como os aprimoramentos contínuos do analisador de perfil do Unreal Insights, acelerarão o trabalho na próxima expansão.
O Lumen (ilustrado à direita) ajuda as superfícies naturais a parecerem menos desbotadas sob a forte luz do dia.

Dicas para outros desenvolvedores

A migração de engine é uma tarefa assustadora, especialmente para um projeto que já atingiu 1.0, e não deve ser feita por impulso. Para um jogo como o nosso, com uma vida útil longa de conteúdo compatível pela frente, achamos que o empreendimento vale a pena. 

Descobrimos que vale a pena implementar o Lumen no EVERSPACE 2, e é muito mais fácil fazer isso do que se imagina. Como mencionado, nós usamos uma combinação de iluminação incorporada e SSGI na UE4, o que significa que criamos o conteúdo de uma maneira específica para oferecer suporte à iluminação pré-calculada com UVs dos mapas de luz em cada objeto. No entanto, como o Lumen é um sistema de iluminação dinâmico, ele funciona bem com o conteúdo que criamos anteriormente usando uma solução de iluminação diferente. O Lumen não leva em consideração se o objeto foi feito para iluminações dinâmicas ou incorporadas, e isso permitiu que fizéssemos pouquíssimos ajustes ao conteúdo migrado para a UE5.

Embora nossa comunidade esteja animada com o conceito da migração, nós estamos cientes das preocupações expressas pelos jogadores com relação aos problemas de desempenho. Executar verificações automatizadas de desempenho antes e durante os marcos no processo da migração fornecerá referências e indicadores de oportunidades de otimização. Esse foi um descuido que corrigimos logo no início do projeto, e passamos um tempo considerável desenvolvendo metodologias de teste, adicionando funcionalidades de suporte no jogo e aprendendo a trabalhar com os dados produzidos. Ao procurar e resolver problemas relacionados ao desempenho com antecedência, conseguimos lidar com muitos fatores que afetariam a experiência dos jogadores.

O tempo é sempre um fator essencial. Surgirão mais problemas do que o esperado, mas, apesar da quantidade de bugs, a maioria era pequena e fácil de corrigir. Divulgar o que está sendo trabalhado e ser transparente com a comunidade sobre o projeto pode fazer com que os fãs apreciarem o trabalho que está sendo realizado.

Por fim, a migração trouxe uma atenção significativa para a atualização do jogo junto com a Unreal Engine 5. A imprensa e os parceiros estão interessados nas capacidades da engine e as funcionalidades que ela oferece. A visibilidade é muito importante para um estúdio independente, e isso é um bônus surpreendente aos nossos esforços.
Locais industriais com muitas fontes de iluminação e vários tipos de superfícies duras saem das sombras com o Lumen habilitado (ilustrado à direita).

Conclusão

A curto prazo, a migração para a UE5 abriu oportunidades para a adição de novas funcionalidades e a reavaliação dos processos enquanto implementamos novas funcionalidades como Lumen e a ativação de plugins para upscalers mais recentes. Ela também deu à equipe a oportunidade de aprender sobre a UE5 e suas funcionalidades como um benefício para projetos futuros. A longo prazo, esperamos que o desenvolvimento futuro de conteúdos do EVERSPACE 2 seja muito mais tranquilo do que se não tivéssemos feito esse projeto. 

Ainda temos alguns pequenos obstáculos de otimização a serem resolvidos, mas achamos que a implementação do Lumen e a migração para a Unreal Engine 5 devem ser um sucesso para a equipe e para o EVERSPACE 2.

Obtenha a Unreal Engine hoje mesmo!

Obtenha a ferramenta de criação mais aberta e avançada do mundo.
Com diversas funcionalidades e acesso ao código-fonte, a Unreal Engine vem carregada e pronta para usar.