terça-feira, 5 de janeiro de 2016

Jogos: C# & XNA


O XNA é um framework gratuito da Microsoft direcionado ao desenvolvimento de jogos, para Windows PC, Xbox 360 e Windows Phone 7. Permite criar uma infinidade de jogos, com praticidade e usando uma biblioteca bastante completa e robusta. É ideal para estudantes, pequenos desenvolvedores, criadores independentes e também para quem quer apenas brincar e conhecer um pouco da programação para games.

Para me iniciar neste âmbito, criei um jogo bastante simples, mas um tanto desafiador. O nome do jogo é Touchdown, e representa uma partida de futebol americano, simulando a situação em que o jogador com a posse da bola vai fazer o touchdown (isto explica o nome). Assim, o jogo consiste em fazer o personagem principal cruzar a endzone, passando antes por todos os jogadores do time adversário.

O jogo conta com animações dos personagens e do cenário, tela inicial (menu), efeitos sonoros e música de fundo (AC/DC, por sinal!), além de outros elementos básicos de jogos em geral e adendos inerentes ao tema/jogabilidade.

Ao decorrer do jogo, o personagem pode sofrer danos, de acordo com a aproximação do(s) adversário(s) ao jogador e tempo de jogo. No entanto, o personagem conta com itens auxiliares no campo que atuam como incremento de vida e diminuição da velocidade dos inimigos. Ao chegar ao fim da "vida" o jogo é finalizado, assim como quando o jogador chega ao seu objetivo, ambos os casos são informados através da mensagem na tela.

Alguns dos desafios no desenvolvimento do jogo foram a manutenção do sincronismo do plano de fundo com o movimento dos jogadores, a sintonia de movimento e velocidades, a detecção de colisão aprimorada, cálculos de interação posicional, a manutenção de estados do jogo/personagens, e especialmente, no meu caso, a criação do design do jogo! (um fator importantíssimo, mas raramente uma das habilidades de um programador: sorte a minha que tive algumas - apenas algumas - ajudinhas de uma noiva designer...).

Algumas das imagens do jogo:


      


O algoritmo é extenso o suficiente para não ser postado aqui, caso tenha curiosidade ou dúvidas quanto a programação nesta "modalidade" solicite o código-fonte através de meu e-mail que poderei fornecê-lo. Como dito anteriormente, irei me aprofundar na questão "jogo x programação" em breve em um post específico para isto.

Nenhum comentário:

Postar um comentário