We may earn an affiliate commission when you visit our partners.
Javier Muñiz

En este curso te ayudaré a iniciarte en el apasionante mundo de la programación de videojuegos, comenzando desde la base, para que en pocos días puedas empezar a crear tus primeros juegos de estilo retro. Durante el curso podrás seguir las sesiones en vídeo, paso a paso y también consultar mi código para probarlo en tu propio PC y que así nunca te atasques durante el proceso.

Read more

En este curso te ayudaré a iniciarte en el apasionante mundo de la programación de videojuegos, comenzando desde la base, para que en pocos días puedas empezar a crear tus primeros juegos de estilo retro. Durante el curso podrás seguir las sesiones en vídeo, paso a paso y también consultar mi código para probarlo en tu propio PC y que así nunca te atasques durante el proceso.

Los dos primeros módulos te ayudarán a obtener la base necesaria en programación, siempre utilizando como ejemplo el mundo de los videojuegos, para que te resulte entretenido, mientras que a partir del tercer módulo empezarás a programar videojuegos reales.

En la documentación que acompaña a las sesiones se incluyen apuntes y ejercicios para que puedas repasar y continuar perfeccionando tus habilidades en esta maravillosa disciplina.

Enroll now

What's inside

Syllabus

Ejemplo práctico sobre cómo cargar y mover por pantalla una imagen en formato PNG, previamente creada.

Introducción

¿Qué programas usaremos para editar el código y dónde descargarlos?

  • Bloc de notas (Windows)
  • Notepad++
  • Atom
Read more

Qué es el DOM y cómo se crea una página web sencilla con HTML, sin utilización de hojas de estilos CSS, ya que para la creación de videojuegos HTML5 con JavaScript no es necesario utilizarlas.

Explicación práctica de qué son las variables, cómo funcionan y cómo utilizarlas en un videojuego para almacenar información en tiempo real.

Explicación práctica con ejemplos, sobre la creación de funciones para programar de forma estructurada y poder reutilizar fragmentos de código, para así hacerlo más legible.

Explicación sobre cómo crear funciones capaces de procesar información y devolver resultados calculados al programa principal.

Ejemplo práctico sobre cómo utilizar condiciones para que el programa sea capaz de elegir entre varias alternativas utilizando la instrucción IF

Uso de varias condiciones concatenadas, dentro de un mismo IF, e inclusión de la instrucción ELSE para ejecutar el resto de instrucciones cuando no se cumple la condición.

Ejemplos sobre el uso de condiciones más complejas utilizando el juego de instrucciones IF/ELSE

Utilización de las instrucciones Switch / Case para elegir un resultado entre un listado de opciones.

Utilización del bucle FOR para crear rutinas de código que se repitan un número determinado de veces, de forma automática.

Utilización del juego de instrucciones DO / WHILE para crear rutinas de código que se repitan un número indeterminado de veces (que no sea fijo)

Explicación de cómo se crea la base de un videojuego, programando un bucle principal, que se ejecuta de forma infinita y que recorre todas las funciones que mantienen el juego en funcionamiento:

  • Dibujado del escenario.
  • Lógica de juego.
  • Dibujado de los enemigos.
  • Dibujado del protagonista.
  • Control del ratón y el teclado.
  • Reproducción de la música.
  • Reproducción de los efectos de sonido.
  • Detección de colisiones.

Lectura del teclado usando JavaScript, para la detección de las pulsaciones.

Utilización de la librería externa Keypress, para detectar pulsaciones complejas que podremos aplicar a la hora de realizar combos.

Utilización de JavaScript para la detección de:

  • Pulsación de los botones del ratón.
  • Liberación de los botones del ratón.
  • Movimiento del ratón.
  • Lectura de las coordenadas X e Y

¿Qué son los objetos en programación?

  • Declaración de atributos.
  • Creación de métodos.

Cómo crear un Canvas en HTML5, para usarlo como pantalla en la que mostrar formas sencillas (cuadrados).

Aprenderemos conceptos como:

  • Fotogramas por segundo / Frames Per Second (FPS)
  • Primitivas gráficas.
  • Códigos de color hexadecimal.
  • Borrado / Limpieza del Canvas.

Qué es un ARRAY o lista, y cómo utilizarlo para crear un inventario de objetos para nuestro jugador.

Cómo crear un array de 2 dimensiones (2D) y utilizarlo para crear un mapa o escenario para nuestro primer juego.

A partir de aquí comenzaremos a crear nuestro primer videojuego sencillo del tipo Dungeon Crawler:

El protagonista se moverá por una laberíntica mazmorra, de la que no podrá salir:

  • Creación de un escenario a partir de matrices 2D.
  • Detección de colisiones.
  • Control del protagonista mediante el teclado.

En esta segunda sesión crearemos la lógica de juego para nuestro Dungeon Crawler:

  • Inclusión de objetos llave y puerta.
  • Implementación del inventario.
  • Lógica simple, según la cual el jugador no puede salir a no ser que previamente recoja la llave.

En esta última sesión mejoraremos la lógica de juego y añadiremos los gráficos:

  • Creación de enemigos que se mueven de forma autónoma y aleatoria.
  • Detección de colisiones con los enemigos (que matan al protagonista si colisionan)
  • Utilización de un Tileset para los gráficos del escenario.
  • Creación de animaciones básicas usando un Tileset.

En esta sesión preparamos el código del tablero y el objeto para las piezas.

En esta segunda sesión añadimos el código para crear con matrices los gráficos de las piezas, así como todas sus posiciones al rotarlas.

En esta sesión: 

  • Dibujaremos el tablero y el objeto ficha en pantalla.
  • Crearemos los márgenes del tablero para que las piezas no se salgan.

Implementación de la caída y la rotación del objeto pieza.

En esta sesión crearemos la lógica de juego para que las piezas se apilen al caer y colisionen de forma adecuada entre ellas.

En esta última sesión implementaremos el borrado o limpieza de las filas que estén completas, de una forma sencilla y básica.

Ejemplo práctico sobre cómo implementar un objeto Cámara, capaz de mostrar distintas partes de un nivel que no quepa en pantalla, e incluso cómo crear experiencias a pantalla partida (Split screen) para varios jugadores.

Ejemplo práctico sobre la carga y reproducción de música y efectos de sonido utilizando la librería Howler.js

Ejemplo práctico sobre el almacenamiento permanente de datos en la memoria del navegador web para guardar y cargar partidas anteriores.

En esta primera sesión, crearemos un escenario a partir de una matriz 2D, y comenzaremos a implementar algunas leyes físicas, como la gravedad, para hacer que nuestro jugador siempre caiga hacia el suelo.

En esta segunda sesión, añadiremos fricción o rozamiento, para que el protagonista deslice en mayor o menor medida cuando corra por el escenario, creando un efecto físico mucho más realista.

En esta tercera sesión terminaremos el motor físico, añadiendo colisiones entre el jugador y el escenario.

Para mejorar el juego de plataformas que acabamos de crear, le vamos a añadir un editor de niveles, con el que modificar, en tiempo real, el aspecto del escenario.

¡Terminó el curso! A partir de ahora te toca a ti empezar a crear tus propios juegos ¡Ánimo!

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Starts with basic programming concepts using video game examples, which makes learning more engaging for aspiring game developers
Includes downloadable code for each session, which allows learners to test and experiment on their own PCs
Uses HTML5 and JavaScript, which are standard technologies for web-based game development
Focuses on creating retro-style games, which may not appeal to learners interested in modern game development techniques
Relies on Notepad++ and Atom, which are older code editors that may lack modern features found in IDEs
Teaches Keypress and Howler.js, which are external libraries that may require additional setup and configuration

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Curso práctico para crear juegos html5

Según los estudiantes, este curso es una excelente puerta de entrada (positive) al desarrollo de videojuegos utilizando HTML5 y JavaScript. Muchos aprecian el enfoque práctico y basado en proyectos (positive), destacando que permite crear juegos completos desde cero (positive). Se considera ideal para principiantes (positive) con poca o nula experiencia en programación, ya que cubre los fundamentos de JavaScript de forma entretenida. No obstante, algunos comentarios sugieren que el contenido puede ser demasiado básico para programadores con experiencia (warning) y que ciertas secciones, como el sonido o el guardado de datos, son un poco superficiales (warning) o podrían estar algo desactualizadas (warning). A pesar de estas advertencias, la opinión general es abrumadoramente positiva por su capacidad para enseñar los conceptos esenciales a través de ejemplos concretos (positive).
El instructor explica los conceptos de forma muy comprensible.
"Las explicaciones del profesor son muy claras y fáciles de seguir."
"A pesar de ser temas nuevos para mí, entendí bien gracias a cómo se presenta el contenido."
"El lenguaje utilizado es sencillo y directo, lo que facilita el aprendizaje."
"El instructor va al grano y explica justo lo necesario para cada paso."
Crear juegos desde el inicio hace el aprendizaje muy ameno.
"Una forma super entretenida de aprender, haciendo juegos desde el principio."
"Lo mejor es que te enseña creando proyectos reales, no solo teoría aburrida."
"Muy didáctico y práctico, ver cómo tus líneas de código se convierten en un juego es muy gratificante."
"Me gustó mucho la metodología de ir creando juegos completos paso a paso."
"El enfoque práctico es lo que hace que este curso se destaque."
Excelente punto de partida para quienes inician en programación.
"Excelente curso si no tienes ni idea de programacion, yo empece de cero con este curso y me a servido mucho."
"Me encantó, es una forma muy práctica de comenzar a aprender a programar, especialmente para quien nunca lo ha hecho."
"Este curso es ideal para comenzar a programar, los ejemplos son muy claros y el paso a paso me permitió seguirlos sin problemas."
"Muy buen curso para empezar a entender la lógica de la programación y aplicarla a algo divertido como los videojuegos."
"Nunca había programado y con este curso logré hacer mis primeros juegos. Es muy motivador para seguir aprendiendo."
Puede ser demasiado introductorio para quien ya programa.
"Para alguien con experiencia previa en programación, algunas partes pueden ser muy lentas o repetitivas."
"Si ya sabes algo de JavaScript, los primeros módulos serán muy básicos para ti."
"Esperaba un poco más de profundidad en ciertos temas, es muy introductorio."
"Aunque es bueno para empezar, no esperes técnicas avanzadas si ya tienes base."
Algunas secciones podrían tener mayor profundidad o estar actualizadas.
"La parte del sonido y guardado de datos me pareció un poco rápida y faltó más detalle."
"Algunas librerías o métodos usados quizás no son los más modernos hoy en día."
"Me gustaría que se profundizara más en la física del juego o en la optimización."
"El contenido está bien, pero se nota que en algunas partes podría necesitar una actualización."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Programa tus Primeros Juegos HTML5 con JavaScript with these activities:
Repasar los fundamentos de HTML y JavaScript
Refrescar los conocimientos básicos de HTML y JavaScript para comprender mejor los conceptos del curso.
Browse courses on HTML5
Show steps
  • Revisar tutoriales básicos de HTML y JavaScript en línea.
  • Practicar la creación de páginas web sencillas con HTML y la manipulación del DOM con JavaScript.
Revisar 'Eloquent JavaScript'
Profundizar en los conceptos de JavaScript para mejorar la comprensión del código del juego.
Show steps
  • Leer los capítulos relevantes sobre funciones, objetos y el DOM.
  • Realizar los ejercicios propuestos en el libro.
Practicar ejercicios de manipulación del DOM
Reforzar las habilidades de manipulación del DOM, que son cruciales para la interacción del juego.
Show steps
  • Crear elementos HTML dinámicamente con JavaScript.
  • Modificar atributos y estilos de elementos HTML.
  • Responder a eventos del usuario (clics, movimientos del ratón).
Four other activities
Expand to see all activities and additional details
Show all seven activities
Crear un juego sencillo de 'encuentra la pareja'
Aplicar los conocimientos del curso creando un juego interactivo que involucre la manipulación del DOM y la lógica de juego.
Show steps
  • Diseñar la interfaz del juego con HTML y CSS.
  • Implementar la lógica del juego con JavaScript (aleatorización, comparación de cartas, etc.).
  • Añadir efectos visuales y de sonido para mejorar la experiencia del usuario.
Crear un tutorial en video sobre un concepto del curso
Consolidar el aprendizaje explicando un concepto clave del curso a otros.
Show steps
  • Elegir un tema específico del curso (por ejemplo, bucles, funciones, objetos).
  • Preparar un guion y ejemplos claros.
  • Grabar y editar el video tutorial.
  • Compartir el video en un foro o grupo de estudio.
Revisar 'HTML5 Game Development by Example'
Aprender técnicas avanzadas de desarrollo de juegos HTML5 a través de ejemplos prácticos.
Show steps
  • Seleccionar un ejemplo de juego del libro que sea de interés.
  • Estudiar el código fuente y comprender la lógica del juego.
  • Modificar el código para añadir nuevas características o mejorar la jugabilidad.
Contribuir a un proyecto de juego de código abierto
Ganar experiencia práctica trabajando en un proyecto de desarrollo de juegos real y colaborando con otros desarrolladores.
Show steps
  • Buscar un proyecto de juego de código abierto en GitHub o GitLab.
  • Familiarizarse con el código base y la documentación del proyecto.
  • Identificar un error o una característica que se pueda mejorar.
  • Contribuir con código, documentación o pruebas.

Career center

Learners who complete Programa tus Primeros Juegos HTML5 con JavaScript will develop knowledge and skills that may be useful to these careers:
Desarrollador de Juegos
Un Desarrollador de Juegos crea videojuegos para diversas plataformas, desde consolas hasta dispositivos móviles. Este curso ayuda a construir una base sólida en la programación de videojuegos, enseñando cómo crear juegos retro desde cero. El curso cubre aspectos esenciales como la creación de un bucle principal de juego, la lectura del teclado y del ratón, y la manipulación de Canvas en HTML5. El curso, al cubrir la creación de juegos como mazmorras, Tetris y plataformas, proporciona experiencia práctica en el desarrollo de videojuegos. Aquellos que deseen convertirse en Desarrolladores de Juegos deberían tomar este curso para construir una base sólida en los fundamentos de la programación de videojuegos en HTML5 y JavaScript.
Desarrollador de Juegos Independiente
Un Desarrollador de Juegos Independiente crea y publica sus propios videojuegos. Este curso ayuda a construir una base sólida en la programación de videojuegos y a adquirir las habilidades necesarias para crear juegos completos. El curso cubre cómo crear juegos retro desde cero y cómo implementarlos en HTML5 y JavaScript. Aquellos que deseen convertirse en Desarrolladores de Juegos Independientes deberían tomar este curso para obtener una base sólida en los fundamentos de la programación de videojuegos y comenzar a crear sus propios juegos.
Programador de JavaScript
Un Programador de JavaScript utiliza JavaScript para crear sitios web interactivos y aplicaciones web. Este curso, centrado en la programación de juegos HTML5 con JavaScript, ayuda a aprender los fundamentos de JavaScript de manera práctica e interactiva. Se aprenden conceptos básicos como variables, funciones, condiciones y bucles, todos aplicados a la creación de videojuegos. El curso también cubre estructuras de datos como arrays y el uso de librerías externas. Aquellos que deseen convertirse en Programadores de JavaScript deberían tomar este curso para aprender JavaScript de manera divertida y aplicable a proyectos del mundo real.
Diseñador de niveles
Un Diseñador de Niveles crea los entornos y niveles de los videojuegos. Este curso, al cubrir la creación de juegos como mazmorras y plataformas, ayuda a comprender cómo se diseñan y construyen los niveles. El curso explora cómo crear escenarios a partir de matrices 2D y cómo implementar la lógica de juego en los niveles. Aquellos que deseen convertirse en Diseñadores de Niveles deberían tomar este curso para adquirir conocimientos prácticos sobre la creación de niveles en videojuegos.
Desarrollador de HTML5
Un Desarrollador de HTML5 crea aplicaciones web interactivas utilizando HTML5, JavaScript y CSS. Este curso ayuda a comprender cómo utilizar HTML5 para crear videojuegos. Aprenderá sobre la creación de Canvas para gráficos, la manipulación de imágenes y la creación de animaciones. El curso cubre cómo estructurar una página web sencilla con HTML. Aquellos que deseen convertirse en Desarrolladores de HTML5 deberían tomar este curso para adquirir experiencia práctica en el uso de HTML5 para el desarrollo de videojuegos.
Profesor de Programación de Videojuegos
Un Profesor de Programación de Videojuegos enseña a otros cómo crear videojuegos. Este curso ayuda a construir una base sólida en la programación de videojuegos y a comprender los conceptos fundamentales. El curso cubre cómo crear juegos retro desde cero y cómo enseñar programación de manera práctica e interactiva. Aquellos que deseen convertirse en Profesores de Programación de Videojuegos deberían tomar este curso para obtener una comprensión profunda de los principios de la programación de videojuegos y mejorar sus habilidades para enseñar.
Diseñador de Juegos
Un Diseñador de Juegos es responsable de la conceptualización y diseño de videojuegos. Si bien este curso se centra en la programación, proporciona una valiosa comprensión de las mecánicas de juego y de cómo se implementan. El curso ayuda a comprender cómo se crean los juegos desde cero, incluyendo la lógica del juego, la detección de colisiones y la creación de niveles. Aquellos que deseen convertirse en Diseñadores de Juegos deberían tomar este curso para obtener una perspectiva técnica sobre el desarrollo de videojuegos y comprender mejor las limitaciones y posibilidades de la programación.
Probador de Juegos
Un Probador de Juegos es responsable de probar videojuegos para identificar errores y garantizar la calidad del juego. Comprender cómo se crean los juegos ayuda a ser un probador más eficaz. Este curso, al cubrir la creación de juegos desde cero, proporciona una visión interna del proceso de desarrollo. Aquellos que deseen convertirse en Probadores de Juegos deberían tomar este curso para comprender mejor la lógica del juego y los posibles puntos de fallo, lo que les permitirá identificar errores de manera más eficiente.
Desarrollador de Aplicaciones Web
Un Desarrollador de Aplicaciones Web crea aplicaciones que se ejecutan en navegadores web. Este curso, al enseñar JavaScript y HTML5, ayuda a construir una base sólida para el desarrollo de aplicaciones web interactivas. El curso cubre conceptos esenciales de programación y cómo utilizar HTML5 para crear interfaces de usuario. Aquellos que deseen convertirse en Desarrolladores de Aplicaciones Web deberían tomar este curso para obtener experiencia práctica en el uso de JavaScript y HTML5.
Artista de videojuegos
Un Artista de Videojuegos crea los gráficos y las animaciones de los videojuegos. Si bien este curso se centra en la programación, proporciona una comprensión de cómo se integran los gráficos en los juegos. El curso ayuda a comprender cómo cargar y manipular imágenes, así como crear animaciones básicas. El curso cubrirá la utilización de un Tileset con los gráficos de un escenario. Aquellos que deseen convertirse en Artistas de Videojuegos deberían tomar este curso para comprender mejor cómo funciona el proceso de desarrollo de videojuegos y cómo sus creaciones artísticas se incorporan al juego.
Ingeniero de Software
Un Ingeniero de Software diseña, desarrolla y prueba software. Este curso puede ayudar a mejorar las habilidades de programación y la comprensión de los principios del desarrollo de software. El curso cubre conceptos fundamentales de programación y cómo aplicarlos en un contexto de desarrollo de videojuegos. Aquellos que deseen convertirse en Ingenieros de Software deberían tomar este curso para fortalecer sus habilidades de programación y adquirir una comprensión más profunda del proceso de desarrollo de software.
Desarrollador de realidad virtual
Un Desarrollador de Realidad Virtual (RV) crea experiencias inmersivas utilizando tecnologías de RV. Si bien este curso se centra en juegos 2D, los principios de programación aprendidos son transferibles al desarrollo de RV. El curso ayuda a comprender cómo crear interacciones y animaciones, que son fundamentales para las experiencias de RV. Aquellos que deseen convertirse en Desarrolladores de RV deberían tomar este curso para construir una base sólida en programación y prepararse para aprender las tecnologías específicas de RV.
Desarrollador de realidad aumentada
Un Desarrollador de Realidad Aumentada (RA) crea aplicaciones que superponen información digital al mundo real. Los fundamentos de programación son importantes para RA. Este curso puede ayudar a comprender cómo crear gráficos interactivos y cómo responder a la entrada del usuario, habilidades útiles en RA. Aquellos que deseen convertirse en Desarrolladores de RA deberían tomar este curso para aprender los principios básicos de la creación de interfaces interactivas.
Técnico de Soporte de Videojuegos
Un Técnico de Soporte de Videojuegos brinda asistencia técnica a los jugadores. El conocimiento de cómo se crean los videojuegos puede ayudar a brindar un mejor soporte. Este curso puede ayudar a comprender mejor la lógica del juego y los posibles problemas que pueden surgir. Aquellos que deseen convertirse en Técnicos de Soporte de Videojuegos deberían tomar este curso para mejorar su capacidad para resolver problemas y ayudar a los jugadores.
Analista de videojuegos
Un Analista de Videojuegos estudia el mercado de los videojuegos y las tendencias del sector. Es posible que este curso ayude a comprender mejor el proceso de desarrollo de videojuegos y los factores que contribuyen al éxito de un juego. El curso ayuda a obtener una perspectiva más profunda sobre los desafíos y oportunidades en la industria de los videojuegos. Aquellos que deseen convertirse en Analistas de Videojuegos deberían tomar este curso para complementar sus conocimientos teóricos con una comprensión práctica del desarrollo de videojuegos.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programa tus Primeros Juegos HTML5 con JavaScript.
Este libro proporciona una introducción profunda a JavaScript, cubriendo temas esenciales como estructuras de datos, funciones y programación orientada a objetos. Es útil para comprender los conceptos de programación utilizados en el desarrollo de videojuegos. 'Eloquent JavaScript' es un recurso valioso para aquellos que buscan una comprensión más sólida de JavaScript más allá de los conceptos básicos. Este libro es ampliamente utilizado en cursos universitarios y por desarrolladores profesionales.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser