53
Introdução ao Desenvolvimento de Jogos Kleber de Oliveira Andrade [email protected] Universidade de São Paulo – USP Escola de Engenharia de São Carlos – EESC Departamento de Dinâmica de Sistemas e Controles Outubro/2009

Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Introdução ao Desenvolvimento de Jogos

Kleber de Oliveira Andrade

[email protected]

Universidade de São Paulo – USP

Escola de Engenharia de São Carlos – EESCDepartamento de Dinâmica de Sistemas e Controles

Outubro/2009

Page 2: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Palestrante

• Bacharel em Ciência da Computação– Escola de Engenharia de Piracicaba

– Título: Um algoritmo evolutivo para adaptação dos NPCs em um jogo de ação.

• Mestrando em Engenharia Mecânica– Escola de Engenharia de São Carlos (USP/EESC)

– Título: Planejadores neurais para manobra de baliza de um automóvel de passeio utilizando sensor laser, ultrassônicos e visão artificial.

2009 © Kleber de Oliveira Andrade

Page 3: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Inteligência Artificial e Jogos (Hobby)

Inteligência Artificial

Algoritmos Evolutivos

2009 © Kleber de Oliveira Andrade

Page 4: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Sistema Embarcado de Navegação Autônoma

http://www.eesc.usp.br/sena

2009 © Kleber de Oliveira Andrade

Page 5: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Tópicos

• Introdução: O que são jogos ?

• Evolução Histórica

• Mercado Nacional

• Etapas de Desenvolvimento de Jogos

• Dicas

2009 © Kleber de Oliveira Andrade

Eu sei o que é, posso responder ?

Hum, a teoria de Darwin é real então ! Tive uma evolução.

Tem emprego para eu também ?

Como será que meu jogo foi feito ?

Isso é importanteBoa palestra a todos.

Page 6: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

O que são jogos ?

2009 © Kleber de Oliveira Andrade

Jogos

Eletrônicos

Ambiente de

Simulação

Regras

Controle Objetivo

Imersão

Motivação

O filósofo HUIZINGA (1938), definiu jogo como:“Uma atividade voluntária exercida dentro de certos e determinados limites de tempoe espaço, segundo regras livremente consentidas, mas absolutamente obrigatórias,dotado de um fim em si mesmo, acompanhado de um sentimento de tensão e alegria ede uma consciência de ser diferente de vida cotidiana. “

HUIZINGA, Johan H. (1938). Homo Ludens - A Study of the Play-Element in Culture. Routledge.

Page 7: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

A aula nos jogos...

• Multidisciplinar:– Programação

• Estrutura de dados• Inteligência Artificial (IA)

– Engenharia de Software– Computação Gráfica– Música– Matemática– Física– Interação Humano-Computador– Educação e Psicologia– Outros...

2009 © Kleber de Oliveira Andrade

Page 8: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Evolução Histórica: O Início

• As primeira tentativas de se criar um jogo foram em 1958 no Brookhaven National Laboratories em Nova Iorque, pelo Físico Willy Higinbotham.

• O Tennis for Two, era exibido em um osciloscópio e processado por um computador analógico.

ControlesComputador Analógico

Tennis for two(tela do jogo)

2009 © Kleber de Oliveira Andrade

Fonte: Documentário “A era do videogame” – Discovery Channel - 2005

Page 9: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Anos 60: A Década Perdida

• Em 1961 Steve Russel desenvolve Spacewar! (2Kbytes)

• O computador utilizado foi um PDP-1 (memória de 4Kbytes e processador de 18 bits) que custou U$ 120.000,00

Spacewar!Estudantes do MIT testando o jogo

2009 © Kleber de Oliveira Andrade

Page 10: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Anos 70: A Odisseía Comercial

1972: Nolan Bushnellfunda Atari

1972: Ralf Bear cria oprimeiro console Odyssey

1979: Asteroids1978: Breakout 1978: Space Invaders

1973: Pong

2009 © Kleber de Oliveira Andrade

Page 11: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Anos 80

Battlezone (1980)Primeiro jogo 3D (Fractal)

Berzerk (1980)Primeiro jogo que falava

(30 palavras)

Pacman (1980)Público feminino

2009 © Kleber de Oliveira Andrade

Page 12: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Anos 80: A revolução dos jogos

Prince of Persia (1989)Where in the World is Carmen San Diego ? (1985)

Donkey Kong (1984) Mario Brothers (1985)

The Legend ofZelda (1987)

Flight Simulator (1984)

2009 © Kleber de Oliveira Andrade

Page 13: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Anos 90: Os jogos em FPS nascem

Wolf 3D (1992) Doom (1992)

Quake (1996)

2009 © Kleber de Oliveira Andrade

Page 14: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Anos 90: A nova geração de consoles

Super NES (1991)

Virtual Boy (1995) Nintedo 64 (1996)

Saturno (1995)3DO (1993)

Playstation (1995)

2009 © Kleber de Oliveira Andrade

Page 15: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Atualidades

Playstation 3

Nintendo Wii Zeebo

Xbox 360

2009 © Kleber de Oliveira Andrade

Page 17: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Mercado Nacional

• Segundo pesquisa realizada ABRAGAMES em Julho de 2008. – 560 profissionais são empregados de 42

empresas que produzem jogos.

– O produto nacional bruto do setor é de R$ 87,5 milhões (software e hardware)

– O salário médio bruto é de R$ 2.272,71.

– Brasil representa 0,16% da indústria mundial.

– O perfil brasileiro é de artistas gráficos e programadores.

2009 © Kleber de Oliveira Andrade

Fonte: http://www.abragames.org/docs/Abragames-Pesquisa2008.pdf

Page 18: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Faturamento

2009 © Kleber de Oliveira Andrade

Page 19: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Taxa de crescimento

2009 © Kleber de Oliveira Andrade

Page 20: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Participação de Segmentos

2009 © Kleber de Oliveira Andrade

Page 21: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Alguns jogos Brasileiros

2009 © Kleber de Oliveira Andrade

Taikodom – Hoplon – 2008Erinia – Ignis – 2004

Outlive – Continnum – 2001

Capoeira Legends – Donsoft – 2009

Incidente em Varginha – Perceptum–1998 Hades 2– Espaço Informática – 2001

Page 22: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Equipe de desenvolvimento de jogos

Gerente de projeto (Project Manager)

Arquiteto chefe (Lead Architect)

Projetistas de jogos (Game Design)

Planejador de software (Software Planner)

Projetistas de níveis/fases

Artistas gráficos

Programadores

Músicos e sonoplastas

Testadores

2009 © Kleber de Oliveira Andrade

Page 23: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Etapas de elaboração de um jogo

• Idéia

• Rascunho do jogo

• Detalhamento do jogo

• Game Design Document (GDD)

• Produção de áudio e imagens 2D

• Modelagem 3D

• Desenv. de artefatos computacionais (engines)

• Integração (arte e computação)

2009 © Kleber de Oliveira Andrade

Page 24: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Idéia

• Muitas idéias vem dos sonhos.

• Surgem de pequenos conceitos expandidos em Brainstorm.

• Grandes idéias poder parecer ridículas no começo.

2009 © Kleber de Oliveira Andrade

Page 25: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Rascunho do jogo

• Personagens, fases, itens com pequenas descrições.

• Fluxo das telas do jogo e menus.

• Facilita o projeto de um jogo

2009 © Kleber de Oliveira Andrade

Esboço Tela final

Page 26: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Detalhamento do jogo

• Algumas perguntas fundamentais:– O que o jogador fará no jogo ?

– Quantos inimigos o herói vai enfrentar ? Como eles são ?

– Quais as armas disponíveis que o jogador poderá usar ?

– Como será o sistema de vida do jogador ?

– Qual o objetivo do jogo ? Quantas fases terá ? Como elas serão (cenário, inimigos, dificuldade, etc) ?

– Quantos jogadores poderão jogar o jogo ?

– Qual o tipo de visualização gráfica ?

– Qual o tipo de trilha sonora ?

2009 © Kleber de Oliveira Andrade

Page 27: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Game Design Document (GDD)• Conceito:

– Nome do jogo, público alvo, história, regras...

• Especificações técnicas:– Hardware, sistema operacional...

• Especificações do jogo:– Número de fases, personagens, itens, cenários...

• Dispositivo de entrada:– Mouse, teclado...

• Design gráfico e arte:– Abertura, layout de menus e telas, final do jogo...

• Sonorização:– Músicas nos menus, músicas nas fases...

• Desenvolvimento:– Tempo de desenvolvimento, alocação de pessoas...

2009 © Kleber de Oliveira Andrade

Page 28: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Produção de som e imagens 2D

• Som– Sound Forge: produção de trilhas e efeitos sonoros.

– Cubase: mixagem de canais MIDI

– Audacity: permitir criar áudio, inclusive combinar diferentes canais de som.

• Imagens 2D– Tiles

– Bricks

– Layers

– Sprites

2009 © Kleber de Oliveira Andrade

Page 29: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Tiles

• Imagens de um cenário, são divididas em pedaços de tamanhos iguais. Abaixo tiles de um jogo.

2009 © Kleber de Oliveira Andrade

Tiles desenhado por Marcio Kassouf Crocomo

Page 30: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Bricks (Tilemap)

• Estruturas que descrevem a disposição dos tiles que compõe a layer.

2009 © Kleber de Oliveira Andrade

Tilemap

Tiles

Resultado Final

Page 31: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Layers - Profundidade

• Utilizando mais de um layer é possível criar efeito de profundidade no jogo.

2009 © Kleber de Oliveira Andrade

Fundo

Frente

Page 32: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Sprites

• Estruturas com imagens que:– Permite o livre posicionamento na tela

– Permite criar animações

2009 © Kleber de Oliveira Andrade

012012

Page 33: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Técnicas utilizadas para fazer Sprites

2009 © Kleber de Oliveira Andrade

Pixelart ou Desenho

Fotografias Objetos 3D renderizados

Page 34: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Modelagem 3D

Modelagem 3D

Modelagem Estrutural

TerrenosElementos Estáticos

Modelagem de Elementos

Dinâmicos

PersonagensElementos Dinâmicos

2009 © Kleber de Oliveira Andrade

Page 35: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Criação de Personagens

• Concept do personagem (Sketch)

2009 © Kleber de Oliveira Andrade

Concept do Fausto de Martini, o Legionary Modelo pronto

Page 36: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dificuldades durante a modelagem

2009 © Kleber de Oliveira Andrade

Page 37: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Modelagem

2009 © Kleber de Oliveira Andrade

Blueprint do modelo

Modelagem do Pernalongahttp://danielvmacedo.blogspot.com/2009/02/meu-primeiro-modelo-completo-em-blender.html

Page 38: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Mapeamento

• Planificação da malha.

2009 © Kleber de Oliveira Andrade

Page 39: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Texturizando

2009 © Kleber de Oliveira Andrade

• Existem diversas técnicas, duas delas são a NormalMap e o mapa de Specular.

SpecularNormalMap

Page 40: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Rigando (Skinning) - Bones

• O que seria de um personagem de um jogo, se ele não pudesse se mover ?

• É para isso que existe as animações, que são quadros, que gravam, cada posição e rotação dos bones (ossos) do personagem.

2009 © Kleber de Oliveira Andrade

Bones de uma mão Esqueleto do personagem

Tutoriais: http://escultopintura.com.br

Page 41: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Integração (arte e computação)

• Linguagens e engines

2009 © Kleber de Oliveira Andrade

Page 42: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

O que é uma Engine ?

2009 © Kleber de Oliveira Andrade

Entrada de Eventos

Física

Colisões

Sistema de Partículas

Inteligência Artificial

Imagens

Sons

Núcleo

Renderização do Vídeo

Renderização do Áudio

Estrutura de um motor de game (Game Engine)

• O coração do jogo (Motor)• Conjunto de ferramentas• Agiliza o processo de desenvolvimento

Page 43: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Unreal Engine 2

2009 © Kleber de Oliveira Andrade

Page 44: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Últimas etapas• Testes

• Embalagem

• Manual de instruções

• Finalização

• Novos testes

• Trailler e Abertura

• Promoções

2009 © Kleber de Oliveira Andrade

Page 45: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dicas – O que fazer ?• Estudar muito !

• Conhecer as novidades no mundo dos jogos

• Jogar bastante e diferentes tipos de jogos

• Buscar fazer contatos

• Participar de eventos relacionados

• Começar por jogos fáceis:– Pong, Arkanoid, Space Invaders, Tetris, Pacman...

2009 © Kleber de Oliveira Andrade

Page 46: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dicas – Livros Nacional

2009 © Kleber de Oliveira Andrade

Page 47: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dicas – Livros Internacionais

2009 © Kleber de Oliveira Andrade

Page 48: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dicas - Sites• Abragames

– http://www.abragames.org/

• BRGames– http://www.brgames2009.com.br/

• PDJ– http://www.programadoresdejogos.com/

• UNIDEV– http://www.unidev.com.br/

• GameDevBr– http://www.gamedevbr.com/

• Gamasutra– http://www.gamasutra.com

• SharpGames– http://www.sharpgames.net/

• Ponto V– http://vinigodoy.wordpress.com/

2009 © Kleber de Oliveira Andrade

Page 49: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dicas - Eventos

• SBGames – (Simpósio Brasileiro de Jogos e Entretenimento Digital)

• SCGames – (Simpósio Santa Catarina Games)

• IGN - (Independent Game Festival)– http://www.igf.com/

• Campus Party– http://campus-party.com.br/

2009 © Kleber de Oliveira Andrade

Page 50: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dicas - Competições

• XNA Game Challenge– http://www.xnachallenge.com.br/

• Dream Build Play– http://www.dreambuildplay.com

• Imagine cup– http://imaginecup.com/

• Maratona de Programação– http://maratona.ime.usp.br/

• Duelos e Concursos de fóruns

2009 © Kleber de Oliveira Andrade

Page 51: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Dicas – Links interessantes• Gráficos:

– http://www.tilemap.co.uk/– http://reinerstileset.4players.de/– http://www.hippydrome.com/

• Músicas e Efeitos sonoros:– http://www.flashkit.com/soundfx/– http://www.findsounds.com/

• Fonts:– http://www.1001freefonts.com/

• The game loop:– http://dewitters.koonsolo.com/gameloop.html

• Game Engines:– http://www.devmaster.net/engines/

2009 © Kleber de Oliveira Andrade

Page 52: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Perguntas

2009 © Kleber de Oliveira Andrade

Page 53: Palestra (2009) - Introdução ao Desenvolvimento de Jogos

Obrigado !Kleber de Oliveira Andrade

[email protected]://www.kleberandrade. com