ENG1000 – Introdução à Engenharia  
Apresentação da Disciplina  
Edirlei Soares de Lima  
<elima@inf.puc-rio.br>  
Objetivos da Disciplina  
•
•
Apresentar os conceitos fundamentais de engenharia ao  
longo do período e aplicá-los em projetos específicos em cada  
sub-área da engenharia ou em projetos interdisciplinares,  
orientados por professores do CTC.  
Ao final do curso o aluno será deverá:  
–
Compreender e ter a vivência do procedimento de tratamento de  
projetos de engenharia;  
–
–
Ter noções de como gerenciar um projeto de engenharia;  
Saber redigir um relatório e fazer uma apresentação oral descrevendo  
um projeto de engenharia;  
•
Tema dos projetos dessa turma: Jogos Digitais  
Introdução à Engenharia  
Fundamentos de Projeto  
+
Design de Jogos  
+
Programação de Jogos  
Introdução à Engenharia  
•
•
Turma 33I  
–
Prof. Edirlei Soares de Lima <elima@inf.puc-rio.br>  
Horário das Aulas:  
–
Quarta e Sexta, das 11h às 13h  
•
•
Quarta:  
–
L442  
Sexta:  
–
L318  
Esquema de Aulas  
•
•
Parte 1 – Aulas teóricas e praticas:  
–
Aulas teóricas sobre projeto de software, game design e  
programação;  
–
Aulas praticas para a definição do projeto e resolução de  
exercícios de programação;  
Parte 2 – Desenvolvimento do projeto:  
–
Todas as aulas serão dedicadas ao desenvolvimento do  
projeto;  
Ementa da Disciplina  
•
Fundamentos de Game Design  
–
Introdução a Game Design  
•
Jogos; Equipe de desenvolvimento; Game design; Roteiro  
–
Game Design Document  
•
Formato; Gameplay; Personagens; Câmeras; Controles;  
Interfaces; Áudio  
Ementa da Disciplina  
•
Programação de Jogos em Lua e Löve  
–
Introdução a Linguagem Lua  
•
Variáveis; Operadores Aritméticos; Entrada e Saída; Funções  
–
Introdução ao Löve  
•
Ambiente de Desenvolvimento; Estrutura de um programa;  
Callbacks;  
–
–
–
Operadores Condicionais  
•
If-else; Interação pelo teclado e mouse;  
Operadores de Repetição  
•
For, while; Imagens;  
Vetores e Matrizes  
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/  
Projeto Final  
•
•
Tema: Jogos Digitais;  
Projeto desenvolvido em equipes:  
–
3 alunos por equipe;  
•
Etapas:  
–
–
–
–
Definição da ideia geral;  
Elaboração de um game design document (GDD);  
Implementação do jogo (arte, programação, testes...);  
Apresentação do produto final.  
Projeto Final  
Thainá Cristina Demarque  
Beatriz Ribeiro Cabral  
Pedro Henrique Hopf Veloso  
João Pedro Matos de Freitas  
Luca de Aquino da Rocha  
Projeto Final  
William Sathler Lacerda  
Gabrielle Brandemburg dos Anjos  
Raphael Accioly Novello  
Bruno Leão Teixeira  
Thomaz P. E. Santo  
Bernardo  
Pedro Henrique Braga Lisboa  
Projeto Final  
Pedro Caldas Tammela  
Mariela Mendonça de Andrade  
Exemplo  
.
..  
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  
...  
Critério de Avaliação  
•
•
Critério 3:  
–
Se G2 ≥ 3.0 → MÉDIA = (G1 + G2)/2 ≥ 5.0  
–
Se G2 < 3.0 → MÉDIA = (G1 + 3xG2)/4 ≥ 5.0  
Composição dos graus:  
–
GRAU 1: G1 = 0.5 I + 0.2 AT + 0.3 RP  
–
GRAU 2: G2 = 0.5 I + 0.2 AT + 0.3 RF  
AT = Atividades Propostas via EAD (Coordenação)  
RP = Relatório Parcial (Professor)  
RF = Relatório e Apresentação Final (Convidados da Coordenação)  
I = Participação Individual (Professor, Monitores e próprios Alunos)  
Critério de Avaliação  
•
•
Avaliação baseada no projeto desenvolvido durante o curso:  
–
–
–
–
–
Game Design Document;  
Participação;  
Software;  
Apresentação;  
Relatório Final;  
Avaliação final realizada por uma banca composta por  
professores do departamento de informática.  
–
A exata data ainda será definida (26/Maio a 06/Junho)  
Controle de Turma  
•
•
Presença obrigatória (75%)  
–
Lista de chamada;  
Projeto desenvolvido em equipe:  
–
Todos os membros da equipe devem participar ativamente  
do desenvolvimento do projeto;  
–
Não participar do desenvolvimento do projeto resultará  
em redução individual da nota;  
Premiação  
•
Alunos com média > 8.5 receberão certificado de destaque  
acadêmico;  
•
•
Alunos com média > 9.5 receberão premiação especial;  
O melhor aluno de cada turma concorrerá ao sorteio de um  
super prêmio especial;  
Monitoria  
•
•
Monitores da Turma:  
–
Auxilio nas aulas praticas;  
–
Auxilio no desenvolvimento dos projetos;  
Monitores:  
–
???? <???@???>  
–
???? <???@???>  
Comportamento  
•
•
Nas aulas práticas usar apenas os softwares da disciplina. Nada de  
FACEBOOK, SKYPE, JOGOS, ...  
Nas aulas práticas, criar projetos apenas no diretório particular do  
aluno (crie diretório chamado “ProjetosIntroEng”);  
•
•
•
•
No laboratório, desligar a máquina após o uso;  
No laboratório, salve trabalhos no pendrive, com regularidade;  
Verificar regularmente o site da disciplina;  
Prática extraclasse constante (mínimo de 4h/semana);  
Introdução à Engenharia  
•
•
Site da disciplina:  
–
http://www.inf.puc-rio.br/~elima/intro-eng/  
Contato:  
–
–
edirlei.slima@gmail.com  
Bibliografia  
•
•
•
Sommerville, I. Engenharia de  
Software; Prentice Hall: Addison-  
wesley, 2003.  
Rogers, S. Level Up!: The Guide to  
Great Video Game Design; Wiley,  
2
010.  
Ierusalimschy, R. Programming in  
Lua, Third Edition; Lua.org, 2013.