Roteiro
Evolução dos Jogos
Características e Tipos de Jogos
Desenvolvimento de Jogos
Por que desenvolver? (3 D’s)
Desafios acadêmicos
Diversão
Porque não fazer um trabalho divertido que exercita o
imaginário?
Dólares $$$$
Importância Acadêmica
Um desafio inter-disciplinar
Computação: Computação Gráfica, IA, Eng.
Software...
Arte: Design gráfico, Sonorização e trilhas
musicais, Vídeo e Roteiro
Modelagem: Psicologia, Sociologia, Arte Militar,
...
Entretenimento: Game design e level design
Importância Acadêmica
Aplicação “limite” para a computação
Realismo => altos requisitos gráficos e sonoros
Algoritmos complexos, alto uso de memória e
rede sob fortes restrições temporais
Do baixo ao alto nível: da placa aceleradora ao
3D studio
Importância Acadêmica
Mini-laboratório para IA
Simulações muito próximas do mundo real
Novos horizontes e perspectivas da
convergência digital
Todas as formas de comunicação (rádio, tv,
telefone, Internet) estão se tornando digitais
Cinema interativo e conectado à rede, TV digital,
etc.
Importância Acadêmica
TV, Cabo,
Rádio, ...
Jogos,
CDRom,...
Internet
?
Mercado de Jogos Eletrônicos
Mercado diferente: você compra mais de um
jogo!
Movimentação
Mercado atual US$ 75 bilhões Maior do que o cinema!!
Crescimento de 7% em 2014
O mercado de software para desenvolvimento
também é grande
Motor da Unreal: US$ 500.000,00 !!
No Brasil R$ 629 milhões em 2012
Um crescimento de 72% em relação a 2011
Mercado Global (2012 – 2016)
Mercado Global por Região (2013)
Mercado Global por Segmento (2013)
Mercado de Jogos Eletrônicos
Empresas
Jogar videogame não é mais coisa de
criança e adolescente
25% são menores de 18 anos
49% estão entre 18 e 49 anos
26% estão acima dos 50 anos
Hollywood tem ficado para trás...
AVATAR
Vendeu 3.2 milhões de DVDs e Blue-rays no dia do
lançamento, somando vendas no mundo todo
CALL OF DUTY Black Ops
Vendeu 5,6 milhões de unidades no lançamento,
somando apenas as vendas nos EUA e Reino Unido!
Hollywood tem ficado para trás...
HOLLYWOOD EM 2010
500 FILMES
INVESTIMENTO DE US$
100 MILHÕES
LUCRO DE US$ 31,8
BILHÕES
GAMES EM 2010
1.638 LANÇAMENTOS
NOS EUA
INVESTIMENTO DE US$
25 MILHÕES
LUCRO DE US$ 60,4
BILHÕES
As duas indústrias somam forças...
O Príncipe da Pérsia, adaptação do jogo de mesmo
nome, é a maior bilheteria da história de adaptação
de jogos
US$ 335 milhões
Videogame é coisa de homem, certo?
2 de cada 5 jogadores são mulheres
Mercado entre as mulheres:
11% jogam XBOX-360
9% jogam PLAYSTATION 3
80% jogam NINTENDO WII
Mercado entre os homens:
38% jogam XBOX-360
21% jogam PLAYSTATION 3
41% jogam NINTENDO WII
Campeões da Indústria de Games
O Videogame de maior sucesso na história é o
Playstation 2
138 milhões de unidades vendidas
A franquia Mario é a de maior sucesso
Mais de 225 milhões de jogos vendidos
Os 10 jogos mais vendidos de todos
os tempos
1: Wii Sports (Wii - 81.6 milhões)
2: Super Mario Bros. (NES - 40.24 milhões)
3: Mario Kart Wii (Wii - 34.33 milhões)
4: Wii Sports Resort (Wii - 32.24 milhões)
5: Pokémon Red e Blue/Green (GB - 31.37 milhões)
6: Tetris (GB - 30.26 milhões)
7: New Super Mario Bros. (DS - 29.38 milhões)
8: Wii Play (Wii - 28.79 milhões)
9: Duck Hunt (NES - 28.31 milhões)
10: New Super Mario Bros. Wii (Wii - 27.25 milhões)
Os Mais Vendidos por Gênero
RPG - Pokémon Red, Blue & yellow (GB - 31.38 milhões)
Plataforma - Super Mario Bros (NES - 40.24 milhões)
Corrida - Mario Kart Wii (Wii - 34.20 milhões)
Shooter - Duck Hunt (NES - 28.31 milhões)
Esportes - Wii Sports (Wii - 81.73 milhões)
Luta - Super Smash Bros. Brawl (Wii - 11.83 milhões)
Ação - Grand Theft Auto V (PlayStation 3, Xbox 360 - 32
milhões)
Shooting - Duck Hunt (NES - 28.31 milhões)
Aventura - The Legend of Zelda: Ocarina of Time (N64 - 7.09
milhões)
Quebra-Cabeça - Tetris (GB - 30.26 milhões)
Simulação - Nintendogs (NDS - 24.54 milhões)
Exemplo: Final Fantasy VII da Square
Características
Com pouco sangue e muita
estratégia, o jogador participa de uma
rebelião contra uma empresa que
domina o mundo.
Duração pode chegar a 40 horas
Melhor jogo do ano de 1997 no Japão
Desenvolvimento
Durou 3 anos
Custou US$ 40 milhões
Exemplo: Asheron's Call da
Turbine Entertainment Software
Massive On-line RPG
40 + 8 meses de teste (= 4 anos)
2 milhões de linhas de código.
30 desenvolvedores full-time
(6 artistas, 4 game designers, 15
software engineers, and 5 QA testers)
Plataformas e software de
desenvolvimento
Intel Pentium PC
Microsoft Visual C++ 5.0, Visual
SourceSafe 5.0, Lightwave 5.5,
Photoshop 4.0, RAID.
Conseqüência
Passou a fase romântica de desenvolvimento
de jogos!!!
É preciso
Muito investimento
Muita gente
Metodologia e qualidade de software
Desenvolvimento de jogos: anos 80
Receita básica
Encontre 5 desenvolvedores (Geral, IA, Gráficos,
Som,...)
Eleja um hacker como líder
Coloque-os numa sala pequena com alguns
artistas a disposição
Deixe cozinhar por 18 meses regando-os a pizza
e coca-cola e...
um pouco mais de cozimento, e... Voilà!
Desenvolvimento de jogos: anos 80
Objetivos
Programa rápido, pequeno e, se possível,
divertido
Mentalidade Pedal-to-the-Metal
Assembler e o hardware: que belo par!
Sem sistema operacional ou outras “facilidades”
Síndrome NBH (Not Built Here)
O código dos outros é mais lento, pior e não
presta
Pouca gente e pouco sono
Desenvolvimento de jogos: anos 80
Cool factor
Programador de jogo é um gênio e eu sou o
melhor
Para programar um jogo, tem de ser criativo!
Plataformas
ZX Spectrum, Commodore 64, Amstad 464: que
uniformidade!
Hex Loader: 1FE0H: CD 45 20 28 0D CD 4E =>
memória (convertido e montado no lápis e papel)
Mais tarde: Assemblers p/ montagem e
conversão
Desenvolvimento de jogos: anos 80
Código desenvolvido na máquina alvo
O assembler tomava parte da memória assim
como o debugger
Desenvolvimento de jogos: anos 90
Doom foi um boom (1993)
Usou C com compilador Watcom C/C++ 10.5
Watcom + Dos4gw
Rápido e 32 bits para DOS
Visual C++ 1.5 ainda era lento e 16 bits
Microsoft
DirectX 2: API baseada na tecnologia COM
(Common Object Model)
Visual C++ 2.x, 32 bits, ... Visual C++ 4.x
Como desenvolver jogos hoje?
Metodologia e Equipe
Consciência da importância da engenharia de
software
Bom desempenho de linguagens e compiladores
Disponibilidade de bibliotecas para jogos
Disponibilidade de aceleradores de hardware
Disponibilidade de emuladores muitíssimo
potentes
Plataformas
Consoles
PlayStation
Xbox
Wii
PC
Online
Celulares/Smartphones
3 Grandes Etapas
1) Game Design (projeto do jogo)
Tema, backstory, ambiente, personagens, tipo de
jogo, ...
1a x 3a, 3D x 2D, multi x mono-usuário, níveis,
tempo real x turno,...
2) Implementação
Programação (c. gráfica, IA, Rede,
Prototipação,...)
Arte gráfica e sonora (identidade visual, cenário,
personagens, trilhas, efeitos sonoros, vídeos, ...)
3 Grandes Etapas
3) Testes
de corretude
de jogabilidade
As 3 Completudes
Completude de Conteúdo (Pré-alfa)
Arte, som, mapas, textos da interface e da ajuda
prontos
Completude de Jogo (Alfa)
Jogabilidade
Completude de Código (Candidato a
lançamento)
Código testado e pronto para distribuição
Game-Design
Importância
Unificar a visão da equipe
Vender o jogo (para o publisher, time de
desenvolvimento, ...)
Realizar teste prévio e detectar erros (que
custam 10x mais caro na fase de testes)
Facilitar a introdução/remoção de novas
características
Game-Design
Atividades
Tratamento inicial
Crítica
Redação da bíblia do jogo (40-200 págs.)
Implementação
Parte Artística
Textos e diálogos
Arte gráfica 3D, arte gráfica 2D (texturas), Filmes
Efeitos sonoros, trilha sonora e vozes
Arte da “caixa”
Parte computacional
Computação Gráfica, Inteligência Artificial
Computação Musical, Redes
Algoritmos (Modelagem Física)
Engenharia de Software, Compiladores
Implementação: Arte
Do story board...
à arte final
Ferramentas de Arte
Virtools Dev (virtools.com)
3DS Max (discreet.com)
Blender 3D
Implementação
Camadas
Sistema Operacional
Bibliotecas
Motor
Jogo
Hardware (+ placas)
DirectX, OpenGL,...
Windows, Linux,...
Unreal, Lithtech,...
Ferramentas
Editores de imagens 2D
Modeladores 3D
Processadores de sons e músicas
Editores de cenários
Visual C++,... Linguagem/Compilador
Bibliotecas
DirectX
Ambiente Windows
A mais utilizada (90 % dos jogos)
Inclui várias APIs (gráficas, de vídeo, sonoras, de
rede, de configuração e de tratamento de
entrada)
OpenGL e OpenAL
Maior interoperabilidade e flexibilidade
Inclui APIs gráficas e sonoras
Motor
Oferece as funcionalidades básicas necessárias porque
Controla as mídias envolvidas
Trata e abstrai as características de mais baixo nível
Ajudam a garantir qualidade
É complexo e caro
Milhares de linhas de código
Gráfico: Unreal (www.unreal.com): US$ 500.000,00
Alguns gratuitos (Unit 3D)
Motor
Há motores especializados
IA: DirectIA (directia.com)
Modelagem física: Game Dynamics SDK (havok.com)
Animação de áudio: SMartTools (audioforgames.com)
Linguagens
C++ e C
Assembly
Java
Linguagem para sistemas embarcados
(J2ME, Brew, Android, iOS)
Web: Flash, HTML5, JavaFX, Silverlight
Ferramentas de autoria
C++
Padrão atual para PC e alguns consoles!!!
Vantagens
suporta bem as técnicas de OO
bibliotecas fazem muito do “trabalho sujo”
Portabilidade razoável
Desvantagens
grande e complicada
pode ser um pouco mais lenta do que C
C
Utilizada em muitos jogos
Vantagens
boa para programas pequenos e rápidos
fácil interface com assembly
bem padronizada
Biblioteca Allegro
Desvantagens
não suporta facilmente técnicas OO
Portabilidade limitada a algumas partes da linguagem
Assembly
Só utilizada em porções críticas de código
Vantagens
código menor e mais rápido
Desvantagens
difícil aprendizado
difícil manutenção
Sem portabilidade
Java (J2SE)
Pouquíssimos jogos comerciais
Vantagens
portabilidade excelente
alocação de memória e garbage collector
Desvantagens
mais lenta do que código de máquina real
ruim para baixo nível
Dispositivos Móveis
Soluções
Proprietárias (C)
WAP/i-Mode
SMS
Java 2 Micro Edition
Versão reduzida de Java e de sua máquina virtual
BREW
Ambiente light da QUALCOMM para desenvolver em
C/C++ com bibliotecas para jogos
Android
Plataforma proprietária - Google
Authoring Tools
HyperCard (Myst!)
Prototipação rápida e muito simples mas muito
limitada e de portabilidade duvidosa
Director e Shockwave Flash (tendência forte)
Vantagens
Roda na Web, é fácil de animar e tem grande
portabilidade
Introdução de 3D (Director 3D)
Interação possível com outras linguagens http://members.brabant.chello.nl/~a.mert/fight.swf
Desvantagem: linguagem limitada e parser lento
para interação com outras linguagens (flash)
Testes
Testes
Alfa (testes internos)
Beta (testes externos)
Testes de corretude
Iguais a qualquer software
Testes de jogabilidade
Escolha da equipe de testadores (público alvo)
equipe interna, empresa especializada ou voluntários
Elaboração de questionários
Análise e confrontação das críticas
Engenharia de Software
Com riscos cada vez maiores, é cada vez
mais necessária
Como terminar no prazo e dentro do orçamento?
Como organizar times de desenvolvimento com
50 pessoas?
Como organizar e coordenar o seu pipeline de
produção?
Equipe
Principais
Business
Management
Game Design
Programming
Art (graphics)
Music
Support and Quality Assurance
Papéis dentro de uma divisão
Podem se superpor em algum momento
Divisões e Papéis:
Management & Design
Software planner
Detalha os requisitos técnicos e esforço
esperado
Trabalha com Lead architect e Game designer
Lead architect
Identifica os módulos do sistema a partir dos
requisitos técnicos (pode se fundir com o anterior
Project manager
Gerencia interação entre divisões e prazos
Divisões e Papéis:
Management & Design
Game designer
Projeta o jogo: documento inicial e refinamentos
contínuos
Divisões e Papéis:
Programming
Lead programmer
Detalha os módulos, cuida de prazos e divisão
de tarefas
Mas programa 70% do tempo (é o mais
experiente)
Conversa com o pessoal da gerência e design
Programmer
Programa seguindo as espcificações
Pode ser especializado: gráficos, IA, música e
rede
Pode trabalhar em mais de um projeto
Divisões e Papéis:
Graphic Art
Lead artist
Papel semelhante ao do lead programmer:
detalha, atribui, faz ponte e ... cria
Artist
Semelhante ao programador
Pode ser especializado: 3D, 2D, cenário, box, ...
Vídeo
Pode trabalhar em mais de um projeto
Divisões e Papéis:
Music and Others
Musician
Cria as trilhas sonoras
Se forem interativas, requer maior conversa com
a equipe
Sound Effects technicians
Cria efeitos sonoros conforme especificação do
design
Others
Motion capture
Divisões e Papéis:
Support and Quality Assurance
QA lead
Supervisiona a divisão e conversa com o project manager
QA technician
Testa todos os caminhos de um módulo em busca de bugs
2 tipos de teste: black-box and clear-box testing
Divisões e Papéis:
Support and Quality Assurance
Playtester
Testa a jogabilidade
Possibilidades de contratação staff da casa, estudantes secundaristas, agência de
teste, beta teste público
Support technician
Artistas X Engenheiros de SW
Plataforma PC e Consoles
Aprox. 60% de artistas (roteiro, gráficos, sons)
Game Boy
Aprox. 50% de artistas
Celular
Aprox. 40% de artistas
Estudo de caso 1:
Rage of Mages II (63 pessoas) Gerência (8)
Produtor geral, Produtor executivo, Produtor associado, Gerente de Produção, Gerência de Qualidade, Publicidade e vendas (3).
Game designer (2). Projetistas das missões (7),
Programação (9) Chefe de programação, Programadores do cliente (3),
Programadores do servidor (3), Programadores do editor de mapas (2)
Artes (22) Chefe de artes, Layout e animação, Arte 2D (2), Arte 3D, animação
(3), Layout do manual (2)
Escritor, Textos/falas do jogo (2), Tradutores (2), Textos do manual (2)
Músico, Efeitos sonoros, Editores de áudio(3),
Testes e outros (24) Equipe de teste de qualidade (6), Equipe de teste (12), Suporte
técnico (3), Manual (3)
Estudo de caso 2:
StarCraft (228 pessoas) Gerência (53)
Produtor executivo, Produtores (3), prod. associados (2), diretor de operações, administrador de escritório, diretor executivo, produtures e relações públicas (2), business (2), ass. Jurídica (4), marketing (8), vendas (9), hosts (4), outros (12)
Senior designers (2), Editor de campanhas
Programação (16) Chefe de programação, program. (8), Program. IA (3), Program. Net
(3), Instalador, Especialista de hardware
Artes (108) Diretor de artes, artework 3D (8), artwork (13), artistas técnicos (3),
scenario Design e layout (8), diretor de filme, artistas cinema (16), engenheiro de vídeo, storyboard (8), música (5), efeitos sonoros (5), audio maker (2), engenheiro de áudio, produtor de voz, vozes (21), scritp story (2), strike (9), help design (3),
Testes (51) QA manager, testador líder e assistente (2), manuais (14), box (7),
diretor de suporte, líder do suporte, QA analistas (9), Testadores (16)
Desenvolvimento de Jogos
Fique ligado!
É praticamente impossível se fazer um mega-hit
de primeira
Os grandes estúdios de jogos começaram
pequenos e aumentaram com o tempo
Break-out, Pac-man, Super Mario
A maior parte do aprendizado para desenvolver
jogos é adquirido por experiência
É possível usar ferramentas (principalmente
“game engines”) desenvolvidas por terceiros
Breakout
Elementos comuns a todos os jogos (loop básico) lê entrada
processa entrada
atualiza os elementos do jogo
verifica por condições de vitória/derrota
Outras características detecção de colisões
modelo físico (reflexão da bola)
layout de níveis
gerenciamento de recursos (mapas, níveis)
sons
Pac-Man
Próximo passo: IA
táticas inimigas
um fantasma persegue você
outro tenta interceptar o seu movimento enquanto você foge do
primeiro
outro vigia o túnel pra evitar a sua fuga
o último ronda a área que você precisa visitar pra terminar a fase
Maior Complexidade
mapas, sons
Super Mario
Maior complexidade:
gráfica (scrolling)
física (pulos, tiros)
dos inimigos (mais IA, mais controle)
de níveis (editor de níveis)
Bibliografia
História dos vídeo games
http://www.outerspace.com.br/retrospace/
Prof. Geber Ramalho (UFPe)
Transparências
Outras
Game Architecture and Design, A. Rollings e D. Morris;
Coriolis, 2000
Gamasutra, http://www.gamasutra.com
Game Developers Magazine, http://www.gdmag.com
Critical Path Analysis and Scheduling for Game
Development , Jack Hoxley,
www.gamedev.net/reference/articles/article1440.asp