Logo Hardware.com.br
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas

Programando jogos com o XNA (com fotos)

#1 Por Fergo 08/07/2007 - 02:49
Boa noite meus caros,

Criei este tópico para publicar mais um dos meus tutoriais, que acabo de finalizar. Desta vez é sobre a programação de jogos utilizando o Microsoft XNA ( antigo Managed DirectX ). Como escrevi no PDF, evitei de usar informações e rotinas muito complexas, já que minha intenção era criar um guia prático, puxando mais para a parte prática do que para a teoria.

O tutorial ensina basicamente como trabalhar com o XNA, desde a criação do projeto. Cobre a parte de modelagem, texturização e renderização de sólidos tridimensionais, gometria espacial, criação de câmeras e transformações de objetos ( deslocamento, rotação, etc... ).
A linguagem utilizada no tutorial foi a mesma escolhida pela Microsoft, o C# ( C Sharp ), mas é possível usar qualquer outra linguagem .NET, basta alterar a sintaxe.

Também disponibilizei o código fonte e todos os arquivos que usei durante o tutorial ( link incluso no PDF ). Espero que gostem ( e me perdoem por ter sido um tanto quanto "superficial" nas definições que pus no guia, mas como disse, não queria deixar o leitor quebrando a cabeça para decifrar "postulados e colorários" e tornar um guia de baixo nível ).
C&C são bem vindas, claro

Fotos:
https://www.hardware.com.br/comunidade/programando-jogos/752728/#post3072485

Link para download (~500KB ):
http://fergonez.net/files/guia_xna.pdf

Tags: guia microsoft xna tutorial

Abraço a todos,
Fergo
philix
philix Super Participante Registrado
946 Mensagens 14 Curtidas
#2 Por philix
08/07/2007 - 14:51
Cara! Vc é o cara!!!

Muito massa o tutorial, vai me atrapalhar muito em meus projetos de banco-de-dados aqui. Mas eu quero mesmo é aprender a mexer com SDL, tenho noções de OpenGL e quero jogos multiplataforma.

Mas eu tenho que começar com o XNA para entender alguma coisa.
Assim como comecei com Delphi e hoje desenvolvo Sistemas de Banco de Dados em PHP que rodam em Browsers.
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#3 Por Fergo
08/07/2007 - 15:03
Obrigado philix.
XNA é uma ótima plataforma para começar, ela lhe dá o ponta-pé inicial e "explica" como as coisas funcionam nesse ramo da programação. Os conhecimentos que você aprende nela, mesmo sendo de um alto nível, vai ser útil para trabalhar com outras APIs de mais baixo nível ( DirectX e até mesmo o OGL ), pois a base e os fundamentos você já vai ter.

Abraços,
Fergo
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#4 Por Fergo
09/07/2007 - 14:30
Aí vai algumas fotos de uns testes que andei realizando. Utilizei o mesmo código contido no tutorial, com algumas pequenas modificações para gerar iluminação e specular ( mas ainda sem sombras )..
A mini cidade foi inteira modelada e texturizada no SkethUp ( pelo mesmo processo que há no tutorial ).

Visão geral:
Imagem

Teste com specular ( não reparem o brilho na grama ):
Imagem

Outra visão geral:
Imagem


[]s,
Fergo
philix
philix Super Participante Registrado
946 Mensagens 14 Curtidas
#5 Por philix
09/07/2007 - 15:01
Ei,

fiz direitinho até o capítulo 7(2D), mas tá dando dois errros na linha que tem:

pass.Begin();
e
pass.End();

A msg é:

Error 1 Only assignment, call, increment, decrement, and new object expressions can be used as a statement C:\Documents and Settings\Felipe\Meus documentos\Visual Studio 2005\Projects\MeuJogo\MeuJogo\Game1.cs


O código esta idêntico ao seu, são apenas esses dois erros.

Seu projeto compila direitinho, acho que faltou algo lá no editor de propriedades do effects.fx. Que diz?
philix
philix Super Participante Registrado
946 Mensagens 14 Curtidas
#6 Por philix
09/07/2007 - 15:08
Ninguém mais se interessou nesse post não foi? Deve ser pq eu conheço o XNA há muito tempo, mas só agora aprendi a usar com este tutorial basikão muito massa.

Mas vou usar o template do XNA só para entender como posicionar os comando e como criar classes para meus jogos em c++, OpenGL, SDL... posteriormente.

É chato demais programar em C Sharp. Vou aprender C++ quando tiver tempo(ano que vem), estudar OGL com a SDL. Arrumei um tempinho nas duas ultimas semanas e aprendi C (fiz um programa que faz tudo que se estuda no Ensino Medio sobre matrizes. Programar em C no Eclipse é bonzinho.
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#7 Por Fergo
09/07/2007 - 16:22
Se você pegar o compilar o código que está dentro da basta "MeuJogo 2D" ele funciona? Caso esteja copiando os código do PDF, cuidado, pois o sistema de cópia de texto do PDF algumas vezes corrompe a quebra de linha e coisas do tipo.

Quanto a linguagem, você pode portar o XNA para alguma outra linguagem .NET, é bem tranquilo. Basicamente é só ajustar a sintaxe.

Fergo
philix
philix Super Participante Registrado
946 Mensagens 14 Curtidas
#8 Por philix
09/07/2007 - 22:32
Fergo eu não usei Copy and Paste não, eu li atentamente as instruções, entendi como funciona cada classe/objeto utilizada e para comparar o código eu abri o seu que vem pronto e comparei, tudo igual.

Eu percebi que o seu effects.fx tem propriedades definidas e o meu não, só isso de diferenças.

meu último POST foi caracterizado como flood, olha o botãozinho amarelo no canto inferior direito!!! :-()
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#9 Por Fergo
17/07/2007 - 21:47
Fiz um pequeno vídeo demonstrando uma IA básica de veículos que criei no XNA que seguem um caminho, fazendo as curvas quando necessário. Eles ainda viram subitamente, não fiz interpolação para suavizar o movimento de curvatura. Dá para notar também o efeito specular de iluminação conforme a câmera se movimenta. O céu ali é temporário ( com as nuvenzinhas ) pois estava trabalhando em um skybox, que substituiria ele.

http://www.youtube.com/watch?v=DxcQLqL2FCU

Estou organizando e comentando o código dessa mini engine novamente. Provavelmente amanhã eu já vou estar com tudo terminado e então eu posto as fontes aqui ( e talvez faça uma atualização no tutorial ).

Abraços,
Fergo
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#11 Por Fergo
19/07/2007 - 16:38
Valeu. Estava pensando em fazer algo no estilo de Midtown Madness ( estou trabalhando no projeto junto com um colega meu ).
Vou ter que adiar o código um pouco pois resolvi tentar implementar sombras em tempo real ( utilizando ShadowMap com PixelShader 3 ) e specularmap. Algumas fotos de como fica:

Sombras ( tempo real, se alteram de acordo com a posição da luz )
Imagem

Specular e brilho nos vidros das janelas
Imagem

Asfalto e calçada com specular map, um pouco mais realista
Imagem

Abraços!
Fergo
philix
philix Super Participante Registrado
946 Mensagens 14 Curtidas
#12 Por philix
19/07/2007 - 17:12
Tá bem realista, a textura da grama é que tá feia. Olhei aqui uns screenshots de Midtown Medness no site da Microsoft, gostaria a falar sobre o desenvolvimento do jogo aqui neste tópico.

Tô para aprender a programar games, mas estou desenvolvendo um sistema para marmoraria em PHP com MySQL(quanta conta, quanto gráfico), fico sem tempo de mexer/aprender mais com Programação 3D, mas o sistema vai render uma grana boa.

flws
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal