Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santos

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

description

Slides da minha palestra na semana de Tecnologia da Fatec Santos realizado em 08/10/2013

Transcript of Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santos

Desenvolvimento de jogos e Ogre 3D

Autor: Jonathan Ohara de Araujo

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.

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 (On Hold); Stick Wars.

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

Shyds Games – Tumbuhttp://shydsgames.com/

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

Shyds Games – Sem Nome ( On Hold )

http://shydsgames.com/

Shyds Games – Stick Warshttp://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)

Indústria

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): Grand Theft Auto (XBOX 360) - 8,8 milhões;

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“Should you consider breaking into the

Brazilian games industry?... According to the Brazil National Society, there are 40 millions gamers in Brazil acrossa all plataforms.” (Gamassutra 10/072013)

Spending on videogames in the U.S. Reached US$ 16.3 billion in 2011 (Financial POST 2012)

Indústria – Notícias Recentes

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

“GTA V exceeds $1 billion in only 3 day” (GameIndustry 20/09/13)

“Cry Engine Free Use” (Crytek 18/08/2011)

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)

Eventos Interessantes

IGF (Independent Games Festival);

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

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).

Mitos

É impossível fazer um jogo sozinho!!!

BBraid (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).

OpenGL

Direct 3D

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 EnginesOgre 3D*;

Java Monkey Engine;

Unity;

Microsoft XNA.

Ogre 3D*

Open Source;

Multiplataforma;

C++;

http://www.ogre3d.org/

Java Monkey Engine

Open Source;

Multiplataforma;

Java;

http://www.jmonkeyengine.org/

Unity

Comercial com versão gratuita

Windows e Mac;

C#;

http://unity3d.com/

XNA

Gratuito

Windows e Xbox ;

C#;

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

Comparação Performance (FPS)

(Jonathan 2011/2012)

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

LuzesLuzes direcionais;

Ponto de Luz;

Região de Luz.

Câmera

Cenas

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 ImportantesMovimento;

Escala;

Rotação.

Rotação em X

Rotação em Y

Rotação em Z

Rotação em Z

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

Dúvidas ?

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

FIM