Módulos para uma engine de jogos
Engenharia de Computação
Yuri Arruda Brito – RA: 107001
MÓDULOS PARA UMA ENGINE DE JOGOS
Campinas, 11 de Dezembro de 2014
Módulos para uma engine de jogos
Índice
3 Resumo
4 Abstract
5 Bibliotecas externas
6 Módulos principais 8 Input 8 Auxiliadores 9 Renderer 10 Interface de usuário 11 SceneEditor 12 SceneGraph 12 Heightmap 14 WMath 14 Physics
15 Extensões sugeridas 15 Shader Framework 16 Caminhos 16 Framework de efeitos 17 Edição de terrenos
17 Conclusão
18 Referências
3 Resumo
Resumo
Existem diversas opções de engines de jogos, tanto comerciais quanto gratuitas, entre essas aquelas de código aberto. Entretanto, a filosofia predominante desses softwares é aquela de uma suite de funcionalidades fortemente acoplada, com grandes barreiras na substituição de componentes.
Neste trabalho de conclusão de curso, a proposta de uma nova engine de jogos com componentes fracamente acoplados é apresentada. A arquitetura se baseia em um número pequeno de classes fundamentais e, então, funcionalidades apresentadas em formas de extensões dessas classes.
Mesmo bibliotecas externas são utilizadas com alto nível de transparência, através do uso de wrappers, classes que escondem as chamadas para funções dessas bibliotecas.
Durante o semestre, foi possível trabalhar em quatro componentes principais do projeto, nomeado White. O renderizador, Renderer; uma simples biblioteca matemática, Wmath; uma biblioteca física que encapsula a biblioteca externa BulletPhysics, Physics; e uma biblioteca para lidar com os dispositivos de entrada, Input.
Desses componentes, o renderizador foi aquele que teve maior atenção e o maior número de extensões desenvolvidas. Entre essas, um interpretador de heightmaps, ferramentas para criação de interfaces de usuário e um gerenciador de múltiplas viewports.
4 Abstract
Abstract