Fábio Draco - Programando Vídeo Games

1,678 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,678
On SlideShare
0
From Embeds
0
Number of Embeds
125
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Fábio Draco - Programando Vídeo Games

  1. 1. Thursday, March 24, 2011
  2. 2. DISCLAIMER • Esta apresentação é baseada nos meus estudos sobre programação de jogos. Qualquer disparidade com autor X ou Y ou design Z ou W ou engine A ou B é por sua conta e risco. Mas o vocabulário aqui é o mesmo dos outros caras.Thursday, March 24, 2011
  3. 3. MISSÃO 0 • Eu sei programar horrores E jogo? #comofas?Thursday, March 24, 2011
  4. 4. A PREPARAÇÃO • Gráficos • FísicaThursday, March 24, 2011
  5. 5. A PREPARAÇÃO • Recursos iled Map Editor • SomThursday, March 24, 2011
  6. 6. GAME ENGINE • Game engine mínima g LoThursday, March 24, 2011
  7. 7. SECRET OF MANA • Segredos secretos nunca dantes contados: • Game loop • Algoritmo do pintor • Cenas • ColisõesThursday, March 24, 2011
  8. 8. GAME LOOP • Jogos são ilusões Pinta na tela o resultado final while (g_renderManager->update()) do frame atual { Verifica se há eventos de g_sceneManager->update(); cena: telas de game over, HUD, outros Faz update da animação e entityManager->update(); posição das entidades com os resultados do frame anterior. psx->update(); Resolve a física dos objetos, detecta colisão e atualiza valores das posições. inputManager->update(); } Verifica input feito pelo jogador e deixa de prontidão outros blocos para o próximo frame.Thursday, March 24, 2011
  9. 9. GAME LOOP • FrameThursday, March 24, 2011
  10. 10. RENDERIZAÇÃO • Algoritmo do pintor e z-orderThursday, March 24, 2011
  11. 11. FÍSICA • Colisão ↔ FísicaThursday, March 24, 2011
  12. 12. MISSÃO 0 • Fiz N10 CRUDs, quero fazer o novo …Thursday, March 24, 2011
  13. 13. TÓPICOS DE PROGRAMAÇÃO DE JOGOS • Se você não foi besta, i.e. usou uma game engine, e está por dentro do vocabulário básico, agora já pode usar seus conhecimentos de programação para fazer a lógica do jogo while (g_renderManager->update()) { g_sceneManager->update(); entityManager->update(); psx->update(); inputManager->update(); }Thursday, March 24, 2011
  14. 14. TÓPICOS DE PROGRAMAÇÃO DE JOGOS • Polling & Event Listeners • Design Patterns Factory • FísicaThursday, March 24, 2011
  15. 15. TÓPICOS DE PROGRAMAÇÃO DE JOGOS II • Eventos • Filas – frame by frame – Listas • std::vector<T> • std::list<T>Thursday, March 24, 2011
  16. 16. TÓPICOS DE PROGRAMAÇÃO DE JOGOS III • Eventos • Filas – frame by frame – Listas • std::vector<T> • std::list<T>Thursday, March 24, 2011
  17. 17. TÓPICOS DE PROGRAMAÇÃO DE JOGOS IV • A Design Pattern FactoryThursday, March 24, 2011
  18. 18. Resumo • De sistemas web, etc → Games – Game Engine • Escolher número de dimensões • Escolher plataforma • Stick to oneThursday, March 24, 2011
  19. 19. Resumo • De sistemas web, etc → Games – Listas, filas, vetores – Polling & event listeners – Design Patterns: Singleton, Factory e outras.Thursday, March 24, 2011
  20. 20. JabáThursday, March 24, 2011

×