engines de jogos felipe ebert (fe) mário barbosa (mbaj)

36

Upload: internet

Post on 19-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)
Page 2: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de JogosEngines de Jogos

Felipe Ebert (fe)Mário Barbosa (mbaj)

Page 3: Engines 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

Page 4: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)
Page 5: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

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

Page 6: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de jogosEngines de jogos

Verifica Interações

Gerencia Lógica

Manipula Mídias

Gerência Redes

Page 7: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

ComponentesComponentes

Engine Core

Engine SDK

Level Editors

Builders

Scripts

Page 8: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

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

Page 9: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engine SDKEngine SDK

Biblioteca da Engine Core

Edita o funcionamento da Engine

Page 10: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Level EditorsLevel Editors

Manipulação de modelos 3D

Associação dos modelos 3D com a programação

Manipulação com Scripts

Page 11: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

BuildersBuilders

Operação de Pre-processamento

Gerar BSP

LightMap

Etc

Embutidas no Level Editors

Page 12: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Linguagens ScriptLinguagens Script

Implementação da lógica do jogo

Independência em relação a Engine Core

Linguagens Padrão

Lua

Python

JavaScript

Page 13: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

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

Page 14: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Transformações 3D

Projeção do 3D num plano 2D

Culling

Clipping

Rasterização

Page 15: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Transformações 3D

Page 16: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Projeção do 3D em um plano 2D

Page 17: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Culling

Page 18: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Clipping

Page 19: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Rasterização

Page 20: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Rasterização

Page 21: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Page 22: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Page 23: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines de Engines de RenderizaçãoRenderização

Page 24: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

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

Page 25: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engine de Inteligência Engine de Inteligência ArtificialArtificial

Definição de estados

Transições entre estados

Não interativo

Pouco explorado

Page 26: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engine de SomEngine de SomDivisão entre os canais de saída

Gerenciamento do volume

Page 27: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engine de RedeEngine de Rede

Controle de fluxo de informações

Monitoramento dos jogadores

Page 28: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Mas, que engine Mas, que engine escolher?escolher?

• Fatores a serem analisados:

• Orçamento

• Tipo de Jogo

• Milestone

• Plataforma

• Documentação

• Ferramentas disponíveis

Page 29: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Soluções GratuitasSoluções Gratuitas

Page 30: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Soluções ComerciaisSoluções Comerciais

Page 31: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines Brasileiras (1)Engines Brasileiras (1)

• Cadabra

• PUC-SP

• Fase Beta

• SDK disponível

Page 32: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines Brasileiras (2)Engines Brasileiras (2)

• Enjine

• Open source

• Didática

• Java 3D

• Incubada na Fapesp

Page 33: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

Engines Brasileiras (3)Engines Brasileiras (3)

• Taikodom

• Motor próprio

• Usa C++, SDL e Phyton

• Video

Page 34: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

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.

Page 35: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)
Page 36: Engines de Jogos Felipe Ebert (fe) Mário Barbosa (mbaj)

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/