SlideShare uma empresa Scribd logo
1 de 36
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ísicaAdriano 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 OptimizationRafael Capucho
 
Search Engine Marketing
Search Engine MarketingSearch Engine Marketing
Search Engine MarketingFromDoppler
 
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 horasOsvaldo Santana Neto
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e PythonPeslPinguim
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine ArchitectureMichel Alves
 
DigitalHubGO: Search Engine Optimization - SEM
DigitalHubGO: Search Engine Optimization - SEMDigitalHubGO: Search Engine Optimization - SEM
DigitalHubGO: Search Engine Optimization - SEMAndré de Moraes
 
Condition monitoring case study
Condition monitoring case studyCondition monitoring case study
Condition monitoring case studyjam900
 
Seo - Search Engine Optimization
Seo - Search Engine OptimizationSeo - Search Engine Optimization
Seo - Search Engine OptimizationHeric 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) part6Edgard 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 EngineDaniel 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 resultadosECDD Infnet
 
Introdução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosIntrodução ao Desenvolvimento de Jogos
Introdução ao Desenvolvimento de JogosGabriel Giordano Medina
 
Notifications push avec Android
Notifications push avec AndroidNotifications push avec Android
Notifications push avec AndroidBouhdida 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 NuvensMarco 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 SDKLeonardo 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 Graduação Tecnológica em Jogos Digitais

Desenvolvendo jogos com PyGame - Rafael Jeffman
Desenvolvendo jogos com PyGame - Rafael JeffmanDesenvolvendo jogos com PyGame - Rafael Jeffman
Desenvolvendo jogos com PyGame - Rafael JeffmanTchelinux
 
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
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google AndroidIury Teixeira
 
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çãoLeonardo 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 DigitaisKelvin Oliveira
 
Desenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia AshaDesenvolvendo Games para Nokia Asha
Desenvolvendo Games para Nokia AshaMarlon 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 JSNathalia Sautchuk Patricio
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para JogosRicardo 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
 
Defesa TC V1.2.1
Defesa TC V1.2.1Defesa TC V1.2.1
Defesa TC V1.2.1B 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 WebCarlos Santos
 
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 FerramentasJota' Veloso
 

Semelhante a Graduação Tecnológica em Jogos Digitais (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 DesenvolvimentoJerry 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 SortingJerry Medeiros
 
Desenvolvimento de jogos para web
Desenvolvimento de jogos para webDesenvolvimento de jogos para web
Desenvolvimento de jogos para webJerry Medeiros
 
Desenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveisDesenvolvimento de jogos para dispositivos moveis
Desenvolvimento de jogos para dispositivos moveisJerry 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 independentesJerry 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
 

Graduação Tecnológica em Jogos Digitais

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