# GameMaker

GameMaker (oorspronkelijk genaamd Animo tot 1999, Game Maker tot 2011, GameMaker tot 2012 en GameMaker: Studio tot 2018, GameMaker Studio tot 2022) is een game-engine waarmee spellen ontworpen kunnen worden. Het programma is oorspronkelijk ontwikkeld door Mark Overmars (voormalig hoogleraar aan de Universiteit Utrecht) en wordt momenteel ontwikkeld en gepubliceerd door YoYo Games.
Het programma biedt de gebruiker twee manieren van programmeren: enerzijds kan men door icoontjes te slepen en los te laten (Drag and Drop in het Engels) bepaalde acties laten uitvoeren door het programma. Anderzijds kan men ook gebruikmaken van de ingebouwde scripttaal: GameMaker Language.

## Kenmerken

GameMaker Studio is een krachtige, visuele game-engine waar 2D spellen mee kunnen worden gemaakt voor verschillende platforms. Gemaakte spellen kunnen gratis worden verspreid, maar mogen ook commercieel worden aangeboden. Hoewel GameMaker Studio de officiële naam is van het programma, is de naam GameMaker onder gebruikers en beheerders nog steeds in zwang. Dit komt onder andere tot uitdrukking door de naam van de Marketplace; officieel heet deze de GameMaker: Marketplace.

### GameMaker Language

De gebruiker kan programmeren met de ingebouwde Drag and Drop acties, ook wel DnD genoemd, dat een visuele taal is. Dit zijn kleine icoontjes die van plaats kunnen worden versleept (Drag) en weer kunnen worden neergezet (Drop). Dit is een intuïtieve manier van programmeren, wat vaak aan te raden is voor beginners. Ook kan de gebruiker de ingebouwde scripttaal gebruiken, genaamd GameMaker Language. Sinds GameMaker Studio 2 is het mogelijk om tussen beide te wisselen, zodat de overgang tussen de twee zo klein mogelijk is.

### Editors

GameMaker Studio heeft een ingebouwde sprite editor (voor het bewerken van plaatjes) en een uitgebreide room editor (om objecten in een zogenaamde kamer te kunnen plaatsen). De laatstgenoemde bevat onder andere autotiling en path finding, waardoor het programma door zowel programmeurs als artiesten kan worden gebruikt om de leidende rol van een project op zich te nemen.

### Marketplace

De mogelijkheden van GML als scripttaal zijn beperkt, maar door introductie van de GameMaker: Marketplace (een online markt waar plaatjes, geluiden, code, projecten en dergelijks worden verhandeld) is het mogelijk extensies te (ver)kopen en toe te voegen aan een spel. Dit biedt spelers de mogelijkheid om extensies te schrijven in andere programmeertalen, waaronder Java en C++.

### Achterwaartse compatibiliteit

Oudere spellen die gemaakt zijn voor GameMaker 8 kunnen, dankzij achterwaartse compatibiliteit, worden geïmporteerd in GameMaker Studio, en daarna weer in GameMaker Studio 2. Er dienen wel kleine aanpassingen in een project te worden gemaakt omdat er tussentijds wel wijzigingen in de GameMaker Language zijn geweest.

## Geschiedenis

Hieronder volgt een overzicht van alle versies van GameMaker die er zijn geweest. Op dit moment is alleen GameMaker Studio 2 in ontwikkeling.

### Game Maker (1999 - 2015)

Oorspronkelijk was het programma ontwikkeld in Delphi door Mark Overmars. Het programma was tot versie 7.0 alleen beschikbaar voor Windows. Vanaf versie 7.0 was het programma ook beschikbaar voor Mac-gebruikers en werd toen 'GameMaker for Mac' genoemd.
| Versie | Datum | Beschrijving |
| 1.1 | november 1999 | Eerste uitgave: Animo, vooral bedoeld voor 2D animaties |
| 2.0 | september 2000 | Introductie van DirectX voor geluid |
| 3.x | januari 2001 | Introductie van DirectX voor het tekenen van het spel en precieze botsingen tussen objecten mogelijk |
| 4.x | juli 2001 | Geheel opnieuw uitgebracht, niet achterwaarts compatibel. Ook is multiplayer functionaliteit toegevoegd |
| 5.x | april 2003 | Facelift van uiterlijk van het programma, introductie van timelines, paths, particles, motion planning en tiles |
| 6.0 | oktober 2004 | Introductie van Direct3D, waardoor het mogelijk is ook 3D-spellen te maken en 3D-geluidseffecten toe te voegen |
| 6.1 | mei 2005 | Kant-en-klare effecten en 3D modellen inladen wordt ondersteund |
| 7.0 | februari 2007 | Het importeren van extensies zoals DLL's of GML-bestanden. Mark Overmars geeft het grootste deel van de ontwikkeling uit handen aan YoYo Games, maar blijft wel directeur |
| 8.0 | december 2009 | Wijzigingen in sprite editor en script editor |
| 8.1 | april 2011 | In de room-editor kan worden ingezoomd, fonts zijn dynamischer en de .exe bestanden hebben een betere encryptie. Verder is de naam gewijzigd naar GameMaker |
| 8.1.x | 2015 | Laatste versie van GameMaker |

### GameMaker: HTML5 (2011 - 2014)

Deze versie is origineel ontwikkeld naast GameMaker om spellen voor de browser in HTML5 te kunnen ontwikkelen. Het programma werd in beta uitgebracht op 22 september 2011. Toen kreeg het programma de bekende zwarte achtergrond, nog wel met een oranje tekst. Kort na de introductie van GameMaker Studio in 2012 is de functionaliteit van GameMaker: HTML5 verplaatst naar GameMaker Studio om alle exports op een plaats te hebben. Zodoende was GameMaker: HTML5 al snel overbodig. In 2014 is het programma officieel beëindigd.

### GameMaker: Studio (2012 - 2018)

In maart 2012 werd de publieke beta versie uitgebracht, waarna GameMaker: Studio op 22 mei 2012 officieel uitkwam. GameMaker: Studio heeft als grote voordeel dat games zonder al te veel aanpassingen voor verschillende platforms kan worden ontwikkeld, onder andere voor iOS, Android, Ubuntu en HTML5.
| Versie | Datum | Beschrijving |
| 1.0 | mei 2012 | Release van GameMaker: Studio |
| 1.1 | oktober 2012 | Ook beschikbaar via Steam. Verschillende toevoegingen voor mobiele spellen, zoals AdMob, Google Analytics, Facebook, Mopub en iAd |
| 1.1.x | november 2012 | Export naar Windows Phone 8 beschikbaar* |
| 1.1.x | maart 2013 | Export naar Linux beschikbaar |
| 1.1.x | mei 2013 | Export naar Tizen en Native Windows 8 beschikbaar* |
| 1.2 | augustus 2013 | Introductie van de YoYo Compiler waarmee spellen direct worden omgezet in de originele broncode. Spellen zijn hierdoor veel sneller. Introductie van shaders |
| 1.3 | mei 2014 | Extensies beschikbaar voor iOS en Android, debugger vernieuwd, Spine support, pushberichten. Export naar PlayStation®4, PlayStation®Vita and PlayStation®3 beschikbaar. Het exporteren vereist wel een developersaccount bij PlayStation |
| 1.3.x | februari 2015 | Overname van YoYo Games door Playtech |
| 1.4 | september 2014 | Export naar Xbox One beschikbaar. Introductie van de GameMaker: Player* en de GameMaker: Marketplace |
| 1.4.9999 | oktober 2018 | Laatste versie van GameMaker: Studio |
* Inmiddels niet meer beschikbaar.

### GameMaker Studio 2 (2017 - heden)

De eerste beta versie van GameMaker Studio 2 (ook wel afgekort als GMS2) kwam uit in november 2016, en de volledige versie volgde in maart 2017. De hele IDE van het programma is herschreven in C# en verschillende editors zijn flink verbeterd. Ook is ten opzichte van de vorige versie de dubbele punt uit de naam verwijderd.
| Versie | Datum | Beschrijving |
| 2.0 | maart 2017 | Release van GameMaker Studio 2 |
| 2.1 | augustus 2017 | Ook beschikbaar voor Mac-gebruikers. Debugger is verbeterd en IDE is flink onderhanden genomen |
| 2.1.4 | mei 2018 | GameMaker Studio is beschikbaar (naast het Engels) in het Frans, Duits en Spaans |
| 2.2 | oktober 2018 | Export naar Nintendo Switch beschikbaar |
| 2.2.3 | juli 2019 | Export naar TvOS beschikbaar |

## Licenties

Er zijn voor GameMaker Studio 2 verschillende licenties beschikbaar.
| Licentiesoort | Licentiesoort | Publiceren voor | Licentieduur |
| Trial | Trial | Niets* | Altijd |
| Creator | Creator | Windows, Mac | 12 maanden |
| Developer | Desktop | Windows, Mac, Ubuntu | Altijd |
| Developer | Fire | Amazon Appstore | Altijd |
| Developer | Web | HTML5 en Instant Facebook Games | Altijd |
| Developer | Mobile | Android, iOS en Amazon | Altijd |
| Developer | UWP | Universal Windows Platform (Windows 10) | Altijd |
| Console** | UWP | Universal Windows Platform (Windows 10) | Altijd |
| Console** | Nintendo Switch | Nintendo Switch | 12 maanden |
| Console** | Playstation 4 | PlayStation 4 | 12 maanden |
| Console** | Xbox One | Xbox One | 12 maanden |
| Console** | Ultimate | Alle exports | 12 maanden |
| Education | Education | Desktop, Web, Mobile en UWP | 12 maanden |
*Gratis, maar er kan geen speelbare demo worden gemaakt en het aantal plaatjes, geluiden en objecten is ingeperkt.
**Kan alleen worden aangeschaft als de Desktopversie van Developer al gekocht is.

## Systeemeisen

De volgende specificaties zijn benodigd voor het gebruik van GameMaker Studio 2:
Systeemeisen voor Windows:
* 64 bit dualcore-CPU of beter
* Microsoft Windows 7 (64 bit, Service Pack 1) of hoger
* 2 GB RAM-geheugen of meer
* Grafische kaart met minimaal DirectX 11-ondersteuning
* Minimaal 3 GB vrije schijfruimte
* Internetverbinding
Systeemeisen voor MacOS:
* OS X Sierra of hoger
* 2 GB RAM-geheugen of meer
* Minimaal 3 GB vrije schijfruimte
Aanvullende eisen, apparaten en bijbehorende programma's kunnen nodig zijn om spellen uit te brengen op overige platforms.

## Community

GameMaker heeft ook een eigen Engelstalige community. Binnen deze community worden discussies gevoerd over de mogelijkheden van het programma, daarnaast worden beginners en gevorderden geholpen met hun vragen. Tevens zijn hier afgewerkte en WIP (Work In Progress) spellen te vinden, evenals vele voorbeelden, tutorials en websites gerelateerd aan GameMaker. Los hiervan bestaat er ook een Nederlandstalige community.
Tevens zijn er in het buitenland talloze websites en fora waar over GameMaker gesproken wordt, waaronder op Reddit en op internetfora.

## Kritiek

Het programma heeft een waardering van 8,5 / 10 gekregen op Mod DB op basis van 228 gebruikersreviews. GameMaker Studio wordt geroemd om zijn handige sprite- en room editor, de flexibiliteit en de handige gebruikersomgeving. Als kritiek wordt genoemd dat het programma vaak achterloopt, instabiel is, veel bugs bevat en belangrijke basisfunctionaliteit mist.
In het verleden is er enkele malen data ontvreemd van het forum dat wordt beheerd door YoYo Games. Sinds in 2016 is overgegaan op een nieuw forum heeft dit probleem zich niet meer voorgedaan.