Introducción al Desarrollo de Videojuegos con GameMaker · Módulo 1: Introducción a GameMaker, instalación y primer proyecto.
Bienvenida a GameMaker y su ecosistema
Clase 1 de 60 · 45 min
También disponible en: EN
Bienvenida al apasionante mundo del desarrollo de videojuegos
El desarrollo de videojuegos representa una de las disciplinas creativas y técnicas más estimulantes de la era digital. Combina narración, diseño visual, ingeniería de software, composición sonora y psicología del comportamiento humano en una sola experiencia interactiva. Sin embargo, para quien se asoma por primera vez a este campo, la barrera de entrada suele percibirse abrumadora: conceptos como álgebra lineal, canalizaciones de renderizado gráfico, compiladores cruzados y gestión manual de memoria en lenguajes como C++ representan desafíos intimidantes que a menudo frustran las aspiraciones tempranas.
Aquí es donde entra GameMaker. Desde su concepción original, esta herramienta fue diseñada con una premisa fundamental: eliminar las fricciones técnicas innecesarias para permitir que las ideas tomen forma jugable en el menor tiempo posible, sin que ello signifique sacrificar profundidad arquitectónica ni rendimiento. A lo largo de este curso integral, emprenderás un viaje paso a paso en el que aprenderás no solo a dominar GameMaker desde cero, sino a pensar con la mentalidad estructurada de un desarrollador de videojuegos, culminando con la creación completa de un título de plataformas en dos dimensiones (2D) de estética retro.
¿Qué es un motor de videojuegos y por qué GameMaker?
Un motor de videojuegos (o game engine) es una suite de desarrollo de software integrada que proporciona a los creadores una base tecnológica preconstruida. En lugar de escribir desde cero rutinas de bajo nivel para comunicarse con el hardware gráfico (mediante DirectX, OpenGL, Vulkan o Metal), decodificar archivos de audio, detectar el teclado o calcular la física elemental, el motor asume estas tareas infraestructurales. Esto deja libre al diseñador para concentrarse en lo que hace único a su proyecto: las reglas de juego (mecánicas), el control del jugador, el diseño de niveles y la respuesta audiovisual.
GameMaker se distingue en la industria como un entorno de desarrollo integrado (IDE, por sus siglas en inglés) especializado prioritariamente en dos dimensiones. Mientras que motores de propósito general contemporáneos como Unity o Unreal Engine integran complejos sistemas de coordenadas tridimensionales donde el trabajo en 2D suele ser una proyección plana dentro de un espacio 3D, GameMaker nació, maduró y optimizó su núcleo matemático y de renderizado alrededor del plano cartesiano bidimensional tradicional (ejes X horizontal e Y vertical). Esta especialización nativa se traduce en flujos de trabajo más intuitivos, tiempos de carga casi instantáneos durante el ciclo de pruebas y una gestión de memoria predecible.

Historia y evolución: de herramienta didáctica a referente de la industria independiente
Para comprender la solidez actual de GameMaker, conviene revisar su singular trayectoria histórica. El software fue creado originalmente en 1999 por el profesor neerlandés Mark Overmars bajo el nombre inicial de Animo. Su objetivo inicial no era fundar un estándar comercial, sino proveer a sus estudiantes universitarios de ciencias de la computación una herramienta visual que facilitase la animación gráfica por computadora y la programación orientada a eventos sin la aspereza sintáctica de los compiladores de la época.
Con el paso de las versiones durante la década del 2000, la comunidad de usuarios creció de manera exponencial, empujando la herramienta hacia producciones de complejidad creciente. En 2007 se fundó la compañía YoYo Games para asumir el desarrollo profesional continuo, modernización tecnológica y soporte comercial de la plataforma. La llegada de versiones clave como GameMaker: Studio en 2012 marcó un punto de inflexión radical: se introdujo una arquitectura de compilación cruzada capaz de exportar proyectos a Windows, macOS, Linux, iOS, Android, HTML5 y consolas comerciales a partir de una única base de código.
En enero de 2021, la empresa tecnológica Opera adquirió YoYo Games, integrando GameMaker en un ecosistema más amplio enfocado en creadores independientes y distribución comunitaria mediante la plataforma GX.games. Bajo este liderazgo, el motor abandonó la numeración tradicional basada en versiones mayores (como GameMaker Studio 2) para adoptar un esquema de versionado continuo alineado con el año y mes de publicación (por ejemplo, GameMaker 2024.x), acompañado de mejoras sustanciales en el compilador, la interfaz y el modelo de acceso para la comunidad global.
Casos de éxito: ¿Qué se puede lograr realmente con GameMaker?
Existe a menudo el prejuicio infundado de que las herramientas accesibles para principiantes carecen de potencia para obras comerciales de alto calibre. La historia de los videojuegos independientes demuestra categóricamente lo contrario en el caso de GameMaker. Varios de los títulos más aclamados por la crítica, galardonados internacionalmente y con millones de copias vendidas en el mercado mundial fueron programados y diseñados enteramente dentro de este entorno:
| Título | Desarrollador / Estudio | Género destacado | Relevancia técnica e impacto |
|---|---|---|---|
| Undertale | Toby Fox | JRPG / Bullet Hell narrativo | Demostró el poder de GameMaker para manejar ramificaciones de diálogo complejas, mecánicas de esquiva precisas y estados persistentes. |
| Hotline Miami | Dennaton Games | Top-down shooter de acción rápida | Referente del género por su ritmo vertiginoso, respuesta de control implacable, inteligencia artificial implacable y estética retro estelar. |
| Forager | HopFrog (Mariano Cavallero) | Aventura incremental / Crafteo | Muestra de gestión masiva de instancias activas simultáneas, sistemas de inventario dinámicos y persistencia de guardado. |
| Spelunky (Classic) | Derek Yu | Roguelike de plataformas | Piedra angular del renacimiento indie, basado en generación procedural de niveles mediante algoritmos escritos en GML. |
| Katana Zero | Askiisoft | Acción y plataformas Neo-noir | Ejemplo magistral de animación fluida, cinemáticas coreografiadas, mecánicas de ralentización temporal y respuesta precisa. |
Estos títulos demuestran que las restricciones técnicas rara vez residen en el motor, sino en la claridad conceptual, la disciplina algorítmica y la coherencia estética del equipo de desarrollo. Todo lo que hace grandes a estos juegos —el bucle de interacción, la respuesta ajustada de los controles y la fluidez visual— se fundamenta en los mismos bloques lógicos que construiremos clase tras clase en este programa.
El ecosistema de GameMaker: IDE, recursos y ciclo de ejecución
GameMaker no es un simple editor de código fuente ni un mero editor gráfico: es un entorno de desarrollo integrado cohesivo. Para orientarte eficazmente desde este primer contacto, es indispensable distinguir los componentes clave que estructuran cualquier proyecto dentro de su ecosistema:
1. El Árbol de Recursos (Asset Browser): Es el panel organizador ubicado habitualmente en el lateral derecho de la interfaz. En él se almacenan y categorizan jerárquicamente todos los elementos que componen el juego: sprites (gráficos e imágenes), objetos (entidades lógicas con código), rooms (escenarios o salas), sonidos, scripts, fuentes tipográficas y shaders.
2. Sprites: Representaciones gráficas estáticas o animadas compuestas por uno o varios fotogramas (sub-imágenes). Los sprites por sí mismos no tienen inteligencia ni física; son la 'piel' visible que luego vestirá a las entidades lógicas.
3. Objetos e Instancias: En GameMaker existe una distinción crucial de diseño orientada a entidades. Un 'Objeto' es la definición abstracta, la plantilla que contiene las variables y la programación de un comportamiento (por ejemplo, la clase base del jugador o de un enemigo). Una 'Instancia' es la materialización concreta y viva de ese objeto colocada dentro de un nivel interactivo en coordenadas cartesianas específicas. Si creas el objeto 'obj_moneda', puedes colocar cincuenta instancias independientes de esa moneda en una misma sala.
4. Rooms (Salas): Son los lienzos espaciales donde transcurre la acción. Todo juego en GameMaker necesita al menos una room activa para ejecutarse. En las rooms se configuran las dimensiones del escenario, las capas de fondo (backgrounds), las capas de mosaicos (tilemaps) y la disposición de las instancias de los objetos.
5. El bucle de juego (Game Loop): GameMaker ejecuta su mundo mediante un ciclo continuo de fotogramas por segundo (generalmente configurado a 60 FPS). En cada uno de esos 60 fotogramas que ocurren en un segundo, el motor lee las entradas del usuario (teclado, ratón o gamepad), dispara los eventos de lógica y actualización (Step), evalúa colisiones físicas, ejecuta los eventos de renderizado visual (Draw) para pintar en el búfer de pantalla y finalmente reproduce el audio correspondiente. Entender esta secuencia cronológica es el secreto para no escribir código conflictivo.
Paradigmas de programación: GML Code versus GML Visual
GameMaker ofrece dos vías principales para estructurar la interactividad de los proyectos: GML Code y GML Visual (anteriormente conocido como Drag and Drop o DnD). Ambos operan sobre los mismos principios subyacentes del motor, pero presentan métodos radicalmente distintos de interacción:
GML Visual es un sistema de programación basado en bloques gráficos interconectables. Permite a personas sin experiencia previa en mecanografía de código arrastrar tarjetas visuales que representan acciones como 'asignar variable', 'comprobar si una tecla está pulsada' o 'reproducir sonido'. Si bien resulta amigable para una primera toma de contacto de pocas horas, presenta limitaciones severas en proyectos medianos o grandes: la lectura visual se vuelve farragosa, el control de versiones (Git) resulta sumamente difícil de comparar línea por línea, y la velocidad de estructuración lógica es considerablemente más lenta.
GML Code (GameMaker Language) es el lenguaje de programación textual propio del motor. Posee una sintaxis limpia, intuitiva y emparentada formalmente con lenguajes de alto nivel como JavaScript y C. Permite un control milimétrico sobre las estructuras de datos, un refactorizado ágil y la capacidad de expresar algoritmos complejos en pocas líneas legibles. En este curso adoptaremos GML Code como el lenguaje vehicular principal desde los primeros ejercicios, asegurando que adquieras competencias de programación transferibles y una comprensión profesional de la ingeniería de videojuegos.
El modelo de licencias actual de GameMaker
El acceso a las herramientas de desarrollo de GameMaker ha evolucionado hacia un modelo inclusivo que favorece el aprendizaje continuo. Es fundamental que conozcas con exactitud el alcance de tu instalación:
| Modalidad de Licencia | Costo / Naturaleza | Plataformas de Exportación | Uso previsto |
|---|---|---|---|
| Free (Gratuita) | Descarga libre sin costo | GX.games (Web / Escritorio no comercial) | Aprendizaje completo, experimentación, creación de prototipos y publicación web abierta comunitaria. |
| Professional (Pago único) | Licencia perpetua comercial | Windows, macOS, Linux | Desarrollo y comercialización de videojuegos en tiendas digitales de escritorio (Steam, itch.io, GOG, Epic Games). |
| Enterprise (Suscripción) | Mensual o anual | Consolas (PlayStation, Xbox, Nintendo Switch) + Móviles | Equipos profesionales con kits de desarrollo autorizados por los fabricantes de hardware de consolas. |
Para los propósitos de todo este curso, la versión Free (gratuita) de GameMaker es 100% suficiente y plenamente funcional. No existe ningún tipo de limitación artificial dentro del editor: tienes acceso completo al compilador, a todas las funciones de GML Code, al sistema de partículas, a los editores de habitaciones y de sprites, y a las herramientas de depuración avanzadas. Podrás completar cada módulo, programar tu juego y probarlo localmente con total libertad.
El proyecto transversal: Construcción de un plataformas 2D retro
Aprender desarrollo de software de forma fragmentada o puramente abstracta suele conducir a lagunas conceptuales. Por ello, este curso se organiza alrededor de un proyecto troncal acumulativo: programaremos desde cero un videojuego de plataformas en dos dimensiones de corte retro clásico.
A través de los 12 módulos y sus 60 clases, resolveremos progresivamente cada uno de los subsistemas reales que exige una obra de este tipo:
- Módulo 1 a 3: Configuración del proyecto, creación estructurada del árbol de recursos y dominio de la sintaxis fundamental de GML Code.
- Módulo 4 a 6: Control del personaje mediante teclado y mando, física de aceleración y desaceleración, gravedad constante, colisiones con cajas sólidas y tilemaps de precisión, máquinas de estado visual para transicionar animaciones de reposo, carrera y salto.
- Módulo 7 a 9: Inteligencia artificial básica para enemigos patrulleros, rutinas de daño, vidas, puntos de control (checkpoints), recolección de monedas, interfaz de usuario (HUD) en pantalla y ambientación con efectos sonoros y partículas.
- Módulo 10 a 12: Desplazamiento inteligente de cámara seguidora, transiciones limpias entre múltiples escenarios (rooms), menús interactivos de inicio y pausa, depuración de rendimiento y generación del paquete final distribuible.
Primer contacto conceptual con el código: El paradigma de Eventos
Aunque dedicaremos los próximos capítulos a configurar el software y desglosar la interfaz, conviene examinar desde ya cómo 'piensa' GameMaker ante la lógica programada. A diferencia de un programa tradicional de consola en C++ o Python donde el flujo comienza en una función de entrada rígida como main(), GameMaker opera impulsado por eventos que reaccionan a ciclos temporales y estímulos del sistema.
Los tres eventos cardinales que gobernarán a nuestro futuro héroe de plataformas son:
- Evento Create: Se ejecuta una única vez en el preciso instante en que la instancia nace dentro de la room. Es el lugar exclusivo donde definimos y preparamos las variables iniciales (por ejemplo, la velocidad máxima, la gravedad asignada o los puntos de salud).
- Evento Step: Se ejecuta continuamente en cada fotograma del juego (a 60 veces por segundo). Es el corazón latente de la entidad: aquí leemos si el usuario tiene una tecla pulsada, actualizamos las coordenadas espaciales y evaluamos colisiones.
- Evento Draw: Se encarga de proyectar visualmente la entidad en pantalla. Por defecto, GameMaker dibuja el sprite asignado de forma automática, pero este evento permite añadir efectos visuales a medida, dibujar sombras personalizadas o renderizar barras de vida flotantes.
💡 Consejo metodológico: La paciencia y la atención al detalle son las mayores virtudes del desarrollador de videojuegos. Los errores de programación (bugs) son parte natural del proceso. A lo largo del curso aprenderemos no solo a escribir código funcional, sino a leer con serenidad los mensajes del compilador para diagnosticar y corregir problemas de forma analítica.
Ejercicios de asimilación y afianzamiento
Para consolidar los conocimientos adquiridos en esta primera lección, realiza las siguientes tres actividades conceptuales y analíticas:
1. Análisis de descomposicion de géneros 2D: Selecciona uno de tus videojuegos bidimensionales favoritos (ya sea de los citados como Undertale o Spelunky, o cualquier clásico que conozcas). Redacta en un documento o cuaderno una lista desglosada con al menos 4 elementos clave que componen su ciclo de juego: a) ¿Qué hace el personaje principal en el evento Step continuo? b) ¿Qué elementos del escenario representan instancias sólidas? c) ¿Qué elementos actúan como coleccionables? y d) ¿Qué información muestra su interfaz o HUD de manera permanente?
2. Distinción conceptual entre Objeto e Instancia: Explica con tus propias palabras la diferencia práctica entre un Objeto y una Instancia en GameMaker utilizando una analogía cotidiana fuera de la informática (por ejemplo, el plano de una casa frente a las casas construidas en un vecindario, o un molde de repostería frente a las galletas horneadas). ¿Por qué sería un grave error de diseño crear un objeto nuevo para cada una de las 100 monedas que pueblan un nivel?
3. Identificación del ciclo de actualización (Game Loop): Si un videojuego en GameMaker está configurado para operar a una velocidad estándar de 60 fotogramas por segundo (Game Speed = 60), calcula exactamente cuántas veces se ejecutará el código contenido dentro del evento Step de un enemigo en el transcurso de un minuto de juego ininterrumpido. Comprueba tu cálculo multiplicando los 60 ciclos por segundo por los 60 segundos del minuto (3600 ejecuciones por minuto). Reflexiona: ¿por qué es crítico que las operaciones matemáticas complejas dentro del evento Step se mantengan ligeras y optimizadas?
Resumen
- GameMaker es un motor y entorno de desarrollo integrado (IDE) optimizado nativamente para videojuegos en dos dimensiones, eliminando barreras técnicas complejas de bajo nivel.
- Nacido en 1999 de la mano de Mark Overmars y continuado por YoYo Games y Opera, cuenta con un probado historial en la industria con títulos de referencia como Undertale, Hotline Miami y Katana Zero.
- El ecosistema del motor se vertebra en recursos interconectados: Sprites (gráficos), Objetos (lógica abstracta), Instancias (entidades vivas en coordenadas) y Rooms (escenarios interactivos).
- GML Code es el lenguaje formal de programación textual del motor; ofrece alta flexibilidad, portabilidad y lectura clara, superando a largo plazo el sistema de bloques GML Visual.
- La licencia Free actual permite el desarrollo completo, pruebas ilimitadas y publicación comunitaria en la plataforma web GX.games, siendo enteramente funcional para todo este programa de formación.
- A lo largo del curso desarrollaremos paso a paso un videojuego de plataformas retro 2D completo, aplicando las mejores prácticas de arquitectura de software y diseño de jugabilidad.
Practica lo aprendido
Ejercicio 1 · 1 punto
¿Cuál es la diferencia fundamental entre un Objeto y una Instancia en la arquitectura de GameMaker?
Ejercicio 2 · 1 punto
Relaciona cada componente del ecosistema de GameMaker con su descripción correspondiente según el texto:
- Sprite
- Room
- Asset Browser
- Instancia
Ejercicio 3 · 1 punto
Ordena cronológicamente los pasos que ejecuta GameMaker dentro de cada ciclo del bucle de juego (Game Loop), desde el inicio del fotograma hasta el final:
- 1Ejecución de eventos de renderizado visual (Draw) para pintar en pantalla
- 2Lectura de las entradas del usuario (teclado, ratón o gamepad)
- 3Disparo de los eventos de lógica y actualización (Step)
- 4Reproducción del audio correspondiente
- 5Evaluación de colisiones físicas
Ingresa para guardar tu progreso — Ingresar