Jogos Eletrônicos  
Apresentação da Disciplina  
Edirlei Soares de Lima  
<edirlei.lima@uniriotec.br>  
Objetivos da Disciplina  
Apresentar os fundamentos de jogos eletrônicos,  
game design e as técnicas para o desenvolvimento  
de jogos 2D e 3D.  
Ao final do curso, o aluno deverá:  
Compreender os conceitos fundamentais para a  
elaboração de projetos de jogos eletrônicos;  
Conhecer e saber aplicar as técnicas fundamentais para o  
desenvolvimento e implementação de jogos eletrônicos.  
Jogos Eletrônicos  
Fundamentos de Projeto  
+
Design de Jogos  
+
Modelagem e Animação 2D/3D  
+
Programação de Jogos 2D/3D  
Ementa da Disciplina  
Parte 1 Jogos Eletrônicos e Game Design  
Fundamentos de jogos eletrônicos;  
Projeto de jogos eletrônicos;  
Concepção e criação;  
Equipe de desenvolvimento;  
A indústria de jogos;  
Game design document;  
Formato;  
Gameplay;  
Personagens;  
Câmeras;  
Interfaces.  
Ementa da Disciplina  
Parte 2 Técnicas para Jogos 2D  
Introdução à linguagem Lua e ao framework Löve;  
Sprites e animação 2D;  
Técnicas de programação de jogos 2D:  
Lógica e estrutura de um jogo;  
Programação para ambientes gráficos;  
Mecanismos de interação;  
Estruturação e representação de dados;  
Detecção de colisão;  
Simulação Física.  
Ementa da Disciplina  
Parte 3 Técnicas para Jogos 3D  
Modelagem e animação 3D;  
Introdução à game engine Unity3D;  
Arquitetura de game engines;  
Interface e ambiente de desenvolvimento;  
Importação de recursos (modelos, animações, texturas, áudio);  
Criação de ambientes 3D;  
Programação por scripts.  
Técnicas de inteligência artificial:  
Conceitos e estado da arte;  
Waypoints e pathfinding;  
Máquinas de estados finitos.  
Esquema de Aulas  
Aulas teóricas e praticas:  
Aulas teóricas sobre fundamentos de jogos eletrônicos,  
game design, tecnologias, programação e técnicas de  
desenvolvimento;  
Aulas praticas para a elaboração de projetos de jogos  
eletrônicos, resolução de exercícios e implementação dos  
projetos;  
Avaliação  
Média Final = (G1 + G2 + G3)/3  
G1:  
Game Design Document  
G2:  
Desenvolvimento de um jogo 2D  
G3:  
Desenvolvimento de um jogo 3D  
Avaliação  
Trabalhos desenvolvidos em equipe:  
2 ou 3 alunos por equipe;  
Os grupos serão definidos nas próximas aulas;  
Avaliação baseada nos trabalhos desenvolvido e na  
apresentação:  
Desenvolvimento;  
Participação;  
Apresentação;  
Questionamentos;  
Notas individuais;  
Software  
Os softwares que serão utilizados nesta disciplina são:  
Löve - https://love2d.org/  
ZeroBrane Studio - http://studio.zerobrane.com/  
GIMP - http://www.gimp.org/  
Unity 3D - http://unity3d.com/  
Exemplo 2D  
.
..  
function love.draw()  
for i = 1, config.numStars do  
love.graphics.setColor(255 - stars[i].speed,  
2
55 - stars[i].speed/2,150,  
stars[i].speed*0.9)  
love.graphics.draw(star, stars[i].x, stars[i].y,  
0
, stars[i].speed/255 + 0.55)  
end  
love.graphics.setColor(255, 255, 255)  
if spaceship.isBoosted == false then  
love.graphics.draw(spaceship.images.normal,  
spaceship.x, spaceship.y)  
else  
love.graphics.draw(spaceship.images.boosted,  
spaceship.x, spaceship.y)  
end  
for i = 1, totalLaserBeams do  
love.graphics.draw(laser.images.default,  
lasers[i].x, lasers[i].y)  
end  
end  
...  
Exemplo 3D  
.
..  
void Update ()  
{
if(health <= 0f)  
{
if(!playerDead)  
PlayerDying();  
else  
{
PlayerDead();  
LevelReset();  
}
}
}
void PlayerDying ()  
{
playerDead = true;  
anim.SetBool(hash.deadBool, playerDead);  
AudioSource.PlayClipAtPoint(deathClip,  
transform.position);  
}
void PlayerDead ()  
{
anim.SetFloat(hash.speedFloat, 0f);  
playerMovement.enabled = false;  
audio.Stop();  
}
.
..  
Controle de Turma  
Presença obrigatória  
Lista de chamada;  
Projetos desenvolvidos em equipe:  
Todos os membros da equipe devem participar ativamente  
do desenvolvimento dos projetos;  
Não participar do desenvolvimento dos projetos resultará  
em redução individual da nota;  
Comportamento  
Nas aulas práticas usar apenas os softwares da disciplina.  
Criar projetos apenas no diretório particular do aluno (crie  
diretório chamado “ProjetosJogos”);  
Salve trabalhos no pendrive com regularidade;  
Verificar regularmente o site da disciplina;  
Prática extraclasse constante (mínimo de 4h/semana);  
Jogos Eletrônicos  
Moodle: http://uniriodb2.uniriotec.br/  
2014.2 - Jogos Eletrônicos  
http://www.inf.puc-rio.br/~elima/jogos/  
Contato:  
edirlei.lima@uniriotec.br  
Bibliografia Principal  
Rogers, S. Level Up!: The Guide to  
Great Video Game Design; Wiley,  
010.  
2
Ierusalimschy, R. Programming in  
Lua, Third Edition; Lua.org, 2013.  
Blackman, S. Beginning 3D Game  
Development with Unity 4, Apress,  
2
013.  
Bibliografia Complementar  
Fullerton, T., Swain, C., Hoffman, S. Game Design Workshop:  
Designing, Prototyping and Playtesting Games, CMP Books,  
2
004.  
Rollings, A., Morris, D. Game Architecture and Design, The  
Coriolis Group, 2000.  
Millington, I., Funge, J. Artificial Intelligence for Games,  
Morgan Kaufmann, 2009.