Sobre el proyecto

Mobile Gaming es una colección de juegos de puzzles, arcade y simulación basados en el navegador cuyos conceptos se basan en el estilo de los anuncios de juegos móviles. Todo se ejecuta en la web abierta utilizando Phaser 3 para la jugabilidad en 2D y Three.js para el renderizado en 3D. Se publica una versión en vivo en mobile-gaming.pages.dev, y una página central de selección de juegos actúa como el lobby desde el cual se lanza cada título. El conjunto cubre actualmente trece juegos divididos en tres grupos generales. Juegos de puzzles: - Brain Teaser: puzzles de pensamiento lateral que incluyen la clasificación de artículos por peso, navegación por laberintos y problemas de lógica, con más de 10 niveles diseñados a mano. - Water Sort: clasificación de líquidos coloreados vertiéndolos entre tubos, con una dificultad que aumenta mediante más colores y tubos. - Parking Escape: un puzzle de estilo desbloqueo donde los vehículos se deslizan para despejar el camino para el coche rojo. - Pull the Pin: puzzles de pines basados en la física donde las bolas son guiadas hacia una meta mientras se evitan peligros y se recolectan recompensas. - Save the Character: escenarios de supervivencia de opción múltiple que ponen a prueba el juicio y los reflejos. - Bus Jam: un puzzle de coincidencia de colores en el que los pasajeros se clasifican en autobuses correspondientes, con planificación de rutas y llenado de autobuses a su capacidad. - Merge Games: fusión de fichas coincidentes para alcanzar un nivel objetivo, requiriendo planificación para fusiones eficientes. Juegos Arcade: - Crowd Runner: un auto-runner donde la multitud crece a través de puertas matemáticas y debe derrotar a un jefe mientras esquiva obstáculos. - Bridge Race: un auto-runner 3D con mecánicas de construcción de puentes, recolectando bloques y compitiendo contra IA. - Giant Runner: un runner 3D centrado en el crecimiento donde se recolectan orbes coincidentes para potenciarse para batallas contra jefes. - Jelly Shift: un runner 3D de cambio de forma en el que una masa de gelatina se remodela para pasar a través de paredes. - Makeover Run: un auto-runner 3D temático de moda con estaciones de mejora, artículos de estilo y un final en pasarela. Simulación: - Satisfying Clean: un juego de relajación estilo ASMR de deslizar para limpiar. La ejecución local requiere Node y npm. Los comandos documentados son npm ci para instalar dependencias, npm run dev para iniciar el servidor de desarrollo, npm run build para una compilación de producción y npm run preview para previsualizar dicha compilación. Las pruebas se ejecutan con npm test para pruebas unitarias de Vitest, npm run test:e2e para pruebas extremo a extremo de Playwright y npm run test:levels para la validación de niveles. El servidor de desarrollo escucha en http://localhost:5173/ y descubre automáticamente los juegos en src/games/* /. La estructura del proyecto coloca cada juego en su propio directorio bajo src/games, con archivos para index.html, game.js, state.js, renderer.js, input.js, styles.css y levels.json. Un directorio src/hub contiene el lobby principal y el selector, y src/shared contiene utilidades compartidas para audio, puntuación y manejo del ciclo de vida. Directorios separados de levels/, public/, tests/ y docs/ contienen archivos JSON de niveles, activos estáticos como el manifiesto, service worker y redirecciones, las suites de pruebas y la documentación del proyecto. Sobre las pruebas, el README indica que hay 121 archivos de pruebas unitarias que cubren la lógica del juego, la gestión de estados y la puntuación, además de pruebas E2E de Playwright ejecutadas contra Chrome y Safari móviles. El tamaño del paquete se controla mediante presupuestos de 3000KB para JavaScript y 150KB para CSS, y un paso de validación de niveles requiere que cada juego tenga al menos tres niveles. El despliegue se dirige a Cloudflare Pages en la URL de producción, con CI/CD impulsado por Argo Workflows en un clúster iad-ci. Las compilaciones se activan automáticamente al hacer push a la rama main y ejecutan npm ci, npm test, npm run test:levels y npm run build en secuencia. Las definiciones de compilación y despliegue reutilizables residen en un repositorio GitOps público separado, jedarden/declarative-config. Las opciones tecnológicas enumeradas son Phaser 3 para los juegos de puzzles 2D, Three.js para los runners arcade 3D, Vite como herramienta de compilación con reemplazo de módulos en caliente, Vitest para pruebas unitarias y Playwright para pruebas extremo a extremo entre navegadores. El proyecto es también una aplicación web progresiva (PWA): puede instalarse en dispositivos móviles para juego offline a través de un service worker para almacenamiento en caché y un manifiesto de aplicación, con un diseño responsivo destinado a todos los tamaños de pantalla. Se publica bajo la Licencia MIT.