26

Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira [email protected]

Embed Size (px)

Citation preview

Page 1: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net
Page 2: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Curso Básico de Programação de Jogos com XNA

Alexandre Tolstenko [email protected]

http://tolstenko.nethttp://forum.gamux.com.br

Page 3: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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.

Page 4: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

1. Apresentação

Page 5: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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.

Page 6: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

2. Estrutura de Dados

Page 7: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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.

Page 8: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

3. Input

Page 9: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

3. Input

• Teoria:– Keyboard– Mouse– Joypad (Xbox)– Wiimote + Nuntchunk (Wii)– GameComponent

• Prática:– Classes de tratamento de cada Input

• Desafio:– Classes GenericInput e InputComponent

Page 10: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

4. Animação 2D

Page 11: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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.

Page 12: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

5. Gerenciamento de Telas

Page 13: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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

Page 14: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

6. Audio

Page 15: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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.

Page 16: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

7. Storage

Page 17: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

7. Storage

• Teoria:– Storage– ContentManager

• Prática:– Programar um ContentManager

• Desafio:– Programar um ContentManager de algum padrão 3D

Page 18: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

8. 3D Básico

Page 19: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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í

Page 20: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

9. Modelos

Page 21: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

9. Modelos

• Teoria:– Models;– Meshes;– Bones;– Colisão 3D.

• Prática:– Carregar modelos

• Desafio:– Movimentar e animar um modelo.– Colisão com cenário

Page 22: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

10. Camera

Page 23: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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.

Page 24: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

11. Shader

Page 25: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

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

Page 26: Curso Básico de Programação de Jogos com XNA Alexandre Tolstenko Nogueira alexandre@tolstenko.net

Agradecimento

spriteBatch.DrawString( Arial, "Obrigado Pela Atenção!", positionVect, Color.Black);