Je trouve que la Princesse réagis mieux avec ces réglages.
Elle peut sauter uniquement de deux fois sa taille, mais je pense que
c'est suffisant. Il y a moins l'effet écureil nerveux. Et on est un poil
plus précis sur les trajectoires.
De toute façon, ce qui compte, c’est les valeurs !
Perceval Le Gaulois.
La princesse peut kicker depuis le mur! Sans pour autant que ça lui
donne la capacité de remonter au mur, en kickant elle tombe
progressivement vers le bas. Le joueur ne peut rien y faire.
Pour y voir plus clair maintenant que la physique se porte bien dans ce
jeu vidéo, j'ai fait du ménage et organisé les fonctions de la
princesse. Ca devrait être plus facile de rajouter du fromage et des
sauts muraux qui demandent un peu plus d'intrication dans les états.
Maintenat, peu importe la taille de la fenêtre de l'écran, on aura
toujours le même viewport sur le jeu. Pratique pour pas tricher en
passant en full screen n'est il pas ?
Aussi j'ai préféré utiliser un mode de caméra qui se déplace avec
retardement autour du personnazge pour éviter le côté trop centré
dessus.
Je trouve que les sensations en jeu sont meilleurs, un peu moins
gerbotron. A voir avec les tests utilisateur dans le futur.
Dans un cas particulier où un saut emmenant la tête du personnage sur un
pan incliné lui donnait une vélocité en x différente de zéro et
qu'aucune command du joueur n'était envoyé via le controleur alors, la
princesse glissait à l'infi et l'au delà (surement même un peu plus). Il
en va donc de sa survie et de la santé mentale du joueur de limiter ces
comportements ératiques et qui semblent tout bien d'être une
fonctionalité pour certains. Je m'égare, je m'égare! En attendant
l'écureil, la princesse freinera. voilà.
Objectif:
- tester comment la princesse se comporte sur des sauts de plus en plus
longs
j'en ai profité pour rajouter un tunel et un niveau de background pour
dessiner un arrière plan en pierre. Très fun.
Si le joueur appuyer sur la touche de saut un peu avant de toucher le
sol, alors le personnage sautera au moment d'avoir touché le sol. ça
permet au joueur de ne pas avoir totalement besoin d'être super précis
sur la commande de saut pour pourtant faire bouger le personnage.
Le mécanisme utilise un RayCast sous les pieds de la princesse pour
savoir où se trouve le sol.
Il restera à tuner cette variable dans le futur.
Uniquement se reposer sur is_on_wall() ne fonctionne pas, car
move_and_slide() parfois ne nous indique pas qu'une collision avec
un mur a eu lieu. ça doit être à cause d'un pixel de décalage ou
un truc du genre.
Pour palier au soucis, j'utilise deux RayCast, un à gauche et un
à droite. si ils sont trigger, alors ça veut dire qu'un mur est dans
le coin. Ils sont uniquement sensibles aux plateformes.
Voilà voilà, maintenant s'accrocher au mur ne nécessite plus de
maintenir la touche de direction dans le bon sens.
Le personnage doit perdre en vélocité sur l'axe précédant lorsque
le jour demande de changer de direction pour avoir un effet smooth
de déplacement.
La stratégie choisie consite à détecter qu'un changement de direction
est en cours puis de remettre l'index d'accélération à son état
d'initialisation et de laisser accélérer le personnage classiquement.
Sauf que lorsque l'on va calculer sa vitesse, l'on va rajouter la
vélocité déjà présente ce qui aura pour effet de smoother tout ça.
Une erreur d'attention faisaient passer des chiens pour
des chats. Et on ne mélange pas les torchons avec des serviettes
sinon les poulets ne seront pas bien gardés.
J'en met ma main à couper le feu que c'est la dernière fois qu'on
my prendra, jusqu'à la suivant bien entendu.
En attendant, ce fix fixe le bug.
bisous
Dans la version précédente, lorsque la princesse déscendait
un pente, il se trouvait que la graivté ne la faisait pas coller
au sol correctement.
Pour corriger le soucis, il faut appliquer la gravité en fonction
de ce que décide le joueur car on a besoin de désactiver la gravité
pour permettre au joueur de remonter la pente, mais l'activer à fond
and il descend la pente pour lui permettre de garde les pieds au sol.
Avant la princesse se colait au mur quoi qu'il arrive. Ce n'était pas
très agréable dans le gameplay. La raison principale, un soudain et
régulier changement de sprite. Plutôt que de tweaker ça, j'ai décidé
de choisir l'approche façon céleste où il faut enfoncer une touche
pour s'accrocher au mur.
La touche en question c'est control sur clavier
Et l1/l2 sur la manette
Pour l'instant ils ne rentrent pas en collision avec la princesse. Mais
ce sera le cas dans le prochain commit. Néanmoins les pics sont sur un
calque de collision numéro 6. Déjà paint dessus
P0nce a fait du bon travail! Voici une nouvelle carte qui a plus l'air
d'être un niveau de jeu vidéo. Bien qu'il reste vide, ça progresse sa
maman. Voilà! Bisous!
lorsque le joueur presse la touche de déplacement et que le personnage
est contre le mur, alors, le personnage tombe moins vite et l'animation
de 'se coller au mur' est jouée.
La princesse peut maintenant décélérer correctement. Et elle possède un
moyen de décélérer à des vitesses différentes dans l'air que sur le sol.
Il restera à tuner correctement cette nouvelle variable.
Prochaine étape: coyote time et wall stick + wall kick
banzaï!
Plutôt que d'annuler le saut immédiatement, juste empécher le refill.
De cette manière lorsque la princesse se tape la tête au plafond, elle
garde un peu d'apesanteur sans pour autant rester coincé là haut.
Si le joueur maintient la barre espace la princesse saute plus haut.
Il faudra tuner les variables.
Prochaine étape: modifier la décélération dans l'air.