Este projeto é um jogo interativo que utiliza conceitos de eventos e componentes para criar uma experiência dinâmica. A arquitetura do projeto é baseada em um sistema de componentes, onde cada elemento do jogo (personagens, cenários, itens) é tratado como um componente independente. A interação entre esses componentes é gerenciada através de um sistema de eventos, permitindo uma comunicação desacoplada e flexível.
O jogo funciona da seguinte forma:
- Componentes: Cada entidade no jogo é composta por um ou mais componentes. Por exemplo, um personagem pode ter componentes de
Renderização,Movimento,ColisãoeInventário. - Eventos: As ações e interações no jogo são comunicadas através de eventos. Quando um componente realiza uma ação (ex:
personagem.move()), ele emite um evento ("playerMoved"). Outros componentes interessados nesse evento podem "escutá-lo" e reagir de acordo (ex: o componente deCâmerapode seguir o personagem). - Ciclo de Vida: Os componentes possuem um ciclo de vida bem definido (inicialização, atualização, destruição), o que facilita a gestão de recursos e a lógica do jogo.
Para executar este projeto localmente, siga os passos abaixo:
-
Clone o repositório:
git clone https://github.com/Glatharth/game-graphComp.git cd game-graphComp -
Instale as dependências:
npm install # ou yarn install -
Inicie o servidor de desenvolvimento:
npm run dev # ou yarn devO aplicativo estará disponível em
http://localhost:5173(ou outra porta, dependendo da configuração).
- Three.js: Uma biblioteca JavaScript 3D de alto nível para exibir gráficos 3D acelerados por hardware na web.
- Texturas de planetas: Solar System Scope Textures
- Assets diversos: Kenney.nl