# GameMaker

GameMaker (anciennement Game Maker) est une série de logiciels de développement de jeux vidéo créé par Mark Overmars et développé par YoYo Games depuis 2007.
La première version de GameMaker est sortie le 15 novembre 1999. Mark Overmars utilise ce logiciel pour enseigner la programmation de Jeu vidéo à l'Université de Utrecht (Pays-Bas).
GameMaker a été conçu pour permettre aux développeurs amateurs de créer leurs propres jeux vidéo sans devoir apprendre un langage de programmation avancé comme C++ ou Java. On le voit parfois désigné par ses initiales GM. L'interface est en anglais, mais simple d'utilisation, et utilise abondamment le glisser-déposer. Cette première version a été développée en Delphi.
Après la poursuite du développement par YoYo Games, le logiciel a évolué vers une version studio réécrite en C++ qui permet de développer sur plusieurs plateformes (Windows & MacOS, HTML 5, Android & iOS, Nintendo Switch, PlayStation & Xbox, Universal Windows Platform). Cette version sera d'abord intitulée GameMaker Studio, qui sera régulièrement mis à jour.
GameMaker Studio évoluera en GameMaker Studio 2. Sorti en 2017, ce dernier apporte une refonte totale de l'interface et des ajouts de fonctionnalités majeures.
GameMaker Studio 2 est mis à jour en 2022 et est renommé simplement en GameMaker. Les versions sont désormais incrémentées selon l'année actuelle.

## Possibilités

GameMaker est très simple d'utilisation. On a deux possibilités pour créer des jeux ; le Drag and Drop (DnD) et le GameMaker Language (GML). On peut choisir ces modes lorsque l'on crée un projet. Le DnD permet de coder en langage graphique, il est donc conseillé aux débutants. L'interface du programme est en anglais.
Les possibilités offertes par cette application sont très larges. Tous les genres de jeux (plate-forme, action, réflexion, RPG, aventure...) peuvent être réalisés. Il est également possible d'utiliser des graphismes 2D ou bien 3D. Le jeu créé peut même être multijoueur en ligne. Il est aussi possible de créer des utilitaires avec GameMaker.
La connaissance de la programmation n'est pas nécessaire pour commencer à créer des jeux. GameMaker a été conçu pour faciliter le travail d'organisation de l'ensemble des ressources faisant partie d'un projet de jeu. L'interface fait un large appel au glisser-déposer d'icônes pour définir les événements et les actions associées à ces évènements. D'autres icônes permettent de travailler avec des variables et effectuer des tests logiques simples.
Certains jeux amateurs commencent à tirer parti de la compilation multiplateforme. They need to be fed par exemple, a été créé sous Game Maker.
GameMaker regroupe les actions dans des bibliothèques. Les bibliothèques d'actions sont visibles sous forme d'onglets dans l'éditeur des propriétés d'un objet (il y en a 6 en mode simple et 7 en mode avancé). De nombreux utilisateurs ont créé des bibliothèques supplémentaires à l'aide d'un programme spécial mis au point par Mark Overmars.
GameMaker intègre son propre langage de script, le GML (GameMaker Langage), dérivé du Delphi qui permet d'insérer des éléments de code ou d'écrire des scripts. Au départ, ce langage a été développé pour étendre le système des glisser-déposer utilisé pour programmer. Dans les versions les plus récentes de GameMaker, ce sont les actions "glisser-déposer" qui sont basées sur le GML et non le contraire.
GameMaker permet aussi d'utiliser des DLL (écrits en C, C++, Pascal, Delphi, Visual Basic...) pour étendre ses fonctions (utilisation de la webcam, des bibliothèques OpenGL,...).

## Communauté francophone

GameMaker est utilisé partout dans le monde, et a reçu un accueil favorable par les développeurs francophones de jeux amateurs même si son interface est en anglais (qu'on peut rendre en français grâce à des extensions). D'anciennes versions (5.3a) ont été traduites en français.
De nombreux jeux créés avec GameMaker sont disponibles sur le net, ainsi que des tutoriels en français (et dans d'autres langues).
Le site officiel propose une traduction française de la documentation et du fichier d'aide. Le site officiel met aussi à disposition des traductions de la documentation ou du fichier d'aide en allemand, espagnol, grec, hollandais, hongrois, japonais, portugais, russe et turque.
GameMaker est disponible officiellement en français depuis une mise à jour de GameMaker Studio 2, en 2019.

## Historique des versions
### GameMaker

Le moteur 3D de GameMaker s'est amélioré au fil des années mais reste assez sommaire (mais suffisant pour des jeux d'une qualité comparable à la N64 ou la PlayStation), toutefois il existe des moteurs 3D externes plus performants utilisables avec GameMaker, tels qu'Xtreme 3d ou Ultimate 3D.
Le moteur 2D, quant à lui, est devenu plus rapide dans le domaine graphique et permet d'utiliser des fonctions alpha et blending pour les sprites du jeu (tout comme la version 6).
| Version 1.1 | Cette première version a commencé à être conçue durant l'été 1999, et a été rendue publique le 15 novembre 1999. Il n'existe pas de version 1.0, étant donné que ce logiciel a été conçu originellement pour la création simplifiée d'animations en 2 dimensions. Son nom était alors Animo. Cette première version permettait déjà la création de jeu via le drag and drop, des icônes visuelles remplaçant les fonctions et actions des langages de développement informatique habituels. Cette version n'utilisait pas encore DirectX, il n'était donc pas possible de créer des exécutables et jouer aux jeux créés nécessitait de les lancer directement du logiciel. |
| Version 1.4 | Cette version a été un pas important dans l'histoire de GameMaker. Elle a permis la création d'exécutables propres à chaque jeu, l'apparition de nouvelles fonctions pour le développement, les tâches d'édition comme copier-coller ou insérer ont vu le jour, et il a été possible de travailler avec du texte, et non plus uniquement des images. |
| Version 2.0 | Sortie en septembre 2000, cette version a apporté la gestion de DirectX au niveau sonore, les objets (ou instances) ont désormais une profondeur qui leur est propre, le moteur interne a été optimisé pour être deux fois plus rapide, il est possible de tester son jeu dans une fenêtre séparée. L'interface a été légèrement remaniée et la documentation en grande partie réécrite, afin de prendre en compte toutes les nouvelles fonctions incluses au fil des versions. |
| Version 3.0 | Sortie début 2001, cette version a également été une étape importante dans le processus de développement de GameMaker. C'est la première version à utiliser DirectX pour toutes les opérations graphiques. Elle a aussi apporté (entre autres choses) le support du plein écran (fullscreen), l'écran de chargement (splash-screen), le support du mp3 pour les musiques, les collisions précises (au pixel près), et un nouveau système de fichier, simplifiant et cryptant les données du jeu. |
| Version 4.0 | Sortie en juin 2001. Pour cette version, l'auteur a complètement réécrit le code source de GameMaker, permettant une refonte de l'interface, pour plus de clarté. Le logo a été re-coloré en rouge, couleur inchangée depuis cette version. Il est à noter que cette version n'est pas compatible avec les fichiers des anciennes versions. |
| Version 5.0 | Sorti en avril 2003. Cette version marque l'abandon du support de Win95. L'interpréteur pour les codes créés directement en GML a été optimisé, le rendant 5 fois plus rapide, et le support de deboggage a été amélioré. La création de bibliothèques personnalisée permettant d'ajouter de nouvelles icônes en drag-and-drop est désormais possible, le principe des chronogrames (timelines) et les structures de fichiers, comme la pile de données ou premier entrée-premier sorti (FIFO), ont été incorporés. Les exécutables sont maintenant plus légers et chargent plus vite. |
| Version 6.0 | Sorti en octobre 2004. Le moteur graphique de cette version a été réécrit, de manière à utiliser Direct3D. Il en résulte une meilleure finesse graphique, de nouvelles fonctions d'édition graphique (comme le blending ou une meilleure gestion des canaux alpha) et l'apparition d'un moteur 3D. Le moteur sonore a également été revu, pour une meilleure restitution des sons et pour permettre l'utilisation du son 3D. GameMaker nécessite désormais une carte 3D et 16MB de mémoire vive, et la compatibilité avec les anciennes versions n'est pas complète. Il en résulte que certains utilisateurs préfèrent encore utiliser la version 5.3. |
| Version 7.0 | Cette version a été conçue principalement pour des raisons de compatibilités avec le système d'exploitation Windows Vista, notamment pour la compilation des jeux et des DLLs .GameMaker utilise maintenant Direct3D, ce qui permet un usage limité de graphiques et de modèles 3D. Il existe des convertisseurs lui permettant d'utiliser les formats 3D les plus courants, par exemple .3ds, dans un projet 3D. La dernière version de GameMaker permet de créer facilement certains effets de particules comme la pluie, la neige ou les nuages. |
| Version 8.0 | Cette version est sortie en hiver 2009. Elle apporte une cinquantaine d'améliorations importantes à GameMaker 7, comme un véritable canal alpha pour les sprites et des nouvelles options de dessin. On note aussi que le temps de démarrage des jeux est moins important. Encore une fois, le logiciel est disponible en version d'essai gratuite et en version Professionnel pour 40 dollars américains (20 dollars au début de son lancement). |
| Version 8.1 | Cette version est sortie le 15 avril 2011. Elle contient les mises à jour des fonctions de la version 8.0. Elle a été annoncée le 21 mars 2011. La version payante de GameMaker s'appelle «Standard» et la version gratuite s'appelle «Lite». Dernière version avant la version Studio. |

#### GameMaker Studio, GameMaker Studio 2 et GameMaker "2022.x"

Il y a eu refonte depuis ces premières versions pour basculer vers la version "Studio", avec de nouvelles numérotations.
| Version 1 | Disponible en beta dès mars 2012, sortie officielle le 22 mai 2012. Codée en C++ |
| Version 2 | Disponible à partir de 2017, remplacée en 2022. |
| GameMaker | Refonte graphique de GameMaker Studio 2 avec des ajouts de fonctionnalités. Disponible depuis 2022. |

## Mode de distribution
### GameMaker (2003-2012)

Le logiciel était disponible en version "Lite" ou "Standard" (anciennement "Free version" ou "Full version/Pro version" avant la version 8.1).
* La version "Lite" était gratuite, elle était suffisante pour commencer la création de jeux, et sa durée d'utilisation était illimitée.
* La version "Standard" était payante (40 USD), elle rajoutait plusieurs éléments intéressants au logiciel, tel que les fonctions 3D ou en ligne.
Les jeux créés avec GameMaker, que ce soit la version gratuite ou payante, sont libres de droits, et peuvent être commercialisés (mais en général les créateurs proposent leurs jeux gratuitement). Certains jeux conçus avec GameMaker furent publiés sur smartphones par YoYo Games.

### GameMaker Studio (2012-2017)

GameMaker Studio permettait de créer des exécutables sur plusieurs plateformes telles qu'iOS, OSX et Android à partir de son PC, ce nouvel outil existait en trois versions :
* Standard (gratuite)
* Professional (payante 149,99 $)
* Master Collection (payante 799,99 $)
Avec la sortie de GameMaker Studio 2 en 2017, ces tarifs sont remplacés et GameMaker Studio (1.x) est retiré de la vente. Cependant, le logiciel est désormais donné gratuitement avec l'achat de GameMaker Studio 2.

### GameMaker Studio 2 (2017-2021)

Jusqu'en août 2021, YoYo Games proposait une gamme de 5 tarifications :
* (en) Free Trial (Essai gratuit), gratuite pendant 30 jours, pour tester le logiciel.
* (en) Creator (Créateur), à partir de 39$, pour programmer et publier sur PC et Mac.
* (en) Developer (Developeur), à partir de 99$, pour programmer et publier sur PC, Mac, mobiles, et Xbox.
* (en) Console (Console), à partir de 399$, pour programmer et publier sur les consoles Xbox, PS4 et Nintendo Switch.
* (en) Education (Éducation), licence spécifique pour l'enseignement.

### Distribution actuelle (2021-)

En août 2021, YoYo Games annonce changer de modèle de tarification pour un modèle avec abonnement. Il y a désormais trois abonnements disponibles:
* Free (Gratuit), gratuit mais ne permettant l'exportation de projets que sur le service GX.games d'Opera.
* Creator, 4,25€/mois ou 42,50€/an et permettant l'exportation vers Windows, MacOS & Linux en plus de ce que permet l'offre Free.
* Indie, 8,19€/mois ou 84,99€/an et permettant l'exportation vers Android, iOS, HTML5 & UWP en plus de ce que permet l'offre Creator.
* Enterprise, 67,99€/mois ou 679,99€/an et permettant l'exportation vers les consoles Xbox One, Xbox Series XS, PlayStation 4, PlayStation 5 et Nintendo Switch en plus de ce que permet l'offre Indie.
Ces tarifications sont disponibles sur le site officiel de YoYo Games.

## YoYo Games

Le 27 janvier 2007, Mark Overmars annonça qu'il allait travailler avec une entreprise anglaise nommée YoYo Games. Ce qui a motivé ce partenariat est l'espoir d'un développement plus rapide de GameMaker, ainsi qu'un meilleur site web pour ses utilisateurs. Le site web est une communauté dans laquelle les utilisateurs peuvent télécharger et partager leurs jeux, et passer en revue les autres jeux téléchargés sur le site. YoYo Games distribue GameMaker 7 depuis le 28 avril 2007, et les visiteurs de l'ancien site officiel sont maintenant redirigés vers le site de YoYo Games. Depuis peu, YoYo Games a instauré des concours de création de jeux vidéo. Les utilisateurs ont plusieurs mois pour créer un jeu en relation avec un thème donné. Les résultats des deux premiers concours ont été annoncés.