Création de jeux avec Game Maker
Scripts
Game Maker comprend un langage intégré de programmation. Une fois que vous connaî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 vous donnerez un nom. Ils sont affichés dans l'arbre des ressources et peuvent être sauvegardés en tant que fichier pour bien entendu être rechargés ultérieurement. Ils peuvent aussi être employés pour 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 utiliser soit 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 vous appellerez 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 pouvez aussi indiquer que vous souhaitez utiliser un éditeur externe). En haut à droite, vous mentionnerez le 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 être paramé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 pour les 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 sera vé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'éditeur sait reconnaître les objets existants, les variables et les fonctions intégrées du langage, etc. La colorisation du code aide beaucoup dans la recherche des erreurs. En particulier, vous pourrez voir immédiatement si 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 les deux é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 sous forme de librairie, utilisez Export scripts. Les librairies de scripts sont de simples fichiers textes (malgré qu'elles portent l'extension .gml). Il est cependant préférable de ne pas les éditer directement avec un éditeur externe car elles ont une structure spéciale. Certaines librairies avec de puissants scripts, sont déjà incluses avec Game Maker (afin d'éviter du travail inutile lors du chargement du jeu, après l'importation d'une librairie, il est très conseillé de supprimer les scripts que vous n'utilisez pas).
Quand vous créez des scripts, vous pouvez très facilement commettre des erreurs. Il faut toujours tester les scripts en utilisant le bouton ad'hoc. Lorsqu'une erreur survient pendant l'exécution d'un script, cela est mentionné, 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 Windows ou bien dans le matériel. La raison est due à une boucle récursive infinie, un manque de mémoire ou à cause d'un maté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 étape et même relancer son exécution. Dans le menu Watch, vous pourrez surveiller la valeur de certaines expressions. Utilisez Add pour entrer une expression dont la valeur sera affichée à chaque étape du jeu. De cette manière, vous pouvez voir si le jeu réalise les choses correctement. Vous pouvez surveiller plusieurs expressions. Vous pouvez les sauvegarder pour 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 liste de 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 devriez vraiment apprendre à utiliser les options de déboguage (debug options).
<< Traduction française par Philippe Ragni - (2005) >>
Alternative versions
Also available in:
Download helpfile