Initiation � la cr�ation de Jeux Vid�os avec le logiciel GameMaker 6.1
Par Bast
Ressources du Tutoriel: ici
Nous allons voir dans ce tutoriel les bases de la cr�ation de jeux avec GameMaker. �tant un logiciel relativement complet et pourvu d�un tr�s grand nombre de fonctions, nous allons nous attarder uniquement sur celles qui nous serviront lors de ce tutoriel.
Nous allons pour cela cr�er un Jeu simple, de type Casse-brique, qui ressemblera � ceci:
Ce tutoriel est pour vous, m�me si vous n�avez pas la moindre connaissance en programmation, �tant donn� que GameMaker permet de cr�er des jeux aux plus d�butants facilement, quelque soit leur niveau.
Bien, maintenant, commen�ons la conception de notre jeu !
Commencez tout d�abord par ouvrir GameMaker 6.1. Vous devriez voir appara�tre ceci:
Avant tout, dans un jeu vid�o, la premi�re chose que le joueur remarque, c�est ce qu�il voit � l��cran. C�est d�ailleurs la base d�un jeu: un jeu sans graphismes n�existe pas, ou alors c�est un cas tr�s particulier. Nous allons donc commencer par ins�rer des images dans notre jeu, qui seront la repr�sentation graphique des objets que le joueur verra � l��cran. Dans le jargon, on appelle ces images des Sprites (Ce qui n�a pas de rapport avec la boisson gazeuse du m�me nom).
Faites un clic droit sur le r�pertoire Sprites, se trouvant tout en haut de la colonne de gauche, puis cliquez sur Add Sprite. Une fen�tre, appel�e Sprites Properties, va s�ouvrir. C�est ici que vous d�finirez toutes les caract�ristiques de votre sprite. Cliquez sur Load Sprite pour charger une image se trouvant sur l�ordinateur. Des sprites de ma cr�ation sont fournies avec ce tutoriel, elles se trouvent dans le dossier Sprites GameMaker. Ouvrez ce dossier, puis double-cliquez sur le fichier Batte. Vous retournerez � votre �diteur de sprites, avec cette fois-ci l�image que vous avez s�lectionn� affich�e sur la droite. R�glez l�origine X et Y au centre de votre sprite, en cliquant sur Center. (L�origine d�une sprite est son centre, son point X:0 et Y:0. Ce sont ses coordonn�es X et Y de base.). Changez ensuite le nom de votre sprite, � partir de la petite case en haut � gauche, et inscrivez-y spr_batte. (Ca n�a aucune incidence technique, c�est juste pour mieux se rep�rer dans vos fichiers, une fois que vous en aurez un nombre plus important. D�ailleurs vous avez le droit de choisir n�importe quel nom pour ces sprites, ce que je donne est juste un petit exemple.)
Cliquez maintenant sur OK: Vous venez de cr�er votre premi�re sprite ! C�est votre batte, l�objet que le joueur contr�lera et qui servira � rattraper la balle.
Continuons dans cette voie, et rajoutons 4 autres sprites: la balle, et 3 types de blocs. Ils se trouvent tous dans le m�me r�pertoire que la sprite de batte. R�p�tons donc la m�me op�ration.
Note: pour aller plus rapidement dans la cr�ation de nouvelles sprites, vous pouvez cliquer sur cette ic�ne, se trouvant dans la barre des t�ches, dans la partie haute de GameMaker: . Il suffit de cliquer dessus pour qu�une nouvelle sprite se cr�e.
Ensuite, m�me op�ration pour chaque nouvelle sprite: Load sprite, puis le fichier image correspondant, ensuite centrez l�origine en cliquant sur Center, renommez la selon vos envies, puis OK. Vous devriez donc obtenir ceci:
Nous avons donc toutes les sprites de notre jeu r�unies ici. Il y a, en g�n�ral, deux seules et uniques sources de rendus graphiques dans un jeu: les Sprites et les Backgrounds. C�est tout ce qui constitue ce que l�on voit � l��cran. (Un Background est, comme son nom l�indique, un arri�re-plan) Apr�s, on peut aussi cr�er des particules ou des rendus 3D, mais nous n�allons pas voir �a ici.
Que disons-nous au d�but ? Avant tout, dans un jeu vid�o, la premi�re chose que le joueur remarque, c�est ce qu�il voit � l��cran. Ca, nous nous en sommes occup�. Mais un jeu constitu� uniquement d�images, ce n�est pas un jeu, c�est une fresque. On va donc passer au stade suivant: les objets, appel�s ici, Anglais oblige, des objects.
Comment cr�er un objet ? De la m�me mani�re qu�une sprite ou tout autre �l�ment du jeu: clic droit sur le r�pertoire en question, puis add quelque chose. On va s�int�resser maintenant au r�pertoire Objects, vous vous en doutez bien. Vous pouvez aussi, et c�est plus rapide, cliquer sur l�ic�ne object de la barre des t�ches: .
Nous allons commencer par cr�er l�objet que contr�lera le joueur: la batte. Une fois votre nouvel objet cr��, vous verrez appara�tre une fen�tre: Object Properties. Nous allons renommer cet objet en obj_batte, a l�aide de la petite case en haut � gauche, et faire en sorte qu�il ob�isse au demandes du joueur et prenne toutes les caract�ristiques de la batte.
Pour le moment, notre objet est invisible. Ce n�est qu�une entit� sans aucune apparence, et nous allons lui en donner une, en lui assignant la sprite de batte que nous avons pr�c�demment int�gr�e dans le jeu.
En haut � gauche, juste en dessous de la case d�finissant le nom de l�objet, se trouve celle servant � lui assigner une sprite. Cliquez sur la petit ic�ne bleue pour faire appara�tre un petit menu d�roulant, r�pertoriant toutes les sprites que vous avez ins�r�es dans votre jeu. S�lectionnez la sprite de batte, comme ceci:
Nous allons maintenant donner vie � notre objet, en programmant quelques actions. Tout, dans la programmation d�actions dans un jeu, fonctionne avec ce sch�ma: S�il se passe �a, alors j�ex�cute ceci.
Si le joueur appuie sur une touche, alors je fait �a. Si cette variable est �gal � ce taux, alors je fait ceci, etc. Tout n�est qu�une suite de ce qu�on appelle dans GameMaker des �v�nements et des Actions. Si tel �v�nement se produit, alors telle action s�ex�cute. Ca marche comme �a.
Dans votre object properties, il y a justement deux grandes cases repr�sentant cette logique, Events et Actions:
Ce que l�on veut dans un casse-brique, c�est �viter que la gentille baballe ne nous fausse compagnie trop rapidement en filant � l�anglaise dans le bas du niveau. On doit donc pouvoir bouger pour la rattraper. Nous allons ici faire bouger notre batte avec la souris, en op�rant de la fa�on suivante:
Cliquez sur Add Event, situ� en dessous de la case Events. Une petite liste appara�tra, r�f�ren�ant tout les �v�nements disponibles. Cliquez sur Step, puis sur l�autre Step. L��v�nement que vous avez s�lectionn� s�ajouteras alors dans la case Events. Step est un �v�nement qui s�ex�cute � chaque nouvelle FPS (Frames Par Seconde), donc qui se r�p�te en permanence. Et ce qu�on veut que la batte fasse en permanence, c�est se diriger � partir de la souris. Pour ajouter une action, nous allons utiliser ceci, se situant sur la droite de votre object properties:
C�est dans cette partie, compos�e de plusieurs onglets, que sont r�pertori�es les fonctions en D&D (Drag and Drop, signifiant litt�ralement Glisser D�poser). Vous n�avez besoin d�aucune connaissance en programmation pour pouvoir utiliser ces actions, c�est justement �a l�avantage de GameMaker. On appelle aussi ces fonctions des .lib. Ce sont ces petites ic�nes qui d�finissent les actions, et nous allons maintenant les utiliser.
Cliquez sur l�ic�ne Jump to a given position , laissez appuy� et faites la glisser dans la case Actions. C�est une action de mouvement, permettant de d�placer un objet vers une position d�finie. Nous voulons que la souris dirige la batte de droite � gauche, nous allons donc faire comme ceci:
Il faut que nous d�finissions les coordonn�es auxquelles l�objet doit aller. Dans GameMaker, la position X et Y de la souris est d�finie � partir des variables mouse_x et mouse_y (X �tant horizontal et Y vertical). Nous voulons d�placer la batte uniquement de droite � gauche, nous n�allons donc utiliser que les coordonn�es X du pointeur de la souris. Et comme la position Y, verticale, ne change pas pendant le jeu, nous allons simplement la r�assigner � la position Y de l�objet lui m�me.
Nous allons donc �crire ceci:
Note: Applies to sert � d�finir � quelle entit� associer une action. Ici, self est coch�, ce qui veut dire que l�action s�ex�cute pour l�objet dans lequel elle se trouve. La case Relative d�finit si la modification de coordonn�es se fait � partir de l�origine de l�objet (Coch�e), ou a partir de l�origine de la room (D�coch�e).
Notre action de mouvement maintenant d�finie, cliquez sur OK pour valider.
Nous avons donc l��v�nement step qui enclenche l�action de mouvement, ce qui veut dire que cette action va se r�p�ter en permanence, donc la position de la batte sera continuellement r�assign�e � celle de la souris. Nous avons notre batte qui bouge !
Nous n�avons plus rien � faire pour cet objet, mis � part le passer en solid pour des besoins de collisions, ce que nous verrons quelques lignes plus bas.
Nous allons maintenant rajouter une balle qui bouge et rebondit, et quelques blocs.
On cr�e un nouvel objet, que l�on nommera obj_bloc_3, et auquel on assignera la sprite de bloc correspondante (spr_bloc_3). La balle devra rebondir sur ce bloc, il suffit pour cela de cocher la case Solid, se trouvant juste en dessous de la zone o� l�on assigne la sprite de l�objet. Les collisions de la balle que l�on programmera par la suite interagiront avec les objets solid, il faut donc s�assurer que tout les objets aient cette case coch�e, y compris la batte. Cliquez ensuite sur OK pour valider, nous n�avons rien d�autre � faire sur cet objet.
Nous allons maintenant cr�er la balle, �l�ment important de notre petit jeu. Ins�rez un nouvel objet, nommez-le obj_balle, assignez lui la sprite de balle correspondante, et cochez la case Solid.
Nous voulons que la balle bouge par elle m�me, nous allons donc lui donner une vitesse et une direction de d�part. Ajoutez l��v�nement Create en cliquant sur Add event, comme nous l�avons vu. Comme son nom l�indique, cet �v�nement sert � ex�cuter une action lorsque l�objet est cr�� dans le jeu, donc au moment ou il entre en sc�ne. Ins�rez l�action Start moving in a direction , qui sert � donner une direction et une vitesse � un objet. Ces directions sont repr�sent�es par des fl�ches, cliquez sur chacune des fl�ches en diagonale. Ce sont les directions potentielles que pourra prendre notre balle lors de sa cr�ation. Assignez lui 7 en tant que vitesse (Dans la case Speed), puis cliquez sur OK pour valider.
Il faut maintenant faire rebondir notre balle lorsqu�elle entre en collision avec notre batte ou notre bloc.
Ins�rez l��v�nement Collision, avec l�objet obj_batte. Cet �v�nement ex�cute une action lorsque l�objet dans lequel il se trouve entre en collision avec l�objet d�sign�, ce qui signifie qu�ici, l�action s�ex�cutera lorsque la balle et la batte entreront en collision. Ins�rez ensuite l�action Bounce against objects, que vous d�finirez comme ceci:
Une fois tout ceci effectu�, cliquez sur OK pour valider.
Il faut maintenant faire en sorte que la balle rebondisse aussi contre notre bloc: il suffit de r�p�ter la m�me op�ration, mais pour l�objet obj_bloc_3.
Vous devriez donc avoir tout ceci:
Apr�s avoir fait tout �a, vous devez certainement avoir envie de pouvoir tester les r�sultats de vos manipulations, n�est-ce pas ? C�est ce que nous allons maintenant faire.
Apr�s les Sprites et les Objects, voici maintenant les Rooms. Une room est l�endroit ou se d�roule le jeu: c�est une map, un niveau. C�est ici que vous placez tout les �l�ments de votre jeu, c�est ici que vous organisez ce qui appara�tra � l��cran. Un �l�ment tout aussi fondamental pour le jeu que ce que nous avons d�j� vu.
Pour cr�er une nouvelle room, m�me chose que pour les sprites et objets: clic droit sur le r�pertoire, ou clic sur l�ic�ne correspondante: . La fen�tre Room properties appara�t alors.
Il vous suffit maintenant de placer vos objets, a l�aide du bouton gauche de la souris. Clic gauche pour placer, clic droit pour effacer. Vous pouvez s�lectionner l�objet � placer avec la petite case en bas � gauche:
Pour s�lectionner d�autres objets, cliquez sur la petite ic�ne bleue, cela fera appara�tre un petit menu d�roulant r�pertoriant tout les objets de votre jeu. Il vous suffit de le s�lectionner pour ensuite pouvoir le placer dans la room.
A vous maintenant de concevoir votre petit niveau !
Une fois votre niveau termin�, il vous suffit de lancer le jeu, avec l�ic�ne de fl�che verte se trouvant en haut � droite dans la barre des t�ches: . Ceci permet de tester votre jeu � n�importe quel moment.
Vous pouvez d�j� vous amuser en faisant rebondir la balle sur les blocs.
C�est assez minime, mais d�j� un bon d�but ! Vous avez votre base de jeu.
Nous allons maintenant rajouter quelques blocs � casser, pour rendre notre jeu un peu plus fun.
Cr�ez un nouvel objet, que vous nommerez obj_bloc_1, en lui assignant la sprite correspondante (spr_bloc_1) et cochant comme d�habitude la case Solid. Nous allons simplement rajouter le fait qu�il se d�truise au contact de la balle: ins�rez l��v�nement Collision, avec l�objet obj_balle. Ins�rez ensuite l�action Destroy the instance , se trouvant dans l�onglet main1, puis cliquez sur OK pour valider l�action. Cette action sert � effacer un objet pendant le jeu, en l�occurrence ici l�objet bloc lui m�me.
Et aussi rapidement que �a, vous avez votre nouvel objet. Cliquez ensuite sur OK pour valider vos manipulations.
Nous allons maintenant cr�er un deuxi�me bloc destructible, mais sans avoir � le reprogrammer. Il suffira d�en faire une sorte de � clone �.
Cr�ez un nouvel objet, que vous nommerez obj_bloc_2, en lui assignant comme d�habitude la sprite correspondante et en cochant la case Solid. Mais cette fois ci, pas besoin de rajouter l��v�nement: il suffira de d�finir l�objet obj_bloc_1 en tant que Parent. Qu�est-ce que cela signifie ? Simplement que ce que l�on a programm� dans obj_bloc_1 va se retrouver dans obj_bloc_2, sans qu�on ai � le reproduire soi-m�me. On assigne le parent d�un objet dans une case se trouvant sur la gauche de l�object properties, comme ceci:
Cliquez ensuite sur OK pour valider votre objet. Voil�, vous avez vos deux blocs destructibles ! Il suffit maintenant de faire en sorte que la balle rebondisse aussi sur ces deux nouveaux objets.
Rouvrez obj_balle en double-cliquant dessus, et ajoutez deux �v�nements collision, pour chaquin des deux objets bloc que nous venons de cr�er. Vous n�avez pas besoin de recr�er l�action vous m�me: il suffit de faire un copier-coller des collisions programm�es avec obj_batte ou obj_bloc_3. (Clic droit sur l�action � copier puis Copy, et clic droit � l�endroit ou la coller puis Paste).
Nous allons aussi faire en sorte que le niveau red�marre si la balle sort de l��cran, donc si le joueur n�arrive pas � la rattraper. Ins�rez l��v�nement Other => Outside Room, puis l�action Restart the current room , se trouvant dans l�onglet main1. Cette action sert � red�marrer la room en cours de jeu. Cliquez ensuite sur OK pour valider vos modifications.
Vous devriez donc avoir tout ceci:
Il suffit maintenant de placer tout �a dans la room, et vous avez votre casse-brique !
Votre casse-brique est termin�. Vous pouvez maintenant profiter de votre travail en vous amusant un peu avec le jeu que vous venez de cr�er : )
Vous pouvez aussi le fignoler, comme par exemple rajouter des bruitages ou des blocs suppl�mentaires. Vous pouvez pour cela vous servir du .gm6 d�exemple gm6_exemple_cassebrique pour observer quelques techniques en plus.
Vous �tes maintenant initi� aux bases de la cr�ation de Jeux Vid�os avec GameMaker, a vous de jouer pour cr�er vos propres jeux � pr�sent !
Voil�, j�esp�re que ce tutoriel vous a plu, et qu�il vous a �t� utile ! Bonne chance pour la suite de vos projets !
@3 Bast
2005 - Le CBNA