Bruno C. de Paula
Tópicos Especiais I: Engines
Engines 3D
1º Semestre 2010 > PUCPR > Pós Jogos
Resumo
Vamos conhecer os
componentes de uma
engine 3D e algumas
opções de engine
05/11/2015 3
O que É uma game engine?
Conjunto de programas
e / ou bibliotecas
cujo objetivo é
facilitar o
desenvolvimento de
mais de um jogo
Principais componentes de uma
engine
05/11/2015
4
05/11/2015
Engine 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...

5
SDK
Software Developer’s 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;
05/11/2015
6
05/11/2015
Linguagens 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.
7
05/11/2015
Editor 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;

8
05/11/2015
Builders
 Operações
de préprocessamento
de cena:
Lightmap;
Heightmap;
Pathfinding;
...
 Geralmente
integrado ao
level editor.
9
05/11/2015
Importadores / Exportadores
 Integração
com ferramentas de:
Som;
Video;
Texturas:
• Photoshop;
• GIMP;
Modelos 3D e animação:
• Maya;
• 3DS;
• Blender;
10
Tendência das engines
atuais!
Engine Core/SDK
Engine Core / SDK <
05/11/2015
> Level Editor
Level Editor
11
05/11/2015
Exemplos de Engines
 Lista
com 300 opções!
 Open Source:
OGRE;
Irrlicht;
Panda3D;
 Comerciais:
Torque Game Engine;
UDK;
Unity 3D.
12
OGRE:
Object-oriented Graphics Rendering Engine
 C++;
 Open
Source;
 É, principalmente, um motor de
renderização!;
 Grande Comunidade.
Torchlight – Runic Games
Mulver
05/11/2015
13
05/11/2015
Irrlicht
 C++;
 Open
Source;
Lexventure - Interama
 Scripting em Lua;
 Engine de Renderização;
 irrKLang: Excelente Motor sonoro;
 irrEdit: Editor de níveis;
Shards (iPhone) - Couchworld
14
05/11/2015
Panda3D
 Disney
/ CMU;
 Scripting em
ToonTown – Disney / Terra
Python;
 Open Source;
 C++ / Python;
 Bons conversores;
 Ótima
documentação;
 Execução também
Pirates of Caribbean Online - Disney
no navegador;
15
05/11/2015
Torque
 US$
1000;
 Jogos para console;
 Editor de mundos bastante poderoso;
 Infraestrutura de rede;
 TorqueScript.
And Yet Moves (Steam)
Broken Rules
Penny Arcade Adventures
16
UDK
Unreal 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!
05/11/2015
17
Por que é importante conhecermos
algumas engines?
05/11/2015
 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.
18
05/11/2015
Conclusõ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;
19
Download

Engines 3D - Bruno Campagnolo de Paula