Game Maker comprend un langage intégré de programmation. Une fois que vousconnaîtrez suffisamment Game Maker et que vous souhaiterez l'utiliser encore plus à fond,vous devrez apprendre l'utilisation de ce langage. Il y a deux façons d'employer le langage.La première manière sera de créer des scripts. Ce sont des morceaux de code auquels vousdonnerez un nom. Ils sont affichés dans l'arbre des ressources et peuvent être sauvegardésen tant que fichier pour bien entendu être rechargés ultérieurement. Ils peuvent aussi être employéspour constituer une librairie qui étendra les possibilités de Game Maker. Alternativement,vous pouvez ajouter une action comprenant du code à certains événements en tapant du code à cet endroit.L'ajout d'actions contenant du code fonctionne exactement de la même manière que l'ajout de scriptsà deux différences près. Les actions de code ne possédent pas de nom et ne peuvent utiliser d'arguments.De plus, elles ont un champ particulier qui indique sur quels objets l'action doit s'appliquer.Pour tout le reste, vous entrez le code exactement de la même façon que pour les scripts.Aussi, nous nous concentrerons plus sur les scripts dans ce chapître.
Comme mentionné auparavant, un script est écrit en code GML (le langage de programmation intégré)et est destiné à effectuer une tâche particulière. Les scripts peuvent avoir des variables en entrée appelées arguments(parfois, on les appelle également paramètres). Pour exécuter un script à partir d'un événement, vous pourrez utilisersoit une action contenant du script ou employer du code. Dans le premier cas, vous indiquerez le nom du scriptà exécuter, en plus des cinq arguments maximum optionnels. Dans le second cas, ce sera la même chose mais vousappellerez une fonction en GML. Dans ce cas précis, il vous sera possible d'utiliser jusqu'à 16 arguments.Les scripts peuvent retourner une valeur. Cela est souvent utile pour élaborer des méthodes de calculs (mathematical methods).Le mot-clé return est utilisé à cet effet. Le code placé après ce mot-clé ne sera jamais exécuté !Lorsqu'un script retourne une valeur, vous pourrez aussi utiliser cette valeur comme fonction en fournissant des valeurs pour d'autres actions.
Pour ajouter un script dans votre jeu, choisissez Add Script à partir du menu Add menu. L'écran suivant apparaîtra alors(dans l'exemple, nous avons déjà ajouté un petit script qui initialise deux variables).
(Actuellement, il existe un éditeur de scripts intégré. Dans les préférences, vous pouvezaussi indiquer que vous souhaitez utiliser un éditeur externe). En haut à droite, vous mentionnerezle nom du script. Vous aurez à disposition un petit éditeur dans lequel vous pourrez taper le script.Veuillez noter qu'une liste de toutes les fonctions, des variables internes et des constantes, est affichée tout en bas.Ceci constitue une aide qui vous permettra de trouver l'instruction souhaitée. Vous pouvez double-cliquer sur une instruction pour l'ajouter dans la liste (ou encore utiliser la touche <Ctrl>P). L'affichage de cette liste peut êtreparamétrée pour s'afficher ou non toujours à partir des préférences. L'éditeur présente de nombreuses propriétés utiles,la plupart étant accessibles à partir de boutons (pressez le bouton droit de la souris pour obtenir des commandes supplémentaires) :
- Plusieurs Undo et Redo en pressant une touche ou par groupes (peut être modifié dans les préférences)
- Indentation automatique intelligente qui aligne avec la ligne précédente (peut être modifié dans les préférences)
- Gestion intelligente des tabulations qui se positionnent au prochain caractère (différent du caractère espace ) des lignes précédentes (peut être modifié dans les préférences)
- Utilisation de la touche <Ctrl>I pour indenter les lignes sélectionnées et des touches <Shift> <Ctrl>I pourles désindenter
- Couper et coller
- Recherche et remplacement
- Utilisation des touches <Ctrl> + up, down, page-up, ou page-down pour scroller sans modifier la position du curseur
- Utilisation de la touche de fonction F4 pour ouvrir le script ou la ressource dont le nom se trouve à la position du curseur (ne fonctionne pas pour les actions comprenant du code; marche uniquement dans les scripts)
- Sauvegarde et chargement de scripts comme fichiers textes
Il existe aussi un bouton avec lequel vous pourrez tester si la syntaxe du script est correcte.Tous les aspects, cependant, ne peuvent être testés à ce stade mais la syntaxe de votre script seravérifiée, de même que l'existence des fonctions utilisées.
Comme vous l'avez sans doute remarqué, certaines parties du texte du script sont en couleur. L'éditeursait reconnaître les objets existants, les variables et les fonctions intégrées du langage, etc. La colorisationdu code aide beaucoup dans la recherche des erreurs. En particulier, vous pourrez voir immédiatementsi vous avez mal orthographié certains noms de commandes ou utilisé un mot-clé en tant que variable. Cependant,la colorisation du code est assez lente. Dans les préférences du menu Fichier (file menu), il est possible d'autoriser /d'interdire la colorisation du code. Vous pourrez également ici modifier la couleur des différents composants des programmes(si quelque chose ne devait pas bien fonctionner avec cette fonctionnalité, appuyez deux fois sur F12, pour permuter entre lesdeux états de cette fonction). Vous pouvez aussi changer la police de caractères utilisée dans les scripts et le code.
Les scripts sont extrémement utiles afin d'étendre les possibilités de Game Maker. Cela suppose donc que vous conceviez vos scripts avec précaution. Les scripts peuvent être stockés dans des librairies qui seront ajoutées dans votre jeu. Pour importer une librairie,utilisez l'option Import scripts du menu Fichier (file menu). Pour sauver vos scripts sousforme de librairie, utilisez Export scripts. Les librairies de scripts sont de simplesfichiers textes (malgré qu'elles portent l'extension .gml). Il est cependant préférable dene pas les éditer directement avec un éditeur externe car elles ont une structure spéciale. Certaineslibrairies avec de puissants scripts, sont déjà incluses avec Game Maker (afin d'éviter du travailinutile lors du chargement du jeu, après l'importation d'une librairie, il est très conseillé de supprimerles scripts que vous n'utilisez pas).
Quand vous créez des scripts, vous pouvez très facilement commettre des erreurs. Il faut toujours testerles scripts en utilisant le bouton ad'hoc. Lorsqu'une erreur survient pendant l'exécution d'un script, cela estmentionné, avec une indication du type d'erreur commise et à quel endroit celle-ci se trouve. Il est très rare que vous puissiez voir une fenêtre avec le texte "Unexpected error occurred during the game" ("erreur inattendue rencontrée pendant le jeu" ). Ce message d'erreur indique qu'un problème est apparue dans Windowsou bien dans le matériel. La raison est due à une boucle récursive infinie, un manque de mémoire ou à cause d'unmatériel inadapté pour effectuer les opérations demandées, un problème de pilotes (drivers) ou encore de logiciel (firmware).Pour être plus clair, ces erreurs n'ont pas de liens directs avec des problèmes dus à l'environnement de GM. Si vous avez besoin de vérifier ces choses plus en détails, vous devrez lancer le jeu dans le mode de déboguage (debug mode).Un écran apparaîtra alors avec lequel vous pourrez obtenir beaucoup d'informations sur votre jeu.
A partir du menu Run, vous pouvez suspendre le jeu, l'exécuter étape par étapeet même relancer son exécution. Dans le menu Watch, vous pourrez surveiller la valeurde certaines expressions. Utilisez Add pour entrer une expression dont la valeur seraaffichée à chaque étape du jeu. De cette manière, vous pouvez voir si le jeu réalise les chosescorrectement. Vous pouvez surveiller plusieurs expressions. Vous pouvez les sauvegarderpour un usage ultérieur (ex: après que vous ayez fait une correction du jeu). Dans le menu Tools,vous trouverez des options pour avoir encore plus d'informations. Vous pourrez ainsi examiner la listede toutes les instances du jeu, surveiller toutes les variables globales (ce sont sans doute les plus importantes)et les variables locales d'une instance (vous pouvez utiliser soit le nom de l'objet ou l'ID de l'instance).Vous pourrez également voir les messages que votre code transmet en utilisant la fonction show_debug_message(str). Enfin, vous pourrez donner des commandes au jeu et modifier la vitesse de celui-ci. Si vous réalisez des jeux complexes, vous devriezvraiment apprendre à utiliser les options de déboguage (debug options).
<< Traduction française par Philippe Ragni - (2005) >>
« Les Lignes de Temps | La distribution de votre jeu »