Programmation Orientée Jeux

Les Jeux de Plateforme - Le Joueur

Comment gérer le Joueur ?

C'est à travers ce module qu'il sera possible d'interagir avec le jeu. En effet, le joueur devra être contrôlable au clavier, et/ou à la souris, se déplacer dans un niveau... reproduire toute une panoplie de comportement qui permettrons à une personne de s'immerger dans la partie. De plus, il faudra prévoir des gestions annexes telles que la gravité et les collisions, afin de rendre suffisamment réaliste l'évolution dans le niveau.

1) Un contrôle, un Gameplay

Le héros d'un jeu (disons le sujet contrôlé par le joueur) est le principal relais entre la personne et le jeu. Ceci se fait par le biais des périphériques de l'ordinateur (clavier, souris, contrôleur...). Le personnage est donc voué à évoluer en fonction des signaux émis par ces périphériques. Si le joueur appuie sur la touche droite, le personnage ira à droite. De même pour sauter, ou tout autre mouvement plus ou moins complexes.

C'est ainsi que le Gameplay sera défini. Sa complexité dépendra des mouvements à définir (déplacements, attaques, interactions...), et sa difficulté dépendra de la combinaison des touches/boutons à utiliser. Mais le Gameplay ne s'arrête pas aux contrôles. En effet, que ce soit Sonic ou Mario, on utilise 5-6 touches tout au plus, et pourtant, leur Gameplay est totalement différent. De nombreux paramètres entrent alors en jeu. On peut distinguer rapidement les interactions avec le décors (collisions), la vitesse de jeu (déplacement, gravité, défilement), ou encore la façon dont il est possible de tuer un monstre (vous avez dit mob ?).

Une attention particulière doit être portée sur la difficulté. Lionheart (1992, Amiga) en est un très bon exemple. C'est le genre de jeu où il est très facile de tomber (et tomber, implique une vie en moins, sachant que l'on commence avec 3 vies). Le Gameplay aura toute son importance ici. Avoir un saut de 15m de haut rapidement permettrait de s'affranchir de tous les obstacles... tandis que limiter le saut à 3 tiles en largeur corse l'aventure. Il s'agit de trouver les bonnes valeurs (vitesse de chute, déplacements, marges...) pour les bonnes choses (pentes, bordures...). Tous ces éléments concernent le joueur, et particulièrement celui qui le contrôle.

Gameplay

2) Dans le décors

Il faudra penser aussi, lors du rendu du niveau, de le positionner en fonction de la position du joueur (ce qui donne l'effet de déplacement). L'idée est de rendre accessible la position courante du joueur au composant qui se charge de mettre à jour le niveau et le joueur, et lors du rendu, afficher le niveau aux coordonnées habituelles, moins la position du joueur. Ainsi lorsque le joueur augmentera sa position (il avancera), la carte reculera (on aura donc l'impression que le joueur avance dans le niveau). Une petite remarque concernant ce passage; tout est facile pour la position X du joueur (horizontale), cependant, pour la position Y (verticale), il faudra inverser le signe du décalage, car lorsque le joueur monte, la carte descend (alors que plus on monte dans l'écran, plus la position tend vers 0, il faudra donc travailler en repère inversé sur l'axe Y; rappelez-vous que le point 0 de l'écran se trouve en haut à gauche !).

Une solution pour bien distinguer l'acteur de l'observateur, c'est de séparer le joueur en deux modules. Le joueur en lui même, éléments ayant une localisation dans le monde, et une camera, qui suit le joueur. On aura donc l'affichage du monde qui sera relatif à la camera. Ainsi on a plus à se soucier du joueur concernant l'affichage des autres éléments. De plus, il sera possible de passer le point de vue sur une entité autre que le joueur (ce qui peut s'avérer très pratique !)


Lire la suite: Les Jeux de Plateforme - Les Monstres

Programmation Orientée Jeux ©2010-2014
Byron 3D Games Studio