Messagerie


problèmes de collisions en déplacement case par case

52 messages
Fusion 2.5
jeudi 16 août 2018 à 13:24
Bonjour à tous !

Malgré avoir tourné les pbs dans tous les sens, je suis sec ! je pense qu'il y a une/des notions de collisions et de hitbox que je n'est pas bien comprises sous mmf.

Voila pourquoi je viens vers vous !

c'est mon premier post sur le comptoir du clickeur ! :)

je suis entrain de réaliser un remake d'un petit jeux CPC appelé ATC j'ai pas mal avancé, mais je suis bloqué sur des pb de collisions:

je souhaite réaliser les événements suivants:

-Les pierres doivent tomber tant qu'il n 'y a pas d'obstacle.
-Mon vaisseau peut déplacer les pierres de droite à gauche tant qu'in y'a pas d’obstacle ou de trou (alors elles tombent).
-Mon vaisseau est détruit si il se trouve sous une pierre lorsque'elle tombe.


Tout ces événements fonctionnent plus ou moins bien.

en effet mes pierres tombent bien sauf si elles sont superposées...
mon vaisseau peut bien les déplacer de droite à gauche, mais aussi si il y a un obstacle derrière...

j'ai essayer d'utiliser des techniques fournis sur le forum, mais j'ai l’impression de faire une usine à gaz pour pas grand chose... donc si vous avez en plus des astuces pour optimiser mon dev je suis preneur ! ;-)

Merci par avance de votre aide à tous !

Tonton Grim

PS: je vous ai joint un petit fichier mfa pour mieux vous permettre de voir mes pbs
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 16 août 2018 à 13:44
Tu veux faire un Boulder dash :) Y'a plein de solutions possibles.
La plus simple que j'ai réussi à faire c'est celle là : 6 lignes mais elle dénature le gameplay retro "case par case" que tu essaies de reproduire.
Si ça peut aider :)
Pièces jointes
Monos
2713 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5
jeudi 16 août 2018 à 14:14
Le mieux c'est quand même d'utiliser les matrices pour mémoriser les positions des objets !

Regarde sur le forul/site j'ai un tuto sur le déplacement case par case qui reproduit plus ou moins ce que les programmeurs font !

52 messages
Fusion 2.5
jeudi 16 août 2018 à 14:45
Tout d'abord merci à vous d’avoir pris le temps de me lire et de me répondre:

Patrice:
Ton idée est bonne et j'ai utilisé cette extension, mais comme tu l'a dit toi même cela "dénature" l'aspect retro et les déplacements sont trop fluides et lents pour mon jeu, c'est pour cela que j'ai laissé tombé les extensions de type "mouvement physique".

Monos,
Avant de poster j'ai parcouru le forum, et notamment ton tuto de tableau dont tu parles, ainsi que le sokobam de kloug d'ailleurs (qui m'a permis de réaliser les déplacements) :).!
Mais ton tuto est adapté pour des scènes ou les objets sont figés avec un statut définis à l'avance.

Dans mon cas, les pierres par ex, tombes ou peuvent être déplacées par mon vaisseau (comme d'autres objets du jeu d’ailleurs), donc là ou il n'y avait pas d’obstacle à un instant "t", il y en a un l'instant d’après, alors certe, je peux changer le statut dans ton tableau, mais pour cela il faut que mes objets soient correctement positionnés dans le tableau et donc dans l’écran de scène pour que ton système fonctionne, et pour cela il faut que mon moteur de collision soit fonctionnel, ce qui me pose problème dans mon cas actuel...

Ton tuto ne résout donc pas mon problème de collision...mais me sera utile pour mémoriser les scènes multiples de mon jeux lorsque le joueur devra repasser par une scène particulière pour avancer dans une autre.

A moins que je n'ai pas compris entièrement ton tuto Monos ! ;-)

Je cherche toujours de mon coté, alors n’hésitez pas du votre ! :-)

Merci

tonton Grim
52 messages
Fusion 2.5
jeudi 16 août 2018 à 15:02
Dis moi Patrice aurais tu toujours dans tes placards, le fichier mmf de ton boulderdash, je suis tombé dessus en reparcourant le forum?:

voici ton post de l'époque (le lien dropbox ne fonctionne plus):

http://comptoir-mmf.eu/Forum/index.php?topic=1040.0

je pense qu'il me serait très utile :)

Merci de ton retour
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 16 août 2018 à 15:20
Ah oui, il date celui là :)
Le voici, mais toute la partie génération procédurale du niveau va parasiter la compréhension.
Pièces jointes
52 messages
Fusion 2.5
jeudi 16 août 2018 à 15:21
Pas grave je vais faire le tri ! :)

Merci j'y retourne ;-p
52 messages
Fusion 2.5
jeudi 16 août 2018 à 15:33
Ok tu utilises des capteurs gauches/droites haut/bas pour chaque objet... ce qui est plus simple en effet mais..

j'ai plus d'une dizaine d'objets (pierre, bombe, etc...) avec des comportements différents...

Penses tu qu'il y ai un moyen moins contraignant et/ou plus optimisé ? (que de créer 3/4 capteurs par type d'objet ?)
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 16 août 2018 à 15:34
Utilise des qualifiers non ?
52 messages
Fusion 2.5
jeudi 16 août 2018 à 15:46
Oui je l'ai utilise de manière globale pour faciliter des les tests de collisions, mais là, j'ai une dizaine d'objet avec un comportement différent donc dans ce cas précis, les qualifieurs me seront pas trop utiles, cela reviendrai à mettre un qualifieur différent/ objet...

après si c'est LA solution... je vais m'adapter :)

c'est juste au cas ou ton expérience et/ou une astuce/extension me serai passée entre les doigts...

je tente avec les capteurs on va voir...
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 16 août 2018 à 15:53
Quelle est la nature des différences de comportement sur tes objets ? le temps de latence pour la chute ? Suivant ce que c'est tu peux le définir dans leur variables et aller les chercher via le qualifier.
Je ne sais pas si je suis bien clair...
Kloug
1497 messages
Fusion 2.5
jeudi 16 août 2018 à 15:59
Salut,

Sur la vidéo (youyou), visiblement, il n'y a rien de compliqué à reproduire.

https://www.youtube.com/watch?v=-rM1Dd5V7rE

Avec ce principe on peut simplifier le truc.

Objet actif vitesse =0 >> coller l'image dans le décor >> obstacle.

Objet actif vitesse >0 >> coller l'image dans le décor >> non obstacle.

Dans Fighter Sokoban, il y a le principe pour la caisse.

https://mega.nz/#!3BxyEYZL!GIdSCEncDD_DYFYPExSpGI9a_Kvpnp04LtAJQpepZJo

Tu as déjà mis au point des astuces avec mmf (ctf)?

Cela permet de finaliser rapidement un niveau jouable avec de l'expérience.

Bonne continuation.

A+++
52 messages
Fusion 2.5
jeudi 16 août 2018 à 16:04
C'est ça Kloug ! ;)

De nouveau, merci à toi Patrice de prendre le temps de m'aider.

je suis sur le forum en même temps que je dev sur mmf 2.5.

ex: d'objet:

La Pierre: elle tombe sans obstacle, mais peut être déplacée de droite à gauche si pas d'obstacle sur le chemin, le vaisseau explose si une pierre lui tombe dessus

La Bombe: elle tombe comme la pierre et peut être déplacée comme la pierre, en revanche elle explose si elle tombe de plus d'une case.

la ventouse:elle va vers la gauche si pas d'obstacle sur sa route, mais peut etre déplacée en vers le haut ou vers le bas, le vaisseau explose si il est sur sa route
etc etc...

et il peut y avoir plusieurs objets identiques dan la même scène (5 pierres, 3 ventouses, 2 bombes etc...) mais il ne doivent pas bouger en même temps chacun à son propre comportement en fonction des éléments qui l’entour...


52 messages
Fusion 2.5
jeudi 16 août 2018 à 16:08

Merci
Kloug, oui comme indiqué plus haut, j'ai utilisé ton fighter sokoban pour m'en inspirer...

mais je suis bloqué...

non je n'ai jamais mis au point des astuces mmf (CTF) ...


je dois être neu neu.. :(

désolé messieurs...

Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 16 août 2018 à 16:47
Alors... il faut coder chaque objet :(
@Kloug tu as encore oublié le smiley "humour"...
52 messages
Fusion 2.5
jeudi 16 août 2018 à 17:00
Ne t'en fais pas Patrice, je n'ai pas mal pris la "réponse" de kloug :)

En parcourant le forum, j'ai bien compris son "caractère" un peu condescendant ! ;-p
l'essentiel est qu'il mette a disposition sa "science infuse" !! ;-) pour la communauté.

En revanche je n'ai pas bien compris ses explications...

je lui demanderai bien un petit ex sur le pouce en fichier mfa pour voir...

Kloug tu es partant ?? :-)
Kloug
1497 messages
Fusion 2.5
jeudi 16 août 2018 à 17:09
L'astuce expliquée pour déplacer une caisse (sokoban), un rocher, une pince à linge, etc.

http://clickmoteur.blogspot.com/2018/08/comment-faire-un-sokoban-avec-clickteam.html

En pièce jointe, un déplacement CC 64x64, sans trop de variables.

:D

Le jeu risque d'être fastidieux à programmer sans astuces, il y a un début à tout, mmf est un logiciel de programmation rapide, une translation (adaptation, remake) passe forcément, par des éditeurs spécifiques.

8)

Pièces jointes
52 messages
Fusion 2.5
jeudi 16 août 2018 à 17:24
Merci Kloug ! pour ton petit mfa mais...

Si tu reprend mon mfa de départ, mon pb n'est pas de faire un déplacement case par case (le mouvement de mon vaisseau fonctionne très bien).

mon problème se situe au niveau des collisions ! entre mon vaisseau et les pierres de ma scène !

je récapitule donc:

La Pierre:

1:Elle tombe sans obstacle (ça fonctionne si il n' y a pas 2 pierres l'une sur l'autre sinon elles se superposes) : premier pb

2:Elle peut être déplacée de droite à gauche si pas d'obstacle sur le chemin et tombe si rien en dessous (même comportement ci-dessus) : 2eme pb

3:Le vaisseau explose si une pierre lui tombe dessus : ça fonctionne

Donc si j'arrive à régler ces 2 pbs je reglerai mes soucis pour les autres objets qui utiliserons les même méthodes.

Mes problèmes sont sur les collisions pas sur les déplacements.

ps: Kloug qu'est ce que tu appelles une "astuce" mmf ?, c'est du code sous mmf directement ? ou une petite routine réutilisable ?



Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 16 août 2018 à 17:35
Ahhhhh oui, celui là il est bien bien connu :)
Pièces jointes
Kloug
1497 messages
Fusion 2.5
jeudi 16 août 2018 à 17:42
On a quand même le droit de pondre un moteur de déplacement, pour se faire plaisir!

Niveau puzzle game, il est besoin de prendre les problèmes un par un.

Voici l'astuce klik spriting dont tu as besoin pour déplacer un rocher, pour éviter une superposition avec un autre rocher, un obstacle.



Si tu n'arrives pas à gérer les collisions pour le rocher, je ferai un exemple.

Édit:

Tu as décortiqué Fighter Sokoban, parce que l'exemple résout la problématique des collisions pour n'importe quel nombre de caisses, (rocher, pinces à linge, etc). 


Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 12 visiteurs au total

Derniers messages