Técnicas empregadas no desenvolvimento de jogos – Parte 3
Esta publicação é continuação dos artigos:
Técnicas empregadas no desenvolvimento de jogos – Parte 1
Técnicas empregadas no desenvolvimento de jogos – Parte 2
2.7 – Blitting e Chaveamento de Cor
A técnica de Blitting consiste no processo de inserção de imagens de uma superfície em outra. No desenvolvimento de jogos, isso é freqüentemente realizado quando uma cena do jogo é montada. O frame corrente de cada Sprite é inserido na cena, lembrando que isso é realizado no Back Buffer (veja a primeira parte dessa série de artigos), para que posteriormente seja enviado à superfície primária.
Antes do frame de uma Sprite ser inserido, é verificado qual é a sua cor de transparência, a chamada cor chave (veja a segunda parte dessa série de artigos). Feito isso, a cor é eliminada, para que a imagem não apareça na cena com um retângulo em sua volta. Esse processo é chamado de Chaveamento de Cor, e geralmente é utilizado o tom rosa como cor chave, justamente por não ser muito freqüente sua presença nas imagens de um jogo. Claro que isso não é uma regra, visto que a cor de transparência pode ser qualquer uma que não seja utilizada na imagem principal.

Processo de Blitting e Chaveamento de Cor
2.8 – Detecção de Colisões
Praticamente todos os jogos existentes possuem a necessidade de verificar se os objetos apresentados na tela colidem entre si. Basicamente, são as colisões que geram interatividade entre os objetos em cena. Veja alguns exemplos, baseando-se no clássico Mario Bros:
- Mario bate em blocos para quebrá-los ou descobrir itens escondidos;
- Mario pega um cogumelo que o torna maior;
- Mario salta sobre uma tartaruga, pegando posteriormente seu casco;
- Mario cai sobre uma planta carnívora e perde uma vida.
Existem diversas formas de detectar colisões em um jogo, sendo que algumas envolvem complexos cálculos. Mas basicamente existem duas técnicas tradicionais, as quais não são difíceis de entender. São elas:
Bounding Box: Também chamada de caixas de contorno, essa técnica define uma área retangular em torno de uma Sprite. Quando ocorre a intersecção entre duas dessas áreas, referente a Sprites diferentes, há uma colisão.
É um método simples e de certa forma eficaz, pois mantém um controle satisfatório de colisões, e não exige muito processamento. O único problema que ocorre é quando uma imagem possui formas muito sinuosas, dificultando a detecção real de uma colisão, principalmente nos cantos do retângulo que envolve a Sprite. Com isso, mesmo que os retângulos das Sprites existentes se toquem, visivelmente pode não ocorrer a mesma situação com as imagens.
Sobreposição de Pixels: Nessa técnica, após a intersecção das áreas retangulares, os pixels de cada Sprite são analisados para verificar se ocorreu sobreposição de uma imagem a outra.
Embora esse método seja aparentemente o mais eficaz, vale lembrar que sua utilização envolve uma rotina que consumirá mais recursos do hardware, devendo ser utilizado então quando há a necessidade de uma detecção precisa de colisões.

Colisões com as técnicas Bounding Box e Sobreposição de Pixels
2.9 – Backgrounds
Sabe-se que todo o bom jogo 2D apresenta um cenário de fundo, seja estático ou animado, possibilitando uma atração visual a mais.
Não existem muitas diferenças para realizar a implementação de um cenário de fundo estático ou animado. Na realidade, a principal diferença consiste no fato de que um background estático não requisita nenhuma rotina além de sua devida inserção no jogo, enquanto que um background animado necessita de um método para tratar seus movimentos.
2.9.1 – Backgrounds em camadas (Layers)
A técnica de implementação de cenários em camadas ou layers consiste em exibir vários backgrounds sobrepostos, com variações de posicionamento e velocidade entre as imagens utilizadas, obtendo-se com isso um efeito de profundidade.
Para propiciar o funcionamento dessa técnica, são necessárias no mínimo duas imagens, sendo que a utilização de mais de quatro backgrounds pode acarretar em menor performance, visto a quantidade de objetos que requisitam processamento.
Nos jogos em 2D existentes, é comum encontrarmos duas camadas de imagens sendo utilizadas para a exibição do cenário. A primeira camada geralmente possui todas as características que interagem com o personagem, enquanto que as demais servem como complementos do cenário. Veja abaixo:

Disposição de camadas em um jogo
Pode-se perceber que o chão onde o personagem se locomove, bem como os detalhes principais do jogo pertencem a primeira camada, sendo que alguns interagem com o jogador, outros não. A segunda camada é utilizada com o propósito de complementar o cenário do jogo, e são muito importantes quando o objetivo é propiciar elegância e profissionalismo. As duas camadas apresentadas movimentam-se com velocidades diferentes, dando a impressão que o cenário de fundo realmente está distante do personagem.
2.9.2 – Tiles Backgrounds
Você deve estar lembrado de algumas páginas de internet que utilizam imagens que se encaixam umas nas outras, preenchendo todo o fundo. Essas imagens são chamadas de Tiles (telhas, em inglês), e para proporcionar suavidade na apresentação, elas são trabalhadas para que seus lados se encaixem perfeitamente umas com as outras (lado esquerdo com lado direito, parte de cima com a parte de baixo). Embora existam programas que auxiliam nesse trabalho, dependendo da imagem o desenvolvedor deve possuir uma certa habilidade para tratar manualmente esse encaixe.
Essa técnica de Tiles é muito utilizada no desenvolvimento de jogos, pois o programador poderá elaborar grandes cenários, fazendo uso de poucas imagens. Também é utilizada concomitante às técnicas de layers.

Exemplo de utilização de uma Tile
No próximo (e último) artigo dessa série, falarei sobre alguns programas exclusivos para desenvolvimento de jogos. Até lá!
Roberto Tadeu Fauri
Veja também:
- Técnicas empregadas no desenvolvimento de jogos – Parte 4
- Técnicas empregadas no desenvolvimento de jogos – Parte 2
- Técnicas empregadas no desenvolvimento de jogos – Parte 1
- Mouse Educacional – Software para aprimorar técnicas com o mouse
- Mantenha seu computador livre de problemas – Parte 3: Limpeza do sistema de arquivos
Tags: 2D, criação, desenvolvimento, games, jogos, técnicas, teorias




Tcnicas empregadas no desenvolvimento de jogos Parte 3…
Terceiro artigo da srie que aborda as principais tcnicas e teorias empregadas no desenvolvimento de jogos, especificamente em ambientes 2D. Indicado aos curiosos e para aqueles que sempre sonharam em desenvolver seu prprio game….
Técnicas empregadas no desenvolvimento de jogos – Parte 3…
Terceiro artigo da série que aborda as principais técnicas e teorias empregadas no desenvolvimento de jogos, especificamente em ambientes 2D. Indicado aos curiosos e para aqueles que sempre sonharam em desenvolver seu próprio game….
[...] http://www.dinx.com.br/2009/08/tecnicas-empregadas-no-desenvolvimento-de-jogos-parte-2/ http://www.dinx.com.br/2009/08/tecnicas-empregadas-no-desenvolvimento-de-jogos-parte-3/ [...]
Deixe seu comentário!
Publicações mais lidas
Últimas publicações
Dinx no YouTube
Veja mais vídeos
Parceiros
Adicione o Dinx em seu site