Aujourd’hui, beaucoup d’éléments de gameplay sont choses acquises. On n’imagine plus la réflexion, la programmation qui se cachent derrière. A vrai dire on peut s’en foutre … mais pas aujourd’hui! Prenons l’exemple des points de vie !

A programmer cela paraît assez simple : un nombre X HP que l’on décrémente de N dégâts (HP – N). Si les HP sont égale à zéro, la partie s’arrête : GameOver. Simple, basique ? Eh ben à conceptualiser c’est très poussif. Prenons l’exemple suivant:
Il reste 1 HP au joueur, l’énemi inflige 2 dégâts. Les HP sont à -1. Si je n’ai pas défini des règles strictes, le joueur ne pourra pas mourir car il passe directement de 1 à -1 : les HP ne sont pas égale à zéro, la condition de Game over n’est pas resepectée. Il faut donc définir une valeur minimale à HP impondérable (si HP < 0, alors HP = 0), ou définir une condition de perte moins stricte (game over si HP < ou = à 0). Mais cela peut soulever d’autres problèmes dans mon cas mais passon.

Comme vous le voyez c’est à la foi cruellement logique et très verbeux. C’est ça la programmation en C# , schématiquement. Et ma propre découverte de ce langage m’a donné des idées pour mon jeu.
Prenons le même raisonnement mais ajoutons des HP. Sans limite haute, un item qui redonne de la vie ( HP + N) pourra augmenter indéfiniment si le joueur ne se fait pas toucher ou très peu. Il faut donc définir une valeur HPmax qui permet de dire : si HP > HPmax, alors HP = HPmax. On peut très bien rajouter un système de points à cela : dans Mario Bros , si vous prenez un champi ou une fleurs alors que vous êtes grand ou Mario feu , vous gagnez 1000 points.
De tout ça germent les idées de mon gameplay. Plutôt que de faire un shooter simple, j’incorpore des composantes RPG: des items de régénération peuvent rendre de la vie, et des bonus peuvent augmenter la limite maximale de HP. C’est comme un personnage qui gagne un niveau et qui augmente ses HPs ! Mon Jeu devient donc un shooter spatial à composante RPG 🙂