2. Roteiro
Evolução dos Jogos
Características e Tipos de Jogos
Desenvolvimento de Jogos
3. 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 $$$$
4. 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
5. 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
6. 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.
8. 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
13. 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
14. 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!
15. 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
16. 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
17. 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
18. 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
19. 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)
20. 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)
21. 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
22. 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.
23. Conseqüência
Passou a fase romântica de desenvolvimento de jogos!!!
É preciso
Muito investimento
Muita gente
Metodologia e qualidade de software
24. 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à!
25. 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
26. 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
27. Desenvolvimento de jogos: anos 80
Código desenvolvido na máquina alvo
O assembler tomava parte da memória assim como o debugger
28. 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
29. 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
31. 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, ...)
33. 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
34. 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
38. Ferramentas de Arte
Virtools Dev (virtools.com)
3DS Max (discreet.com)
Blender 3D
39. 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
40. 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
41. 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)
42. Motor
Há motores especializados
IA: DirectIA (directia.com)
Modelagem física: Game Dynamics SDK (havok.com)
Animação de áudio: SMartTools (audioforgames.com)
43. Linguagens
C++ e C
Assembly
Java
Linguagem para sistemas embarcados (J2ME, Brew, Android, iOS)
Web:
Flash, HTML5, JavaFX, Silverlight
Ferramentas de autoria
44. 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
45. 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
46. 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
47. 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
48. 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
49. 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)
50. 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
51. 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?
52. 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
53. 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
54. Divisões e Papéis: Management & Design
Game designer
Projeta o jogo: documento inicial e refinamentos contínuos
55. 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
56. 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
57. 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
58. 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
59. 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
60. 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
61. 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)
62. 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)
63. 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
64. 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
65. 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
66. Super Mario
Maior complexidade:
gráfica (scrolling)
física (pulos, tiros)
dos inimigos (mais IA, mais controle)
de níveis (editor de níveis)
67. 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