JavaScript para el desarrollo de videojuegos
Esta es una guía de introducción a JavaScript, y está orientada al desarrollo de videojuegos HTML5.
Esta basada en unos materiales que desarrollamos en una colaboración con la Universidad Complutense de Madrid para la asignatura de Programación de videojuegos con lenguajes interpretados. Puedes acceder a los materiales originales de la asignatura a través de este repositorio en Github.
El código fuente de esta guía también está publicado en Github. Si encuentras una errata o quieres sugerir algún cambio, por favor háznoslo saber abriendo un ticket.
Videojuegos en la Web
La llegada de HTML5 y sus tecnologías asociadas expandió enormemente las capacidades de la Web como plataforma de videojuegos. Hasta entonces, la mayoría de juegos web requerían un plugin externo –como Flash o Unity Player–, pero hoy ya no es necesario y los juegos HTML5 se ejecutan en el navegador de forma transparente.
La Web nos ofrece API de gráficos 2D y 3D (esta última, basada en el estándar OpenGL ES), de reproducción y sintetización de audio, de acceso a múltiples métodos de entrada (gamepads, eventos de touch, giroscopios…), etc. En definitiva, todo lo que necesitamos para desarrollar videojuegos.
Existen multitud de motores y herramientas para crear videojuegos HTML5. Algunos de los motores más populares, como Unity, Unreal o Game Maker, ya incluyen un exportador HTML5. También existen motores o frameworks específicos para la web, en los que podemos desarrollar con JavaScript, como Phaser o PlayCanvas.
El objetivo de esta guía es proporcionar una base de conocimientos JavaScript para que puedas desarrollar videojuegos web utilizando librerías o motores web existentes.
¿A quién está dirigida esta guía?
A cualquiera con interés en el desarrollo de videojuegos y que ya tenga unos conocimientos mínimos de programación (cualquier lenguaje sirve, como Lua, C o Python): variables, bucles, funciones, condiciones, etc.
A programadores de videojuegos que quieran desarrollar videojuegos web con JavaScript.
A desarrolladores web que quieran aprender los fundamentos de la programación orientada a objetos con JavaScript.
Importante:
Se recomienda leer todos los artículos de una unidad, así como hacer los ejercicios guiados antes de realizar la práctica propuesta.