Friday, March 13, 2020

Dans le code de Celeste ...

Je m'étais fait une conversion epub du code de Celeste, peu après avoir reçu mon boox, pour étudier un peu tout ça pendant que *deline était à son cours de sport. Il faut bien dire que ce n'était pas simple à suivre, entre les hyper-jump et compagnie. Mais ici, un des développeurs vient de tweeter une série de mini-vidéos pour montrer toutes les ruses de gameplay qui ont été mises en place pour que le gameplay soit satisfaisant.

A few time after I got my first boox, I found the code for the game Celeste by Matt/Maddy Thorson. It seemed appropriate to study it while *deline was having sports in the evening, and it did give me some difficulties with all those hyper-jumps and similar advanced techniques. Especially since I barely started a game of Celeste on my switch and I'm nowhere in mastering those advanced moves. But the developer did tweet a list of 10 tricks they used to make the gameplay more satisfying.

Oh, j'ai une partie en cours sur Switch, aussi ... mais M. Oshiro en furie me mène la vie dure.

  • De 1 à 4: on a des techniques équivalentes dans Bilou
  • 5 - contourner les coins au lieu de se cogner la tête dessus. Pas encore.
  • 6 - s'aligner sur une plate-forme à sens unique quand on passe à travers
  • De 7 à 10: différentes manières d'étendre les zones de collisions avec les murs / plate-formes pour compenser des pressions de touches un peu tardives de la part du joueur (un peu comme le vile-coyote-time, mais dans d'autres circonstances - notamment pendant un wall-jump).

edit: ça y est! j'ai passé M. Oshiro!

Tiens, pour la comparaison, on atteint quand-même les 5000 lignes de code pour Player.cs (qui pourrait contenir plus que le code de Madeline, hein)

The tricks are the following (if twitter dies, they are hosted on "Celeste & Forgiveness" with their original animated gifs)
1coyotte timeYou can still jump for a short time after leaving a ledge.done
2jump buffering If you press and hold the jump button a short time before landing, you will jump on the exact frame that you land.done
3Halved gravity jump peakIf you hold the jump button, the top of your jump has half gravity applied (gives more time to adjust for landing)done
4Jump corner correctionIf you bonk your head on a corner, the game tries to wiggle you to the side around it.todo
5Dash corner correctionif you dash sideways and clip a corner, it'll pop you up onto the ledge.todo
6Dash corner 2also pop you up if it is a semi-solid platformtodo
7Lift momentum storage.Add momentum of upwards-moving platform to regular jump impulse, but allow to use it even a few frames after platform stopped moving upwards.done
8coyotte wall-jumpyou can wall-jump 0.25*playerwidth away from the actual walld.n.a.
98 for super-wall-jumpd.n.a.
(the 'done/todo' status indicates whether I have a corresponding solution in Bilou's game engine/state machine)

No comments: