Como funcionam os gráficos no Mega Drive (VDP para iniciantes)

VDP

Compartilhar não custa nada!

Através deste artigo, quero apresentar ao público técnico ou não o básico de como são formados os gráficos do nosso querido Mega Drive através de sua VDP (Video Display Processor). Estarei super simplificando muitos dos conceitos de modo que seja de fácil compreensão para qualquer tipo de leitor.

Então tenha você já conhecimento técnico ou apenas curioso para saber como funcionam os gráficos, aproveite a leitura e espero poder ajudá-los a compreender esta fascinante máquina, que mesmo depois de anos, continua a nos surpreender com todo o seu potencial.

O que é o VDP?

O VDP (Video Display Processor) processa toda a saída de video do Mega Drive. Ele é derivado do VDP do Master System (que por sua vez é derivado do Texas Instruments TMS9918A), sendo assim, os modos gráficos do Master System estão todos disponíveis no VDP para fins de retrocompatibilidade.

Ele é identificado na placa como SEGA 315-5313(A) e variantes. Trabalham juntamente com a VDP as memórias VRAM (Video RAM/VDP RAM), CRAM (Color RAM) e a VSRAM (Vertical Scroll RAM). Entraremos em detalhes sobre estas áreas de memória nos respectivos setores da matéria.

Irei explicar sobre as resoluções disponíveis e paleta de cores. Além disso, existem três elementos principais que compõem os gráficos no MegaDrive (e em outros consoles também): Tiles, sprites e planes. Todos serão explicados abaixo.

Curiosamente o VDP também é responsável pelo som PSG do Mega Drive. O que era um chip discreto (separado) Texas Instruments SN76489 no Master System foi incorporado ao VDP no Mega Drive.

Resoluções do VDP

São duas as resoluções possíveis: 256×224 ou 320×224 (NTSC). Para padrão PAL, além das resoluções anteriores também são selecionáveis as resoluções de 256×240 e 320×240.

Ainda é possível escolher o modo de video interlaced, que dobra a resolução vertical (de 224 para 448 NTSC e 240 para 480 PAL). Este modo foi pouco utilizado e o uso mais conhecido é o modo 2 Players VS do Sonic 2. (Imagem ao lado)

 

Paleta de cores

O Mega Drive suporta quatro paletas de 16 cores, escolhidas pelo programador entre as 512 cores possíveis. Contando-se as cores nos modos de highlight e shadow (que respectivamente clareiam e escurecem a paleta), o total de cores possíveis aumenta para 1536 cores.

Combinando-se as quatro paletas de 16 cores, temos um total de 64 cores simultaneamente na tela. Apesar da aparente limitação, existem diversos métodos avançados e interessantes para aumentar tal contagem, como por exemplo, mudar a paleta durante o desenho do frame.

As paletas são carregadas na CRAM (Color RAM) e atribuídas aos sprites e planes, podendo ser atribuída apenas uma paleta por sprite/plano (explicados logo mais). A primeira cor da paleta sempre indicará a cor da transparência, sendo assim, podemos dizer que a paleta é composta por 15 cores visíveis.

As quatro paletas carregadas na CRAM (Color RAM) da primeira fase do Streets of Rage. Note as cores básicas dos personagens de Axel, Blaze e Adam presentes na primeira paleta.

 Tiles (ou chars)

Tanto os sprites quanto os planes (explicados a seguir) são formados por tiles. Tiles são imagens de tamanho 8×8 pixels carregadas na VRAM (VDP RAM) do console que servem para compor os sprites ou servem como peças para o plane.

 

Tiles da primeira fase do Golden Axe carregados na VRAM.
Note também alguns tiles que representam a fonte do jogo.

Sprites

Os sprites no Mega Drive são imagens formadas pelos tiles carregados na VRAM que podem ter tamanho entre 1×1 tiles (8×8 pixels) até 4×4 tiles (32×32 pixels). Como são compostos por tiles, o tamanho em pixels sempre será múltiplo de 8 (8,16,24 e 32) tanto na horizontal quanto na vertical.

Geralmente os sprites representam os elementos de jogo, sejam personagens do jogo, inimigos, itens, elementos da interface, cursores, etc. Qualquer imagem que tenha uma certa iteração provavelmente é um sprite (falarei de algumas exceções em breve).

No caso de sprites maiores, como por exemplo no caso de qualquer personagem de jogo de luta, ele é composto por vários sprites organizados de forma que pareça uma única imagem. O Mega Drive tem capacidade para 80 sprites simultâneos, sendo 20 por scanline.

Como dito anteriormente sobre as paletas, cada sprite individual só pode ser atribuído a uma unica das 4 paletas de 16 cores.

Um único sprite 16×16 que representa o contador de vida do Sonic.

Os quatro sprites que formam o Sonic.
Note que é formado por sprites de diferentes tamanhos (4a coluna)
(informação sobre o sprite mostrado está em azul)

Diferentemente de sistemas modernos, os sprites não possuem nenhum tipo de detecção de colisão, tendo que o programador criar o próprio sistema de colisão.

Planes

Os planes, como o nome indica, são planos que podem ser maiores que a área da tela e fazer scroll. O Mega Drive possui 2 planes, que podem ser usados para efeitos de parallax ou podem ser utilizados um como background e outro como foreground (cenário na frente dos sprites principais do jogo).

Plane B do Green Hill Zone.

Plane A. A área quadriculada representa transparência.

Um outro uso comum dos planes é para imagens que talvez seriam muito grandes para serem compostas apenas por sprites. O exemplo abaixo mostra um chefe do Tatsujin/Truxton onde grande parte dele é composta por um plano de fundo, sendo a parte “atacável” formada por sprites.

Tela de jogo mostrando o chefe sendo atacado.
(Repare na parte de cor diferente, que é formada por sprites.)

Plane utilizado para formar o boss.

 

Além dos dois planes utilizados para background, também existe o plane especial chamado Window, cuja utilidade é para desenho de elementos fixos da interface do jogo como score, contador de vidas, tempo, etc.

VDP

Plane Window do Fatal Fury 1 (vida, timer, rounds e fotos)

Modos de scroll dos planesModos de scroll dos planes

Os planes possuem diferentes formas de fazerem scroll (rolagem) na tela. Existem 3 modos de scroll horizontal e 2 modos de scroll vertical.

Modos de scroll horizontal:

  • Plano inteiro: Irá deslocar o plano inteiro.
  • Tile: Pode deslocar individualmente linhas de 8 pixeis de altura
  • Linha: Pode deslocar cada linha do plano individualmente.  Muito utilizado em alguns efeitos visuais conhecidos, como ondulações.

Modos de scroll vertical:

  •  Plano inteiro: Desloca o plano inteiro verticalmente.
  • 2-Tiles: Desloca colunas com 2 tiles (16 pixeis) de largura.

Todos os modos de deslocamento (tanto horizontal quanto vertical) são realizados em precisão de pixels. Curiosamente o scroll vertical possui sua propria VSRAM (Vertical Scroll RAM). Eu fiquei um tanto confuso pois o scroll horizontal é guardado na própria VRAM, mas descobri que eu não sou o único que achei isso estranho. Pelo que parece, foi algo adicionado posteriormente ao projeto.

VDP

Deslocamento horizontal por linha usado para criar efeitos visuais no titulo do Road Rash II.

Desta forma, mesmo possuindo apenas dois planos, é possível se utilizar de diferentes métodos de scroll para se alcançar um efeito de profundidade, como por exemplo, fazer scroll de tiles ou linhas de forma individual, controlando a velocidade de cada uma separadamente, criando assim uma ilusão de profundidade, como por exemplo nuvens em supostas camadas diferentes ou uma cidade ao fundo.

VDP

Veja na imagem acima o fundo de cenário do Road Rash 3. Ele utiliza o scroll horizontal por tiles (blocos de 8 pixels de altura). As nuvens na área demarcada com o 1 andam em velocidade diferente que as nuvens do grupo 2, que por sua vez, move em velocidade diferente do cenário de frente no grupo 3, criando uma ilusão de profundidade com apenas um plane.

Conclusão

Com isto, acredito ter coberto todo o básico de como são formados os gráficos no Mega Drive, inclusive incluindo algumas técnicas utilizadas. Estas digamos são as especificações padrões do que o VDP apresenta, mas muitos jogos utilizaram durante anos diversas técnicas avançadas para puxar todos os limites como por exemplo maior número de cores na tela e graças a seu rápido processador Motorola 68000, muitos efeitos podem ser reproduzidos em software como por exemplo scaling e rotação de sprites e planos, semitransparência e 3D, tudo isso sem adição de chips extras e nem hardware específico.

Vida longa ao Mega Drive! Que continue a nos surpreender! Quem sabe o que ele nos reserva no futuro? Até a próxima!

Compartilhar não custa nada!

Tags

Você também pode gostar...

Compartilhe e Comente

  • Excelente!
    Parabéns pelo artigo.

    • Ivan Odintsoff

      Valeu! Tem mais no forno!

      • manda pq ta difícil achar material assim na internet.

  • Obr Cristiano Camacho

    Excelente Ivan! muito bem explicado^^

Assinar o MegaCast

Brasil Game Show

Enquete

Quais são suas expectativas com o Sonic Mania?

View Results

Carregando ... Carregando ...
Parceiros