11.7.09

Aplicando perspectiva a um grid

O grid é um elemento básico comum à maioria dos jogos 2D. É uma matriz de elementos gráficos que se repetem para formar um mapa. Esses elementos gráficos são chamados tiles -- traduzindo ao pé da letra, ladrilhos.



Digamos que vou criar um RPG. O tamanho da tela é o grid 8x8 acima -- é uma tela pequena, poderia ser de um Gameboy ou de um celular, mas é suficiente para o nosso exemplo.



Então eu fui e criei um mapa para o RPG. É um campo com um rio no meio, o rio tem uma faixa de terra em uma das margens e uma ponte sobre ele para atravessar para o outro lado.

Esse mapa é composto de cinco tiles: grama, grama com flores, terra, água e o chão da ponte. Pra completar, tem o sprite do personagem: um sprite é, em essência, um tile que é projetado por cima dos outros.

Existem muitos jogos que têm gráficos desse mesmíssimo jeito. Mas isso não parece muito bonito! Parece que o mundo é todo plano, você está olhando do céu e o personagem está deitado na grama. Além disso, a estrutura do grid fica muito óbvia, o que dá um impacto visual negativo.



Agora o mapa parece bem mais profissional! E tudo que fiz foi adicionar dois tiles: uma "parede" para a borda do rio e uma para a ponte. O rio agora ganhou profundidade, e a ponte está no nível do chão. Nós acabamos de adicionar altura ao mapa.

Com a introdução da altura, o mapa ganha perspectiva: você não vê mais só o chão da ponte, mas também sua parede lateral. Você consegue ver a depressão entre a terra e o rio. Agora também é mais fácil acreditar que o sprite do personagem está mesmo de pé.

Quero mostrar que o mesmo princípio da altura também vale para sprites. Suponha que só flores não são suficientes para decorar esse campo, queremos também algumas árvores.



O que há de errado com a imagem acima? A árvore é um sprite como o personagem, ocupa todo o tamanho de um tile. Isso dá a impressão de que o personagem e a árvore têm a mesma altura -- é uma árvore muito nanica.

O que nos traz ao problema: como ter sprites de tamanhos variados, se o tamanho dos tiles não pode mudar?



A solução: componha sprites maiores a partir de dois ou mais tiles. Essa árvore é feita de dois gráficos que são usados juntos no mapa. Agora ela tem o dobro da altura do personagem, o que parece muito mais real! Você pode perceber que existem pelo menos 3 níveis diferentes de altura nesse mapa.

Perceba também como as árvores de baixo se projetam em cima do rio. Isso ajuda ainda mais a "esconder" a estrutura do grid aos olhos do jogador.

Todos esses gráficos são de um RPG que estou começando a criar. Em breve postarei mais detalhes aqui.

Marcadores: , ,

7.7.09

Voltando

Estava sentindo a necessidade de montar um quartel-general para os meus projetos, então vou usar esse espaço para isso. Esse blog ficará menos pessoal. Espero só tratar de jogos, programação e nerdices relacionadas na maioria do tempo.

Marcadores: