
Building JavaScript Games
Arjan Egges
- Editorial
- Apress
- Año
- 2014
- Páginas
- ~422
- Nivel
- Intermedio
De qué trata
Manual práctico escrito por Arjan Egges y publicado por Apress que enseña desarrollo de videojuegos 2D para navegadores web utilizando estándares abiertos (HTML5 Canvas y JavaScript en su especificación ES5). Está dirigido a programadores principiantes e intermedios que ya dominan los fundamentos básicos de la programación web y desean aprender a diseñar la arquitectura de un videojuego completo y multiplataforma —compatible con ordenadores de escritorio, tabletas y teléfonos inteligentes— sin depender de motores ni frameworks de terceros.
El libro guía el aprendizaje a través del código nativo, implementando desde cero el bucle principal del juego (game loop con requestAnimationFrame) y la gestión de entradas de usuario, abarcando eventos de teclado, ratón y toques táctiles (Touch Events). Enseña el cálculo matemático y físico elemental necesario para el movimiento 2D (vectores, velocidad, aceleración, gravedad y fricción), técnicas de detección de colisiones (cajas envolventes AABB, radios circulares y estructuras de rejilla), animación mediante hojas de sprites (sprite sheets), reproducción sonora con la API de audio de HTML5, persistencia de puntuaciones y ajustes mediante la Web Storage API (localStorage), y patrones orientados a objetos para jerarquías de entidades y máquinas de estados.
El núcleo de la obra se estructura en torno al desarrollo completo de cuatro juegos arcade casuales: Painter (acción y puntería), Jewel Jam (puzle de gemas táctil), Penguin Pairs (lógica y laberinto por turnos) y Tick Tick (plataformas 2D con enemigos). Su principal fortaleza radica en desmitificar el funcionamiento interno de un motor de juegos 2D, mostrando cómo articular una arquitectura limpia y modular sin recurrir a cajas negras como Phaser. Como contrapartida técnica, su código refleja los estándares de 2014 basados en prototipos de JavaScript antes de la adopción masiva de clases en ES6+, por lo que el lector moderno se beneficiará de adaptar mentalmente la sintaxis a estándares contemporáneos.
- HTML5 Canvas
- JavaScript (ES5)
- Desarrollo de videojuegos 2D
- Game Loop
- Física 2D
- Detección de colisiones
- Sprite Sheets
- Touch Events
- Gestión de estados
- Web Storage API
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Painter
Juego arcade de puntería y disparos donde el jugador apunta un cañón para disparar proyectiles de colores contra latas de pintura en caída, utilizando Canvas 2D, vectores y detección de colisiones geométricas.
Jewel Jam
Juego de rompecabezas estilo Match-3 optimizado para interfaces táctiles en el que se intercambian gemas en una cuadrícula, implementando adaptación a distintas resoluciones y gestión de estados.
Penguin Pairs
Juego de laberintos y lógica por turnos donde se emparejan pingüinos del mismo color, incorporando navegación mediante menús interactivos, hojas de sprites y almacenamiento local de partidas con Web Storage.
Tick Tick
Juego de plataformas 2D con un personaje animado que recorre niveles contrarreloj esquivando enemigos con patrones de movimiento básico, aplicando simulación de gravedad, saltos y físicas de colisión.

