
Em 1999 um estudio chamado Angel foi contratado por 1 milhao de dolares pela Nintendo com a missão de atingir uma compactação de 165 por 1 , o estudio “Anjo” a espera de um milagre que a propria CAPCOM tinha suas dúvidas se seria possível.

Angel Studios
Quando a Angel studios recebeu diversos discos com todas as salas do jogo em 3DSmax todas em tempo real podendo escolher novos angulos de camera e recriar as cinematics com o proprio grafico do game viram que isso seria como praticamente recriar todo o jogo do zero em especifico para o N64 o que levaria muito mais de 1 ano, que era o prazo para entregar o jogo funcional, vendo isso a Angel studios decidiu portar todo o conteudo dos 2 discos do PS1 que já tinha os fundos de tela com a qualidade reduzida para acomodar a pequena memoria de video do Playstation.
Resident Evil 2 para o Nintendo 64 foi um dos primeiros jogos em console de cartucho a entregar full-motion video nesse tipo de midia com espaço absurdamente limitado.

O Chip milagreiro…
O time da Angel Studio conseguiu converter esse jogo baseado em 2 discos no seu console de origem o Playstation contendo 15 minutos de vídeo já compressos para o chip decodificador do Playstation contendo mais de 27000 frames totalizando quase 4 gigabytes de dados sem compressão , fora os 200 minutos de audio somente da musica do jogo, fora os efeitos sonoros e linhas de dialogo, mais os dados gráficos de textura, colisão , as imagens de background e por fim o código do jogo , lembrando que o N64 nem sequer tinha um chip de audio, muito menos de descompressão frames para vídeo igual o PS1, Toda essas tarefas cabia aos processadores do N64 computar , ou seja o pessoal tem que ter em mente que as 2 arquiteturas eram absurdamente diferentes em relação a midia, portar um jogo todo idealizado do zero para rodar e tirar proveito da midia de disco
MDEC x N64
O PS1 tinha um chip (MDEC) que descomprimia “on the fly” os dados de background e frames de vídeo e jogava para a tela . O N64 não tinha chip descompressor de vídeo já que e um hardware que foi desenhado sem o leitor de cds em mente. Ou seja a verdadeira compressão foi de absurdos 165 : 1 , eles tinham mais de 4gb de assets para 64 míseros megabytes de espaço. O mais complicado foi comprimir os vídeos que já ocupavam 25mb desses 64, e ainda ele tinha que compartilhar o áudio separado do vídeo , numa época que eram bem precoces ferramentas de compressão de dados para computadores com essa robustez, ainda mais pro N64 , a Factor5 deu o driver de áudio deles para eles conseguirem som com surround no N64. Comentário do dev da Angel Studios “Para encarar esse desafio de outra maneira, vamos colocá-lo em perspectiva numérica. Os quadros renderizados originais das sequências de vídeo eram 320×160 pixels em cores de 24 bits = 153.600 bytes / quadro. Nos videogames de Nintendo 64 Resident Evil 2, aproximadamente 15 minutos de vídeo em 30Hz fazem um total geral de 15 x 60 x 30 x 153.600 = 4.147.200.000 bytes de dados não compactados. Nosso orçamento para o cartucho era de 25.165.824 bytes, então tive que atingir uma taxa de compactação de 165: 1. Pior ainda, eu tive que compartilhar esse pouco de espaço dos cartuchos com o áudio do filme. “

Para entender a magnitude dessa implementação , considere o desafio além de comprimir esse tamanho absurdo em 25 míseros megabytes , atingir descompressão em MPEG em tela cheia a 30hz por software em tempo real em um processador equivalente a um intel 486 não seria um tarefa nada simples, e tão impossível na época que a Nintendo pagou 1 milhão de dólares a Angel Studios, acham que a CAPCOM não iria querer essa grana toda so para eles ? Enfim graças ao processador gráfico a RSP que roda em paralelo com a CPU que foi possível através de uma complicadíssima implementação com uso de microcódigo atingir algo similar ao que o MDEC do PS1 fazia em tempo real.
Aqui 2 páginas da revista Developer Magazine do ano 2000 explicando a complexidade do processo:


Só para entender o trabalho dos caras eu vou tentar explicar de forma simples já que as partes técnicas seriam maçantes para muitos.
A Angel Studios tinha apenas 25 megabytes dos 64mb totais de espaço somente para alocar os vídeos, 27000 frames , cada frame tinha 153 kilobytes , eles tinham que reduzir cada frame para menos de 1 kilobyte (932bytes para ser preciso) ou seja mais de 150x menos o tamanho original , e deixar os vídeos reconhecíveis, lembrando novamente o N64 não tinha uma BIOS, ou Sistema Operacional , nem o cartucho do jogo nem a placa mãe do N64 tinha nada em hardware que pudesse descomprimir esses frames, o cartucho já estava no seu orçamento mais caro em tamanho 64 megabytes, implementar um chip para decodificação de vídeo aumentaria mais ainda os custos do cartucho. Ou seja foi muito erro e tentativa , eu estou falando somente dos vídeos, teve outros problemas que eles passaram com audio, efeitos gráficos e correção de bugs.
Então Replicar o vídeo full-motion do PlayStation foi o desafio assustador mais desafiador e difícil
A Angel Studios desenvolveram suas próprias ferramentas e métodos para compactar os dados em uma forma aceitável. Os dados de vídeo foram primeiro convertidos de RGB para YCbCr usando sub amostragem de croma para reduzir o croma a uma fração de seu tamanho, reduzindo a luminância pela metade. A taxa de bits variava por clipe , as sequências com muito movimento eram codificadas com uma taxa de bits mais alta, enquanto as cenas de baixo movimento podiam se contentar com uma taxa de bits reduzida.
O frame rate dos vídeos foi reduzido para metade, de 30 fps para 15 fps – a interpolação é então usada para compensar a diferença, o que melhora a fluidez. A resolução dos clipes foi reduzida e o N64 RCP foi usado para dimensionar a imagem para tela inteira – isso também economizou espaço de armazenamento. Outros truques também foram implementados, com Angel usando o equivalente à taxa de quadros variável na codificação de vídeo de hoje: cenas estáticas dependem da retenção de quadros (por que codificar vários quadros com o mesmo conteúdo?) E o áudio foi cuidadosamente sincronizado com os quadros.

Cada aperto e dobra possíveis foram meticulosamente feitos para encontrar o equilíbrio certo e entregar resultados aceitáveis – e ‘aceitável’ resume perfeitamente a qualidade final. É óbvio que os videoclipes do Nintendo 64 ficam piores que a versão original do PlayStation já que cada frame é reduzido cerca 150x menos a qualidade.
O brilho é reduzido pela metade, a dependência da interpolação de movimento reduz a fluidez, a resolução é menor e a perda de compressão – todas essas coisas são evidentes e, no entanto, funciona.
Angel conseguiu encaixar os 15 minutos completos de vídeo full-motion neste cartucho – algo que nenhum outro desenvolvedor havia conseguido na época em cartucho. Graças a RSP do N64 que conseguiu fazer upscale dos frames e interpolava os mesmos com esboços graficos replicados do frame anterior. (isso mesmo tem graficos nos videos) para compensar a redução do bitrate

Soluções personalizadas para background e renderização de objetos também foram implantadas. Esta versão de Resident Evil 2 é totalmente única – enquanto a maioria dos outros portes são mais ou menos baseadas na versão PlayStation, a porta N64 lida com as coisas de forma diferente. Ele tira proveito do Z-buffer do sistema quando se trata de cálculo de profundidade, por exemplo, enquanto os personagens apresentam texturas inteiramente novas projetadas para caber dentro das restrições do sistema, completas com filtragem bilinear. O nível geral de detalhes é ligeiramente reduzido em comparação com o PlayStation, mas os usuários do N64 obtiveram o benefício do anti-aliasing do hardware do sistema.

Com o Expansion Pack conectado, o jogo varia a resolução do buffer de quadros por cena.
Ao variar a resolução, no entanto, o jogo muda os modos de saída constantemente. Nas primeiras cenas, o jogo salta entre 240p e 480i , isso é perfeito em uma televisão CRT, dando ao jogo uma aparência mais nítida e de alta resolução quando em 480i

Os videos rodando em tvs de tubo no N64 não ficam tão ruins como vemos hoje em monitores de alta resolução , eu era um que assistia anime em RMVB ligando a saida da placa de video em uma tv velha de 14″ , isso ja no inicio dos anos 2000. Esses formatos antigos RMVB, XVID, MPEG, eram para reduzir tamanho mesmo para ficar melhor de baixar na época em que a internet tinham velocidade bem baixa.
A conversão dos mais de 200 minutos de audio também foi impressionante Resident Evil 2 usa dublagem para cada uma de suas cenas e apresenta uma riqueza de música original com uma vasta gama de amostras personalizadas, todas projetadas para o chip de áudio dedicado do PlayStation. O N64 não tem esse chip e, na verdade, suas bibliotecas de som parecem ter sido bastante limitadas – e até mesmo o Angel Studios lutou para encontrar uma solução, o que os levou a colaborar com o celebrado desenvolvedor Factor 5, trabalhando diretamente com o lendário compositor musical Chris Huelsbeck e dois outros membros da equipe.
Huelsbeck ajudou a desenvolver um sistema de som conhecido como MusyX para Nintendo 64 e Game Boy. Este sistema baseado em amostras permitiu aos desenvolvedores definir suas próprias amostras de som exclusivas enquanto trabalhavam em tempo real com um aplicativo do Windows. O PlayStation já tem suporte para este estilo de reprodução de música e muitos jogos dependem de samples em vez de streaming de áudio digital e o sistema MusyX de Chris Huelsbeck era capaz de praticamente a mesma coisa no Nintendo 64. Ele conseguiu aumentar ligeiramente a qualidade dos samples. o original enquanto reproduz perfeitamente a trilha sonora do PlayStation. O MusyX até suporta Dolby Surround, oferecendo melhor consciência espacial na configuração certa – os desenvolvedores eram livres para licenciar, desde que atendessem a certos requisitos.
Claro, enquanto a trilha sonora está completamente intacta, o mesmo não pode ser dito dos efeitos sonoros e diálogos. Mais uma vez, isso se resume à falta de espaço – há muito que pode ser feito aqui. As vozes são comprimidas e reproduzidas em uma taxa mais baixa, com uma entrega mais abafada, mas, enquanto a qualidade é reduzida, o fato de termos tanto diálogo falado em um título do Nintendo 64 em cima do vídeo full-motion é simplesmente notável.
Mesmo com as ferramentas de hoje converter video para o N64 ainda é um processo lento e complicado, recentemente um entusiasta converteu alguns episodios do Bob Esponja para rodar como ROMs no N64

Respondendo a ambos em um: O codificador “hvqm2enc” é uma m**** absoluta. É MUITO lento e estou usando um Core i7. Ele também possui um limite de quadro estranho de cerca de 1500 quadros. Como resultado, o vídeo foi codificado a 10fps, em7 partes. Então, usei um script python criado pelo Zoinkity para mesclar as partes em um arquivo HVQM e compilei-o com o código de amostra pré-fabricado. A codificação levou cerca de uma hora no total.

E aqui o único vídeo do Brasil que eu considero todas as informações corretas:
Como podem ver além da complexidade de acomodar todos os assets no jogo no pequeno cartucho do N64 , eles ainda conseguiram adicionar extras que torna a versão de RE2 mais peculiar de todas

Além disso, o port apresenta 16 novos documentos no jogo, conhecidos como “Ex Files”, escritos por Tetsuro Oyama. Escondidos nos quatro cenários, eles revelam novas informações sobre o folclore da série e conectam a história de Resident Evil 2 às de outras partes, incluindo algumas que ainda não haviam sido lançadas na época.
Considerações Finais

Rockstar Studios
A proeza da Angel Studios com o porte de RE2 atraiu os olhares da Rockstar que acabou comprando o estúdio, não somente pelo porte do RE2 no N64 mas também pela experiência do estúdio em criar uma engine para mundo aberto chamada de A.G.E (Angel Game Engine) e posteriormente renomeada para R.A.G.E (Rockstar Advanced Game Engine) e usada e aprimorada até hoje nos jogos modernos da Rockstar.

Um pequeno mimo…
Não posso aqui deixar em branco sem mencionar o programador que trabalhou não somente no porte do RE2 do N64 mas outros jogos posteriores para a Rockstar o Alexander Erhart o qual tive oportunidade de conversar e tirar diversas duvidas e de quebra ganhar um jogo que ele mesmo programou autofrafado de presente
