Skip to content

JudsonSS/Jogos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programação de Jogos

Este repositório contém todo o material utilizado no curso de Programação de Jogos ministrado para os alunos do curso de Ciência da Computação na Universidade Federal Rural do Semi-Árido (UFERSA).

No curso, eu apresento passo a passo a construção de um motor para criação de jogos 2D. Cada aula é ilustrada com código que implementa uma pequena parte do motor. O código é desenvolvido em C++ usando as APIs Win32 e DirectX 11 no Windows 10. O material fornecido são projetos do Visual Studio 2019.

Um dos objetivos do curso é motivar os alunos e mostrar que é possível construir jogos a partir do conhecimento que eles adquirem nos 3 primeiros semestres do curso. O único pré-requisito é saber programar de forma orientada a objetos e estar disposto a fazer isso usando a linguagem C++.

A numeração dos laboratórios (Labs) coincidem com a sequência das aulas (Slides):

  1. Introdução
  2. Programação para Windows
  3. Configuração da Janela
  4. Teclado e Mouse
  5. Arquitetura de um Jogo
  6. Motor de Jogo
  7. Direct3D
  8. Taxa de Atualização
  9. Desenho de Sprites
  10. Gerenciador de Cena
  11. Detecção de Colisão
  12. Construção do Jogo: PacMan
  13. Animação de Sprites
  14. Animação de Personagens
  15. Exibição de Texto
  16. Reprodução de Áudio
  17. Controle do Áudio
  18. Interação com o Mouse
  19. Construção do Jogo: Gravity Guy
  20. Dispositivos de Interação
  21. Transformações
  22. Deslocamento Vetorial
  23. Física Vetorial
  24. Colisão Avançada
  25. Sistema de Partículas
  26. Construção do Jogo: Geometry Wars
  27. Inteligência Artificial: Técnicas Básicas
  28. Inteligência Artificial: Padrões e Scripts
  29. Movimentação do Segundo Plano
  30. Distribuição do Jogo

O motor desenvolvido é didático e foca em clareza de apresentação no lugar de desempenho, sempre que os dois objetivos são conflitantes. Estou constantemente tentando melhorar o motor, seja na sua arquitetura, desempenho ou facilidade de uso. Se tiverem sugestões de melhoria fiquem a vontade para contribuir com o projeto.

Releases

No releases published

Packages

No packages published

Languages