Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aether Grid

Uma releitura clean-room de AirXonix, criada para levar a clássica mecânica de conquista territorial a uma experiência 3D moderna no navegador.

Partida no modo visual clássico

Important

Este é um projeto independente e ainda em desenvolvimento. Ele não utiliza código, modelos, texturas, músicas ou efeitos sonoros do jogo original e não possui vínculo com a AxySoft.

Sobre o jogo

Em Aether Grid, você controla uma pequena nave que percorre as áreas seguras do tabuleiro. Para conquistar território, saia da borda, trace um caminho pelo campo aberto e retorne a uma área segura. A região isolada dos inimigos passa a fazer parte do seu território.

O desafio é atingir a porcentagem exigida antes que o tempo termine, sem deixar que as bolas alcancem sua trilha inacabada e sem colidir com os inimigos que patrulham as áreas já conquistadas.

Destaques

  • 82 fases determinísticas distribuídas entre os modos Easy, Classic, Modern, Hard e Extreme;
  • dificuldade progressiva, com tabuleiros, velocidades, limites de tempo e inimigos diferentes;
  • bolas comuns e quebradoras, minas e inimigos especiais com comportamentos próprios;
  • cinco tipos de bônus: vida extra, tempo, pontos, lentidão dos inimigos e aceleração do jogador;
  • modos visuais Classic e Modern;
  • câmeras em perspectiva, vista superior e ângulo baixo;
  • trilha sonora e efeitos produzidos em tempo real com Web Audio API;
  • ranking local separado por modo de jogo;
  • simulação 2D determinística a 60 Hz, independente da renderização 3D;
  • suíte automatizada de testes para as principais regras do jogo.

Como jogar

  1. Escolha New Game no menu principal.
  2. Selecione um dos cinco modos de dificuldade.
  3. Use a borda conquistada como ponto de partida para desenhar cortes no campo.
  4. Feche a trilha em outra área segura para capturar território.
  5. Alcance a meta indicada no HUD antes que o tempo ou as vidas acabem.

Cortes maiores valem mais pontos, mas deixam a trilha vulnerável por mais tempo. Os bônus surgem sobre áreas seguras e podem mudar o rumo de uma fase.

Controles

Tecla Ação
Setas ou WASD Mover a nave e navegar pelos menus
Enter ou Espaço Confirmar uma opção, retomar ou avançar
P ou Pause Pausar ou continuar a partida
Backspace Reiniciar a fase atual
T Alternar entre os visuais Classic e Modern
C Alternar o ângulo da câmera
Esc Voltar ao menu principal

Executando localmente

Requisitos

  • Node.js 20.19+ ou 22.12+;
  • npm (incluído na instalação do Node.js).

Clone o repositório e instale as dependências:

git clone https://github.com/BarretoDiego/AirXonixRemake.git
cd AirXonixRemake
npm ci

Inicie o servidor de desenvolvimento:

npm run dev

Abra o endereço exibido pelo Vite no terminal — normalmente http://localhost:5173.

Rodando em Docker (homelab)

O jogo é compilado e servido como build estático via nginx:

docker compose up -d --build

A porta 4300 fica presa em 127.0.0.1. No homelab, o acesso remoto é feito pelo BarretoDiegoCLI:

bd tunnel airxonix   # abre http://localhost:4300 na sua máquina

Scripts disponíveis

Comando Descrição
npm run dev Inicia o servidor de desenvolvimento com recarregamento automático
npm run build Verifica o TypeScript e gera a versão de produção em dist/
npm run preview Serve localmente a versão de produção
npm test Executa toda a suíte de testes uma vez
npm run test:watch Executa os testes em modo de observação

Tecnologias e arquitetura

O projeto foi escrito em TypeScript e usa Three.js para a apresentação 3D, Vite para desenvolvimento e build, e Vitest para os testes.

A lógica do jogo roda em uma simulação 2D determinística. O renderer recebe apenas snapshots dessa simulação, portanto câmera, materiais e efeitos visuais não interferem nas regras, colisões ou dificuldade.

Entrada → simulação 2D (60 Hz) → snapshot
                              ├── Three.js
                              ├── interface HTML
                              └── áudio Web Audio

Principais diretórios:

src/
├── audio/    # música e efeitos sintetizados
├── game/     # regras, simulação, níveis, inimigos e pontuação
├── input/    # teclado e ações do jogador
├── render/   # cena, câmeras, materiais e partículas em Three.js
└── ui/       # menus, HUD, telas e ranking local
tests/        # testes automatizados da lógica do jogo

Consulte também:

  • ARCHITECTURE.md para as decisões e os limites entre os sistemas;
  • REFERENCE_GAPS.md para os comportamentos do original que ainda precisam ser medidos ou validados.

Inspiração e escopo da reconstrução

AirXonix foi desenvolvido pela AxySoft como uma releitura 3D de Xonix para Windows. A descrição histórica registra cinco modos e mais de 80 fases, além de novos monstros e bônus. Aether Grid preserva essa ideia central, mas sua implementação foi construída do zero a partir de observação e pesquisa pública.

As 82 fases deste projeto são geradas por sementes, o tema Modern e as câmeras alternativas são extensões próprias, e parte do balanceamento ainda é provisória. Por isso, o projeto não deve ser entendido como uma reprodução 1:1 de uma versão específica do jogo original.

Fontes históricas consultadas:

Contribuindo

Relatos de bugs, comparações documentadas com o jogo original e melhorias são bem-vindos. Antes de enviar uma alteração, execute:

npm test
npm run build

Ao contribuir, mantenha o princípio clean-room: não adicione código ou assets extraídos da distribuição original.

Aviso legal

AirXonix e AxySoft pertencem aos seus respectivos titulares. Aether Grid é um projeto independente de estudo e preservação da mecânica, sem afiliação ou endosso dos criadores do jogo original.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages