SlideShare une entreprise Scribd logo
1  sur  89
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.
Shyds Games – Bola de Pano
http://shydsgames.com/
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

Contenu connexe

Tendances

Tendances (20)

Apostila Jogos
Apostila Jogos Apostila Jogos
Apostila Jogos
 
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In SantosDesenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
 
Gamification, Gaming Concepts & Game Design
Gamification, Gaming Concepts & Game DesignGamification, Gaming Concepts & Game Design
Gamification, Gaming Concepts & Game Design
 
Game Design para quem não é Game Designer
Game Design para quem não é Game DesignerGame Design para quem não é Game Designer
Game Design para quem não é Game Designer
 
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
 
Exemplo de GDD
Exemplo de GDDExemplo de GDD
Exemplo de GDD
 
Evolução dos games e introdução ao desenvolvimento com unity
Evolução dos games e introdução ao desenvolvimento com unityEvolução dos games e introdução ao desenvolvimento com unity
Evolução dos games e introdução ao desenvolvimento com unity
 
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
 
Aprendendo a Construir jogos com o Construct 2
Aprendendo a Construir jogos com o Construct 2 Aprendendo a Construir jogos com o Construct 2
Aprendendo a Construir jogos com o Construct 2
 
Visões do Game Design #3
Visões do Game Design #3Visões do Game Design #3
Visões do Game Design #3
 
Aula 01 criação de jogos
Aula 01 criação de jogosAula 01 criação de jogos
Aula 01 criação de jogos
 
O que é Game Designer
O que é Game Designer O que é Game Designer
O que é Game Designer
 
Desenvolvimento de Jogos - Game Design
Desenvolvimento de Jogos - Game DesignDesenvolvimento de Jogos - Game Design
Desenvolvimento de Jogos - Game Design
 
Desenvolvimento de Jogos em Java
Desenvolvimento de Jogos em JavaDesenvolvimento de Jogos em Java
Desenvolvimento de Jogos em Java
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de Jogos
 
Criação de jogos game maker - férias
Criação de jogos   game maker - fériasCriação de jogos   game maker - férias
Criação de jogos game maker - férias
 
Metodologias de desenvolvimento de jogos e introdução a game design
Metodologias de desenvolvimento de jogos e introdução a game designMetodologias de desenvolvimento de jogos e introdução a game design
Metodologias de desenvolvimento de jogos e introdução a game design
 
Visões do Game Design #2
Visões do Game Design #2Visões do Game Design #2
Visões do Game Design #2
 
Tcc - Desenvolvimento de jogos eletrônicos utilizando a tecnologia Unity - Lu...
Tcc - Desenvolvimento de jogos eletrônicos utilizando a tecnologia Unity - Lu...Tcc - Desenvolvimento de jogos eletrônicos utilizando a tecnologia Unity - Lu...
Tcc - Desenvolvimento de jogos eletrônicos utilizando a tecnologia Unity - Lu...
 
Desenvolvendo Jogos com Scratch
Desenvolvendo Jogos com ScratchDesenvolvendo Jogos com Scratch
Desenvolvendo Jogos com Scratch
 

En vedette (9)

Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia GrandeDesenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Praia Grande
 
Aula comp-grafica-matrizes
Aula comp-grafica-matrizesAula comp-grafica-matrizes
Aula comp-grafica-matrizes
 
Computação gráfica
Computação gráficaComputação gráfica
Computação gráfica
 
Transformações Geométricas
Transformações GeométricasTransformações Geométricas
Transformações Geométricas
 
Computação Gráfica - Artquitetura de Dispositivos Gráficos
Computação Gráfica - Artquitetura de Dispositivos GráficosComputação Gráfica - Artquitetura de Dispositivos Gráficos
Computação Gráfica - Artquitetura de Dispositivos Gráficos
 
Computação Gráfica - Introdução ao OpenGL
Computação Gráfica - Introdução ao OpenGLComputação Gráfica - Introdução ao OpenGL
Computação Gráfica - Introdução ao OpenGL
 
Computação Gráfica - Transformações Geométricas no Plano e no Espaço
Computação Gráfica - Transformações Geométricas no Plano e no EspaçoComputação Gráfica - Transformações Geométricas no Plano e no Espaço
Computação Gráfica - Transformações Geométricas no Plano e no Espaço
 
Transformações geométricas
Transformações geométricasTransformações geométricas
Transformações geométricas
 
Isometrias 6º ano (translação, rotação, reflexão) - exercícios
Isometrias   6º ano (translação, rotação, reflexão) - exercíciosIsometrias   6º ano (translação, rotação, reflexão) - exercícios
Isometrias 6º ano (translação, rotação, reflexão) - exercícios
 

Similaire à Desenvolvimento de jogos com ogre 3D - Mini Curso Unip

Workshop Fischer
Workshop FischerWorkshop Fischer
Workshop Fischer
vincevader
 

Similaire à Desenvolvimento de jogos com ogre 3D - Mini Curso Unip (20)

Desenvolvimento de jogos e ogre 3D - Unip Santos
Desenvolvimento de jogos e ogre 3D - Unip SantosDesenvolvimento de jogos e ogre 3D - Unip Santos
Desenvolvimento de jogos e ogre 3D - Unip Santos
 
Desenvolvimento de jogos e ogre 3D - Unisantos
Desenvolvimento de jogos e ogre 3D - UnisantosDesenvolvimento de jogos e ogre 3D - Unisantos
Desenvolvimento de jogos e ogre 3D - Unisantos
 
Desenvolvimento de jogos e ogre 3D - Jaguariuna
Desenvolvimento de jogos e ogre 3D - JaguariunaDesenvolvimento de jogos e ogre 3D - Jaguariuna
Desenvolvimento de jogos e ogre 3D - Jaguariuna
 
Desenvolvimento de jogos e Ogre3D Dia 01 - Curso FATEC Santos
Desenvolvimento de jogos e Ogre3D Dia 01 - Curso FATEC SantosDesenvolvimento de jogos e Ogre3D Dia 01 - Curso FATEC Santos
Desenvolvimento de jogos e Ogre3D Dia 01 - Curso FATEC Santos
 
Comparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3dComparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3d
 
Games e inovacao tecnologica
Games e inovacao tecnologicaGames e inovacao tecnologica
Games e inovacao tecnologica
 
Desenvolvimento de jogos com Cocos2d-x
Desenvolvimento de jogos com Cocos2d-xDesenvolvimento de jogos com Cocos2d-x
Desenvolvimento de jogos com Cocos2d-x
 
Desenvolvimento de jogos e Ogre3D Dia 02 - Curso FATEC Santos
Desenvolvimento de jogos e Ogre3D Dia 02 - Curso FATEC SantosDesenvolvimento de jogos e Ogre3D Dia 02 - Curso FATEC Santos
Desenvolvimento de jogos e Ogre3D Dia 02 - Curso FATEC Santos
 
Workshop Fischer
Workshop FischerWorkshop Fischer
Workshop Fischer
 
Mercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLPartyMercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLParty
 
Unity3d dev in
Unity3d dev inUnity3d dev in
Unity3d dev in
 
Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e CCriação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
 
It’s all about the game
It’s all about the gameIt’s all about the game
It’s all about the game
 
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGameFLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
 
Dev o inicio
Dev o inicioDev o inicio
Dev o inicio
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Design
 
Desenvolvimento de Jogos - Mercado Parte 2
Desenvolvimento de Jogos - Mercado Parte 2Desenvolvimento de Jogos - Mercado Parte 2
Desenvolvimento de Jogos - Mercado Parte 2
 
O Mundo do Desenvolvimento de Jogos
O Mundo do Desenvolvimento de JogosO Mundo do Desenvolvimento de Jogos
O Mundo do Desenvolvimento de Jogos
 
Curso Dia 02
Curso Dia 02Curso Dia 02
Curso Dia 02
 

Dernier

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Dernier (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Desenvolvimento de jogos com ogre 3D - Mini Curso Unip