Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Techniques de création de jeux - Plateforme

Compatible ActionScript 3. Cliquer pour en savoir plus sur les compatibilités.Compatible Flash CS3. Cliquer pour en savoir plus sur les compatibilités.Par Monsieur Spi, le 23 avril 2011

Avant Propos

Bonjour,

Je suis un passionné qui développe des jeux pour s'amuser.
Je puise mon inspiration dans les jeux Amstrad, Amiga ou Atari, des machines d'un autre temps où concevoir des jeux demandait d'utiliser des techniques pointues pour que les jeux tiennent sur une disquette (voire moins) et puissent tourner avec la faible capacité des ordinateurs de l'époque. Si les plus anciens d'entre nous voient tout à fait de quoi il s'agit, les plus jeunes se demandent peut être de quoi nous allons parler, c'est pourquoi nous allons commencer par une petite vidéo d'introduction, quand je parle de jeux de plateformes voici ce dont je parle, attention essayez de trouver le point commun entre tous les jeux qui vous sont présentés dans la vidéo :

» Voir la vidéo

Voici donc une petite série d’exercices pour lever un coin du rideau et voir ce qu'il se passe derrière.

La technique de base utilisée est celle des tuiles, c’est un classique.
Elle est largement décrite et déclinée sur la toile pour que vous puissiez facilement trouver des compléments d'informations. J’ai pris le parti d'aller à l'essentiel pour vous proposer une approche que j'espère simple, accessible et rapide. Au départ ce n’était pas du tout mon objectif, je voulais juste faire un petit tutorial sur l’animation d’un personnage dans un jeu vidéo. Mais rapidement je me suis résolu à y greffer un petit moteur. Mon choix s’est porté sur les tuiles ou plus précisément les grilles, qui semble la méthode passe partout pour vous permettre de vous initier.

Sans rentrer dans le détail l’avantage de cette technique, c’est de pouvoir être adaptée pour de nombreux gameplays, du JDR au jeu d’arcade en passant par les jeux de plateformes et les puzzles et même, dans une certaine mesure certains jeux de course.

On va y aller pas à pas et en quelques exercices j'espère arriver à vous mener à une méthode qui vous permettra de créer différents types de jeux. Cependant, le monde du jeu vidéo étant assez vaste, il ne va pas être possible de tout survoler.

Il y a tellement de chemins possibles qu’il faut faire des choix, j’ai donc choisi d'illustrer la méthode à l'aide d'un jeu de plateforme. Mais vous allez voir qu'une fois la base assimilée il ne vous faudra pas grand chose pour passer d'un style de jeu à un autre.

Au moment où je rédige ces quelques lignes les exercices sont en cours d’écriture.
Le tutorial est donc incomplet mais j’ai déjà pensé à au plan de rédaction suivant :

Animer un personnage

Etape 1 : Déplacer et animer un personnage - [Terminé]

C’est une simple prise en main qui essaye de démystifier un peu la création de jeux par l’exemple. Normalement cette partie arrive bien plus tard dans le processus, mais c’est aussi la partie qui, tout en étant la plus simple à comprendre, est la plus attirante pour le débutant. Généralement lorsqu'on débute on pense d'abord à animer un personnage avant de réfléchir à l'univers qui l'entoure. Cela va m’obliger à travailler un peu à l’envers mais j’espère qu'en allant dans le sens de cette habitude supposée, la lecture de cette étape vous donnera la force d’appréhender la suite avec plus d’assurance. Grâce à cet exercice nous allons pouvoir rappeler rapidement beaucoup de bases à ceux qui en sont à leurs débuts dans la programmation : les écouteurs, les touches du clavier, la structure d’un programme, les objets dynamiques, la liste d’affichage, les types de variables, les boucles, les conditions, … en fait de nombreuses notions essentielles.

Concevoir un moteur

Etape 2 : Grilles et collision - [Terminé]

Nous voici en fait à la véritable première étape de la création de notre jeu, nous allons construire un petit moteur. Ici vous allez vous frotter au concept des tuiles et apprendre à gérer des collisions à l’aide de quelques formules simples dans des grilles. Ici tableaux, références, algorithme, structure et logique seront les maîtres mots. Vous apprendrez à construire des grilles et à les afficher, puis à faire interagir votre joueur avec elles. Notre expérience restera essentiellement axée sur la conception du moteur, exit donc les jolies animations que nous avions vues dans l’exercice d’introduction, nous y reviendrons bien plus tard lorsque notre jeu sera prêt à les accueillir.

Augmenter les possibilités

Etape 3 : Spécialiser et généraliser - [Terminé]

A partir de là on monte le niveau d’un cran, l’objectif est de créer des interactions plus poussées entre le personnage et la grille en spécialisant les tuiles. Il faut donc introduire la notion de types ou modèles de tuiles, et programmer les actions de chacune. Mais ce sera également le moment de vous parler de la ré-utilisabilité de votre code et de l'importance de créer un moteur adaptable à diverses situations ou entités. C’est une étape charnière assez complexe mais elle permet de créer rapidement échelles, jumpers, plateformes, pentes, … bref tout ce qui crée l'environnement du jeu quelles que soient les entités concernées (joueurs, ennemis, objets…).

Créer des ennemis

Etape 4 – Créer des interactions - [Terminé]

A partir d’ici vous devriez maîtriser suffisamment le programme pour qu'on puisse aller approfondir quelques petites choses plus complexes comme les objets mobiles, ou non, ayant un comportement programmé ou libre. C'est à dire les objets, les ennemis, le tir, les ascenseurs, les télé-porteurs internes au level en cours, les portes verrouillées,…

Changer de décor

Etape 5 – Gérer les niveaux - [Terminé]

Encore une étape charnière, il s'agit cette fois de gérer l'univers du jeu. On s'éloigne un peu du moteur principal pour s'intéresser à la manière dont il faut gérer les différents éléments de l'univers dans lequel on plonge le héros. C'est aussi le moment de faire un choix décisif concernant la manière dont une partie se déroule.

Affichage et scrolling

Etape 6 – Scrolling - [Terminé]

Le scrolling est une composante essentielle à de nombreux jeux, de plateforme ou pas. Bien que le principe reste simple sa mise en place demande pas mal d'aménagement au programme tel que nous l'avons conçus jusqu'ici. C'est une étape assez longue et sans doute la plus complexe du tutorial car nous allons nous séparer de nos méthodes très visuelles pour stocker nos objets et les cibler.

L'habillage

Etape 7 – Habillage - [Terminé]

Il est temps de poser le décor et de créer les animations. Un exercice qui va demander aussi quelques adaptations du programme qui jusqu'à présent fonctionnait avec des modèles de tuiles et non des éléments de décor réutilisables. L’utilisation du son est également un composant essentiel à l’ambiance de vos jeux il est donc utile d’en survoler les bases. Enfin il est temps de donner un peu de corps au jeu avec une structure, un menu, un début, une fin, bref presque déjà un petit jeu.

Outils et finissions

Etape 8 – Outils - [Terminé]

A partir d’ici le moteur est presque terminé mais pas encore le jeu, il manque encore le loading, l’introduction, l’animation de fin, les points, le sauvegarde ou le chargement, … ce sont des choses rapides qui vont nous laisser du temps pour nous pencher sur la création d’outils de conception. Un éditeur de niveaux par exemple, ça semble être une bonne chose à aborder si vous souhaitez construire rapidement de nombreux niveaux et de grandes maps. Perdre du temps à se créer les bons outils est une clé essentielle pour aller vite.

Pour aller plus loin

Ce n'est pas à proprement parler une étape mais ici on parlera de méthodes permettant d'aller un peu plus loin, comme le scrolling, l'isométrique, le raycasting, les collisions complexes, et tout ce qui pourrait être utile autour cette base simple pour différencier et enrichir le gameplay.

Voilà, je ne sais pas encore si je vais aller au bout ni en combien de temps mais j’essayerai en tout cas.

Bonne lecture à tous et bon courage.