laboratório de professor - uffanselmo/cursos/labgames/apresentacoes/...• aula 8 – gráficos iii...
TRANSCRIPT
![Page 1: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/1.jpg)
Instituto de Computação - UFF 1
Laboratório de Programação com
Games
Professor:
Anselmo Montenegro www.ic.uff.br/~anselmo
Conteúdo:
- Introdução
![Page 2: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/2.jpg)
Instituto de Computação - UFF 2
Objetivo do curso
• Desenvolver habilidades de programação através da construção de vídeo jogos (games)
• Ter os primeiros contatos com o desenvolvimento de um sistema computacional formado por diferentes componentes
• Perceber a importância de boas práticas de programação no desenvolvimento de um sistema
![Page 3: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/3.jpg)
Instituto de Computação - UFF 3
Por que aprender a programar com jogos?
• É divertido!!!
• Chance de descobrir como funciona um jogo internamente
![Page 4: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/4.jpg)
Instituto de Computação - UFF 4
Por que aprender a programar com jogos?
• A programação de jogos é uma aplicação que envolve praticamente todos os conhecimentos adquiridos em um curso de programação:
• Programação - o desenvolvimento do código do sistema
• Engenharia de Software – a análise e projeto do software
• Interação Homem-Computador – desenvolvimento da interface e os mecanismos de interação
![Page 5: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/5.jpg)
Instituto de Computação - UFF 5
Por que aprender a programar com jogos?
• (continuação):
• Computação Gráfica – construção dos componentes visuais do jogo
• Inteligência Artificial – adição de inteligência e comportamento dos personagens e objetos do jogo
• Métodos numéricos – tratamento de colisões e simulação de fenômenos físicos
![Page 6: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/6.jpg)
Instituto de Computação - UFF 6
Por que aprender a programar com jogos?
• (continuação):
• Linguagem formais e autômatos – tratamento de eventos e estados do jogo; inteligência simplificada
• Redes de computadores – desenvolvimento de jogos online multiusuários
• Programação concorrente – uso de threads diferentes para implementação das diferentes partes do jogo
![Page 7: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/7.jpg)
Instituto de Computação - UFF 7
O desenvolvimento de jogos no Brasil
• O Brasil é atualmente o 4 mercado consumidor de jogos no mundo
• Faltam profissionais
• 1,6 bilhões em 2012
• Crescimento de 13,5% nos próximos 5 anos
![Page 8: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/8.jpg)
Instituto de Computação - UFF 8
O desenvolvimento de jogos no Brasil
• Procura por artistas gráficos e programadores de jogos para redes sociais e plataformas móveis
• 80% dos profissionais tem nível superior
• Fonte: http://g1.globo.com/jornal-hoje/videos/t/edicoes/v/mercado-de-jogos-eletronicos-cresce-no-brasil-e-gera-empregos/2693525/
![Page 9: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/9.jpg)
Instituto de Computação - UFF 9
Profissionais envolvidos em jogos
• Produção de jogos é uma área multidisciplinar
• Podem atuar no desenvolvimento de jogos: • Engenheiros de Computação • Cientistas de Computação • Designers gráficos • Engenheiros de Produção e Adminstradores
![Page 10: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/10.jpg)
Instituto de Computação - UFF 10
Ferramentas para aprendizado de programação com jogos
Flash
GLUT
Python Pygame
Lua
DirectX
C#
C / C++
OpenGL
JPlay ? ? ?
Java Html5
Javascript
Python & PPlay
PPlay
![Page 11: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/11.jpg)
Instituto de Computação - UFF 11
Ferramentas para aprendizado de programação com jogos
• Por que programar com Python?
• Por que utilizar PPlay?
![Page 12: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/12.jpg)
Instituto de Computação - UFF 12
Programa do curso
• Aula 0 - Introdução • Aula 1 - Conceitos sobre vídeo jogos
§ O que é um vídeo jogo § Histórico dos vídeo jogos § Os diferentes tipos de jogos § Game Design Document § A arquitetura de um jogo § O Game Loop
![Page 13: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/13.jpg)
Instituto de Computação - UFF 13
Programa do curso
• Aula 2 – Aspectos de implementação de jogos:
§ Variáveis: a representação de dados em um jogo § Comandos de seleção: tomando decisões em um jogo § Repetições: o motor do game loop § Funções: modularizando as funcionalidades do sistema § Arrays: a estrutura de dados básica § FlowChart: antes de começar a programar § Aplicação: um exemplo de jogo com interface textual
![Page 14: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/14.jpg)
Instituto de Computação - UFF 14
Programa do curso
• Aula 3 – Graficos I: A biblioteca PPlay
§ Instalação da biblioteca § Command Line Interface vs Graphics User Interface § O Hello World do PPlay
o Inicialização do programa o Implementando o Game Loop o Desenhando uma imagem na tela
![Page 15: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/15.jpg)
Instituto de Computação - UFF 15
Programa do curso
• Aula 4 – Graficos II: Transformações
§ Sistemas de coordenadas § Transformações de janela § Transformações geométricas no plano
• Aula 5 – Representando coleções de objetos no jogo • Listas • Arrays Associativos
![Page 16: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/16.jpg)
Instituto de Computação - UFF 16
Programa do curso
• Aula 6 – Introdução a classes
§ Porque aprender classes § Classes vs Objetos § Definindo e criando classes simples § Métodos § Referências § Herança § As relações é-um e tem-um
![Page 17: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/17.jpg)
Instituto de Computação - UFF 17
Programa do curso
• Aula 7 – Imagens, controle e sons
§ Configurando a imagem de fundo § Controle via mouse, teclado e joystick § Movimentado imagens § A câmera de um jogo 2D § Adicionando efeitos de audio do jogo
![Page 18: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/18.jpg)
Instituto de Computação - UFF 18
Programa do curso
• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo
§ O que é um sprite § Movimentando sprites § Colisões § Criando paredes e plataformas § Como usar Spritesheets
• Aula 9 – Armazenando dados do jogo e scores: uma aplicação de arquivos
![Page 19: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/19.jpg)
Instituto de Computação - UFF 19
Programa do curso
• Aula 10 – Reticulados: uma aplicação de arrays
§ Jogos baseados em reticulados § Representado o cenário do jogo com tiles (ladrilhos)
![Page 20: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/20.jpg)
Instituto de Computação - UFF 20
Avaliação
• O curso será avaliado por meio da participação nas atividades de laboratório durante o semestre e execução do projeto final
• O projeto final é composto de 3 partes: • Documento de design do game • Implementação • Documentação
![Page 21: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/21.jpg)
Instituto de Computação - UFF 21
Avaliação
• Média final: 0.3*PA + 0.7*PF
§ PF: 0.2*GDD+0.7*IMP+0.1*DC
§ PA: participação em aula § GDD: documento conceitual do jog § IMP: implementação § DC: documentação
![Page 22: Laboratório de Professor - UFFanselmo/cursos/LabGames/apresentacoes/...• Aula 8 – Gráficos III – Sprites, os objetos dinâmicos do jogo ! O que é um sprite ! Movimentando](https://reader036.vdocuments.pub/reader036/viewer/2022071501/61208d467c428a381734f226/html5/thumbnails/22.jpg)
Instituto de Computação - UFF 22
Bibliografia
• Paul Craven. Program Arcade Games with Python and Pygame. CreateSpace Independent Publishing Platform. 2013
• Al Sweigart. Invent Your Own Computer Games with Python. Albert\Sweigart; 2 edition (May 1, 2010). 2010
• Al Sweigart. Making Games with Python. Autor: Al Sweigart. CreateSpace Independent Publishing Platform (January 12, 2012). 2012
• Bruno Feijó, Esteban Clua, Flávio S. Correa da Silva. Introdução à Ciência da Computação com Jogos. Aprendendo a Programar com Entretenimento. Campus Elsevier . 2009