Visão Geral
Arquitetura
A arquitetura proposta foi projetada com foco em modularidade, organização estrutural e facilidade de manutenção, permitindo que diferentes partes do sistema sejam desenvolvidas e evoluídas de forma independente.
são apresentados os elementos estruturais que compõem o núcleo do sistema, incluindo gerenciamento do loop principal do jogo, renderização gráfica, gerenciamento de entidades, controle de entrada do usuário, gerenciamento de recursos e sistema de colisões.
A definição clara da arquitetura do sistema contribui para orientar o desenvolvimento da engine, facilitar a compreensão de sua estrutura e apoiar futuras extensões ou melhorias.
A engine é composta por um conjunto de módulos responsáveis por diferentes aspectos do funcionamento do sistema. Cada módulo possui responsabilidades específicas e interage com os demais componentes de maneira estruturada, garantindo que o fluxo de execução do jogo ocorra de forma consistente.
Componentes
-
Core (Núcleo da Engine)
Responsável pela inicialização do sistema, gerenciamento do ciclo de execução e coordenação geral dos módulos da engine. -
Renderer (Sistema de Renderização)
Responsável pela renderização de elementos gráficos bidimensionais na tela, incluindo sprites e outros componentes visuais utilizados no jogo. -
Entity System (Sistema de Entidades)
Responsável pelo gerenciamento das entidades presentes no ambiente do jogo, permitindo a criação, atualização e remoção de objetos durante a execução. -
Collision System (Sistema de Colisão)
Responsável pela detecção de colisões entre entidades, permitindo que interações físicas ou lógicas sejam processadas pelo sistema. -
Input System (Sistema de Entrada)
Responsável por capturar e processar eventos de entrada do usuário provenientes de dispositivos como teclado e mouse. -
Resource Manager (Gerenciador de Recursos)
Responsável pelo carregamento, armazenamento e gerenciamento de recursos utilizados pela aplicação, como imagens e arquivos de mapa. -
Scene Manager (Gerenciador de Cenas)
Responsável pela organização do jogo em diferentes estados ou cenas, permitindo a transição entre diferentes contextos da aplicação.
Camadas
-
Core Layer (Núcleo do Sistema)
Responsável pela inicialização da engine, gerenciamento do ciclo de execução do jogo e coordenação geral dos módulos do sistema. -
System Layer (Camada de Sistemas)
Composta pelos módulos responsáveis por funcionalidades específicas da engine, como renderização gráfica, gerenciamento de entidades, sistema de colisão, processamento de entrada do usuário e gerenciamento de recursos. -
Application Layer (Camada de Aplicação)
Representa o código do jogo desenvolvido pelo usuário da engine, que utiliza os serviços fornecidos pelos módulos internos do sistema.
Diagramas
Diagrama de Caso de Uso
Diagrama de Sequência
Diagrama de Classe e Relacionamento