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.