desenvolvimento de jogos e ogre 3d - dev in santos

110
Desenvolvimento de jogos e Ogre 3D Autor: Jonathan Ohara de Araujo

Upload: jonathanblacknight

Post on 04-Jul-2015

686 views

Category:

Technology


1 download

DESCRIPTION

Slides da minha palestra no evento Dev In Santos realizado em 10/11/2012

TRANSCRIPT

Page 1: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Desenvolvimento de jogos e Ogre 3D

Autor: Jonathan Ohara de Araujo

Page 2: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Sobre Mim

23 anos;

Bacharel em Sistemas de Informação pela Universidade Católica de Santos;

Trabalho com Java para sistemas Web;

Estudo desenvolvimento de jogos desde 2009;

2 projetos na área de jogos: Shyds; PontoV.

Page 3: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Shyds Games - http://shydsgames.com/

Criado para armazenar nossos jogos, news e como blog de desenvolvimento;

Projetos: Bola de Pano; Tumbu; Black Amber; Sem nome (Em desenvolvimento).

Page 4: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Shyds Games – Bola de Panohttp://shydsgames.com/

Page 5: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Shyds Games – Tumbuhttp://shydsgames.com/

Page 6: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Shyds Games – Black Amberhttp://shydsgames.com/

Page 7: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Shyds Games – Sem Nomehttp://shydsgames.com/

Page 8: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

PontoV - http://www.pontov.com.br/

Artigos sobre desenvolvimentos de jogos em geral;

Escrevo na coluna sobre Ogre3D

Page 9: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Desenvolvimento de jogos e Ogre 3D

Será abordado:

Contextualização; Indústria; Curiosidades; Mitos; Ogre 3D; Desenvolvimento de Jogos;

Api´s; Game Engine; Computação Gráfica;

Page 10: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Contextualização

Page 11: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Jogos

O que é um jogo?

Qual a diferença de um jogo computacional para um software convencional?

Page 12: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Tennis for Two

William Higinbotham (1958)

Page 13: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Consoles

Atari 2600 (1980):

Primeiro console a ser altamente comercializado (30 milhões);

Quase 1000 títulos produzidos.

Page 14: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Pac-Man (Atari 2600) (1982)

Primeiro grande sucesso em vendas (7 milhões);

Page 15: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

GamesBrasileiros

Page 16: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Taikodom Living Universe (Hoplon)

Page 17: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Legendary Heroes (Maya Games)

Page 18: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Toren(SwordtaleS)

Page 19: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Indústria

Page 20: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Consoles - Vendas

1º Playstation 2 (2000) – 155,59 milhões;2º Nintendo DS (2004) – 147,86 milhões;3º GameBoy/Color (1989/1998) – 118,69

milhões;4º Playstation (1994) – 102,49 milhões;5º Wii (2006) – 87,57 milhões.

Page 21: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Jogos – Vendas

1º Wii Sports (Wii) – 77,34 milhões;2º Super Mario Bros. (NES) – 40,24

milhões;3º Pokemon Red/Green/Blue (GB) – 31,37

milhões;4º Tetris (GB) – 30,26 milhões;5º Mario Kart (Wii) – 28,57 milhões.

Page 22: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Jogos – Vendas

9º New Super Mario Bros. (DS) – 26 milhões 18º Grand Theft Auto: San Andreas (PS2) –

19,15 milhões; 22º The Sims (PC) – 16,08 milhões; 28º Call of Duty: Black Ops (X360) – 13,08

milhões; 32º Super Mario 64 (N64) – 11,09 milhões; 38º Call of Duty: Black Ops (PS3) –

10,68 milhões;

Page 23: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Jogos – Vendas (2012)

1º Mass Effect 3 (Wii) – 2.155.747;2º Just Dance 3 (Wii) – 1.642.825;3º Mario Kart 7 (3DS) – 1.544.864;4º Call of Duty: MW 3 (PS3) – 1.391.361;5º Call of Duty: MW 3 (X360) –

1.366.578;

Page 24: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Jogos – Crítica (Game Rankings)

1º The Legend of Zelda: Ocarina Of Time (N64) – 97,48;

2º Super Mario Galaxy (Wii) – 97,46; 3º Super Mario Galaxy 2 (Wii) – 97,12; 4º GTA IV (PS3) – 97,01; 5º SoulCalibur (DreamCast) – 96,94; 9º The Orange Box (X360) – 96,19; 11º The Orange Box (PC) – 95,82.

Page 25: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Indústria – Notícias Recentes “Vostu raises $30 million to invest in Brazilian

market” (Games Industry 30/11/2010)

“47.5m Americans Play Online Games ... “console gaming remains more popular with nearly 120 million players” (GamaSutra 16/10/2010)

Page 26: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Indústria – Notícias Recentes “Aproveitando a produção do Xbox no Brasil,

MCT planeja programa de incentivo a jogos” (Tecnomundo 27/09/2011)

“US games spending hits $4.5 billion in Q2” (GameIndustry 05/10/2011)

Page 27: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Indústria – Notícias Recentes “Cry Engine Free Use” (Crytek 18/08/2011)

“Torchlight sells 1M Copies Across All Plataforms” (Gamassutra 06/07/2011)

Page 28: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Indústria BrasileiraAbraGames – Associação Brasileira das

Desenvolvedoras de Jogos Eletrônivos - http://www.abragames.org/

AciGames – Associação Comercial, Industrial e Cultural de Games - http://www.acigames.com.br/

Page 29: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Por onde Começar

Mobile;

Desktop;

Web;

Consoles;

Page 30: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Onde Publicar

Google Play(Android) / Apple Store(Iphone);

Steam / Humble Indie Bundle;

Redes Sociais;

Xbox Live;

Page 31: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Eventos Interessantes -Internacional

IGF (Independent Games Festival);

GDC (Game Developer Conference);

IGDA (International game developers Association).

Page 32: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Eventos Interessantes -Nacional

SBGames (Simpósio Brasileiro de Games e Entretenimento Digital);

BGS (Brasil Game Show);

Senac E-Games (Concurso de desenvolvimento de jogos digitais).

Page 33: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Curiosidades

Page 34: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Curiosidades

79% dos jogadores tem mais de 18 anos;

Dentre os adultos mulheres são 28%;

75% dos chefes de família jogam novideo-game ou computador.

Page 35: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Curiosidades

Em média no mundo todo são jogados 3 bilhões de horas por semana;

Até agora, todos os jogadores de World of Warcraft gastaram, coletivamente 6 milhões de anos jogando

Page 36: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Curiosidades

62% dos jogadores, jogam jogos online;

Em 2008 a receita da indústria de jogos nos Estados Unidos foi de aproximadamente 22 bilhões que é maior que a receita da indústria de musica e filmes juntos (10,4 bilhões e

9,5 bilhões repetitivamente).

Page 37: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Curiosidades

62% dos jogadores, jogam jogos online;

Em 2008 a receita da indústria de jogos nos Estados Unidos foi de aproximadamente 22 bilhões que é maior que a receita da indústria de musica e filmes juntos (10,4 bilhões e

9,5 bilhões repetitivamente).

Page 38: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Mitos

Page 39: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

É impossível fazer um jogo sozinho!!!

Page 40: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Braid (2008) by Jonathan Blow

Page 41: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

É impossível fazer um jogo sozinho!!! E em java!!!

Page 42: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Minecraft (2009) by Markus “Notch”

Page 43: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Eu não tenho os milhões de dólares necessários para

licenças e softwares!!!

Page 44: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Meu primeiro jogo terá gráficos perfeitos e 1000

horas de game play!!!

Page 45: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Eu sei programar, então sei fazer jogos!!!

Page 46: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Desenvolvimento de Jogos –

Api’s Gráficas

Page 47: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Api´s Gráficas

O que são?

Api gráfica == Game Engine???

Page 48: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Api’s

OpenGL (1992);

Direct3D (1995);

Voodoo (1996).

Page 49: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

OpenGL

Page 50: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Direct 3D

Page 51: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Voodoo

Page 52: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Desenvolvimento de Jogos –

Engines Físicas

Page 53: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Engines Físicas

O que são?

Por que e quando usa-las?

Page 54: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Principais Engines Físicas

Nvidia PhysX

Havok Physics;

Bullet;

Open Dynamics Engine (ODE).

Page 55: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Principais Engines Físicas

Page 56: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Desenvolvimento de Jogos –

Game Engines

Page 57: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Game Engines

Conceito;

Função;

Componentes.

Page 58: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Game Engines Ogre 3D*;

Java Monkey Engine;

Unity;

Microsoft XNA.

Page 59: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D*

Open Source;

Multiplataforma;

C++;

http://www.ogre3d.org/

Page 60: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Java Monkey Engine

Open Source;

Multiplataforma;

Java;

http://www.jmonkeyengine.org/

Page 61: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Unity

Comercial com versão gratuita

Windows e Mac;

C#;

http://unity3d.com/

Page 62: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

XNA

Gratuito

Windows e Xbox ;

C#;

http://creators.xna.com/en-US/

Page 63: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Comparação

O que é avaliado?

Ambientes;

Métrica;

Observações.

Page 64: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Comparação

Page 65: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Comparação

Page 66: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Comparação

Page 67: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Comparação

Page 68: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D

Page 69: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D

Breve História

Por que Ogre 3D?

Por que C++?

Page 70: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D

Defeitos: Criando Ambiente e Criar Primeiro Projeto; Tempo de Compilação;

Soluções: Ogre App Wizard; Paciência e/ou PC da Nasa ;

Page 71: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

PrincipaisTrabalhos

Garshasp - The Monster Slayer;

Family Farm;

Project Aftershock;

TorchLight;

Page 72: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Garshap

Page 73: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Family Farm

Page 74: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Project AfterShock

Page 75: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

TorchLight

Page 76: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Torchlight

Desenvolvido pela Runnic Games;

Lançado em outubro de 2009;

Maioria das bibliotecas utilizadas são Open Source;

Page 77: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Torchlight

No Dia 6 de agosto de 2010 já tinha registrados bem mais de 600 mil vendas (fonte: Gamasutra);

Foi pago pelo jogo 20 dólares (caixa) e 10 dólares pelo download.

Page 78: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Desenvolvimento de Jogos –

Computação Gráfica

Page 79: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Coordenadas

Page 80: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Luzes Luzes direcionais;

Ponto de Luz;

Região de Luz.

Page 81: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Câmera

Page 82: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Cenas

Page 83: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Objetos

Composição:

Estrutura física (Mesh);

Pintura.

Page 84: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Mesh

Composição:

Vértices;

Arestas;

Faces;

Relações.

Page 85: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Mesh

Page 86: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Mesh

Page 87: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Pintura

Por cores (RGBA) aplicado em vértices;

Por textura através de mapeamento.

Page 88: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Pintura por Cores

Page 89: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Pintura por textura

Page 90: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Pintura por textura

Page 91: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Pintura por textura

Page 92: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Funções Importantes Movimento;

Escala;

Rotação.

Page 93: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Rotação em X

Page 94: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Rotação em Y

Page 95: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Rotação em Z

Page 96: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

O Monstro chamado renderização

In a NutShell;

FPS;

Page 97: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Entendendo como funciona um jogo

Loop Principal

123456789

1011

void main(){ loadResources(); while(!quit()) { readInput(); updateGame(); drawGame(); }}

Page 98: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Programando Ogre 3D em 10 slides

Page 99: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (1 de 10)

Grafos;

Managers.

Nós;

Page 100: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (2 de 10)

Iniciando Ogre: ogre = new Ogre::Root(“arquivo.cfg”);

Iniciando Manager de Cena:ogre->createSceneManager(tipo);

Criando um nó:manager->getRootSceneNode()->createChildSceneNode("no1");

Page 101: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (3 de 10)

Entidades;

.mesh e .materials;

Page 102: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (4 de 10)

Criando entidade:manager->createEntity(“arquivo.mesh"));

Associando entidade a um nó:no->attachObject(entidade);

Page 103: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (5 de 10)

Criando Luz:manager->createLight("Luz");

Criando Câmera:manager>createCamera("Camera");

Page 104: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (6 de 10)

Posicionando Nósno>setPosition( 10, 20, 30 );

no->setPosition(Ogre::Vector3( 10, 20, 30 ));

Page 105: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (7 de 10)

Girando 90º em X:no->pitch(Ogre::Degree(90));

Girando 90º em Y:no->yaw(Ogre::Degree(90));

Girando 90º em Z:no->roll(Ogre::Degree(90));

Page 106: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (8 de 10)

Renderizando o Frame Atual:mRoot->renderOneFrame();

Page 107: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (9 de 10)

Mouse:OIS::MouseListener;

Teclado:OIS::KeyListener;

Joystick:OIS::OISJoyStick;

Page 108: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Ogre 3D em 10 slides (10 de 10)

Let’s Play!!!

Mais em:http://www.pontov.com.br/site/ogre3d

Page 109: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Considerações Finais

Page 110: Desenvolvimento de jogos e Ogre 3D - Dev In Santos

Dúvidas ?

Contato:[email protected]@jonathan_oharahttp://shydsgames.com/http://www.pontov.com.br/