Materiais
Bibliografia
Livro-texto
- Game Programming Algorithms and Techniques, Sanjay Madhav
Projetos
- Game Programming in C++, Sanjay Madhav
Livros complementares
- Game Programming Patterns, Robert Nystron
- The Nature of Code, Daniel Shiffman
Linguagem de Programação e Bibliotecas
C++
Os projetos práticos dessa disciplina foram criados para serem implementados em C++, pois essa ainda é a linguagem padrão da indústria de jogos.
Simple DirectMedia Layer (SDL)
Para facilitar o acesso aos dispositivos multimedia (video, áudio, rede, entrada, etc) em diferentes plataformas, essa disciplina utiliza a biblioteca Simple DirectMedia Layer (SDL), que também é bastante difundida na indústria. A SDL não é um motor de jogos (game engine), pois não fornece funcionalidades específicas de jogos, como simulações físicas ou inteligência artificial. Nessa disciplina, os alunos utilzam a SDL para implementar tais funcionalidades e criar seus prórios motores.
Ambiente de Desenvolvimento
Os projetos práticos dessa disciplina são relativamente complexos, portanto é fortemente recomendado o uso de um ambiente integrado de desenvolvimento (IDE) e de um sistema de controle de versão.
CLion
Essa disciplina utiliza a CLion, uma IDE profissional multiplataforma desenvolvida e mantida pela empresa JetBrains. Apesar de ser uma IDE prorietária e paga, a JetBrains oferece licensas gratuitas para alunos e professores. A príncipio, os projetos podem ser feitos usando qualquer outra IDE, como o Visual Studio (Windows) ou o XCode (Mac), porém eles não foram testados nesses ambientes.
Github
Essa disciplina utiliza o git para controle de versão, pois além de ser um dos princiais sistemas desse tipo, ele é oferecedido como serviço pelo GitHub gratuitamente. Além de facilitar o uso do git, o GitHub possibilita o uso do GitHub Classroom, que por sua vez facilita a correção dos projetos práticos.