Post on 03-Jan-2016
description
Tópicos Especiais I: Engines
Engines 3D
1º Semestre 2010 > PUCPR > Pós Jogos
Bruno C. de PaulaBruno C. de Paula
Resumo
Vamos conhecer os componentes de uma engine 3D e algumas opções de engine
O que É uma game engine?320/04/23
Conjunto de programas e / ou bibliotecas cujo objetivo é facilitar o desenvolvimento de mais de um jogo
Principais componentes de uma engine
420/04/23
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...
520/04/23
SDKSoftware 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;
620/04/23
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.
720/04/23
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;
820/04/23
Builders
Operações de pré-processamento de cena:Lightmap;Heightmap;Pathfinding;...
Geralmente integrado ao level editor.
920/04/23
Importadores / Exportadores
Integração com ferramentas de:Som;Video;Texturas:
• Photoshop;• GIMP;
Modelos 3D e animação:• Maya;• 3DS;• Blender;
1020/04/23
Engine Core/SDK > Level Editor
1120/04/23
Tendência das engines atuais!
Engine Core / SDK < Level Editor
Exemplos de Engines
Lista com 300 opções!Open Source:
OGRE;Irrlicht;Panda3D;
Comerciais:Torque Game Engine;UDK;
Unity 3D.
1220/04/23
OGRE: Object-oriented Graphics Rendering Engine
C++;Open Source;É, principalmente, um motor de
renderização!;Grande Comunidade.
1320/04/23
MulverTorchlight – Runic Games
Irrlicht
C++;Open Source;Scripting em Lua;Engine de Renderização; irrKLang: Excelente Motor sonoro; irrEdit: Editor de níveis;
1420/04/23
Lexventure - Interama
Shards (iPhone) - Couchworld
Panda3D
Disney / CMU;Scripting em
Python;Open Source;C++ / Python;Bons conversores;Ótima
documentação;Execução também
no navegador;
1520/04/23
ToonTown – Disney / Terra
Pirates of Caribbean Online - Disney
TorqueUS$ 1000; Jogos para console;Editor de mundos bastante poderoso; Infraestrutura de rede;TorqueScript.
1620/04/23
And Yet Moves (Steam) Broken Rules
Penny Arcade Adventures
UDKUnreal Development KitSoluçã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!
1720/04/23
Por 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.
1820/04/23
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;
1920/04/23
*