Desenvolvimento de jogos com ogre 3D - Mini Curso Unip

1,057 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,057
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Desenvolvimento de jogos com ogre 3D - Mini Curso Unip

  1. 1. Desenvolvendo um jogo 3D com Ogre 3D e C++ Autor: Jonathan Ohara de Araujo
  2. 2. 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.
  3. 3. 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.
  4. 4. Shyds Games – Bola de Pano http://shydsgames.com/
  5. 5. Shyds Games – Tumbu http://shydsgames.com/
  6. 6. Shyds Games – Black Amber http://shydsgames.com/
  7. 7. Shyds Games – Sem Nome ( On Hold ) http://shydsgames.com/
  8. 8. Shyds Games – Stick Wars http://shydsgames.com/
  9. 9. PontoV http://www.pontov.com.br/  Artigos sobre desenvolvimentos de jogos em geral;  Escrevo na coluna sobre Ogre3D
  10. 10. 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.
  11. 11. Introdução
  12. 12. Desenvolvimento de Jogos  2D;  3D.
  13. 13. Ogre 3D  Ogre 3D;  C++.
  14. 14. Indústria e Curiosidades
  15. 15. 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;
  16. 16. 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).
  17. 17. 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)
  18. 18. Eventos Interessantes  IGF (Independent Games Festival);  SBGames (Simpósio Brasileiro de Games e Entretenimento Digital);
  19. 19. Mitos
  20. 20. É impossível fazer um jogo sozinho!!!
  21. 21. Braid (2008) by Jonathan Blow
  22. 22. É impossível fazer um jogo sozinho!!! E em java!!!
  23. 23. Minecraft (2009) by Markus “Notch”
  24. 24. Eu não tenho os milhões de dólares necessários para licenças e softwares!!!
  25. 25. Meu primeiro jogo terá gráficos perfeitos e 1000 horas de game play!!!
  26. 26. Eu sei programar, então sei fazer jogos!!!
  27. 27. Desenvolvimento de Jogos – Api’s Gráficas
  28. 28. Api´s Gráficas  O que são?  Api gráfica == Game Engine???
  29. 29. Api’s  OpenGL (1992);  Direct3D (1995).
  30. 30. OpenGL
  31. 31. Direct 3D
  32. 32. Desenvolvimento de Jogos – Engines Físicas
  33. 33. Engines Físicas  O que são?  Por que e quando usa-las?
  34. 34. Principais Engines Físicas  Nvidia PhysX  Havok Physics;  Bullet;  Open Dynamics Engine (ODE).
  35. 35. Principais Engines Físicas
  36. 36. Desenvolvimento de Jogos – Game Engines
  37. 37. Game Engines  Conceito;  Função;  Componentes.
  38. 38. Game Engines  Ogre 3D*;  Java Monkey Engine;  Unity;  Microsoft XNA.
  39. 39. Ogre 3D*  Open Source;  Multiplataforma;  C++;  http://www.ogre3d.org/
  40. 40. Java Monkey Engine  Open Source;  Multiplataforma;  Java;  http://www.jmonkeyengine.org/
  41. 41. Unity  Comercial com versão gratuita  Windows e Mac;  C#;  http://unity3d.com/
  42. 42. XNA  Gratuito  Windows e Xbox ;  C#;  http://creators.xna.com/en-US/
  43. 43. Comparação Performance (FPS) (Jonathan 2011/2012)
  44. 44. Ogre 3D
  45. 45. Ogre 3D  Breve História  Por que Ogre 3D?  Por que C++?
  46. 46. 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 ;
  47. 47. Principais Trabalhos  Garshasp - The Monster Slayer;  Family Farm;  Project Aftershock;  TorchLight;
  48. 48. Garshap
  49. 49. Family Farm
  50. 50. Project AfterShock
  51. 51. TorchLight
  52. 52. Torchlight  Desenvolvido pela Runnic Games;  Lançado em outubro de 2009;  Maioria das bibliotecas utilizadas são Open Source;
  53. 53. 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.
  54. 54. Desenvolvimento de Jogos – Computação Gráfica
  55. 55. Coordenadas
  56. 56. Luzes  Luzes direcionais;  Ponto de Luz;  Região de Luz.
  57. 57. Câmera
  58. 58. Cenas
  59. 59. Cenas
  60. 60. Objetos  Composição:  Estrutura física (Mesh);  Pintura.
  61. 61. Mesh  Composição:  Vértices;  Arestas;  Faces;  Relações.
  62. 62. Mesh
  63. 63. Mesh
  64. 64. Pintura  Por cores (RGBA) aplicado em vértices;  Por textura através de mapeamento.
  65. 65. Pintura por Cores
  66. 66. Pintura por textura
  67. 67. Pintura por textura
  68. 68. Pintura por textura
  69. 69. Funções Importantes  Movimento;  Escala;  Rotação.
  70. 70. Rotação em X
  71. 71. Rotação em Y
  72. 72. Rotação em Z
  73. 73. Rotação em Z
  74. 74. 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}
  75. 75. Ferramentas de Auxílio
  76. 76. Modelagem 3D  Blender 3D ( www.blender.org );  Blender2Ogre ( https://code.google.com/p/blender2ogre );  Ogre Meshy.
  77. 77. Desenvolvimento  Ogre app Wizard;  Ogitor;
  78. 78. Desenvolvendo com Ogre 3D
  79. 79. Ogre 3D em 10 slides (1 de 10)  Grafos;  Managers.  Nós;
  80. 80. 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");
  81. 81. Ogre 3D em 10 slides (3 de 10)  Entidades;  .mesh e .materials;
  82. 82. Ogre 3D em 10 slides (4 de 10)  Criando entidade: manager->createEntity(“arquivo.mesh"));  Associando entidade a um nó: no->attachObject(entidade);
  83. 83. Ogre 3D em 10 slides (5 de 10)  Criando Luz: manager->createLight("Luz");  Criando Câmera: manager>createCamera("Camera");
  84. 84. Ogre 3D em 10 slides (6 de 10)  Posicionando Nós no>setPosition( 10, 20, 30 ); no->setPosition(Ogre::Vector3( 10, 20, 30 ));
  85. 85. 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));
  86. 86. Ogre 3D em 10 slides (8 de 10)  Renderizando o Frame Atual: mRoot->renderOneFrame();
  87. 87. Ogre 3D em 10 slides (9 de 10)  Mouse: OIS::MouseListener;  Teclado: OIS::KeyListener;  Joystick: OIS::OISJoyStick;
  88. 88. 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/
  89. 89. FIM

×