Curso Básico de Programação de
Jogos com XNA
Alexandre Tolstenko Nogueira
[email protected]
http://tolstenko.net
http://forum.gamux.com.br
Sinopse
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Apresentação;
Estrutura de Dados;
Input;
Animação 2D;
Gerenciamento de Telas;
Audio;
Storage;
3D Básico;
Modelos;
Camera;
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);
Download

Slide 1 - Tolstenko