Sobre o projeto
Mobile Gaming é uma coleção de jogos de quebra-cabeça, arcade e simulação baseados em navegador, cujos conceitos são extraídos do estilo de anúncios de jogos móveis. Tudo funciona na web aberta usando Phaser 3 para jogabilidade 2D e Three.js para renderização 3D. Uma build ao vivo é publicada em mobile-gaming.pages.dev, e uma página de hub de seleção de jogos atua como o lobby de onde cada título é lançado.
O conjunto abrange atualmente treze jogos divididos em três agrupamentos gerais.
Jogos de quebra-cabeça:
- Brain Teaser — quebra-cabeças de pensamento lateral, incluindo a ordenação de itens por peso, navegação em labirintos e problemas de lógica, com mais de 10 níveis feitos à mão.
- Water Sort — ordenação de líquidos coloridos despejando-os entre tubos, com a dificuldade aumentando através de mais cores e tubos.
- Parking Escape — um quebra-cabeça no estilo unblock, onde veículos são deslizados para abrir caminho para o carro vermelho.
- Pull the Pin — quebra-cabeças de pinos baseados em física, onde bolas são guiadas até um objetivo enquanto evitam perigos e coletam recompensas.
- Save the Character — cenários de sobrevivência de múltipla escolha que testam o julgamento e os reflexos.
- Bus Jam — um quebra-cabeça de correspondência de cores no qual os passageiros são organizados em ônibus correspondentes, com planejamento de rota e preenchimento de ônibus até a capacidade máxima.
- Merge Games — fusão de peças correspondentes para atingir um nível objetivo, exigindo planejamento para fusões eficientes.
Jogos de Arcade:
- Crowd Runner — um auto-runner onde a multidão cresce através de portões matemáticos e deve derrotar um chefe enquanto desvia de obstáculos.
- Bridge Race — um auto-runner 3D com mecânicas de construção de pontes, coletando blocos e competindo contra corredores de IA.
- Giant Runner — um runner 3D focado em crescimento, onde orbes correspondentes são coletados para aumentar o poder para batalhas contra chefes.
- Jelly Shift — um runner 3D de mudança de forma, no qual uma gota de geleia é remodelada para passar por paredes.
- Makeover Run — um auto-runner 3D com tema de moda, com estações de upgrade, itens de estilo e um final em passarela.
Simulação:
- Satisfying Clean — um jogo de relaxamento estilo ASMR de deslizar para limpar.
A execução local requer Node e npm. Os comandos documentados são npm ci para instalar dependências, npm run dev para iniciar o servidor de desenvolvimento, npm run build para uma build de produção e npm run preview para visualizar essa build. Os testes são executados com npm test para testes unitários Vitest, npm run test:e2e para testes de ponta a ponta Playwright e npm run test:levels para validação de níveis. O servidor de desenvolvimento escuta em http://localhost:5173/ e descobre automaticamente os jogos em src/games/* /.
A estrutura do projeto coloca cada jogo em seu próprio diretório sob src/games, com arquivos para index.html, game.js, state.js, renderer.js, input.js, styles.css e levels.json. Um diretório src/hub contém o lobby principal e o seletor, e src/shared contém utilitários compartilhados para áudio, pontuação e manipulação de ciclo de vida. Diretórios separados levels/, public/, tests/ e docs/ contêm arquivos JSON de níveis, ativos estáticos como o manifesto, service worker e redirecionamentos, as suítes de teste e a documentação do projeto.
Sobre os testes, o README afirma que existem 121 arquivos de testes unitários cobrindo a lógica do jogo, gerenciamento de estado e pontuação, além de testes E2E do Playwright executados no Chrome e Safari móveis. O tamanho do pacote é controlado por orçamentos de 3000KB para JavaScript e 150KB para CSS, e uma etapa de validação de nível exige que cada jogo tenha pelo menos três níveis.
A implantação visa o Cloudflare Pages na URL de produção, com CI/CD impulsionado por Argo Workflows em um cluster iad-ci. As builds são acionadas automaticamente em pushes para a branch main e executam npm ci, npm test, npm run test:levels e npm run build em sequência. As definições de build e implantação reutilizáveis residem em um repositório GitOps público separado, jedarden/declarative-config.
As escolhas tecnológicas listadas são Phaser 3 para os jogos de quebra-cabeça 2D, Three.js para os runners de arcade 3D, Vite como ferramenta de build com hot module replacement, Vitest para testes unitários e Playwright para testes de ponta a ponta entre navegadores. O projeto também é um progressive web app: pode ser instalado em dispositivos móveis para jogo offline através de um service worker para cache offline e um manifesto de app, com um design responsivo destinado a todos os tamanhos de tela. É lançado sob a Licença MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.