Desenvolvimento de jogos com ogre 3D - Mini Curso Unip
Upcoming SlideShare
Loading in...5
×
 

Desenvolvimento de jogos com ogre 3D - Mini Curso Unip

on

  • 796 views

Slides do meu Mini Curso na semana de Tecnologia da Unip realizado em 21/10/2013.

Slides do meu Mini Curso na semana de Tecnologia da Unip realizado em 21/10/2013.

Statistics

Views

Total Views
796
Views on SlideShare
796
Embed Views
0

Actions

Likes
0
Downloads
8
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Desenvolvimento de jogos com ogre 3D - Mini Curso Unip Desenvolvimento de jogos com ogre 3D - Mini Curso Unip Presentation Transcript

  • Desenvolvendo um jogo 3D com Ogre 3D e C++ 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. View slide
  • Shyds Games – Bola de Pano http://shydsgames.com/ View slide
  • Shyds Games – Tumbu http://shydsgames.com/
  • Shyds Games – Black Amber http://shydsgames.com/
  • Shyds Games – Sem Nome ( On Hold ) http://shydsgames.com/
  • Shyds Games – Stick Wars http://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:  Introdução;  Indústria e Curiosidades;  Mitos;  Ogre 3D;  Desenvolvimento de Jogos;  Api´s;  Game Engines;  Computação Gráfica;  Ferramentas de Auxílio;  Construindo um ambiente;  Desenvolvendo com Ogre 3D.
  • Introdução
  • Desenvolvimento de Jogos  2D;  3D.
  • Ogre 3D  Ogre 3D;  C++.
  • Indústria e Curiosidades
  • 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;
  • Curiosidades  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).
  • Indústria – Notícias Recentes  “GTA V exceeds $1 billion in only 3 day” (GameIndustry 20/09/13)  Spending on videogames in the U.S. Reached US$ 16.3 billion in 2011 (Financial POST 2012)
  • Eventos Interessantes  IGF (Independent Games Festival);  SBGames (Simpósio Brasileiro de Games e Entretenimento Digital);
  • 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).
  • 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 Engines  Ogre 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 ;
  • Principais Trabalhos  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
  • 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
  • Rotação em Z
  • Entendendo como funciona um jogo  Loop Principal 1void main() 2{ 3 loadResources(); 4 5 while(!quit()) 6 { 7 readInput(); 8 updateGame(); 9 drawGame(); 10 } 11}
  • Ferramentas de Auxílio
  • Modelagem 3D  Blender 3D ( www.blender.org );  Blender2Ogre ( https://code.google.com/p/blender2ogre );  Ogre Meshy.
  • Desenvolvimento  Ogre app Wizard;  Ogitor;
  • Desenvolvendo com Ogre 3D
  • 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ós no>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!!! Contato: http://www.slideshare.net/jonathanblacknight/ jonathan.ohara.araujo@gmail.com @jonathan_ohara http://shydsgames.com/ http://www.pontov.com.br/
  • FIM