Desenvolvimento - Games - Educação e ensino

Como desenvolvi um jogo caseiro para Xbox

11/03/2008 16:14

Por: Renato Ucha

Para quem quer desenvolver um jogo para computador mas nunca chegou perto de começar por achar difícil demais - é importante perceber que mesmo um game amador pede mais planejamento do que programação.

Desde a época do Atari eu sempre sonhei em fazer jogos eletrônicos, mas sempre tive a impressão de que este seria um dos maiores desafios do mundo do desenvolvimento.

De fato é. Imagine o quanto é necessário dominar a física para fazer um simulador de futebol? Em um exemplo simples, basta imaginar que quando você chuta a bola, para calcular a trajetória é necessário medir força de impacto, direção da bola, direção e velocidade do vento e força gravitacional.

Longe de ser um bom aluno em física, com o XNA Framework da Microsoft (framework específico para desenvolvimento de jogos para computador e Xbox 360) e uma série de bibliotecas de física freeware existentes na internet até eu arrisquei a colocar a mão na massa e criar um joguinho, em 2D mesmo. Para quem se lembra da época do Atari, ficou muito parecido.

Em seguida, sem conhecer absolutamente nada sobre a tecnologia, optei por comprar um livro para usar como apoio (Professional XNA Programming) – e com surpresa descobri que para fazer um jogo é preciso muito mais do que programação. É planejamento acima de tudo.

Percebi, obviamente, que não bastaria dominar as classes do XNA Framework e saber programar em C#; teria de criar uma boa história para dar sentido ao jogo, o que talvez seja o maior desafio para o desenvolvedor de games.

O roteiro precisa implementar desafios que tornem o jogo estimulante mas sem apelar para o lugar comum, senão o usuário não joga novamente. O desafio deve ser crescente (aumentar à medida em que o jogo avança) mas também o objetivo não pode ser impossível de ser atingido.

Bolar um roteiro dentro destes conceitos foi o maior desafio. Por muito tempo procurei uma história para fundamentar o meu jogo até perceber que ela estava na minha frente. Ou melhor, no passado, em uma empresa para a qual trabalhei há alguns anos.

A história é a seguinte: o analista de suporte técnico que atendia as ligações dos clientes fazia faculdade de Ciências da Computação e sonhava em chegar à área de desenvolvimento. O jogo então consistia no jogador controlar o analista de suporte e atender as ligações de suporte, preencher os requisitos CMMI e preencher as solicitações de chamados técnicos.

Sempre que o jogador falhasse, assim como na vida real, o gerente do produto apareceria para dar os chamados “feedbacks”. Sempre que o gerente aparece, o protagonista fica mais difícil de ser controlado, tornando assim mais difícil a jogabilidade (afinal, como na vida real, sempre que recebemos uma bronca ficamos irritados, não é mesmo?).

E a cada mês mais e mais trabalho aparece (lembrou o seu dia-a-dia?). Se você conseguir controlar o jogador por mais de 12 meses você o promove e vence o jogo.

Definido o roteiro do jogo, iniciei a criação do cenário. Como não possuo nenhum conhecimento de design, iniciei desenhando em um pedaço de papel. A partir daí, procurei algumas imagens na internet e fiz o meu plano de fundo. Desenhei o personagem, bolei alguns detalhes, como nuvens que passariam pela tela durante o decorrer do jogo e comecei a escrever as classes que utilizaria.

No meu caso a programação é C#. Ou seja, se você já está habituado com a linguagem e com os conceitos de orientação a objeto, não sentirá nenhuma dificuldade. Para fazer as classes de negócio não tive nenhum problema. Em relação a renderização do jogo, o framework apresenta classes prontas para trabalhar com imagens, sons, animações, objetos 3D e utilização da tela, além de temporizadores e controle de dispositivos de entrada como controles do Xbox 360 e teclado do computador.

Em muito pouco tempo, apenas sete dias de estudo e trabalhando apenas nas horas vagas, consegui finalmente chegar ao meu tão esperado jogo, ainda que bem simplório. Mas o importante é perceber que é fácil desenvolver um jogo simples para computador.

Claro, não podemos confundir a criação de um jogo caseiro com uma super-produção como o FIFA 2008 ou Halo 3, que envolvem meses de produção artística, modelagem 3D, planejamento e programação. Mas se você pretende chegar até lá, um bom começo é instalar o XNA Framework (gratuitamente a partir do site da Microsoft), adquirir um bom apoio, como o livro Professional XNA Programming (visite o site do autor, que oferece vários exemplos por lá) e começar a bolar o roteiro do seu jogo.

Confira abaixo uma tela do jogo que eu fiz. Não repare, o objetivo aqui era construir e não competir com profissionais.

Não me aprofundei muito com a tecnologia. Como disse, fiz apenas em minhas horas vagas, mas achei que foi bastante produtivo. Infelizmente não tive mais tempo para voltar a trabalhar com XNA, mas se você está realmente interessado em fazer jogos para computador utilizando esta tecnologia, deixe o seu comentário.

Você pode conferir o jogo pessoalmente, fazendo o download aqui. Será necessário instalar o XNA Framework Redistributable 1.0 refresh e atualizar o DirectX do seu Windows para rodar este jogo. [Webinsider]

.

Sobre o Autor

<strong>Renato Ucha</strong> (falecom@renatoucha.com.br) é gerente de projetos de TI certificado pelo PMI e Microsoft e atua em empresa de grande porte com arquitetura cliente servidor, web e interfaces SAP, além de dar palestras sobre gerenciamento de projetos.

Url original: http://webinsider.uol.com.br/index.php/2008/03/11/como-desenvolver-um-jogo-caseiro-para-xbox/
    Publicada em: 11/03/2008 16:14
    Impresso em: 28/11/2009
[editor] vtardin@webinsider.com.br