Como desenvolvi um jogo caseiro para Xbox

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

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]

.

Avatar de Renato Ucha

Renato Ucha é formado em administração de empresas, especializado em gestão de projetos. Possui vasta experiência na área, além de dar palestras e escrever sobre o assunto.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

7 respostas

  1. É um absurdo dizer XNA está tornando isso uma realidade, quando ela nada mais é do que uma game Engine para Xbox 360.

    Game Engines já existiam antes do XNA.
    Para quem quer criar games caseiros, e profissionais podem escolher entre várias engines open source…

    SIO2 – Iphone
    http://www.sio2interactive.com

    Pygame
    http://www.pygame.org

    Ogre3D
    http://www.ogre3d.org

    Cocos2D
    http://cocos2d.org/

    Panda3D
    http://www.panda3d.org

    JMonkey
    http://www.jmonkeyengine.com/

    Irrlicht
    http://irrlicht.sourceforge.net/

    Blender Game Engine – a game engine do Blender
    http://www.blender.org

    Ou podem usar algumas engines comerciais.

    Torque
    http://www.garagegames.com/products

    Vicious
    http://www.viciousengine.com/

    Unity
    http://unity3d.com/unity/

    Game Maker
    http://www.yoyogames.com/gamemaker/

    3D Game Builder – Uma Nacional
    http://www.eternix.com.br/pt/3dgamebuilder/index.php

  2. Parabéns!
    Eu também já tentei criar um jogo em flash e acho muito mais fácil e divertido. Sem contar que para minha área de propaganda e marketing, posso me aprofundar mais em questões mais técnicas como essa, e aprimorar meus conhecimentos.O mesmo vale para todos, o simples fato de nós querermos produzir algo sozinhos demonstra que somos interessados em saber algo além do limite do simples JOGAR.

    abraço
    e ótimo artigo

    Murilo Bispo ( publicse@hotmail.com)

  3. Olá, realmente o artigo é bem legal e introduz o leitor à ferramenta XNA. É uma bela iniciativa da Microsoft, tanto já existem alguns jogos feitos por brasileiros na Live. Gostaria de saber se é essencial que o usuário seja programador hardcore, ou se dá pra se virar apenas com uma boa idéia na cabeça e um pouquinho de familiaridade com linguagem de programação.

    Abraços!

  4. Olá! Muito bom o artigo, sobre a ferramenta XNA da Microsoft. Estive lendo algumas coisas a respeito e realmente vi nela uma grande oportunidade para também realizar um sonho: desenvolver meu próprio jogo. Muitos viciados em jogos, como eu, também possuem este mesmo sonho e o XNA está tornando isso uma realidade (em parte). Um bom jeito de incentivar pequenos produtores amadores a criarem jogos interessantes e, quem sabe, conseguir chegar a trabalhar em uma empresa de produção de jogos eletrônicos!

    Abraços.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *