À propos du projet

Mobile Gaming est une collection de jeux de puzzle, d'arcade et de simulation basés sur le navigateur, dont les concepts sont inspirés du style des publicités pour jeux mobiles. Tout fonctionne sur le web ouvert en utilisant Phaser 3 pour le gameplay 2D et Three.js pour le rendu 3D. Une version live est publiée sur mobile-gaming.pages.dev, et une page hub de sélection des jeux fait office de lobby à partir duquel chaque titre est lancé. L'ensemble couvre actuellement treize jeux répartis en trois grands groupes. Jeux de puzzle : - Brain Teaser — des puzzles de pensée latérale incluant le tri d'objets par poids, la navigation dans des labyrinthes et des problèmes de logique, avec plus de 10 niveaux conçus à la main. - Water Sort — tri de liquides colorés en les versant entre des tubes, avec une difficulté croissante via plus de couleurs et de tubes. - Parking Escape — un puzzle de style déblocage où des véhicules sont glissés pour dégager le passage pour la voiture rouge. - Pull the Pin — des puzzles de goupilles basés sur la physique où des balles sont guidées vers un objectif tout en évitant des dangers et en collectant des récompenses. - Save the Character — des scénarios de survie à choix multiples qui testent le jugement et les réflexes. - Bus Jam — un puzzle de correspondance de couleurs dans lequel les passagers sont triés dans des bus correspondants, avec planification d'itinéraire et remplissage des bus à leur capacité. - Merge Games — fusion de tuiles identiques pour atteindre un palier cible, nécessitant une planification pour des fusions efficaces. Jeux d'arcade : - Crowd Runner — un auto-runner où la foule grandit via des portes mathématiques et doit vaincre un boss tout en évitant des obstacles. - Bridge Race — un auto-runner 3D avec des mécaniques de construction de ponts, de collecte de blocs et de course contre des concurrents IA. - Giant Runner — un runner 3D axé sur la croissance où des orbes correspondants sont collectés pour s'amplifier avant des combats de boss. - Jelly Shift — un runner 3D à changement de forme dans lequel une masse de gelée est remodelée pour passer à travers des murs. - Makeover Run — un auto-runner 3D sur le thème de la mode avec des stations d'amélioration, des articles de style et un final sur un podium. Simulation : - Satisfying Clean — un jeu de relaxation de style ASMR consistant à balayer pour nettoyer. L'exécution locale nécessite Node et npm. Les commandes documentées sont npm ci pour installer les dépendances, npm run dev pour démarrer le serveur de développement, npm run build pour un build de production et npm run preview pour prévisualiser ce build. Les tests sont exécutés avec npm test pour les tests unitaires Vitest, npm run test:e2e pour les tests de bout en bout Playwright et npm run test:levels pour la validation des niveaux. Le serveur de développement écoute sur http://localhost:5173/ et découvre automatiquement les jeux dans src/games/* /. La structure du projet place chaque jeu dans son propre répertoire sous src/games, avec des fichiers pour index.html, game.js, state.js, renderer.js, input.js, styles.css et levels.json. Un répertoire src/hub contient le lobby principal et le sélecteur, et src/shared contient des utilitaires partagés pour l'audio, le score et la gestion du cycle de vie. Des répertoires distincts levels/, public/, tests/ et docs/ contiennent les fichiers JSON des niveaux, les ressources statiques telles que le manifeste, le service worker et les redirections, les suites de tests et la documentation du projet. Concernant les tests, le README indique qu'il existe 121 fichiers de tests unitaires couvrant la logique du jeu, la gestion d'état et le score, ainsi que des tests E2E Playwright exécutés sur Chrome et Safari mobiles. La taille du bundle est limitée par des budgets de 3000 Ko pour le JavaScript et 150 Ko pour le CSS, et une étape de validation des niveaux exige que chaque jeu possède au moins trois niveaux. Le déploiement cible Cloudflare Pages à l'URL de production, avec un CI/CD piloté par Argo Workflows sur un cluster iad-ci. Les builds se déclenchent automatiquement lors des pushs sur la branche main et exécutent npm ci, npm test, npm run test:levels et npm run build successivement. Les définitions de build et de déploiement réutilisables résident dans un dépôt GitOps public séparé, jedarden/declarative-config. Les choix technologiques listés sont Phaser 3 pour les jeux de puzzle 2D, Three.js pour les runners d'arcade 3D, Vite comme outil de build avec remplacement de module à chaud (HMR), Vitest pour les tests unitaires et Playwright pour les tests de bout en bout multi-navigateurs. Le projet est également une application web progressive (PWA) : elle peut être installée sur des appareils mobiles pour un jeu hors ligne grâce à un service worker pour la mise en cache et un manifeste d'application, avec un design adaptatif prévu pour toutes les tailles d'écran. Il est publié sous licence MIT.