Post on 22-Apr-2015
Curso Básico de Programação de Jogos com XNA
Alexandre Tolstenko Nogueiraalexandre@tolstenko.net
http://tolstenko.nethttp://forum.gamux.com.br
Sinopse
1. Apresentação;2. Estrutura de Dados;3. Input;4. Animação 2D;5. Gerenciamento de Telas;6. Audio;7. Storage;8. 3D Básico;9. Modelos;10. Camera;11. Vertex Shaders.
1. Apresentação
1. Apresentação
• Teoria:– IDE, SDK, Framework e XNA;– Estrutura e organização básica de um jogo em XNA;– Carregar e desenhar imagens na tela;– Escrever textos na tela;– Colisões.
• Prática:– Pong.
• Desafio:– Pong com colisão vetorial, poligonal ou outra tecnica mais avançada.
2. Estrutura de Dados
2. Estrutura de Dados
• Teoria:– Aprofundamendo da estrutura de jogo do XNA– Classe vs Struct– Listas– Árvores – Representações de mundo:
• Quadtree, Octree, BSP;– Campeonatos e “Seleção” Gamux
• Prática:– Snake
• Desafio:• Reprensentar uma imagem em Quadtree.
3. Input
3. Input
• Teoria:– Keyboard– Mouse– Joypad (Xbox)– Wiimote + Nuntchunk (Wii)– GameComponent
• Prática:– Classes de tratamento de cada Input
• Desafio:– Classes GenericInput e InputComponent
4. Animação 2D
4. Animação 2D
• Teoria:– Placa gráfica vs Processador;– Representando uma imagem na tela;– Texture2D;– Sprite.
• Prática:– Programar uma animação simples.
• Desafio:– Programar uma classe de animação complexa.
5. Gerenciamento de Telas
5. Gerenciamento de Telas• Teoria:
– Algoritmos de gerenciamento de telas;– Estrutura de uma tela básica;– Composição de Telas;– Events e Delegates;– DrawableGameComponent.
• Prática:– Modificar algum game para utilizar telas de :
• Opening;• Menu;• Game.
• Desafio:– Programar um menu com Eventos– Troca rápida de telas
6. Audio
6. Audio
• Teoria:– Xact– Song– SoundEffect
• Prática:– Guitar Hero
• Desafio:– Ler de um XML as informações da música;– Permitir que o usuário crie sua música.
7. Storage
7. Storage
• Teoria:– Storage– ContentManager
• Prática:– Programar um ContentManager
• Desafio:– Programar um ContentManager de algum padrão 3D
8. 3D Básico
8. 3D Básico
• Teoria:– Coordenadas 3D– Projeções: Ortogonal vs Perspectiva
– Vertices– Primitivas– Matrizes– Effects
• Prática:– Desenhar um cubo 3D
• Desafio:– Fazer o cubo girar ao redor de sí
9. Modelos
9. Modelos
• Teoria:– Models;– Meshes;– Bones;– Colisão 3D.
• Prática:– Carregar modelos
• Desafio:– Movimentar e animar um modelo.– Colisão com cenário
10. Camera
10. Camera
• Teoria:– Manipulando a camera– Chasing Camera
• Prática:– Fazer uma camera seguir algum trajeto
• Desafio:– Fazer a camera seguir um objeto animado que anda pelo
cenário.
11. Shader
11. Shaders
• Teoria:– Iluminação: ambiente, Difusa , Especular;– Estrutura de um shader– Linguagem HLSL– Carregando e aplicando Shaders
• Prática:– Escrever um Shader simples– Aplicar shader
• Desafio:– Manipular a iluminação a medida que o objeto se move
Agradecimento
spriteBatch.DrawString( Arial, "Obrigado Pela Atenção!", positionVect, Color.Black);