Eu estou convicto que Donkey Kong Country é o jogo tecnicamente mais avançado da história dos video games. muitos hoje pensam que DKC é apenas um trabalho muito inteligente de pré-renderização usando software externo e ignoram todas as outras coisas que o Donkey Kong Country faz, porque não têm um olhar técnico. Donkey Kong Country está cheio de técnicas gráficas incomuns no SNES que realmente pressionam o hardware com extrema força, tudo sem chips especiais.
Vamos dar uma olhada rápida, por exemplo. Primeiro, vamos falar sobre os jogos "apenas sendo arte pré-renderizada". A arte pré-renderizada nessas máquinas antigas é realmente algo extremamente difícil de obter. Muitos outros jogos de outros desenvolvedores, tanto no SNES quanto em seus concorrentes, experimentaram arte pré-renderizada em seus jogos, e eles não parecem tão bons quanto Donkey Kong Country. Isso ocorre por causa de muitas técnicas que o DKC usou exclusivamente que outros jogos do SNES não aproveitaram. Não é apenas um processo de converter em sprite e colocá-lo em um jogo. O grande problema ao tentar projetar gráficos pré-renderizados dessa maneira é que ela consome sua memória muito rápido. O DKC no SNES consegue ter uma ótima aparência porque possui muitos quadros de animação para tudo, em modos de cores de alta qualidade. Isso é feito com o uso de um esquema de compactação de imagem interno bastante impressionante.
A Rare começou sua vida como Ultimate Play the Game e, antes de fazerem jogos, estavam em demoscene. Portanto, a Rare, mais do que a empresa de jogos comum, já tinha muita experiência aprimorando hardware realmente fraco de maneiras extremamente eficiente, e eles fazem exatamente isso no DKC. Eles de fato dividem sprites em blocos de 8x8 para economizar o máximo de espaço possível no cartucho, possibilitando compactar o maior número possível de quadros de animação e fazem isso contornando o limite de 34 sprites criando um complexo multiplexador de sprites .
A multiplexação de sprites é algo que geralmente não era necessário nos jogos SNES e Genesis. Era um truque antigo do Commodore 64, em que o sistema tinha apenas 8 sprites para trabalhar em toda a tela. Basicamente, ao usar o DMA na tela enquanto uma cena é exibida, uma vez que todos os seus sprites são usados na tela, a multiplexação de sprites altera a localização do sprite na memória para que eles sejam redesenhados mais tarde na tela usando os mesmos sprites de hardware.
O número de draws que o hardware pode fazer por linha de varredura mostra a você quantos sprites físicos ele pode desenhar de uma só vez. Fazer multiplexação por sprite envolveu uma integração extremamente profunda no mecanismo, pois os objetos devem aparecer em ordem; caso contrário, você perderá ciclos ordenando sua lista de multiplexação e, para um jogo como o DKC que já faz muito, isso não é possível. Portanto, o sistema de manipulação de objetos no DKC é notavelmente complexo, muito mais do que na maioria dos outros jogos da época, porque eles fazem um truque intrincado para empurrar sprites que não eram comuns há cerca de uma década naquele ponto.
Depois, existem coisas como listas HDMA em segundo plano:
O Donkey Kong Country aqui está produzindo uma quantidade incrível de cores nesta cena - mais do que o SNES supostamente pode produzir de uma só vez neste modo gráfico. É devido ao uso de listas HDMA. O plano de fundo real do DKC se parece mais com isso:
É semelhante à maneira como os fundos de cobre no Commodore Amiga funcionavam, mas no Amiga, esses fundos foram criados usando um coprocessador dedicado (o copper é literalmente um apelido para "Co-processador"). O SNES aqui faz tudo em software, em tempo real, sem um co-processador dedicado. Novamente, isso se resume à codificação genial.
Os jogos DKC estão cheios desse tipo de coisa. Há áreas em que os programadores tiveram apenas 4 camadas de hardware para desenhar devido à forma como o hardware SNES funciona, mas eles conseguiram simular 5 ou mais camadas usando planos de bit. Isto é devido à forma como o SNES armazena seus gráficos. Em vez de usar formatos de imagem robustos, em que cada byte na memória armazena informações de cores sobre um único pixel, o SNES usa memória planar. Isso significa que cada byte na memória é na verdade uma representação monocromática de 8 pixels em uma linha horizontal (1 bit por pixel, 1 byte = 8 bits em uma linha, portanto, 8 pixels "preto ou branco" em uma linha). Vários bytes são intercalados na memória e você representa esse tipo de espaço de cores 3 dimensionalmente:
Desenvolvedores muito inteligentes perceberiam que cada camada do bitplane produz uma imagem monocromática diferente quando vista na memória da seguinte forma:
É quando eles são combinados que você obtém a imagem final resultante. Portanto, se você realmente entender como o hardware de vídeo funciona, poderá usar um único bitplane como uma camada extra de desenho, rolando-o independentemente dos outros bitplanes no software. Isso limita o número de cores que você pode usar - um único bitplane só tem acesso a duas cores, "ativado e desativado". Mas, novamente, juntamente com as listas de HDMA, o raro pode alterar as cores usadas para criar essa única camada de bitplane na memória à medida que a tela é desenhada, de modo que, em vez de ser monocromático verticalmente, é monocromático horizontalmente, com a imagem sendo gradiente verticalmente. Se alguém der dois planos de bit para o truque, você poderá produzir três cores diferentes ao mesmo tempo na horizontal, permitindo imagens complexas.
Aqui está uma captura de tela de tal efeito do jogo Amiga Agony, mostrando o resultado da tela e a paleta de cores vertical feita pelo DMA:
Novamente, o Amiga tinha um coprocessador dedicado para isso. O SNES faz isso no software. No primeiro nível da DKC, a Rare conseguiu fazer com que 4 camadas de desenho se comportassem como 7 camadas de rolagem paralaxe independente usando esse truque. E esse é o tipo complexo de rolagem de paralaxe.
O DKC está cheio desse tipo de tecnologia. Como, além de dividir sprites para compactação de ROM, eles também têm alguns outros esquemas de compactação baseados em RLE e LZ77 no jogo. Eles usam vários, porque determinados pontos do jogo precisam de dados mais rapidamente que outros, e, portanto, são necessários vários esquemas de compactação para extrair toda última gota de espaço do cartucho. Faz tudo isso sem nenhum tipo de co-processador. Além disso, também existem impressionantes cenas de rolagem de linha, troca de paleta de cenas no meio do quadro.
O DKC é sem dúvida um dos jogos mais impressionantes do SNES. NÃO é "apenas gráficos pré-renderizados", é essencialmente uma carta de amor dos desenvolvedores mais habilidosos da face da terra . O desenvolvedor médio, com uma estação de trabalho SGI, não poderia ter criado o DKC. Você precisa ser extremamente proficiente em programação gráfica para obter um jogo como esse.
Rare dos anos 90, seus jogos são pura magia 100% técnica. Absolutamente mestres de sua geração.