O recente remaster de The Elder Scrolls IV: Oblivion reacendeu o debate sobre a linha tênue entre remaster e remake. A regra parecia simples: se o jogo original foi apenas aprimorado sem alterar sua essência, é um remaster; se foi refeito em outro motor, é um remake. No entanto, a nova versão de Oblivion roda na Unreal Engine 5 e ainda é considerada um remaster. A chave está no fato de que não houve mudanças globais, mas sim a criação de uma “casca” ou “invólucro”, conhecida como Engine Wrapper. Vamos explicar de forma simples o que é essa tecnologia e como ela funciona.
Literalmente, “Engine Wrapper” pode ser traduzido como “empacotador de motor” ou “invólucro de motor”, o que reflete bem sua função. Em sua base, remasters que usam essa tecnologia utilizam o código e o motor originais, que são “incorporados” a um novo motor, permitindo a interceptação de certas partes. No contexto de software, um Wrapper geralmente significa que um programa adicional permite executar código em hardware e/ou software para o qual ele não foi projetado. Um exemplo simples e claro é a emulação: um software específico para Windows pode rodar jogos de PlayStation, ignorando o hardware original. No entanto, a emulação faz o PC “fingir ser” outro hardware, enquanto um Wrapper geralmente opera em nível de software.
Exemplos iniciais desse “empacotamento” de jogos antigos incluem vários “source ports” de shooters clássicos. O GZDoom, por exemplo, é formalmente um motor diferente, mas requer os arquivos originais para funcionar. Um exemplo mais claro é o port oficial de DOOM pela Bethesda, feito na Unity: aqui, trata-se de usar um motor *existente*, não um escrito especificamente para essa finalidade.
Talvez o motor mais conhecido atualmente para “empacotar” jogos seja o KEX Engine, criado pela Nightdive Studios. Muitos jogos foram lançados usando-o, geralmente shooters como Turok, Blood, Quake ou Killing Time, mas há exceções interessantes como as aventuras Shadow Man e Blade Runner ou o terror The Thing. Todos esses jogos usavam motores diferentes no original, o que não impede que funcionem no KEX Engine.
Em um sentido global, o KEX é uma grande camada de abstração que opera em um nível alto. Isso permite executar o código original com pouca intervenção, e com suporte a muitas bibliotecas externas e APIs, o motor “intercepta” partes do programa executável e permite substituí-las por outras. Isso facilita a melhoria da qualidade visual, a troca de modelos, o aumento da taxa de quadros e resolução, e a adaptação do código original para multithreading. Além disso, simplifica o porting: Turok, por exemplo, era exclusivo de Nintendo 64, mas agora está disponível em várias plataformas, incluindo PC, PS4, Switch e outras.
Outro exemplo similar é a reedição de Halo 2: Anniversary. A base é o jogo original de 2001, incluindo seu motor Blam!, responsável pela lógica interna, triggers e colisões. Por cima, foi “acoplado” um renderizador simplificado de Halo Reach, que pega a informação do original e a processa como se fosse sua. Isso é possível em grande parte porque o jogo de 2001, para os padrões atuais, é extremamente leve, o que permite processá-lo praticamente em segundo plano. É daí, aliás, que vem a possibilidade de alternar para a imagem original com o toque de um botão: o renderizador atualizado simplesmente para de exibir, e o antigo, que estava funcionando em segundo plano o tempo todo, assume o primeiro plano.
Um exemplo mais notório pode ser tranquilamente considerado GTA: The Trilogy — The Definitive Edition, lançada em 2021. O jogo roda no RenderWare original, mas usa a Unreal Engine 4 para a renderização: isso permite fazer mudanças nos gráficos sem tocar na sua essência. Especificamente, o remaster manteve o modelo de física, a IA do tráfego, pedestres e inimigos, e a maior parte das animações. Junto a isso, há correções e atualizações como interface renovada, texturas aprimoradas, modelos substituídos, e clima, iluminação e vegetação retrabalhados. O resultado, como se sabe, não foi brilhante, mas o ponto aqui não é tanto a qualidade do produto específico, mas sim a possibilidade de realizar tais modificações em princípio.
Com Oblivion, a situação é análoga: sob o “capô” da novidade permanece o mesmo Gamebryo com todos os arquivos nativos, sobre o qual foi “esticada” a Unreal Engine 5. Entusiastas, poucas horas após o lançamento, já descobriram que os arquivos contêm o jogo original completo, que ainda pode ser “editado” com as ferramentas oficiais de modding de 2006. No entanto, tentativas de intervenção em nível básico podem levar a erros devido à forma específica como o Engine Wrapper funciona neste caso. É por isso, em parte, que não se pode simplesmente portar mods existentes, embora isso, talvez, seja apenas uma questão de tempo.