quarta-feira, 25 de fevereiro de 2009

Kong On Crack

Conforme prometi nos últimos posts finalmente terminei o jogo de ação que estava fazendo. O jogo é simples e já esta concluído faz um tempo. Não publiquei ele antes, pois estava preparando o material que vou colocar junto aqui.

O jogo esta bem melhor, do ponto de vista tecnológico, que o anterior. Aliás, contrariando o que falei não vou publicar os fontes deste último, pois ficou realmente ruim. O objetivo aqui é juntar exemplos de bons códigos e aquele não foi um. Mesmo assim quem tiver interesse me avise que envio o código diretamente. Já os fontes do jogo deste post, Konk on Crack, estão disponíveis la no final...

Bom, como outros jogos esse foi feito sobre um conjunto de sprites prontos, e provavelmente proprietários, desta vez do jogo Donkey Kong Country foi a vítima. O conceito é simples: Donkey Kong com a fama virou drogado, e o objetivo do jogo é manter-se chapado e não morrer no processo. A jogabilidade é baseada em três elementos visíveis: Drogas, Comidas e Inimigos.
  • Drogas: Comprimidos Azuis que elevam o nível do medidor de Drogas, se o medidor chegar a zero(abstinência) ou ao máximo(overdose) o protagonista morre.
  • Comida: Bananas Amarelas que elevam o nível do medidor de Comida, se o medidor chegar a zero(fome) ou ao máximo(congestão) o protagonista morre.
  • Inimigos: Barris Vermelhos que diminuem o nível de ambos os medidores, drogas e comida.
Alem dos elementos visíveis na jogabilidade foram inseridos elementos dinâmicos: se manter vivo conta pontos, se o protagonista come muito seu Nível de Droga cai rápido, se usa muita droga seu nível de comida cai mais rápido. Assim o melhor é manter os medidores equilibrados.

As regras são simples: Corra, coma muito e se drogue o máximo possível.

No jogo foi usado um efeito muito comum em jogos 2D, cenários com deslocamentos diferentes criando um efeito tridimensional. Este tipo de coisa é muito simples de implementar e da um bom resultado final.

O jogo também é um ótimo exemplo do uso de conceitos de orientação a objeto em ActionScrip 3(AS3) que é linguagem script usado no Flash CS3. O AS3 é supostamente uma linguagem orientada a objeto, mas não implementa todas as características mais comuns, deste tipo de programação. Por exemplo não existe o conceito de polimorfismo mas, existe herança e ele permite sobrecarga de métodos da Superclasse na classe derivada.

O Modelo em UML do jogo é este:

No código do jogo também aparece uma característica clássica da orientação a objetos do AS3. Algumas classe tem código idêntico mas, com o MovieClip diferente. O MovieClip é a sprite, ou seja, as classes tem comportamento igual mas a aparência delas é diferente para o usuário. É o caso de Fundo e Grama. Nas Classes Comida, Drogas e Inimigos existe a implementação de sobrecarga ou pelo menos o seu equivalente em AS3.

Vou fazer outros posts sobre as classes deste jogo, pois tem algumas técnicas que vale a pena falar. Por exemplo: a classe Teclado máscara os eventos normais do AS3 sobre um vetor de flags e torna a movimentação bem mais simples e sem erros. Essa é uma técnica bastante usada para jogos.

O código fonte do jogo, junto com os sons e sprites estão aqui.

Para jogar Kong on Crack clique na figura.


Como de costume os sons, músicas e imagens do jogo são de propriedade de seus respectivos donos e podem ser removidos se incomodarem alguém. Se você, seu amigo, vizinho, pai, tio, cachorro, quiser fazer sprites novas para este ou outro jogo, por favor entre em contato para conversarmos pois eu continuo sem talento para desenhar.

Nenhum comentário:

Postar um comentário