1 / 27

Arquitetura de Engines

Arquitetura de Engines. Requisitos dos Motores. Encapsulamento Integração Independência de Plataforma Otimização em Hardware Gerenciamento de Projeto. Arquitetura. Níveis de Abstração: SDK Ferramental. Arquitetura SDK. referência.

nero-ryan
Download Presentation

Arquitetura de Engines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura de Engines

  2. Requisitos dos Motores EncapsulamentoIntegraçãoIndependência de PlataformaOtimização em HardwareGerenciamento de Projeto

  3. Arquitetura Níveis de Abstração: SDK Ferramental

  4. Arquitetura SDK referência 3D Game Engine Architecture : Engineering Real-Time Applications with Wild Magic David H. Eberly

  5. Arquitetura SDK

  6. Biblioteca Matemática referência Operações de VetoresOperações de MatrizesOperações de QuaternionsOperações de InterceçãoBiblioteca baseada em GPUs Essential Mathematics for Games and Interactive Applications : A Programmer's Guide James M. Van Verth, Lars M. Bishop

  7. Biblioteca de Rendering referência Abstração de APIsImplementação do PipelineLeitor de shaders Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization André LaMothe

  8. Biblioteca de Física

  9. Biblioteca de Rede referência Programming Multiplayer Games Andrew Mulholland

  10. Biblioteca de Recursos referência referência www.gametutorials.com Standard Codecs: Image Compression to Advanced Video Coding M. Ghanbari

  11. Parser de Scripts Mapeamento com atributos dos objetos dinâmicos de um cenárioMapeamento com algumas funções do SDK

  12. Arquitetura Ferramental referência 3D Game Programming All in One Kenneth C Finney

  13. Arquitetura Ferramental

  14. Script editors SDK Conversores / Exportadores Front End Level Editors Builders Arquitetura Ferramental Engine Core EXEMPLO

  15. Arquitetura Ferramental

  16. Disambiguation • Biblioteca • Conjunto de classes, funções para auxiliar a resolver problemas comuns • Seu código instancia, invoca, chama... • Framework • Esqueleto de aplicação pronto para ter a lógica de negócio implementada e acoplada • Seu código implementa ganchos (hooks, callbacks) que são instanciados, invocados, chamados pelo framework

  17. Disambiguation • Engine • Conjunto de bibliotecas e frameworks para tarefas comuns em desenvolvimentos de jogos como: gráficos, física, rede, IA, integrados em um ambiente de desenvolvimento produtivo • Inclui ferramentas visuais para manipulação das cenas (fases) do jogo e seus GameObjects (será explicado em detalhes) • Normalmente são específicas para um gênero! • Discussão

  18. Scenegraph • Estrutura de dados que organiza uma cena 3D hierarquicamente • Nós podem ser: • Geometrias simples ou modelos 3D • Um nó de agrupamento • Nós têm atributos que se propagam pelo grafo • Posicionamento, rotação e escala • Atributos sobre iluminação • Outros atributos da máquina de estados OpenGL • Normalmente de um nó para seus filhos

  19. Scenegraph • Exemplo:

  20. Scenegraph • Exemplo (luz):

  21. Scenegraph • Porque um scene graph não é uma árvore? • Podem existir nós (folhas ou não) com mais de um “pai” • Um exemplo são geometrias compartilhadas para aceleração

  22. Arquitetura de um jogo (básica) • Todo jogo é uma simulação controlada por um loop infinito semelhante ao seguinte: • Checagem por controles • Teclado, mouse, joystick • Atualização da cena • Reposicionamento de nós • Atualização de audio • Atualização dos agentes de IA • Desenho da cena na tela • Percorrer o scene graph e desenhar todos os objetos visíveis

  23. Arquitetura de uma Engine • Os principais conceitos ligados a jogos em geral são: • Jogo • Cenário • Personagens • Demais objetos (estáticos e dinâmicos) • Comportamento ligado a certos objetos e/ou eventos • Término da partida/nível • HUD e menus intermediários (interface)

  24. Arquitetura de uma Engine • Uma forma de agrupar esses conceitos de forma ainda mais geral seria: • Game • Meu jogo • GameObjects • Cenário • Personagens • Demais objetos (estáticos e dinâmicos) • HUD e menus intermediários (interface) • Callbacks discretos • Comportamento ligado a certos objetos e/ou eventos • Término da partida/nível

  25. Arquitetura de uma Engine • A chave para a arquitetura de um jogo é o paradigma da orientação a objetos • Poucos domínios são tão facilmente mapeados para um paradigma • GameObject • Representa qualquer entidade estática ou dinâmica em jogos • Classe abstrata (ou concreta quando baseada em componentes) • Possui atributos como geometria, posicão, etc. • Também inclui o comportamento daquele objeto • Subclasses especificam tipos diferentes de objetos como NPCs, player, objetos estáticos

  26. Arquitetura de uma Engine

  27. Arquitetura de uma Engine

More Related