Title: T
1Tópicos Especiais I EnginesEngines 3D
Bruno C. de Paula
- 1º Semestre 2010 gt PUCPR gt Pós Jogos
2Resumo
- Vamos conhecer os componentes de uma engine 3D e
algumas opções de engine
3O que É uma game engine?
Conjunto de programas e / ou bibliotecas cujo
objetivo é facilitar o desenvolvimento de mais de
um jogo
4Principais componentes de uma engine
Linguagem de Scripts
Importadores/ Exportadores
SDK
Engine Core
Editor De Níveis
Builders
5Engine Core
- Núcleo da engine
- Complexidade alta
- Interface com o Sistema Operacional, OpenGL,
DirectX - Renderização dos itens gráficos
- Implementação dos algoritmos e técnicas de
- Visibilidade (culling)
- Detecção de colisão
- Movimentação de Camera
- Sistemas de Partículas
- Iluminação
- Física...
6SDKSoftware Developers Kit
- Biblioteca associada ao engine core
- Complexidade média
- Altera o comportamento da engine
- O SDK é o portão de acesso à engine
- Cada engine possui um SDK diferente
7Linguagens de Script
- Complexidade deve ser média ou baixa
- A lógica do jogo e suas regras devem ser
representadas de maneira independente do core - Linguagens comuns
- Lua
- JavaScript
- Python
- UnrealScript.
8Editor de Níveis
- Permite o posicionamento dos modelos 3D em uma
cena - Criação de gatilhos (triggers)
- Associação entre scripts e triggers
- Idealmente deve permitir alterações em runtime
- Cada vez mais importante em uma engine
9Builders
- Operações de pré-processamento de cena
- Lightmap
- Heightmap
- Pathfinding
- ...
- Geralmente integrado ao level editor.
10Importadores / Exportadores
- Integração com ferramentas de
- Som
- Video
- Texturas
- Photoshop
- GIMP
- Modelos 3D e animação
- Maya
- 3DS
- Blender
11Engine Core/SDK gt Level Editor
Tendência das engines atuais!
Engine Core / SDK lt Level Editor
12Exemplos de Engines
- Lista com 300 opções!
- Open Source
- OGRE
- Irrlicht
- Panda3D
- Comerciais
- Torque Game Engine
- UDK
- Unity 3D.
13OGRE Object-oriented Graphics Rendering Engine
- C
- Open Source
- É, principalmente, um motor de renderização!
- Grande Comunidade.
Torchlight Runic Games
Mulver
14Irrlicht
- C
- Open Source
- Scripting em Lua
- Engine de Renderização
- irrKLang Excelente Motor sonoro
- irrEdit Editor de níveis
Lexventure - Interama
Shards (iPhone) - Couchworld
15Panda3D
- Disney / CMU
- Scripting em Python
- Open Source
- C / Python
- Bons conversores
- Ótima documentação
- Execução também no navegador
ToonTown Disney / Terra
Pirates of Caribbean Online - Disney
16Torque
- US 1000
- Jogos para console
- Editor de mundos bastante poderoso
- Infraestrutura de rede
- TorqueScript.
Penny Arcade Adventures
And Yet Moves (Steam) Broken Rules
17UDKUnreal Development Kit
- Solução completa e integrada
- Engine mais usada no mundo
- Gratuito para usos não comerciais
- Paga (25 das vendas) para demais usos
- Leia a licença!
18Por que é importante conhecermos algumas engines?
- Algumas engines são mais adaptadas para gêneros
específicos - PopCap framework puzzle
- Se você for implementar uma engine é essencial
conhecer os recursos de outras engines - Não reinvente a roda (som no World of Goo)!
- A troca de uma engine no meio de um projeto pode
ser traumática.
19Conclusões
- A escolha de sua engine é um fator decisivo para
o sucesso de seu jogo - Se você escolher fazer em casa não há nada de
errado em conhecer seus concorrentes - Apenas uma engine gráfica não é suficiente para
criar seu jogo - Leia a licença antes de escolher sua engine