C'est plutôt le passage d'un autre état (à l'arrêt ou en saut) vers l'aggripage de liane qui va demander une attention particulière. Deux éléments entrent en ligne de compte :
- le joueur appuie-t-il sur la flèche vers le haut ?
- Y-a-t'il une liane à laquelle s'aggriper ?
One of them is that you can climb a vine (assuming you're on the ground) only when you're exactly below it. From a gameplay point of view, this is unacceptable, so something will be required to make the vines "magnetic" so that the player is automatically placed at the right position when he attempts to climb while being "sufficiently close to the vine".
Second, to be able to grab the vine while jumping, I need to alter the behaviour of "jumping" and "falling" so that it raises an event, which forces transition towards new states to be evaluated. But I do not want such event to be raised at every frame when the player holds 'UP' dpad while jumping. I am still undecided on how I should make the fact that a vine is present available to the state machine expressions -- and potentially, same kind of info will be required for swimming in water and slippering on ice.
Autre petite difficulté technique en vue : lorsqu'on est au sol, il n'y a a priori qu'une position où il est effectivement possible de monter à une liane : quand on est pile sous celle-ci. Du point de vue du gameplay, ce serait l'horreur d'imposer ça et il faudra donc programmer une sorte de "magnétisme" qui positionne le joueur qui tente de monter à une liane juste sous celle-ci s'il n'en est pas trop éloigné. La solution s'ébauche, mais ce n'est pas encore assez précis à mon goût ...
Tu as exactement compris tout ce que l'ont doit faire pour faire un bon gameplay ! Bravo ! J'ai hâte de voir le résultat !
ReplyDelete@fabien : Merci pour tes encouragements. J'ai pas mal "bouquiné" les blogs d'analystes en level design ("Kirby Kid", pour ne nommer que lui)... Se refaire un "vieux jeu génialement pourri" comme "Thing on a Spring" aide bien aussi à se rappeler l'essentiel.
ReplyDeleteOn se connaît IRL ?