Uso de Motores para o Desenvolvimento de Jogos

Propaganda
Roteiro
Introdução
Conceito de motor
Arquitetura de um motor
Exemplos de motores
Introdução
Atualmente o mercado de jogos é um das
atividades mais lucrativas do momento, tendo
superado inclusive a indústria cinematográfica.
Introdução
O avanço do hardware gráfico e o surgimento de
novos recursos como placas de aceleração física
tem possibilitado o desenvolvimento de jogos
cada vez mais reais.
NVIDIA 9800 GX2
Introdução
Seguindo esta tendência, os motores utilizados
para o desenvolvimento de jogos tornam-se
cada vez mais potentes e dinâmicos.
Crysis – Cryteck/EA Games (2007)
Introdução
As principais áreas da computação envolvidas no
desenvolvimento de jogos são:
Computação gráfica
Estruturas de dados avançadas
Banco de dados
Inteligência artificial
Engenharia de software
Redes
Além de:
Matemática
Física
Conceito de Motor
O conceito de motor surgiu no início dos anos 90
com o lançamento do jogo Doom.
Comparativo entre jogo Doom apresentado em 1993 e Doom 3
lançado em 2003.
Conceito de Motor
Um motor gráfico pode ser definido como
um conjunto de bibliotecas que permitem a
abstração da programação em baixo nível
de maneira a oferecer uma interface de
desenvolvimento
mais
amigável
ao
programador.
Arquitetura de um Motor
Os motores são geralmente implementados
utilizando um arquitetura de três camadas:
Aplicação
Núcleo
Subsistemas
Arquitetura de um Motor
Subsistemas: A camada de subsistemas
e formada por diversos módulos que
oferecem serviços específicos ao núcleo por
meio de APIs e drivers que se comunicam
com o sistema operacional.
Módulo gráfico
Módulo de
rede
Módulo de
som
Módulo de
I/O
Exemplo para uma camada de subsistemas
Arquitetura de um Motor
Algumas APIs empregadas em subsistemas são:
OpenGL – renderização 2/3D
DirectX – renderização 2/3D, som 2/3D,
dispositivos de entrada
OpenAL – som 2D e 3D
Ravok – física
ODE – física
Physx – física
JPGLib – carregamento de imagens
Arquitetura de um Motor
Núcleo: chama cada função no momento
apropriado
e
com
os
parâmetros
apropriados.
Identifica,
inicia
e
coordena
o
funcionamento de todos os módulos do
motor.
Arquitetura de um Motor
Camada de aplicação: A aplicação é o
software implementado utilizando os
recursos oferecidos pelo motor.
O desenvolvedor somente especifica o
cenário, carrega e posicionar os modelos,
disparar animações e efeitos, bem como
define as respostas que o jogo deverá
fornecer com base em uma maquina de
estados ou ações do usuário.
Tipos de Motores
Atualmente, existe uma vasta gama de
motores destinados a diferentes propósitos.
É possível classificar os motores em:
Motores 2D
Motores 3D
Motores 2D
JUnderGE
Suporte a:
- Bricks
- Tiles
- Sprites
- Layers
Motores 3D
-
Ogre 3D
Torque 3D
Jmonkey
Jake
enJine
Java3D
-
Ogre 3D
Características:
Engine 3D voltada para a rendericação
Desenvolvida em C++
Fácil utilização
Multiplataforma (DirectX/OpenGL)
Gratuita
Ogre 3D
Pacific Storm (2006)
Lesta Studios - http://www.pacificstorm.net
Torque 3D
Características:
Engine
3D
completa
para
o
desenvolvimento de jogos
Desenvolvida em C++
Fácil utilização
Multiplataforma (DirectX/OpenGL)
Proprietária: Licença comercial ($295)
Torque 3D
Hinterland (2008)
Tilted Mill Entertainment - http://www.tiltedmill.com/hinterland/
Motores 3D em Java
Características:
-
Jmonkey
Jake
enJine
Java 3D
Dúvidas
Contatos
Download