Atenção! Todo conteúdo deste blog foi movido para o site Old Wagner's. Visite este site para atualizações!

terça-feira, 11 de março de 2008

Vazamento de Cor

Nos anos 80, memória RAM era muito cara e os desenvolvedores de computadores pessoais faziam todo o possível para economizar a memória. Isso incluía a memória de vídeo, e esta "economia" toda levava a resultados interessantes.

Tome o MSX como exemplo. O MSX, na sua resolução mais alta, exibia 256x192 pixeis, em 16 cores. Como um byte pode armazenar duas cores (16 + 16 cores), isso nos dá um total de 256x192x2 = 98304 bytes, ou 384 kB. Isso é uma quantidade absurda, se comparado aos 64 kB de RAM que o MSX possuía de memória RAM!

A solução que os desenvolvedores encontraram foi de colocar apenas uma cor para cada 8 pixeis. Na verdade, duas cores: uma de fundo (PAPER) e uma de frente (INK). Isto significava que a cada 8 pixeis horizontais, o MSX tinha direito a exibir apenas duas cores. Isto levava a resultados interessantes, como visto na imagem abaixo.

No ZX Spectrum, o problema era ainda maior, pois a limitação era para 8 pixeis horizontais e verticais.

Os programadores buscavam modos criativos de corrigir este problema. Alguns simplesmente o ignoravam (observe as personagens).


Outros faziam o jogo em apenas duas cores, evitando totalmente o problema.


Alguns jogos, como esta versão de Altered Beast, tentavam usar uma mistura de gráficos em preto e branco com fundo colorido. O resultado não era melhor do que um desenho de uma criança de 3 anos que não consegue colorir dentro das bordas (clique para ampliar).

Mas alguns programadores criavam o seu jogo com maestria, como Don Priestley, que cuidadosamente desenhava os gráficos de modo a evitar o conflito. Infelizmente, isto fazia com que o jogo se tornasse menos portável.

4 comentários:

Unknown disse...

Memorável. Saudades disso. Véio, curti muito seu blog, sou da área de Computação e vou sempre estar passando por aqui.

Vamos fazer, uma parceria de links.
?

Abs

André disse...

E aí cara! Não achei seu endereço então vou responder aqui mesmo.

Valeu pela visita! Pretendo atualizar ele diariamente, então continue visitando!

Acho q podemos fazer uma parceria sim. Qual o seu blog?

Um abraço!

José Augusto F° disse...

Parabéns pelo blog. Muito bom.
Essa explicação do vazamento de cores me tirou a dúvida que levei anos comigo.
Valeu!

Anônimo disse...

Apenas uma observação, se um byte pode armazenar duas cores (16 nos 4 primeiros bits e 16 no quatro ultimos bits) temos que dividir por 2 e não multiplicar:

256 x 192 / 2 = 24576 bytes

O que já não caberia na memória de vídeo do MSX (16Kb).

Abs.