tag:blogger.com,1999:blog-34057821.post9152677701176237680..comments2024-03-27T10:33:22.456+01:00Comments on Bilou HomeBrew's Blog: Les plate-formesPypeBroshttp://www.blogger.com/profile/10564522267743689261noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-34057821.post-18655854599619162082009-12-07T09:49:00.561+01:002009-12-07T09:49:00.561+01:00Justement, l'intérêt des micro-comportements, ...Justement, l'intérêt des micro-comportements, c'est qu'ils décrivent une action élémentaire, qui peut être partagée par un grand nombre d'entité. Le déplacement du personnage enchaine "lire-le-pad" puis "suivre une pente" alors qu'un ennemi enchaînerait plutôt "se déplacer vers le héro" puis "suivre une pente".<br /><br />Dans les derniers développements, j'ai fini par laisser tomber l'approche dont tu parles pour GetMapPixel() au profit d'un "masque d'actions impossibles". Pour qu'un objet puisse tomber, par exemple, il faut que gob->cando(FALLTHRU) renvoie true. Si je détecte la collision perso-plateforme, je peux faire hero->setmask(~FALLTHRU) de sorte que lors de l'évaluation des comportements, cando(FALLTHRU) renvoie toujours faux.<br /><br />Mais bon, je détaillerai un peu plus quand j'aurai codé ça.PypeBroshttps://www.blogger.com/profile/10564522267743689261noreply@blogger.comtag:blogger.com,1999:blog-34057821.post-84770616583911872432009-12-05T15:05:10.858+01:002009-12-05T15:05:10.858+01:00Ah les plate-formes, une bonne prise de tête pour ...Ah les plate-formes, une bonne prise de tête pour trouver la méthode à utiliser. <br /><br />Pour les micro-comportements, j'ai des doutes sur leur application à tout les élements du jeu. Par exemple, "suivre une pente", si jamais un ennemi à besoin lui aussi de suivre une pente, il faudra re-coder une variante pour cette entité en particulier ?<br /><br />Je n'ai pas encore implémenté la gestion des plate-formes dans mon jeu mais j'ai une petite idée de la méthode que je vais utiliser pour les implémenter. <br /><br />Mon moteur physique c'est séparé en deux parties, les collisions avec la map (avec des test points) et les collisions avec des corps (principalement des AABB). Le problème est que pour que le héros entre en collision avec une plateforme, il me faut relier les deux moteurs. Pour faire ça, j'ai pensé à ajouter une partie dans la fonction GetMapPixel(x, y). Dans celle-ci, il me faudra itérer parmi tout les corps solides de la map et de retourner un pixel noir si jamais il y a un corps à cet endroit. Ainsi, toutes les entités du monde pourront se déplacer indifféremment sur la map et sur les plate-formes.<br /><br />Le seul souci est d'évaluer l'impact que cela aura sur les performances, en effet, pour chaque test point, il faudra itérer parmi tout les body à l'écran. Ce qui pourrait se révéler être gourmand.Anonymoushttps://www.blogger.com/profile/01101127929518270732noreply@blogger.comtag:blogger.com,1999:blog-34057821.post-43039769983253266752009-07-13T14:30:47.874+02:002009-07-13T14:30:47.874+02:00agréable comme réflexion :)agréable comme réflexion :)cyborgjeffhttp://blog.cyborgjeff.comnoreply@blogger.com