# GameMaker Studio

GameMaker (anteriormente llamado Animo, Game Maker y GameMaker Studio) es una plataforma basada en un lenguaje de programación interpretado y un kit de desarrollo de software (SDK) para desarrollar videojuegos, creada originalmente por el profesor Mark Overmars en el lenguaje de programación Delphi, y orientada a usuarios novatos o con pocas nociones de programación. El programa es de pago, aunque existe una versión de prueba con todas las características, durante 30 días. Overmars hizo pública la primera versión del programa el 15 de noviembre de 1999. Actualmente el programa es de uso gratuito luego de que la empresa desarrolladora YoYo Games fuera adquirida por la empresa Opera.

## Historia
### Animo

Originalmente titulado Animo, el programa fue lanzado por primera vez el 15 de noviembre de 1999, y comenzó cuando Mark Overmars empezó a crear una herramienta de animación para ayudar a sus estudiantes. Con el tiempo su proyecto se convirtió en una herramienta de desarrollo de videojuegos.

### Game Maker

El 2 de octubre de 2004 Game Maker 6.0 es publicado. Esta nueva versión utiliza Direct3D, por lo que es posible también realizar juegos en 3D y añadir efectos 3D. En lugar de los archivos de datos que ahora es posible añadir fuentes. Estos pueden ser usados en el juego.
El 27 de mayo de 2005 es publicado Game Maker 6.1. Esta versión añade algunas nuevas características y corrige una serie de errores. Por ejemplo, una nueva acción disponible, por lo que es posible proporcionar efectos ya hechos. Además, los modelos 3D pueden ser importados a través de "convertidores".
El 28 de febrero de 2007 es publicado Game Maker 7.0. La principal característica es la capacidad de usar extensiones de importación fácil, por lo que el programa se puede ampliar con relativa facilidad a través de DLL o archivos GML. También desde Game Maker 7.0, el programa sólo se puede obtener a través del sitio web de YoYo Games.
El 20 de septiembre de 2009 fue publicada la versión 8.0 de Game Maker. Todos los videojuegos desarrollados con esta versión dejaron de funcionar a finales de octubre de 2009.
El 16 de noviembre de 2009 se publicó una segunda release candidate.
El 22 de diciembre de 2009 fue publicada la versión final de Game Maker 8.0.
El 11 de agosto de 2010, Game Maker 7.0 también está disponible para los usuarios de Mac.
El 15 de abril de 2011 fue publicado GameMaker 8.1, el cual hasta el 1 de junio de 2011 podía ser actualizada gratuitamente por usuarios de pago del GameMaker 8.0.
El 22 de septiembre de 2011 fue lanzada la versión beta de Game Maker, llamada GameMaker: HTML5, en forma diferente, que podía compilar juegos listos para HTML5.

### GameMaker Studio

El 22 de mayo de 2012, GameMaker Studio es lanzado. Este programa proporciona, además del desarrollo de videojuegos para Microsoft Windows y Mac, la capacidad de crear juegos para iOS, Android y Debian. Además, ahora es posible crear juegos para el navegador web, usando HTML5.
El 2 de octubre de 2012, GameMaker Studio es publicado en Steam.
El 21 de noviembre de 2012, GameMaker Studio permite crear juegos para Windows Phone 8.
Desde el 13 de marzo de 2013, las exportaciones a Linux está disponible en el módulo de exportación de Ubuntu.
El 13 de mayo de 2013, es posible compilar juegos para Tizen.
El 19 de marzo de 2014, GameMaker Studio tiene la capacidad de crear juegos para PlayStation 4, PlayStation 3 y PlayStation Vita. La exportación requiere una cuenta de desarrollador con PlayStation.
El 11 de agosto de 2014, YoYoGames, Ltd. anuncia que se ha puesto en marcha una asociación con Microsoft. Esto hace que sea posible compilar con GameMaker Studio desde septiembre de 2014 para Xbox One.
El 18 de mayo de 2015, YoYoGames anuncia que deja de venderse la versión 8.1 de GameMaker, pudiendo sólo adquirirse la versión Studio.

### GameMaker Studio 2

En noviembre de 2016, YoYoGames lanza la primera versión beta de GameMaker Studio 2.
El 29 de junio de 2017, YoYoGames lanza la primera versión beta de GameMaker Studio 2 para Mac.

## Características

El programa está diseñado para permitir a sus usuarios desarrollar fácilmente videojuegos sin tener que aprender un lenguaje de programación como C++ o Java. Para los usuarios experimentados Game Maker contiene un lenguaje de programación de scripts llamado Game Maker Language (GML), que permite a los usuarios personalizar aún más sus videojuegos y extender sus características. Los videojuegos pueden ser distribuidos bajo cualquier licencia sujeta a los términos del EULA de Game Maker, en archivos binarios ejecutables ".exe", paquetes Android ".apk", y conjuntos de script HTML5, como código fuente con extensión .gmx (GM: Studio y GM: HTML5), .gm81 (Versión 8.1), .gmk (versiones 7.x y 8.x), .gm6 (versión 6.x), .gmd (versiones 5.x y 4.x), y .gmf (versión 3 e inferiores). Los usuarios de Game Maker tienen permitido distribuir e incluso vender sus creaciones mientras cumplan con los términos del EULA de Game Maker, que prohíbe un número de programas ilegales como los que involucran uso no autorizado de material con derechos de autor o los que rompan la ley en general. Actualmente hay varios videojuegos creados con Game Maker que se venden en Steam, y otros que se distribuyen gratuitamente en Gamejolt.
La interfaz principal para el desarrollo de videojuegos de Game Maker usa un sistema de «arrastrar y soltar», que permite a los usuarios que no están familiarizados con la programación tradicional crear videojuegos intuitivamente organizando íconos en la pantalla. Game Maker viene con un conjunto de bibliotecas de acciones estándar, que cubren cosas como movimiento, dibujo básico, y control simple de estructuras. Para extender la funcionalidad de arrastrar y soltar de Game Maker, los usuarios pueden construir bibliotecas de acciones personalizadas para agregar nuevas acciones a sus videojuegos. Estas pueden ser creadas (generalmente por usuarios más avanzados) usando la herramienta de generación especial de bibliotecas.
GameMaker usa su propio lenguaje de programación, Game Maker Language (GML), influenciado principalmente por el lenguaje C y Pascal, con el que se pueden conseguir videojuegos complejos, pues aunque Game Maker está diseñado para la creación de videojuegos en 2 dimensiones, usando GML se pueden conseguir videojuegos 3D avanzados tales como un videojuego de disparos en primera persona (FPS).
El desarrollo de un videojuego es simple, al basarse en el manejo de:
* Recursos (gráficos, sonidos, fondos, etc.) que se asignan a objetos.
* Eventos (presionar una tecla, mover el ratón, etc.) a través de los que se ejecutan comandos.
* Objetos, sobre los que se actúa en el videojuego.
Las acciones del videojuego se pueden programar de dos formas distintas:
* La interfaz drag & drop («arrastrar y soltar»): el programador arrastra «cajas» a una lista; cada una de esas "cajas" realiza una determinada acción. Se gana en facilidad de manejo, a cambio de una menor flexibilidad y potencia.
* El lenguaje GML (Game Maker Language): es el lenguaje de programación propio de Game Maker, más potente, con el que se puede acceder a todas las funciones y posibilidades de Game Maker.
La sintaxis de la programación en GML es muy flexible, es indiferente la forma en la que se aplican algunas reglas a la sintaxis, y entre ellas están:
* Posibilidad de incluir o no el punto y coma (";") al final de cada línea.
* Delimitar bloques de código con begin y end o con llaves ("{" y "}").
* Operador de igualdad, es indiferente si se usa un doble igual ("==") para leer el valor de una variable o para escribir un valor.
Game Maker no compila los ejecutables de los juegos, sino que pasa el código por su propio intérprete para formar los ejecutables de los juegos. Por ello, no resulta muy eficiente para grandes proyectos. Overmars ha confirmado que no piensa compilar jamás el GML.
A partir de la versión 6.1 se empezó a usar Direct3D para los gráficos, lo cual resultó en una baja de velocidad en los juegos en comparación con la versión 5.3a, que utilizaba DirectDraw. También hay soporte para bibliotecas de enlace dinámico hechas en C++, Delphi y Pascal, y se pueden crear videojuegos 3D o con soporte multijugador, entre otras funcionalidades.
Game Maker ha atraído un número sustancial de usuarios; principalmente porque permite es accesible tanto para los usuarios principiantes, como para los usuarios más avanzados que realizan tareas más complejas. No está limitado en la creación de videojuegos como otros programas, pues admite la creación de diversos géneros de videojuegos, incluyendo videojuegos de plataformas, disparos en primera persona, disparos en tercera persona, videojuegos multijugador, videojuegos de rol y videojuegos de simulación. También es posible crear aplicaciones de otros tipos con Game Maker debido a la flexibilidad que brinda.

## Ediciones

Existen tres ediciones del programa. La edición Standard es gratuita e incorpora la mayoría de las funciones del programa. La edición Professional es de pago y añade varias funcionalidades avanzadas, como la posibilidad de incluir extensiones (bibliotecas de enlace dinámico, funcionalidades de Android o de iOS), gráficos 3D, partículas y funciones de dibujo avanzadas, entre otros, como la posibilidad de exportar a más sistemas operativos, como Android, mediante la compra del módulo individual. La edición Master Collection incluye absolutamente todos los módulos disponibles para la Professional, incluyendo el YoYoCompiler, exportación para PSVita, PlayStation 3 , PlayStation 4 y Xbox One. En la edición Standard se muestra una pequeña marca de agua diciendo Made in GameMaker Studio («hecho en GameMaker Studio», en inglés), mientras que en las ediciones "Professional" o "Master Collection" esta imagen no se muestra.

## Juegos notables creados con GameMaker Studio

| Título | Fecha de lanzamiento | Plataforma |
| Pokémon Reloaded | 9 de julio de 2007 | Microsoft Windows |
| Spelunky | 21 de diciembre de 2008 | Microsoft Windows, OS X, PlayStation 3, PlayStation 4, PlayStation Vita, Xbox 360 |
| Hotline Miami | 23 de octubre de 2012 | Microsoft Windows, OS X, Linux, PlayStation 3, PlayStation 4, PlayStation Vita, Android |
| Gunpoint | 3 de junio de 2013 | Microsoft Windows, OS X |
| Perfection | Junio de 2013 | Microsoft Windows, OS X, Linux, Android |
| Risk of Rain | 8 de noviembre de 2013 | Microsoft Windows, OS X, Linux, PlayStation Vita |
| Savant - Ascent | 4 de diciembre de 2013 | Microsoft Windows, OS X, Linux |
| Samurai Gunn | 11 de diciembre de 2013 | Microsoft Windows, OS X, Linux |
| Nidhogg | 13 de enero de 2014 | Microsoft Windows, OS X, PlayStation 4, PlayStation Vita |
| Gods Will Be Watching | 24 de julio de 2014 | Microsoft Windows, OS X, Linux |
| Cubesis | Agosto de 2014 | Microsoft Windows |
| Step | Enero de 2015 | Microsoft Windows, OS X |
| One Night at Flumpty's | 28 de enero de 2015 | Android, iOS,Microsoft Windows |
| Blackhole | 27 de febrero de 2015 | Microsoft Windows, OS X, Linux |
| See No Evil | Marzo de 2015 | Microsoft Windows |
| Hotline Miami 2: Wrong Number | 10 de marzo de 2015 | Microsoft Windows, OS X, Linux, PlayStation 3, PlayStation 4, PlayStation Vita |
| Maddening Overload | Abril de 2015 | PlayStation 4 |
| Uncanny Valley | 25 de abril de 2015 | Microsoft Windows |
| Samurai Blitz | Julio de 2015 | iOS |
| Orbit | 30 de septiembre de 2015 | Microsoft Windows, OS X, Xbox One |
| Undertale | 15 de septiembre de 2015 | Microsoft Windows, PlayStation 4, PS Vita, Nintendo Switch |
| Crappy Bird Invasion | 19 de octubre de 2015 | Android, iOS |
| Nuclear Throne | 5 de diciembre de 2015 | Microsoft Windows, OS X, Linux, PlayStation 3, PlayStation 4, PlayStation Vita, Xbox One |
| One Night at Flumpty's 2 | 8 de febrero de 2016 | Android, iOS,Microsoft Windows |
| DEADBOLT | Marzo de 2016 | Microsoft Windows, OS X, Linux |
| Hyper Light Drifter | 31 de marzo de 2016 | Microsoft Windows, OS X, Linux, PlayStation 4, PlayStation Vita, Xbox One |
| Death's Gambit | 14 de agosto de 2018 | Microsoft Windows, PlayStation 4 |
| Orphan | 30 de octubre de 2018 | Microsoft Windows, PlayStation 4, Xbox One |
| Deltarune | 31 de octubre de 2018 | Microsoft Windows, Nintendo Switch, PlayStation 4, Mac OS |
| Faith of Fate | 19 de junio de 2019 | Microsoft Windows |
| Metal Slug SB Fanthology | 18 de febrero de 2020 | Microsoft Windows |
| Rayman Redemption | 19 de junio de 2020 | Microsoft Windows |
| Rayman Redesigner | Febrero de 2021 | Microsoft Windows |
| One Night at Flumpty's 3 | 31 de octubre de 2021 | Android, iOS, Microsoft Windows |