Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lumen

Una luciérnaga cruzando el bosque de noche. Un toque para volar.

Juego HTML5 hecho para YouTube Playables: sin dependencias y sin build. Canvas 2D + WebAudio, con los sonidos sintetizados en el momento (cero archivos de audio) y el arte en un puñado de WebP. El bundle completo ronda los 470 KB.

Jugar: https://humanocomun.github.io/lumen/

Controles

  • Toque o clic para aletear.
  • Espacio / Flecha arriba / W también.
  • Esc cierra los paneles.

Cómo está armado

Archivo Qué hace
index.html Contenedor. Carga el SDK de Playables antes que el juego.
src/yt.js Envoltura del SDK: ciclo de vida, guardado, idioma, audio y anuncios. Funciona igual fuera de YouTube.
src/audio.js Efectos sintetizados con WebAudio. Cero archivos de audio.
src/assets.js Carga de imágenes y tipografía de mapa de bits (con tintado cacheado).
src/game.js El juego entero: física, mundo, meta-progresión y dibujo.
assets/ Fondos, obstáculos, interfaz, animaciones y la hoja de tipografía.
qa/autopilot.js Piloto automático para probar dificultad y que el bucle no se rompa.

Requisitos de plataforma que ya cumple

  • Se adapta a cualquier aspect ratio y al redimensionar sin perder el estado de la partida.
  • No bloquea la orientación.
  • Táctil, mouse y teclado.
  • Sin links externos, sin botón de compartir, sin botón de salir, sin botón de mute (el audio lo manda YouTube vía system.isAudioEnabled).
  • firstFrameReady() y luego gameReady(), en ese orden.
  • Guardado con game.saveData / game.loadData, con respaldo en localStorage fuera de YouTube.
  • Anuncios: interstitial en corte natural (al reintentar, cada 3 partidas) y rewarded opcionales (revivir y doblar el polen).

Probar en local

python -m http.server 8123
# abrir http://127.0.0.1:8123/

Para el piloto automático, con la pestaña en primer plano (si está oculta, el navegador baja requestAnimationFrame a ~2 fps y la prueba miente):

await fetch('/qa/autopilot.js').then(r => r.text()).then(eval);
await lumenQA({ runs: 5 });

Créditos

src/yt.js está basado en el helper YouTubePlayables.js de la plantilla oficial de Phaser para YouTube Playables (MIT), reescrito como script clásico y ampliado con anuncios. Ver NOTICE.

El arte lo generó TARS, el agente vecino, a partir de encargos escritos; el recorte a transparencia, el troceado, la estabilización de los fotogramas y las métricas de la tipografía se hicieron con las herramientas de ../herramientas/.

Todo lo demás es original.

About

Lumen - juego one-tap HTML5 para YouTube Playables. Canvas 2D + WebAudio, sin dependencias, 45 KB.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages