desenvolvimento de jogos e ogre 3d - palestra fatec praia grande

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

Upload: jonathanblacknight

Post on 03-Jul-2015

314 views

Category:

Technology


0 download

DESCRIPTION

Slides da minha palestra na semana de Tecnologia da Fatec Praia Grande realizado em 10/09/2013

TRANSCRIPT

Page 1: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Desenvolvimento de jogos e Ogre 3D

Autor: Jonathan Ohara de Araujo

Page 2: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Sobre Mim

23 +1 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 - Palestra Fatec Praia Grande

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 - Palestra Fatec Praia Grande

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

Page 5: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Shyds Games – Tumbuhttp://shydsgames.com/

Page 6: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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

Page 7: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Shyds Games – Sem Nome ( On Hold )

http://shydsgames.com/

Page 8: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Shyds Games – Stick Warshttp://shydsgames.com/

Page 9: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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

Artigos sobre desenvolvimentos de jogos em geral;

Escrevo na coluna sobre Ogre3D

Page 10: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 11: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Contextualização

Page 12: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Jogos

O que é um jogo?

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

Page 13: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Tennis for Two

William Higinbotham (1958)

Page 14: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Consoles

Atari 2600 (1980):

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

Quase 1000 títulos produzidos.

Page 15: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Pac-Man (Atari 2600) (1982)

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

Page 16: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

GamesBrasileiros

Page 17: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Taikodom Living Universe (Hoplon)

Page 18: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Legendary Heroes (Maya Games)

Page 19: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Toren(SwordtaleS)

Page 20: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Indústria

Page 21: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Consoles - Vendas

Console mais vendido: Playstation 2 (2000) – 155,59 milhões;

Jogo mais vendido: Wii Sports (Wii) – 77,34 milhões;

Jogo mais vendido (2013): Call of Duty: Black Ops II (XBOX 360);

Page 22: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Jogos – Crítica (Game Rankings)

1º Super Mario Galaxy (Wii) – 97,64; 2º The Legend of Zelda: Ocarina Of Time (N64)

– 97,54; 3º Super Mario Galaxy 2 (Wii) – 97,35; 4º GTA IV (PS3) – 97,04; 5º SoulCalibur (DreamCast) – 96,94; 6º GTA IV (X360) – 96,67;

Page 23: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 24: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 25: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Indústria – Notícias Recentes“Brazil is the one of the most social countries

in the world. They are the costumers of tomorrow. And those overwhelming numbers will continue to grow with the development of the smartphone installed base” (Bertrand Chaverot, Ubisoft 02/07/2012)

Page 26: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 27: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Eventos Interessantes -Internacional

IGF (Independent Games Festival);

GDC (Game Developer Conference);

IGDA (International game developers Association).

Page 28: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 29: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Por onde Começar

Mobile;

Desktop;

Web;

Consoles;

Page 30: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Onde Publicar

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

Steam / Humble Indie Bundle;

Redes Sociais;

Xbox Live;

Page 31: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Curiosidades

Page 32: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 33: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 34: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 35: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 36: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Mitos

Page 37: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

É impossível fazer um jogo sozinho!!!

Page 38: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

BBraid (2008) by Jonathan Blow

Page 39: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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

Page 40: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Minecraft (2009) by Markus “Notch”

Page 41: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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

licenças e softwares!!!

Page 42: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Meu primeiro jogo terá gráficos perfeitos e 1000

horas de game play!!!

Page 43: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Desenvolvimento de Jogos –

Api’s Gráficas

Page 44: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Api´s Gráficas

O que são?

Api gráfica == Game Engine???

Page 45: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Api’s

OpenGL (1992);

Direct3D (1995).

Page 46: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

OpenGL

Page 47: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Direct 3D

Page 48: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Desenvolvimento de Jogos –

Engines Físicas

Page 49: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Engines Físicas

O que são?

Por que e quando usa-las?

Page 50: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Principais Engines Físicas

Nvidia PhysX

Havok Physics;

Bullet;

Open Dynamics Engine (ODE).

Page 51: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Principais Engines Físicas

Page 52: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Desenvolvimento de Jogos –

Game Engines

Page 53: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Game Engines

Conceito;

Função;

Componentes.

Page 54: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Game EnginesOgre 3D*;

Java Monkey Engine;

Unity;

Microsoft XNA.

Page 55: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D*

Open Source;

Multiplataforma;

C++;

http://www.ogre3d.org/

Page 56: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Java Monkey Engine

Open Source;

Multiplataforma;

Java;

http://www.jmonkeyengine.org/

Page 57: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Unity

Comercial com versão gratuita

Windows e Mac;

C#;

http://unity3d.com/

Page 58: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

XNA

Gratuito

Windows e Xbox ;

C#;

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

Page 59: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Comparação Performance (FPS)

(Jonathan 2011/2012)

Page 60: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D

Page 61: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D

Breve História

Por que Ogre 3D?

Por que C++?

Page 62: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 63: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

PrincipaisTrabalhos

Garshasp - The Monster Slayer;

Family Farm;

Project Aftershock;

TorchLight;

Page 64: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Garshap

Page 65: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Family Farm

Page 66: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Project AfterShock

Page 67: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

TorchLight

Page 68: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Torchlight

Desenvolvido pela Runnic Games;

Lançado em outubro de 2009;

Maioria das bibliotecas utilizadas são Open Source;

Page 69: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 70: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Desenvolvimento de Jogos –

Computação Gráfica

Page 71: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Coordenadas

Page 72: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

LuzesLuzes direcionais;

Ponto de Luz;

Região de Luz.

Page 73: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Câmera

Page 74: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Cenas

Page 75: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Cenas

Page 76: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Objetos

Composição:

Estrutura física (Mesh);

Pintura.

Page 77: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Mesh

Composição:

Vértices;

Arestas;

Faces;

Relações.

Page 78: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Mesh

Page 79: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Mesh

Page 80: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Pintura

Por cores (RGBA) aplicado em vértices;

Por textura através de mapeamento.

Page 81: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Pintura por Cores

Page 82: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Pintura por textura

Page 83: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Pintura por textura

Page 84: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Pintura por textura

Page 85: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Funções ImportantesMovimento;

Escala;

Rotação.

Page 86: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Rotação em X

Page 87: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Rotação em Y

Page 88: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Rotação em Z

Page 89: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Entendendo como funciona um jogo

Loop Principal

123456789

1011

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

Page 90: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Programando Ogre 3D em 10 slides

Page 91: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (1 de 10)

Grafos;

Managers.

Nós;

Page 92: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 93: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (3 de 10)

Entidades;

.mesh e .materials;

Page 94: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (4 de 10)

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

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

Page 95: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (5 de 10)

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

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

Page 96: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (6 de 10)

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

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

Page 97: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

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 98: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (8 de 10)

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

Page 99: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (9 de 10)

Mouse:OIS::MouseListener;

Teclado:OIS::KeyListener;

Joystick:OIS::OISJoyStick;

Page 100: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Ogre 3D em 10 slides (10 de 10)

Let’s Play!!!

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

Page 101: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Considerações Finais

Page 102: Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande

Dúvidas ?

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