
Enfim, depois de algum tempinho e de alguns problemas, estamos de volta. E nada melhor que voltarmos aos nossos posts sobre desenvolvimento (pra alguns, talvez não).
Como fazer seu próprio jogo? Nesta série explicarei como criar um jogo usando XNA. No final dos posts da série eu disponibilizarei todo o código fonte bem como o jogo pronto para jogar.
Lembram-se do WinForms Lander, o jogo feito em Windows Forms que expliquei aqui há alguns meses?
Na época eu havia tentando fazer um jogo usando ferramentas que não eram exatamente para este fim, mas que eu dominava bem. Ao longo dos 7 posts, eu expliquei um pouco sobre o desenvolvimento de um jogo de modo geral, passando pelos comandos, fluxos de update, colisão e etc. Quem não viu, eu recomendo muitíssimo a leitura, disponível ali no link acima.
Em algum momento eu mencionei que no futuro eu faria o game totalmente em XNA.
Há algumas semanas eu estou fazendo isso e o jogo está quase 100% convertido, permitindo assim que eu inicie uma nova série de posts sobre desenvolvimento em XNA.
Como o básico eu já expliquei nos posts anteriores, nesta série vou focar mais na tecnologia do XNA que em desenvolvimento de games de modo geral. Lembrando que este não é um guia de como fazer um jogo do início ao fim, nem sobre XNA avançado. Já existem muitos blogs por aí postando sobre XNA e eu não vou competir com eles. Minha idéia será mostrar alguns problemas de desenvolvimento que eu tive bem como as soluções que adotei para resolvê-los.
Para começar, quem quiser de alguma forma acompanhar terá que baixar o Visual Studio 2008 ou 2010 e o XNA 3.1.
Vamos falar um pouco do XNA. O que é XNA? É um framework de desenvolvimento de games. E o que isso significa? Bem, no contexto de desenvolvimento de sistemas, um framework é um conjunto de bibliotecas e estruturas de dados que juntas direcionam ou mesmo forçam o desenvolvedor a codificar de uma determinada maneira. Se você usar o framework à risca, ganhará muita produtividade, mas como todo framework, há alguma limitações em que você certamente esbarrará.
O XNA não é a melhor ferramenta do mundo para desenvolver grandes games, mas também não é paga, o que é uma grande vantagem. O legal é que o XNA usa o Visual Studio e a linguagem de programação C#, que são consideradas juntas a melhor e mais produtiva ferramenta de desenvolvimento de grandes aplicações hoje em dia por muita gente (eu incluso). Principalmente se considerar o uso de interfaces gráficas. Isso tudo está ao alcance de você ao criar seu game usando XNA. A Microsoft é f*da!!
Porém, mesmo usando o Visual Studio, você definitivamente não usará nenhum tipo de auxílio visual para construir cenários e layouts de tela em geral. Tudo deve ser feito via código.
Aqui foi onde eu mais sofri nesta migração do WinForms Lander. Transformá-lo no XNA Lander significou deixar de lado toda a facilidade de construir telas do Visual Studio e substituir tudo por sprites posicionados na mão, passando o X,Y de cada um e fazendo ajustes às cegas, para então executar o game e ver como ficou o layout.
Nesta parte não tem muito o que chorar mesmo, pois ajustar o layout é relativamente rápido em comparação com desenvolver o resto do game.
Como eu já tinha os fontes do jogo original, aproveitei todo o código de cálculo de física bem como a maioria das classes. Só precisei reescrever os layouts e as chamadas para cada tela, pois no XNA as coisas mudam muito na maneira como você carrega conteúdo na tela e os renderiza.
Usando o XNA, a coisa que eu notei mais rapidamente foi o ganho em performance com relação à versão antiga do game. Pois Windows Forms é usado primariamente para exibir telas estáticas. Mas pelo que eu vejo por aí, o XNA não é mais rápido que as grandes engines comerciais, como a Unreal Engine ou a Unity. Portanto, se você almeja fazer o novo World of Warcraft killer, esteja avisado
(toda salsinha quer fazer um WoW). Querem uma dica, comecem tentando fazer um Pong ou mesmo Tetris.
Bem, o intuito deste port para XNA é de apenas conhecer melhor a ferramenta, e assim que o jogo estiver pronto e fiel à versão em Windows Forms, vou começar a criar a versão melhorada, com recursos adicionais, como cenários de fundo, sons melhores, mais missões e tudo o que o XNA permitir e eu conseguir fazer.
Por hoje é só. Aguardem a parte 2 com alguns códigos e uma visão geral das classes do XNA.
Tags: Desenvolvimento, XNA, XNA Lander
Categorias: Desenvolvimento | 2 Comments »
Pooo muito legal cara.
Se eu não me engano em 2008 falei para o Rômulo começar a estudar games em XNA pela facilidade que é para publicá-los e ganhar dinheiro.
Fico feliz que vocês estão indo neste rumo agora.
Abraços e estou no aguardo dos próximos “episódios”.
cara muito top esse tutorial!!!!
deu pra ter uma noção d como criar um jogo…
flw