Saturday, October 23, 2010

F_LADDER

Me voilà reparti à réfléchir à "comment permettre la présence de vignes, d'eau, de glace, de neige, etc ?", va savoir pourquoi! Le système de micro-contrôleurs enchaînés joue toujours un rôle important, mais plus comme je l'avais prévu initialement, idem pour les "cando".


L'idée serait d'avoir un des éléments présents dans la chaîne de contrôleurs qui définissent le comportement d'un état qui soit capable de détecter qu'une certaine condition (en l'occurence "est-une-échelle") est entièrement valide, et de générer alors un évènement pour que les transitions écrites en gobscript soient évaluées. On vérifie donc par exemple que la direction "vers le haut" est enfoncée au moment où l'on croise la vigne plutôt que de tester s'il y a une vigne tant que le bouton vers le haut est maintenu enfoncé.

I think I've found the way I will implement rope/vine/ladder climbing in my tiled game engine, but it's a bit tricky to explain. You may remind how I sub-divided the behaviour of characters into "micro-controllers" that can be chained to achieve the desired effect ? Well, that allows me to insert such a "controller" that would passively scan the tiles below a character and raise an event when all the tiles have a given property (e.g. "is a ladder"). Inverting the logic -- testing whether the 'UP' direction is pressed on the D-PAD when crossing a ladder rather than the other way round -- should help keeping things simple and efficient.

L'alignement automatique sur la vigne/liane/échelle à escalader et les balades aquatiques ont l'air de s'adapter aussi à ce genre de fonctionnement. La glace/neige et les tapis roulant, là, il faudra une autre approche... mais j'en rediscuterai un autre jour.

Prochaine étape, donc, permettre à ces différents contrôleurs d'avoir leur propre liste de test d'évènement de même que les zones de collisions ont leur propre liste de transition. C'est codé.

1 comment:

cyborgjeff said...

... me semble que c'est pas la foire aux comments !