Tópicos Especiais em Linguagens de Programação

Documentos relacionados
Tópicos Especiais em Linguagens de Programação (Jogos I)

Jogos Eletrônicos. Apresentação da Disciplina. Edirlei Soares de Lima

Tópicos Especiais em Engenharia de Software (Jogos II)

Introdução a Programação de Jogos

ENG1000 Introdução à Engenharia

Introdução à Engenharia ENG1000

Introdução ao Desenvolvimento de Jogos Eletrônicos. Slides por: Leonardo Tórtoro Pereira

ENG1000 Introdução à Engenharia

Redes Neurais (Inteligência Artificial)

INF 1007 Programação II

INF 1771 Inteligência Artificial

Introdução a Programação de Jogos

Introdução a Programação de Jogos

INF 1771 Inteligência Artificial

Professor: Laboratório de Programação com Games. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

Caracterização Acadêmica

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

Arquitetura de Sistemas Digitais

Jogos Eletrônicos. Aula 06 Estruturas Condicionais e Interação. Edirlei Soares de Lima

ESTÁGIO CURRICULAR I e II

MIEIC Luís Borges up Margarida Silva up Nuno Martins up Tiago Castro up Tiago Fragoso up

Introdução à Ciência da Computação

Introdução à Engenharia ENG1000

Plano de Ensino. Leandro Schwarz Endereço eletrônico:

Tópicos Especiais em Engenharia de Software (Jogos II)

Bibliografia Principal. Apresentação da Disciplina. Site da Disciplina. Estagiário da Disciplina. Método de Avaliação. Prova Substitutiva

Eng. Alimentos PROGRAMA DE DISCIPLINA IDENTIFICAÇÃO CÓDIGO DISCIPLINA PRÉ-REQUISITOS

Conceitos de Linguagens de Programação

INF1007 Programação II

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

CAMPUS PRESIDENTE EPITÁCIO PLANO DE ENSINO

CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR CURRÍCULO PLENO SEMESTRALIZADO 10 SEMESTRES

1. DADOS DE IDENTIFICAÇÃO:

CONDIÇÕES DE OFERTA PARA CADASTRO DO CURSO PARA ACOMPANHAMENTO E CONTROLE ACADÊMICO Nome do curso Ciência da Computação Condições de Oferta do Curso

Tópicos Especiais em Engenharia de Software (Jogos II)

INTELIGÊNCIA ARTIFICIAL

Universidade Federal de Uberlândia Faculdade de Computação. GMA038 Introdução à Ciência da Computação

Jogos Eletrônicos. Aula 07 Estruturas de Repetição e Imagens. Edirlei Soares de Lima

Plano de Ensino. Identificação. Curso EngE.INT - Engenharia de Energia. Ênfase. Disciplina B161S - Introdução à Ciência da Computação I

Programação com Acesso a Banco de Dados

CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR MATUTINO Fase N.

VISEDU: INTERFACE DE USUÁRIO TANGÍVEL UTILIZANDO REALIDADE AUMENTADA

Plano de Ensino. Leandro Schwarz Endereço eletrônico:

INF1007 Programação II

liberada por se tratar de um documento não aprovado pela PUC Goiás.

SERVIÇO PÚBLICO FEDERAL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO AMAPÁ IFAP CÂMPUS MACAPÁ

Linguagens Formais e Autômatos

Fatec São Caetano do Sul Antonio Russo Credenciada pela Portaria CEE/GP nº 223 de 28/04/2008, DOE SP de 29/04/2008

Algoritmos e Programação

Apresentação da Disciplina

Departamento. Matéria. Disciplina. Código. Carga Horária (horas-aula) Objetivos. Ementa. Conteúdo Programático. Eletrônica

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica

Realidade Virtual e Interfaces Modernas

Algoritmos e Programação

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 05/07/2017 Currículo de Cursos Hora: 17:30:22

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2013/1

TRABALHO T2 PROGRAMAÇÃO PARAMETRIZADA

BACHARELADO EM SISTEMAS DE INFORMAÇÃO

Aprovação do curso e Autorização da oferta. PROJETO PEDAGÓGICO DE CURSO FIC PRONATEC Desenvolvedor de Jogos Eletrônicos. Parte 1 (solicitante)

CURRÍCULO DO CURSO. Mínimo: 7 semestres. Prof. Dr. Paulo de Tarso Mendes Luna

Grade Curricular do Curso de Graduação em Engenharia de Computação

Desenv. de Jogos 2D com Unity Completo

Computação Gráfica e Áreas Correlatas

PLANO DE CURSO. 1. DADOS DE IDENTIFICAÇÃO Curso: Bacharelado em Sistemas de Informação Disciplina: Engenharia de Software II

Introdução à Engenharia ENG1000

Apresentação da disciplina Introdução a Algoritmo e Programação Análise e Desenvolvimento de Sistemas

Desenvolvendo aplicações com Unity3D. Renan Vinicius Aranha

SSC0120- Sistemas de Informação. Apresentação da Disciplina

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

P L A N O D E C U R S O. Objetivos Gerais: Estudar o solo como material de construção e como material para estruturas.

DISCIPLINA: Computação e Algoritmo I. PROFESSOR: Léo M. Lopes da Silva Garcia FORMAÇÃO:

IV. CONTEÚDO PROGRAMÁTICO

FACULDADE LEÃO SAMPAIO

INSTITUTO FEDERAL CEARÁ - IFCE CAMPUS AVANÇADO DE ARACATI CURSO: BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PROGRAMA DE UNIDADE DIDÁTICA PUD.

Plano de Ensino IDENTIFICAÇÃO

Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Pró-Reitoria de Graduação - PROGRAD Plano de Ensino 2016/2

Engenharia de Software

Laboratório de Engenharia de Software I

TECNOLOGIA WEB. Formação: o Bacharel em Sistemas de Informações (SI); o MBA em Tecnologia da Informação e Comunicação (TIC).

Francisco Sant'Anna Renato Cerqueira Luiz Fernando Gomes Soares

UNIVERSIDADE FEDERAL DE CIÊNCIAS DA SAÚDE DE PORTO ALEGRE CRONOGRAMA DE AULAS

Plano de Ensino de Disciplina Ciência da Computação 2º / 2016

Maquetes Tridimensionais Interativas


Algoritmos e Programação

Planificação Anual GR Disciplina Aplicações Informáticas B 12ºAno

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

1º Semestre. Algoritmos e Programação Orientada a Objetos I. Fundamentos de Teoria da Computação. Introdução à Administração

Transcrição:

Tópicos Especiais em Linguagens de Programação Apresentação da Disciplina Edirlei Soares de Lima <edirlei@iprj.uerj.br>

Objetivos da Disciplina Apresentar os fundamentos de jogos eletrônicos, game design e as técnicas de programação 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 Design de Jogos + Programação de Jogos 2D/3D + Modelagem e Animação 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 Sprites e animação 2D; Introdução à linguagem Lua e ao framework Löve; 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;

Critério de Avaliação Avaliação Prática: Trabalhos e exercícios desenvolvidos em grupo ou individualmente; Apresentação em aula; Avaliação Teórica: Prova teórica envolvendo o conteúdo teórico e prático apresentado durante as aulas;

Critério de Avaliação Trabalhos: T1: game design document; T2: desenvolvimento de um jogo 2D; T3: desenvolvimento de um jogo 3D; MT = (T1+T2+T3)/3 Prova: PT: prova teórica individual envolvendo todo o conteúdo do curso; MP = MT * (PT/10)

Critério de Avaliação Se a frequência nas aulas for < 75% o aluno será REPROVADO POR FALTA; Se a frequência nas aulas for 75%, então: Se MP 7.0, o aluno será aprovado e MF = MP; Se MP < 4.0, o aluno será reprovado e MF = MP; Se MP < 7.0 e MP 4.0, o aluno irá para o exame final e então: MF = (MP + PF)/2; Se MF < 5.0 o aluno será reprovado; Se MF 5.0 o aluno será aprovado;

Avaliação Trabalhos desenvolvidos em equipe: 3 ou 4 alunos por equipe; Os grupos serão definidos nas próximas aulas; Avaliação individual baseada nos trabalhos desenvolvido e na apresentação: Desenvolvimento; Participação; Apresentação; Questionamentos; Notas individuais;

Pré-Requisito Introdução à Programação Gostar de Jogos

Controle de Turma Presença obrigatória!!! Chamada em qualquer momento da aula; Alunos com menos de 75% de presença serão reprovados automaticamente e não poderão fazer prova final (independente da nota); Não será permitido trocar de turma ou frequentar as aulas de outra turma; Não será aberta nenhuma exceção! 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;

Aulas Praticas Nas aulas práticas usar apenas os softwares da disciplina; Se for possível, trazer notebook pessoal para as aulas práticas; Se for usar os computadores do laboratório, salve os trabalhos no pendrive com regularidade; Verificar regularmente o site da disciplina; Prática extraclasse constante (mínimo de 4h/semana);

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, 255 - 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(); }...

Material das Aulas Página do Curso: www.inf.puc-rio.br/~elima/jogos/ Contato: edirlei@iprj.uerj.br

Bibliografia Principal Rogers, S. Level Up!: The Guide to Great Video Game Design; Wiley, 2010. Ierusalimschy, R. Programando em Lua, Terceira Edição, LTC, 2015. Blackman, S. Beginning 3D Game Development with Unity 4, Apress, 2013.

Bibliografia Complementar Fullerton, T., Swain, C., Hoffman, S. Game Design Workshop: Designing, Prototyping and Playtesting Games, CMP Books, 2004. Rollings, A., Morris, D. Game Architecture and Design, The Coriolis Group, 2000. Hocking, J. Unity in Action: Multiplatform Game Development in C# with Unity 5, Manning Publications, 2015. Millington, I., Funge, J. Artificial Intelligence for Games, Morgan Kaufmann, 2009.