SlideShare uma empresa Scribd logo
Graduação Tecnológica em Jogos Digitais
        Universidade FUMEC




            Jerry Medeiros
O que é?

• Conjunto de ferramentas que
  dão suporte à criação de jogos.

• É um software com diversos
  módulos que permitem o
  desenvolvimento de jogos de
  diversos gêneros e para muitas
  plataformas.
Funções Principais das Games Engines

•   Renderização 2D e 3D;
•   Detecção de Colisões ;
•   Scripts ;
•   Audio e Video;
•   Animação;
•   Shaders e Iluminação;
•   Redes;
•   Física ;
•   Inteligência Artificial;
•   Edição de Nível.
Grafo de Cena :


Define dentro da engine de
renderização onde serão
posicionados os objetos
tanto fisicamente quanto
logicamente.

Árvore: Hierárquico
Grafo: Não Hierárquico
Organização de Um Grafo de cena:


• Raiz;
• Nós;
• Relação de parentesco.
Organização de Um Grafo de Cena:


• Três tipos básicos de nós :
   • Forma
   • Propriedade
   • Grupo

• Todos possuem atributos;
• Alguns controlam outros nós.
Grafo de Cena : Forma/Geometria
Define uma entidade geométrica 3D :
• Ponto
• Vetor
• Polígono
• Primitiva
   • Esfera
   • Cone
   • Cilindro
   • Caixa
   • Curvas e superfícies (NURBS)
Grafo de Cena : Propriedades
•   Cor (material e fonte de luz);
•   Material (componentes de reflexão);
•   Brilho ;
•   Transparência;
•   Texturas;
•   Transformações;
    • Escala;
    • Rotação;
    • Translação.
Pipeline Gráfico


    O pipeline gráfico é um conjunto de etapas
    realizadas pelo hardware para renderizar uma
    imagem, a partir dos parâmetros do grafo da
    cena.


                            Eliminação dos
Malha de    Transformação   objetos fora do                    Imagem
                                              Rasterização
Polígonos     dos Dados        volume de                     Renderizada
                                 visão
Culling



Culling é o processo de eliminação de dados
que não contribuem para a imagem final.
Backface Culling


• No nível do polígono;
• Implementado no hardware;
• Diminui a complexidade do grafo pela
  metade.
Frustrum Culling

• Elimina objetos inteiros;
• Comparação entre dimensões do objeto e do
  frustrum.
Frustrum Culling


• Objetos totalmente incluídos no frustrum
  entram no pipeline gráfico;
• Objetos parcialmente incluídos no frustrum
  podem sair do pipeline, entrar completamente
  ou entrar parcialmente;
• Objetos totalmente exluídos do frustrum são
  eliminados do pipeline.
Occlusion Culling



Objetos encobertos por outros são eliminados do
pipeline.
LOD - Level Of Detail


A técnica de LOD é utilizada como uma
otimização para a renderização. Em projeções
em perspectiva, quanto maior é a distância de
um objeto em relação ao observador, menor é
o seu Tamanho.
LOD – Level Of Detail


Cada filho do nó representa o mesmo objeto em
resoluções diferentes.
Componentes

Engine de Renderização:

A engine de renderização geralmente é
construída sobre openGL ou DirectX e gera
imagens em tempo real a partir dos assets
controladas pelo grafo da cena, interagindo
diretamente com a GPU.
Componentes
Colisões

• A Detecção de colisões é geralmente calculada
  com base na interseção de dois sólidos;

•   Planos;
•   Esferas;
•   Tubos ;
•   Poligonos;

• São gerados eventos em resposta às colisões.
Componentes

Scripts

• As Engines de script geralmente usam linguagens
  interpretadas (Python, Javascript...);

• As linguagens interpretadas permitem que o
  código escrito pelo desenvolvedor do jogo não
  dependa do código fonte da engine.
Componentes


Animações

• Engines de Animação gerenciam as
  animações dos objetos no grafo da cena.

• Podem ser variações de rotação, posição e
  escala ou animações mais complexas tais
  quais as que utilizam esqueletos.
Componentes

Shading

•A Engine de Sombreamento e Iluminação calcula
as sombras e os shaders, que são aplicados pela
engine de renderização nos objetos do grafo da
cena.
Componentes

Rede

• A Engine de Redes gerencia a comunicação
  entre computadores, seja ela Peer to Peer,
  Cliente-Servidor ou Distribuída.
Componentes

Física

• A Engine de física é responsável por tratar o
  comportamento de objetos com base em
  colisões.

• Simula e prever a dinâmica de modelos físicos,
  corpos rígidos, flexíves e flúidos.
Como escolher uma engine

Os níveis de uma game engine influenciam
diretamente no custo:

  •Engines de MMO;
  •Engines Top de Linha;
  •Engines "Na média”;
  •Engines Casuais;
  •Engines OpenSource.
Como escolher uma engine


•Crie o Game Design Document;
•Esboçe um Documento Técnico;
•Crie o Projeto de Desenvolvimento do Jogo;

    Aí sim, escolha a engine!!!!
Questões a se considerar


• Custo ;
• Relevância para a plataforma, gênero,
  design;
• Suporte ;
• Funcionalidades;
• Ferramentas;
• Flexibilidade.
Como escolher uma engine
• Plataformas
      - MMO, PC standalone, console,
dispositivos móveis, web

• Gênero
      - Procure por jogos similares e pesquise em
qual engines foram desenvolvidos

• Design
      - O que é mais importante? Gráficos,
interações, física ?
Como escolher uma engine


Suporte

  •Documentação;
  •Suporte ao trabalho em equipe;
  •Exemplos e tutoriais.
Como escolher uma engine

Funcionalidades

  •   Systema Multithread;
  •   Pipeline de renderização;
  •   Sistema de Animação;
  •   Detecção de Colisões;
  •   Sistema de Streaming de áudio e vídeo;
  •   Suporte a Rede.
Engines MMO

•BigWorld Technology Suite;
•Simutronics' HeroEngine;
•Sun's Project Darkstar.
Engines Top de Linha

•   Epic's Unreal Engine 3;
•   Crytek's CryEngine 3;
•   Digital Extremes' Evolution Engine;
•   id's idTech 4/5/6;
•   Valve's Source.
Engines Casuais e Web


•Unity Technologies Unity;
•Garage Games's Torque;
•PushButton Engine (Para Flash);
•jMonkey Engine (Java).
Engines “Na média”


•Emergent's GameBryo
•Terminal Reality's Infernal Engine
•Blitz Games' BlitzTech
•Trinigy's Vision Engine
•Vicious Cycle's Vicious Engine
Engines OpenSource

•Irrlicht;
•Ogre3D;
•Panda3D.
Como escolher uma engine

• Existem MUITAS engines

• Planeje o que fazer antes de decidir em que
  engine fazer

• Cada engine tem características únicas:
   • Analise o jogo;
   • fale com outros usuários;
   • baixe exemplos.
As engines são um meio, e
        não o fim.

Mais conteúdo relacionado

Destaque

FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de físicaFISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
Adriano Melo
 
PHPConf2010 - Introdução a Search Engine Optimization
PHPConf2010 - Introdução a Search Engine OptimizationPHPConf2010 - Introdução a Search Engine Optimization
PHPConf2010 - Introdução a Search Engine Optimization
Rafael Capucho
 
Search Engine Marketing
Search Engine MarketingSearch Engine Marketing
Search Engine Marketing
FromDoppler
 
App Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horasApp Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horas
Osvaldo Santana Neto
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e Python
PeslPinguim
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine Architecture
Michel Alves
 
DigitalHubGO: Search Engine Optimization - SEM
DigitalHubGO: Search Engine Optimization - SEMDigitalHubGO: Search Engine Optimization - SEM
DigitalHubGO: Search Engine Optimization - SEM
André de Moraes
 
Condition monitoring case study
Condition monitoring case studyCondition monitoring case study
Condition monitoring case study
jam900
 
Seo - Search Engine Optimization
Seo - Search Engine OptimizationSeo - Search Engine Optimization
Seo - Search Engine Optimization
Heric Tilly
 
liquid propellant rocket engine (Motor foguete Liquido) part6
liquid propellant rocket engine (Motor foguete Liquido) part6liquid propellant rocket engine (Motor foguete Liquido) part6
liquid propellant rocket engine (Motor foguete Liquido) part6
Edgard Packness
 
Tendências 2015: Kubernetes & Google Container Engine
Tendências 2015: Kubernetes & Google Container EngineTendências 2015: Kubernetes & Google Container Engine
Tendências 2015: Kubernetes & Google Container Engine
Daniel Costa Gimenes
 
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Fabio Moura Pereira
 
Palestra Search Engine Marketing - Com foco nos resultados
Palestra Search Engine Marketing - Com foco nos resultadosPalestra Search Engine Marketing - Com foco nos resultados
Palestra Search Engine Marketing - Com foco nos resultados
ECDD Infnet
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de Jogos
Gabriel Giordano Medina
 
Notifications push avec Android
Notifications push avec AndroidNotifications push avec Android
Notifications push avec Android
Bouhdida Mahmoud
 
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
Michel Azevedo
 
Marketing online, SEM (Search Engine Marketing)
Marketing online, SEM (Search Engine Marketing)Marketing online, SEM (Search Engine Marketing)
Marketing online, SEM (Search Engine Marketing)
Fundació Bit
 
Arduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas NuvensArduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas Nuvens
Marco Antonio Maciel
 
Criando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDKCriando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDK
Leonardo Dalmina
 

Destaque (20)

FISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de físicaFISL14 - Desmontando uma engine de física
FISL14 - Desmontando uma engine de física
 
PHPConf2010 - Introdução a Search Engine Optimization
PHPConf2010 - Introdução a Search Engine OptimizationPHPConf2010 - Introdução a Search Engine Optimization
PHPConf2010 - Introdução a Search Engine Optimization
 
Search Engine Marketing
Search Engine MarketingSearch Engine Marketing
Search Engine Marketing
 
Roary Samsam
Roary SamsamRoary Samsam
Roary Samsam
 
App Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horasApp Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horas
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e Python
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine Architecture
 
DigitalHubGO: Search Engine Optimization - SEM
DigitalHubGO: Search Engine Optimization - SEMDigitalHubGO: Search Engine Optimization - SEM
DigitalHubGO: Search Engine Optimization - SEM
 
Condition monitoring case study
Condition monitoring case studyCondition monitoring case study
Condition monitoring case study
 
Seo - Search Engine Optimization
Seo - Search Engine OptimizationSeo - Search Engine Optimization
Seo - Search Engine Optimization
 
liquid propellant rocket engine (Motor foguete Liquido) part6
liquid propellant rocket engine (Motor foguete Liquido) part6liquid propellant rocket engine (Motor foguete Liquido) part6
liquid propellant rocket engine (Motor foguete Liquido) part6
 
Tendências 2015: Kubernetes & Google Container Engine
Tendências 2015: Kubernetes & Google Container EngineTendências 2015: Kubernetes & Google Container Engine
Tendências 2015: Kubernetes & Google Container Engine
 
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
Aula Desenvolvimento de Jogos - Game Engine (Motor de Jogos)
 
Palestra Search Engine Marketing - Com foco nos resultados
Palestra Search Engine Marketing - Com foco nos resultadosPalestra Search Engine Marketing - Com foco nos resultados
Palestra Search Engine Marketing - Com foco nos resultados
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de Jogos
 
Notifications push avec Android
Notifications push avec AndroidNotifications push avec Android
Notifications push avec Android
 
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
SOA na Prática – Criando uma Aplicação BPMN com Bonita Open Solution, Mule ES...
 
Marketing online, SEM (Search Engine Marketing)
Marketing online, SEM (Search Engine Marketing)Marketing online, SEM (Search Engine Marketing)
Marketing online, SEM (Search Engine Marketing)
 
Arduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas NuvensArduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas Nuvens
 
Criando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDKCriando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDK
 

Semelhante a Introdução às Game Engines

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
Maico Fernando Wilges Carn
 
Desenvolvendo jogos com PyGame - Rafael Jeffman
Desenvolvendo jogos com PyGame - Rafael JeffmanDesenvolvendo jogos com PyGame - Rafael Jeffman
Desenvolvendo jogos com PyGame - Rafael Jeffman
Tchelinux
 
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Tchelinux
 
Computação no Desenvolvimento de Jogos Digitais
Computação no Desenvolvimento de Jogos DigitaisComputação no Desenvolvimento de Jogos Digitais
Computação no Desenvolvimento de Jogos Digitais
Universidade Federal de Alfenas - Campus Varginha
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google Android
Iury Teixeira
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
Campus Party Brasil
 
Demonstrador virtual web com recursos de Realidade Aumentada - Apresentação
Demonstrador virtual web com recursos de Realidade Aumentada - ApresentaçãoDemonstrador virtual web com recursos de Realidade Aumentada - Apresentação
Demonstrador virtual web com recursos de Realidade Aumentada - Apresentação
Leonardo Pereira Santos
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?
Mozart Diniz
 
A importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisA importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos Digitais
Kelvin Oliveira
 
CGPI Aula 27/08/2018
CGPI Aula 27/08/2018CGPI Aula 27/08/2018
CGPI Aula 27/08/2018
Elaine Cecília Gatto
 
Desenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia AshaDesenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia Asha
Marlon Luz
 
Desenvolvimento de ambientes 3D para Web usando Three JS
Desenvolvimento de ambientes 3D para Web usando Three JSDesenvolvimento de ambientes 3D para Web usando Three JS
Desenvolvimento de ambientes 3D para Web usando Three JS
Nathalia Sautchuk Patricio
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
Ricardo Leite
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Filipo Mór
 
Computação Gráfica
Computação GráficaComputação Gráfica
Computação Gráfica
Carlos Campani
 
Defesa TC V1.2.1
Defesa TC V1.2.1Defesa TC V1.2.1
Defesa TC V1.2.1
B Bellaver
 
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
Carlos Santos
 
Unity3d
Unity3dUnity3d
Palestra realidade aumentada
Palestra   realidade aumentadaPalestra   realidade aumentada
Palestra realidade aumentada
Paulo Vinícius Moreira Dutra
 
Realidade Virtual e Interatividade - Requesitos e Ferramentas
Realidade Virtual e Interatividade - Requesitos e FerramentasRealidade Virtual e Interatividade - Requesitos e Ferramentas
Realidade Virtual e Interatividade - Requesitos e Ferramentas
Jota' Veloso
 

Semelhante a Introdução às Game Engines (20)

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
 
Desenvolvendo jogos com PyGame - Rafael Jeffman
Desenvolvendo jogos com PyGame - Rafael JeffmanDesenvolvendo jogos com PyGame - Rafael Jeffman
Desenvolvendo jogos com PyGame - Rafael Jeffman
 
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
Desenvolvendo Jogos com PyGame - Rafael Guterres Jeffman - Tchelinux Pelotas ...
 
Computação no Desenvolvimento de Jogos Digitais
Computação no Desenvolvimento de Jogos DigitaisComputação no Desenvolvimento de Jogos Digitais
Computação no Desenvolvimento de Jogos Digitais
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google Android
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Demonstrador virtual web com recursos de Realidade Aumentada - Apresentação
Demonstrador virtual web com recursos de Realidade Aumentada - ApresentaçãoDemonstrador virtual web com recursos de Realidade Aumentada - Apresentação
Demonstrador virtual web com recursos de Realidade Aumentada - Apresentação
 
Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?Como desenvolver com um sistema com um front-end colossal?
Como desenvolver com um sistema com um front-end colossal?
 
A importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos DigitaisA importância do software nas organizações de Jogos Digitais
A importância do software nas organizações de Jogos Digitais
 
CGPI Aula 27/08/2018
CGPI Aula 27/08/2018CGPI Aula 27/08/2018
CGPI Aula 27/08/2018
 
Desenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia AshaDesenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia Asha
 
Desenvolvimento de ambientes 3D para Web usando Three JS
Desenvolvimento de ambientes 3D para Web usando Three JSDesenvolvimento de ambientes 3D para Web usando Three JS
Desenvolvimento de ambientes 3D para Web usando Three JS
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Computação Gráfica
Computação GráficaComputação Gráfica
Computação Gráfica
 
Defesa TC V1.2.1
Defesa TC V1.2.1Defesa TC V1.2.1
Defesa TC V1.2.1
 
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
(A17) LabMM3 - Planificação de projeto e tópicos avançados de tecnologias Web
 
Unity3d
Unity3dUnity3d
Unity3d
 
Palestra realidade aumentada
Palestra   realidade aumentadaPalestra   realidade aumentada
Palestra realidade aumentada
 
Realidade Virtual e Interatividade - Requesitos e Ferramentas
Realidade Virtual e Interatividade - Requesitos e FerramentasRealidade Virtual e Interatividade - Requesitos e Ferramentas
Realidade Virtual e Interatividade - Requesitos e Ferramentas
 

Mais de Jerry Medeiros

Avaliação de Usabilidade e Jogabilidade em Jogos: Métodos, Técnicas e Ferra...
Avaliação de Usabilidade  e Jogabilidade em Jogos:  Métodos, Técnicas e Ferra...Avaliação de Usabilidade  e Jogabilidade em Jogos:  Métodos, Técnicas e Ferra...
Avaliação de Usabilidade e Jogabilidade em Jogos: Métodos, Técnicas e Ferra...
Jerry Medeiros
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de Desenvolvimento
Jerry Medeiros
 
Introdução à Arquitetura da Informação com Card Sorting
Introdução à Arquitetura da Informação com Card SortingIntrodução à Arquitetura da Informação com Card Sorting
Introdução à Arquitetura da Informação com Card Sorting
Jerry Medeiros
 
Desenvolvimento de jogos para web
Desenvolvimento de jogos para webDesenvolvimento de jogos para web
Desenvolvimento de jogos para web
Jerry Medeiros
 
Desenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveisDesenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveis
Jerry Medeiros
 
Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.
Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.
Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.
Jerry Medeiros
 
Como pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentesComo pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentes
Jerry Medeiros
 

Mais de Jerry Medeiros (7)

Avaliação de Usabilidade e Jogabilidade em Jogos: Métodos, Técnicas e Ferra...
Avaliação de Usabilidade  e Jogabilidade em Jogos:  Métodos, Técnicas e Ferra...Avaliação de Usabilidade  e Jogabilidade em Jogos:  Métodos, Técnicas e Ferra...
Avaliação de Usabilidade e Jogabilidade em Jogos: Métodos, Técnicas e Ferra...
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de Desenvolvimento
 
Introdução à Arquitetura da Informação com Card Sorting
Introdução à Arquitetura da Informação com Card SortingIntrodução à Arquitetura da Informação com Card Sorting
Introdução à Arquitetura da Informação com Card Sorting
 
Desenvolvimento de jogos para web
Desenvolvimento de jogos para webDesenvolvimento de jogos para web
Desenvolvimento de jogos para web
 
Desenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveisDesenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveis
 
Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.
Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.
Advergames: A publicidade em jogos digitais como forma de atrair o consumidor.
 
Como pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentesComo pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentes
 

Último

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
2m Assessoria
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 

Último (10)

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 

Introdução às Game Engines

  • 1. Graduação Tecnológica em Jogos Digitais Universidade FUMEC Jerry Medeiros
  • 2. O que é? • Conjunto de ferramentas que dão suporte à criação de jogos. • É um software com diversos módulos que permitem o desenvolvimento de jogos de diversos gêneros e para muitas plataformas.
  • 3. Funções Principais das Games Engines • Renderização 2D e 3D; • Detecção de Colisões ; • Scripts ; • Audio e Video; • Animação; • Shaders e Iluminação; • Redes; • Física ; • Inteligência Artificial; • Edição de Nível.
  • 4. Grafo de Cena : Define dentro da engine de renderização onde serão posicionados os objetos tanto fisicamente quanto logicamente. Árvore: Hierárquico Grafo: Não Hierárquico
  • 5. Organização de Um Grafo de cena: • Raiz; • Nós; • Relação de parentesco.
  • 6. Organização de Um Grafo de Cena: • Três tipos básicos de nós : • Forma • Propriedade • Grupo • Todos possuem atributos; • Alguns controlam outros nós.
  • 7. Grafo de Cena : Forma/Geometria Define uma entidade geométrica 3D : • Ponto • Vetor • Polígono • Primitiva • Esfera • Cone • Cilindro • Caixa • Curvas e superfícies (NURBS)
  • 8. Grafo de Cena : Propriedades • Cor (material e fonte de luz); • Material (componentes de reflexão); • Brilho ; • Transparência; • Texturas; • Transformações; • Escala; • Rotação; • Translação.
  • 9. Pipeline Gráfico O pipeline gráfico é um conjunto de etapas realizadas pelo hardware para renderizar uma imagem, a partir dos parâmetros do grafo da cena. Eliminação dos Malha de Transformação objetos fora do Imagem Rasterização Polígonos dos Dados volume de Renderizada visão
  • 10. Culling Culling é o processo de eliminação de dados que não contribuem para a imagem final.
  • 11. Backface Culling • No nível do polígono; • Implementado no hardware; • Diminui a complexidade do grafo pela metade.
  • 12. Frustrum Culling • Elimina objetos inteiros; • Comparação entre dimensões do objeto e do frustrum.
  • 13. Frustrum Culling • Objetos totalmente incluídos no frustrum entram no pipeline gráfico; • Objetos parcialmente incluídos no frustrum podem sair do pipeline, entrar completamente ou entrar parcialmente; • Objetos totalmente exluídos do frustrum são eliminados do pipeline.
  • 14. Occlusion Culling Objetos encobertos por outros são eliminados do pipeline.
  • 15. LOD - Level Of Detail A técnica de LOD é utilizada como uma otimização para a renderização. Em projeções em perspectiva, quanto maior é a distância de um objeto em relação ao observador, menor é o seu Tamanho.
  • 16. LOD – Level Of Detail Cada filho do nó representa o mesmo objeto em resoluções diferentes.
  • 17. Componentes Engine de Renderização: A engine de renderização geralmente é construída sobre openGL ou DirectX e gera imagens em tempo real a partir dos assets controladas pelo grafo da cena, interagindo diretamente com a GPU.
  • 18. Componentes Colisões • A Detecção de colisões é geralmente calculada com base na interseção de dois sólidos; • Planos; • Esferas; • Tubos ; • Poligonos; • São gerados eventos em resposta às colisões.
  • 19. Componentes Scripts • As Engines de script geralmente usam linguagens interpretadas (Python, Javascript...); • As linguagens interpretadas permitem que o código escrito pelo desenvolvedor do jogo não dependa do código fonte da engine.
  • 20. Componentes Animações • Engines de Animação gerenciam as animações dos objetos no grafo da cena. • Podem ser variações de rotação, posição e escala ou animações mais complexas tais quais as que utilizam esqueletos.
  • 21. Componentes Shading •A Engine de Sombreamento e Iluminação calcula as sombras e os shaders, que são aplicados pela engine de renderização nos objetos do grafo da cena.
  • 22. Componentes Rede • A Engine de Redes gerencia a comunicação entre computadores, seja ela Peer to Peer, Cliente-Servidor ou Distribuída.
  • 23. Componentes Física • A Engine de física é responsável por tratar o comportamento de objetos com base em colisões. • Simula e prever a dinâmica de modelos físicos, corpos rígidos, flexíves e flúidos.
  • 24. Como escolher uma engine Os níveis de uma game engine influenciam diretamente no custo: •Engines de MMO; •Engines Top de Linha; •Engines "Na média”; •Engines Casuais; •Engines OpenSource.
  • 25. Como escolher uma engine •Crie o Game Design Document; •Esboçe um Documento Técnico; •Crie o Projeto de Desenvolvimento do Jogo; Aí sim, escolha a engine!!!!
  • 26. Questões a se considerar • Custo ; • Relevância para a plataforma, gênero, design; • Suporte ; • Funcionalidades; • Ferramentas; • Flexibilidade.
  • 27. Como escolher uma engine • Plataformas - MMO, PC standalone, console, dispositivos móveis, web • Gênero - Procure por jogos similares e pesquise em qual engines foram desenvolvidos • Design - O que é mais importante? Gráficos, interações, física ?
  • 28. Como escolher uma engine Suporte •Documentação; •Suporte ao trabalho em equipe; •Exemplos e tutoriais.
  • 29. Como escolher uma engine Funcionalidades • Systema Multithread; • Pipeline de renderização; • Sistema de Animação; • Detecção de Colisões; • Sistema de Streaming de áudio e vídeo; • Suporte a Rede.
  • 30. Engines MMO •BigWorld Technology Suite; •Simutronics' HeroEngine; •Sun's Project Darkstar.
  • 31. Engines Top de Linha • Epic's Unreal Engine 3; • Crytek's CryEngine 3; • Digital Extremes' Evolution Engine; • id's idTech 4/5/6; • Valve's Source.
  • 32. Engines Casuais e Web •Unity Technologies Unity; •Garage Games's Torque; •PushButton Engine (Para Flash); •jMonkey Engine (Java).
  • 33. Engines “Na média” •Emergent's GameBryo •Terminal Reality's Infernal Engine •Blitz Games' BlitzTech •Trinigy's Vision Engine •Vicious Cycle's Vicious Engine
  • 35. Como escolher uma engine • Existem MUITAS engines • Planeje o que fazer antes de decidir em que engine fazer • Cada engine tem características únicas: • Analise o jogo; • fale com outros usuários; • baixe exemplos.
  • 36. As engines são um meio, e não o fim.