Tudo sobre GameDev

Sobre a mudança para a Unreal Engine

Eu utilizava este blog principalmente para fazer postagens relacionadas a Unity Engine e DOTS, se você caiu de paraquedas aqui por conta destas postagens, eu sinto muito. Ainda tenho estas postagens em algum lugar do Google Drive. 

Ano passado (2019) acabei sendo “forçado” a migrar para a Unreal Engine, não que a Unity seja uma engine ruim ou uma seja melhor que a outra, mas o projeto em que eu estava trabalhando simplesmente não era viável de ser feito na Unity. Ou, eu fracassei em levar ele adiante utilizando ela. Trata-se um jogo multiplayer de mundo aberto, com um terreno imenso e muitas interações acontecendo ao mesmo tempo. Passei mais de um ano tentando desenvolver um multiplayer autoritário e funcional na Unity e falhei miserávelmente.
Além disso, tive muitos problemas com mundo aberto na Unity, problemas com float imprecision, rebasing, prblemas de desempenho com mundos grandes, e somando isso com o fato de a engine não possuir um multiplayer nativo funcional, tornou ela inviável para o projeto. Não que ela não seja ótima para jogos pequenos e mobile.

No início de 2018 comecei a estudar DOTS e fiquei muitíssimo empolgado e achava que a tecnologia resolveria todos os meus problemas. Escrevi alguns artigos sobre o assunto, o tempo foi passando e tudo que tínhamos era um monte de coisas semi-funcionais. HDRP não funcionava bem, URP ainda era uma promessa, e milhões de pacotes em preview e cheios de bugs. Minha saída derradeira foi quando anunciaram que SkinnedMesh só funcionaria com DOTS quando o Hybrid Renderer estivesse pronto, que por sua vez, dependia de o URP estar 100% finalizado, oque supostamente só aconteceria em meados de 2022.

Nesse tempo, a Unreal mostrou um vídeo sobre a Unreal Engine 5, e isso causou uma enorme discussão no fórum da Unity, então me fez dar uma olhada mais atenta para a engine.
Comecei pelas ferramentas voltadas para OpenWorld (que são fantásticas), depois vi a quixel com seus MegaScans, e oque me chamou muito a atenção foi um sistema multiplayer bem desevolvido, maduro e funcional.

Comprei alguns cursos, e me espantei com a rapidez no desenvolvimento e, apesar de eu sempre ter um certo preconceito com programação visual, vi que a programação visual da Unreal é muito bem feita e muito funcional. 

Apesar de eu já ter relativa experiência com c++, fiz mais dois cursos intensivos, um de c++ e outro voltado para c++ na unreal + multiplayer.

Fiz alguns projetos experimentais envolvendo multiplayer, recomeçamos o projeto na Unreal e o resultado foi realmente surpreendente. Um mundo duas vezes maior que o feito anteriormente na unity, com um visual mais bonito e um desempenho infinitamente melhor. Melhor ainda: o tempo para termos todas as funcionalidades que tínhamos antes, foi reduzido a menos de 1/3 do tempo gasto na unity.

Atualmente, estou trabalhando em um projeto que também estava sendo feito na unity e o estúdio decidiu migrar para a Unreal e, na minha humilde opinião está bem mais funcional.

Enfim, acho que a unity é ótima para projetos mobile e projetos pequenos, e isso não é ruim, acredito até que este seja o foco dos desenvolvedores. A Unreal é mais madura, e feita por quem também desenvolve jogos. Também acho a sua produtividade maior.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

2 pensamentos em “Sobre a mudança para a Unreal Engine”