desenvolvimento de jogos e ogre 3d - dev in santos
DESCRIPTION
Slides da minha palestra no evento Dev In Santos realizado em 10/11/2012TRANSCRIPT
Desenvolvimento de jogos e Ogre 3D
Autor: Jonathan Ohara de Araujo
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.
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).
Shyds Games – Bola de Panohttp://shydsgames.com/
Shyds Games – Tumbuhttp://shydsgames.com/
Shyds Games – Black Amberhttp://shydsgames.com/
Shyds Games – Sem Nomehttp://shydsgames.com/
PontoV - http://www.pontov.com.br/
Artigos sobre desenvolvimentos de jogos em geral;
Escrevo na coluna sobre Ogre3D
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;
Contextualização
Jogos
O que é um jogo?
Qual a diferença de um jogo computacional para um software convencional?
Tennis for Two
William Higinbotham (1958)
Consoles
Atari 2600 (1980):
Primeiro console a ser altamente comercializado (30 milhões);
Quase 1000 títulos produzidos.
Pac-Man (Atari 2600) (1982)
Primeiro grande sucesso em vendas (7 milhões);
GamesBrasileiros
Taikodom Living Universe (Hoplon)
Legendary Heroes (Maya Games)
Toren(SwordtaleS)
Indústria
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.
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.
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;
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;
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.
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)
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)
Indústria – Notícias Recentes “Cry Engine Free Use” (Crytek 18/08/2011)
“Torchlight sells 1M Copies Across All Plataforms” (Gamassutra 06/07/2011)
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/
Por onde Começar
Mobile;
Desktop;
Web;
Consoles;
Onde Publicar
Google Play(Android) / Apple Store(Iphone);
Steam / Humble Indie Bundle;
Redes Sociais;
Xbox Live;
Eventos Interessantes -Internacional
IGF (Independent Games Festival);
GDC (Game Developer Conference);
IGDA (International game developers Association).
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).
Curiosidades
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.
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
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).
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).
Mitos
É impossível fazer um jogo sozinho!!!
Braid (2008) by Jonathan Blow
É impossível fazer um jogo sozinho!!! E em java!!!
Minecraft (2009) by Markus “Notch”
Eu não tenho os milhões de dólares necessários para
licenças e softwares!!!
Meu primeiro jogo terá gráficos perfeitos e 1000
horas de game play!!!
Eu sei programar, então sei fazer jogos!!!
Desenvolvimento de Jogos –
Api’s Gráficas
Api´s Gráficas
O que são?
Api gráfica == Game Engine???
Api’s
OpenGL (1992);
Direct3D (1995);
Voodoo (1996).
OpenGL
Direct 3D
Voodoo
Desenvolvimento de Jogos –
Engines Físicas
Engines Físicas
O que são?
Por que e quando usa-las?
Principais Engines Físicas
Nvidia PhysX
Havok Physics;
Bullet;
Open Dynamics Engine (ODE).
Principais Engines Físicas
Desenvolvimento de Jogos –
Game Engines
Game Engines
Conceito;
Função;
Componentes.
Game Engines Ogre 3D*;
Java Monkey Engine;
Unity;
Microsoft XNA.
Java Monkey Engine
Open Source;
Multiplataforma;
Java;
http://www.jmonkeyengine.org/
Comparação
O que é avaliado?
Ambientes;
Métrica;
Observações.
Comparação
Comparação
Comparação
Comparação
Ogre 3D
Ogre 3D
Breve História
Por que Ogre 3D?
Por que C++?
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 ;
PrincipaisTrabalhos
Garshasp - The Monster Slayer;
Family Farm;
Project Aftershock;
TorchLight;
Garshap
Family Farm
Project AfterShock
TorchLight
Torchlight
Desenvolvido pela Runnic Games;
Lançado em outubro de 2009;
Maioria das bibliotecas utilizadas são Open Source;
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.
Desenvolvimento de Jogos –
Computação Gráfica
Coordenadas
Luzes Luzes direcionais;
Ponto de Luz;
Região de Luz.
Câmera
Cenas
Objetos
Composição:
Estrutura física (Mesh);
Pintura.
Mesh
Composição:
Vértices;
Arestas;
Faces;
Relações.
Mesh
Mesh
Pintura
Por cores (RGBA) aplicado em vértices;
Por textura através de mapeamento.
Pintura por Cores
Pintura por textura
Pintura por textura
Pintura por textura
Funções Importantes Movimento;
Escala;
Rotação.
Rotação em X
Rotação em Y
Rotação em Z
O Monstro chamado renderização
In a NutShell;
FPS;
Entendendo como funciona um jogo
Loop Principal
123456789
1011
void main(){ loadResources(); while(!quit()) { readInput(); updateGame(); drawGame(); }}
Programando Ogre 3D em 10 slides
Ogre 3D em 10 slides (1 de 10)
Grafos;
Managers.
Nós;
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");
Ogre 3D em 10 slides (3 de 10)
Entidades;
.mesh e .materials;
Ogre 3D em 10 slides (4 de 10)
Criando entidade:manager->createEntity(“arquivo.mesh"));
Associando entidade a um nó:no->attachObject(entidade);
Ogre 3D em 10 slides (5 de 10)
Criando Luz:manager->createLight("Luz");
Criando Câmera:manager>createCamera("Camera");
Ogre 3D em 10 slides (6 de 10)
Posicionando Nósno>setPosition( 10, 20, 30 );
no->setPosition(Ogre::Vector3( 10, 20, 30 ));
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));
Ogre 3D em 10 slides (8 de 10)
Renderizando o Frame Atual:mRoot->renderOneFrame();
Ogre 3D em 10 slides (9 de 10)
Mouse:OIS::MouseListener;
Teclado:OIS::KeyListener;
Joystick:OIS::OISJoyStick;
Ogre 3D em 10 slides (10 de 10)
Let’s Play!!!
Mais em:http://www.pontov.com.br/site/ogre3d
Considerações Finais
Dúvidas ?
Contato:[email protected]@jonathan_oharahttp://shydsgames.com/http://www.pontov.com.br/