Wednesday, April 30, 2008

Obey Gravity

Hehe. un autre pas sympathique est franchi: Bilou tombe. Ouais, ouais, je sais, ça n'a l'air de rien comme ça, mais quand il arrive sur le sol, il arrête de tomber.
En clair, le mécanisme des contrôleurs dont je vous parlais l'autre jour, bin ça y est: c'est fait aussi.

Et assez élégamment, je dois dire. On peut coder tous les contrôleurs qu'on veut (ici gravity qui fait tomber et stopper qui remet la vitesse à zéro quand on arrive sur le sol) à l'extérieur du moteur de jeu et simplement les nommer dans la définition de nos états.

Reste donc juste à coder le support des actions et des prédicats à attacher aux transitions (genre, lorsque l'on a fini de tomber "rebondis si vitesse>seuil, sinon atteris"). Et là, ça va être un gros morceau.

Another milestone has been met by my Game Engine today. Bilou's falling. Oh, well, i know, it's hardly impressive, but he also stops falling when hitting the ground. In other words, i'm done with the introduction of controllers that can externally control the behaviour of sprites in the game (in that case, the gravity controller increases the vertical speed periodically and reflect button presses on horizontal speed). Now all i'm left to implement is the support for actions (like 'stop falling' when ground is detected) and predicates (such as 'if speed>200' on a transition towards 'bounce' state in addition to a (default) transition towards safe landing).

Of course, it wouldn't be worth a post if i was to program this for Bilou only (after all, having characters that fall is the most elementary technique of game programming), but i'm trying to build the bricks for an "Ultimate Game Maker" on the DS here ... so i address things a slightly different way to allow edition of behaviours without requiring lines of code to be written...

Alors okay, je vous donne peut-être l'impression de faire tout un fromage d'un truc élémentaire (faire tomber quelque-chose, c'est quand-même le B.A.BA de la programmation des jeux), mais le truc ici, c'est que ne cherche pas juste à faire le jeu "Bilou", évidemment (sinon je ne m'y prendrais pas comme ça), mais plutôt à construire les briques d'un "Ultimate Game Maker" sur la DS.

No comments: