Estão tentando dominar Fernando de Noronha! Uma poderosa gangue armada conseguiu muito dinheiro no jogo do bixo e está aumentando seu controle por todos os cantos do país. A ABIN detectou um iminente ataque a Fernando de Noronha: os criminosos querem tomar a ilha e montar sua base de operações! Você faz parte do esquadrão de Elite da FAB chamado “Carcarás de Ferro”, a tropa aérea treinada para deter os bixeiros. O dia da invasão chegou, e você deverá lutar contra hordas ininterruptas de aeronaves inimigas.
O game é do gênero Shoot ‘em Up, em que o jogador controla uma aeronave e deve enfrentar diversas naves e tanques inimigos. O jogo, ainda, é do tipo “endless”, que só acaba quando o jogador morrer. O objetivo é simplesmente alcançar o maior placar, como nos clássicos arcades. É um game feito para navegador web que pode ser jogado em modo multiplayer com outros jogadores. Feito para navegador com Phaser.Js e Multiplayer suportado pelo Colyseus.
Duas partes compõem esse projeto
- cliente: responsável pela renderização do jogo no navegador do jogador
- servidor: sincroniza o estado entre os múltiplos clientes, além de servir a página ao cliente
Uma descrição geral do diretório do servidor está abaixo
├── ecosystem.config.cjs
├── package.json
├── package-lock.json
└── src
├── app.config.js
├── index.js
└── rooms
├── MyRoom.js
└── schema
└── MyRoomState.js
app.config.js: Configuração geral das salas e lógica do servidor Express. MyRoom.js: Definição da sala e lógica do multiplayer. MyRoomState.js: Definição das variáveis que compõem o estado do jogo multiplayer.
Recomenda-se instalar o nodemon, para recarga automatica do código servidor após uma mudança no arquivo fonte:
npm install -g nodemon
Para executar o programa para desenvolvimento, após install o nodemon, execute:
npm test
Para executar o programa diretamente:
npm start
Ao colocar o servidor no ar, ele também hospedará o frontend na porta 8080. Sempre que alterar algo no frontend será necessário dar F5 para verificar as alterações.
Caso prefira, é possivel colocar no ar o frontend usando a extensão Live Server. É preciso colocar no ar apenas o arquivo client/index.html
. Usando essa extensão, não é necessário dar F5 toda hora, ele fará isso automaticamente sempre que algo for alterado no código do frontend.
A forma mais fácil de executar o game com o mínimo de instalações é com o Docker Compose. Siga o passo-a-passo no site oficial para instalar o docker em seu computador
Depois disso, basta executar:
docker compose up #talvez seja necessário sudo no Linux
Pronto! Abra o navegador e digite http://localhost:8080, o jogo já estará funcionando
Esse game foi feito pensando no multiplayer, mas para isso, você terá que de alguma forma ser "atingível" na internet para que os outros possam se conectar ao seu computador. A forma mais simples é com um proxy reverso como o Ngrok. Crie uma conta, instale o utilitário e execute:
ngrok tcp 8080
Os seus amigos poderão se conectar ao seu computador diretamente pela URL mostrada pelo Ngrok.