Passer au contenu

Créer le premier niveau

Vous allez maintenant donner vie à votre jeu en plantant le décor et en ajoutant le personnage géré par le joueur… Puis les ennemis !

Importez les éléments du décor

Rendez-vous sur le site www.public-domain-photos.com, rubrique Space, afin de télécharger une image libre de droits, d’une taille de 1 024 x 768 points minimum. Elle servira d’arrière-plan. Dans votre logiciel de retouche photo, réduisez-la, le cas échéant, à 1 024 x 768 points et nommez-la Espace. Vous utiliserez également les images nommées MiniTir, Rock et Vaisseau (vous les trouverez en ouvrant successivement les dossiers C:Programmes, Compil Games, Game Develop, Exemples) et Viseur (dossier C:… Game Develop, Tutoriel, Jeu). Ajoutez ces six images à la banque d’images.

Créez votre décor

Dans l’onglet Éditeur du jeu, créez une nouvelle scène que vous baptiserez scène 1. Éditez cette dernière. Créez cinq nouveaux objets nommés Espace, Joueur, Ennemi, Missile et Viseur. Associez-leur respectivement les images Espace, Vaisseau, Rock, MiniTir et Viseur. Pour les objets Joueur et Ennemi, cochez également la case Rotation automatique dans la fenêtre Éditer l’objet. Ainsi, l’image de ces deux objets sera orientée automatiquement dans le sens de leur déplacement. Cliquez sur l’onglet Scène en bas de la fenêtre. Glissez-déposez l’objet Espace dans la zone vierge de couleur grise de la fenêtre. Déplacez ensuite l’image Espace de manière à faire coïncider ses bords gauche et supérieur avec ceux de la zone vierge. Faites un clic droit sur cette image et choisissez Propriétés dans le menu contextuel. Saisissez -1 dans le champ Plan n° et cliquez sur OK. Les autres éléments du décor s’afficheront ainsi par-dessus. Placez à présent les objets Joueur et Viseur côte à côte à l’endroit où ils apparaîtront au début du jeu, par exemple au centre de la scène.

Contrôlez les déplacements du joueur

Un vaisseau et son viseur symbolisent le joueur dans le jeu. Le viseur va suivre les déplacements de la souris. Aussi, il faut lui affecter les mêmes coordonnées X et Y. Cliquez sur l’onglet Événements et créez un nouvel événement. Insérez la condition Toujours (thème Autre). Double-cliquez sur Pas d’actions. Ajoutez l’action Position X d’un objet (thème Tous les objets, Position). Les champs Objet, Valeur et Signe de la modification ont pour valeur Viseur, VAL(mouseX[]) et =. (les caractères qui suivent mouseX sont des crochets). Pour obtenir l’expression VAL(mouseX[]), cliquez sur le bouton ?, puis choisissez Position X de la souris (thème Souris) dans la liste de fonctions Valeurs Spéciales et cliquez sur Ajouter. Ajoutez une seconde action Position Y de la souris avec pour paramètres Viseur, VAL(mouseY[]) et =. Pour que notre vaisseau se rapproche automatiquement du viseur, nous allons ajouter une troisième action baptisée Ajouter une force dirigée vers un objet (thème Tous les objets, Déplacement). Ces paramètres seront Joueur, Viseur, 100 et 0. Le vaisseau se rapproche ainsi à une vitesse de 100 points par seconde. La valeur du champ Dissipation est nulle, ce qui signifie que la force de déplacement n’est plus appliquée dès que le vaisseau est à la même position que le viseur. Enfin ajoutez une quatrième action : Tourner un objet vers un autre (thème Sprite, Direction, Tourner un objet vers un autre) avec Joueur et Viseur comme objets. Ajoutez l’action Cacher le curseur (thème Souris). Le curseur est ainsi masqué dans le jeu.

Simulez la scène

Vous pouvez prévisualiser une scène à tout moment pour vérifier la bonne exécution de ses événements. Pour cela, activez le menu Scène et cliquez sur Mode puis Aperçu. Ensuite, cliquez sur l’onglet Scène en bas de l’écran, puis sur les boutons Rafraîchir et Jouer dans une fenêtre du ruban Scène. Vérifiez ici que le viseur et le vaisseau suivent les mouvements de la souris dans la scène. Appuyez ensuite sur le bouton Pause pour quitter le mode de prévisualisation. Notez que le mode Aperçu ne permet pas de passer d’une scène à une autre.

Faites apparaître les ennemis…

Les ennemis – ici des météorites – vont apparaître toutes les 3 secondes grâce à une fonction chronomètre. Créez un nouvel événement avec pour condition Valeur d’un chronomètre (thème Temps et chronomètres). Placez le chiffre 4 dans le champ Temps en secondes et Ennemi dans le champ Nom du chronomètre. Associez à cette condition trois actions. La première est Créer un objet (thème Tous les objets, Objets). Son champ Objet à créer a pour valeur Ennemi. Les ennemis apparaîtront de manière aléatoire en haut de l’écran, sur toute la largeur. Aussi, les champs Position X et Position Y ont pour paramètres respectifs VAL(random[1024]) et 0 (et non 768). Appuyez sur le bouton ? à droite de Position X, puis choisissez Valeur aléatoire (thème Aléatoire) et saisissez 1024 pour obtenir l’expression VAL(random[1024]).

… et lancez-les à l’attaque du joueur !

Les ennemis vont se diriger automatiquement vers le joueur grâce à une seconde action, Ajouter une force dirigée vers un objet (thème Tous les objets, Déplacement). Elle aura pour valeurs Ennemi, Joueur, 150 et 1. La dissipation est égale à 1 cette fois-ci. Ainsi, les ennemis ne s’arrêteront jamais. Afin d’orienter l’image de l’ennemi dans la bonne direction, insérez l’action Tourner un objet vers un autre (thème Sprite, Direction) et complétez-la avec les valeurs Ennemi et Joueur. Le chronomètre doit être remis à zéro toutes les quatre secondes pour qu’un nouvel ennemi apparaisse. Pour cela, ajoutez l’action Remettre à zéro un chronomètre et saisissez Ennemi dans le champ Nom du chronomètre.

Permettez au joueur de riposter

Un clic gauche de la souris permettra au joueur de tirer. L’ennemi sera éliminé s’il est touché. Insérez un nouvel événement avec, pour conditions, Le bouton Left de la souris est appuyé et Le chronomètre Tir est supérieur à 0.25 seconde. Cette dernière condition évite que le joueur ne tire trop rapidement. Veillez à saisir 0.25 (et non 0,25). Complétez cet événement de l’action Créer l’objet Missile à la position OBJ(Joueur[x]);OBJ(Joueur[y]). Pour que chaque missile se dirige vers un ennemi, ajoutez l’action Ajouter une force (Par angle), avec pour paramètres Missile, OBJ(Joueur[direction], 500 et 1. Enfin, insérez l’action Remettre le chronomètre Tir à zéro.

Créez une explosion

Un météorite est touché ? Faites-le exploser ! À vous de créer l’animation appropriée… Créez dans la scène 1 un nouvel objet et nommez-le Explosion. Double-cliquez dessus, puis ajoutez dans la banque d’images les huit images baptisées Explosion, Explosion2… Explosion 8 que vous trouverez dans le dossier CProgrammesCompilGamesGame DevelopExemples. Ajoutez l’image Explosion, puis Explosion2, Explosion3 et ainsi de suite. L’animation de l’objet Explosion sera composée de ces huit images. En les affichant très rapidement l’une après l’autre, vous obtiendrez l’effet recherché. Saisissez, pour ce faire, 0.025 (et non 0,025) dans le champ Temps entre chaque image puis cliquez sur OK.

Affichez l’animation…

Vous allez remplacer l’image des météorites par cette animation lorsqu’ils sont touchés par un missile. Créez un nouvel événement dont l’unique condition est Collision (thème Sprite, Collision). Choisissez respectivement les objets Missile et Ennemi comme valeurs des champs Objet 1 et Objet 2. Insérez l’action Créer un objet (thème Tous les objets/ Objets) avec pour paramètres Explosion, OBJ(Ennemi[x]) et OBJ (Ennemi[y]). Ajoutez l’action Supprimer un objet (thème Tous les objets, Objets). Elle aura pour unique valeur Ennemi. Dupliquez cet événement et remplacez, dans le champ Condition, Missile par Joueur. Ainsi, l’ennemi disparaît s’il entre en collision avec le joueur.

… Puis stoppez-la

Créez à présent un nouvel événement afin de faire disparaître cette animation lorsque sa dernière image est affichée. Optez pour la condition Numéro de l’image de l’objet (thème Sprite (image animée), Animations et images). Affectez-lui les valeurs Explosion, 7 (7 et non 8 car huit images portent des numéros de 0 à 7). Complétez cet événement de l’action Supprimer l’objet Explosion. Appliquez cette même animation lorsqu’un ennemi entre en collision avec le joueur. Pour aller plus vite, vous allez copier cet événement. Faites un clic droit dessus et choisissez Copier cet événement. Puis faites de nouveau un clic droit et choisissez Coller, Après. Dans le nouvel événement créé, remplacez Missile par Ennemi et Ennemi par Joueur dans la condition. L’action reste la même.

Ajoutez des effets sonores

L’explosion sera bien plus crédible si elle fait du bruit. Téléchargez gratuitement à l’adresse www.sound-fishing.net, rubrique Science-fiction, le fichier MP3 d’une explosion au choix. Optez plutôt pour un bruit de courte durée, d’une à trois secondes. Il faut à présent le convertir en Wave, seul format reconnu pour les sons du jeu. Dans Game Develop, cliquez sur le bouton Convertisseur du ruban Général. Cliquez ensuite sur le bouton Choisir un fichier MP3 et l’encoder en WAV. Désignez le fichier MP3 que vous venez de télécharger. Le ficher Wave se trouve dans le même dossier. Ajoutez l’action Jouer un son (thème Sons) à l’événement L’objet Missile est en collision avec Ennemi. Désignez le fichier Wave dans le champ Ficher audio. Ajoutez cette même action à l’événement portant la condition L’objet Joueur est en collision avec Ennemi. Téléchargez un autre fichier audio pour le tir d’un missile et convertissez-le en WAV comme ci-dessus. Ajoutez une action pour jouer ce son à l’événement dont l’une des conditions est Le chronomètre Tir est supérieur à 0.25 secondes. Vous pouvez également insérer une musique d’ambiance dans une scène de votre jeu, à l’aide d’un événement composé de la condition Au lancement de la scène (thème Scène) et de l’action Jouer une musique (thème Musiques). Mais attention : si, dans Game Develop, les bruitages sont des fichiers au format Wav, les musiques d’ambiance, elles, doivent être des fichiers Ogg Vorbis. Si la musique que vous voulez utiliser est au format MP3, cliquez sur le bouton Convertisseur, puis Choisir un fichier MP3 et l’encoder en OGG Vorbis.

Gérez le score …

Le score concerne toutes les scènes du jeu et fera donc appel à une variable globale, plutôt qu’une variable propre à une scène. Appuyez sur l’onglet Éditeur du jeu puis sur le bouton Variables globales. Pressez le bouton + de la fenêtre Édition des variables initiales, puis saisissez Score dans la boîte de dialogue. Double-cliquez sur Score dans la fenêtre et affectez-lui la valeur 0. Le score augmentera de 100 points chaque fois qu’un ennemi est touché. Aussi, insérez l’action Variable globale (thème Variables) dans l’événement dont la condition est L’objet Missile est en collision avec Ennemi. Ses trois paramètres seront Score, 100 et +.

Et affichez-le

Il faut lier le score à un objet afin de l’afficher. Créez un nouvel objet. Dans la fenêtre Choisir un type d’objet, cliquez sur le bouton Plus d’objets, cochez la case Objet Texte et appuyez sur le bouton Fermer. Double-cliquez sur l’icône Texte et appuyez sur OK. Nommez l’objet Score. Suite à un clic droit sur cet objet, sélectionnez Modifiez les propriétés de l’objet dans le menu contextuel. Choisissez une couleur et une taille de caractères dans la boîte de dialogue. Cliquez ensuite sur l’onglet Scène en bas à gauche, puis sur le bouton Édition du ruban Scène. Glissez-déposez l’objet Score dans l’un des quatre coins de la scène. Il reste à présent à lier la valeur Score à l’objet Score. Ajoutez à l’événement dont la condition est Toujours l’action Modifier le texte (thème Objet Texte, Texte). Affectez les trois paramètres Score, TXT”GBL(Score[])” et = à cette action.

Allouez des vies au joueur

Jusqu’à présent, le joueur est invincible, ce qui n’est guère réaliste ! Créez une variable globale Vies avec 5 comme valeur initiale. Ensuite, ajoutez l’action Variable globale à l’événement dont la condition est L’objet Ennemi est en collision avec Joueur. Elle aura pour paramètres Vies, 1 et . Créez un objet de type Texte, appelez-le Vies et placez-le sur la scène en mode Edition. Enfin, l’action Modifier le texte à l’événement dont la condition est Toujours. Elle aura pour valeurs Vies, TXT”GBL(Vies[])” et =.

Affichez “ game over ”

Pour le moment, le jeu continue même si vous n’avez plus de vies. À moins de créer l’événement approprié. Il aura pour unique condition La variable globale Vies est = à 0 et pour actions Supprimer l’objet Joueur, Supprimer l’objet Ennemi et Supprimer l’objet Viseur. Vous allez afficher GAME OVER à l’écran grâce à l’action Afficher un texte (thème Scène). Saisissez GAME OVER dans son champ Texte, 512 dans son champ Position X et 359 dans le champ Position Y. Précisez également la couleur et la taille des caractères dans les champs éponymes.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Mohamed Afiri