Upload
internet
View
107
Download
0
Embed Size (px)
Citation preview
Engines de JogosEngines de Jogos
Felipe Ebert (fe)Mário Barbosa (mbaj)
MotivaçãoMotivação
Redução de custos de desenvolvimento
Permite o aumento da complexidade dos jogos
Reaproveitamento de código
Abstração dos componentes de baixo nível
Um pouco da Um pouco da história...história...Início dos anos 90 – conceito de “game engine”
Freescape e Doom engines
Final dos anos 90 – grande crescimento, era 3D
Quake, Jedi e Unreal engines
Início anos 2000 – 3D realçado e Photorealism
Unreal 2.0/2.5, Cube, Doom3, Cry, “Call of Duty” engines
2005 até hoje – futuro
Unreal 4.0, Cry 2, NGL engines
Time Line
Engines de jogosEngines de jogos
Verifica Interações
Gerencia Lógica
Manipula Mídias
Gerência Redes
ComponentesComponentes
Engine Core
Engine SDK
Level Editors
Builders
Scripts
Engine CoreEngine Core
Núcleo da engine (sistema operacional)
Manipulação dos estados
Chamadas de sub-etapas do motor
Renderização de cenas
Administração de recursos
Engine SDKEngine SDK
Biblioteca da Engine Core
Edita o funcionamento da Engine
Level EditorsLevel Editors
Manipulação de modelos 3D
Associação dos modelos 3D com a programação
Manipulação com Scripts
BuildersBuilders
Operação de Pre-processamento
Gerar BSP
LightMap
Etc
Embutidas no Level Editors
Linguagens ScriptLinguagens Script
Implementação da lógica do jogo
Independência em relação a Engine Core
Linguagens Padrão
Lua
Python
JavaScript
Tipos de engineTipos de engine
Engine de renderização
Engine de simulação física
Engine de inteligência artificial
Engine de redes
Engine de som
Engines de Engines de RenderizaçãoRenderização
Transformações 3D
Projeção do 3D num plano 2D
Culling
Clipping
Rasterização
Engines de Engines de RenderizaçãoRenderização
Transformações 3D
Engines de Engines de RenderizaçãoRenderização
Projeção do 3D em um plano 2D
Engines de Engines de RenderizaçãoRenderização
Culling
Engines de Engines de RenderizaçãoRenderização
Clipping
Engines de Engines de RenderizaçãoRenderização
Rasterização
Engines de Engines de RenderizaçãoRenderização
Rasterização
Engines de Engines de RenderizaçãoRenderização
Engines de Engines de RenderizaçãoRenderização
Engines de Engines de RenderizaçãoRenderização
Engine de Simulação Engine de Simulação FísicaFísica
Aplicação de leis da física
Movimentação
Colisão
Cálculo de forças
Vídeo bos_sbs_01.divx
Engine de Inteligência Engine de Inteligência ArtificialArtificial
Definição de estados
Transições entre estados
Não interativo
Pouco explorado
Engine de SomEngine de SomDivisão entre os canais de saída
Gerenciamento do volume
Engine de RedeEngine de Rede
Controle de fluxo de informações
Monitoramento dos jogadores
Mas, que engine Mas, que engine escolher?escolher?
• Fatores a serem analisados:
• Orçamento
• Tipo de Jogo
• Milestone
• Plataforma
• Documentação
• Ferramentas disponíveis
Soluções GratuitasSoluções Gratuitas
Soluções ComerciaisSoluções Comerciais
Engines Brasileiras (1)Engines Brasileiras (1)
• Cadabra
• PUC-SP
• Fase Beta
• SDK disponível
Engines Brasileiras (2)Engines Brasileiras (2)
• Enjine
• Open source
• Didática
• Java 3D
• Incubada na Fapesp
Engines Brasileiras (3)Engines Brasileiras (3)
• Taikodom
• Motor próprio
• Usa C++, SDL e Phyton
• Video
Tendências FuturasTendências Futuras
Os motores de jogos são e continuarão sendo componentes fundamentais na elaboração de entretenimento digital.
Cada vez mais os computadores passarão a usar um hardware especifico para cálculos físicos.
ReferênciasReferências
• http://www.firingsquad.com/matrix/blog.asp/62074/300
• http://www.cadabra3d.org/index.php
• http://200.18.98.97/intranet/documentos/papers/csbc2005/pdf/arq0286.pdf
• http://www.enjine.org/
• http://www.taikodom.com.br/
• http://www.unrealtechnology.com/
• www.ogre3d.org/