(SOLVED) Jumpthru Platforms are broken

Heres what was wrong with it or Solution:

Walking on Jumpthru platforms will make your character randomly fall through them even with the “can go down platforms” disabled.

Changing the Platforms back to regular “Platforms”, makes them work as intended, its just the jumpthru setting thats buggy.

Heres a video of it happening.
Go to 3:40 onward.

I would double check the characters points and hit boxes for the different animations. If the character drops even slightly when the animation changes they can sink or teleport inside the platform and then drop thru it. The jumpthru might be more sensitive. It might be a bit like walking on a frozen pond. There might be just a thin area that gets checked by the platform behavior before it assumes you’re jumping thru it.

Workarounds. When the block is dropping you could change it to jumpthru and then back to standard when not moving. Or the instant the block squashes the character disable the characters platform behavior. That’s probably a good idea any way because weird things can happen when objects collide too much for an extended period of time. Forces get applied in competing directions and you never know which force will win.

1 Like

Theres nothing wrong with the hitbox, its the same for all animations, on the same position, on the same everything and its flat.

If it was a collision issue, the character would go trough regular platforms, iv had this happen when messing around with animations.

Its a specific jumpthru platform issue, and something iv seen people complaining about before.

I can use work arounds, but this is a core feature, it should be looked into and fixed asap.

Also, thanks for the idea to make them switch between platform and jumpthru, forgot you could do that <3

Im just a tad annoyed at the whole thing, iv had this happen on my other project too, certain enemies would just randomly drop trough Jumpthru platforms.

The annoying part is that, its fine to have bugs, no engine is perfect, but core features should always work as intended and should have more care in them than others… at least thats the way i think.

I know the devs work hard, im just being grumpy, so dont mind me.

Are you able to reproduce it in a new project?
Because i am pretty sure i had similar issue from other user on discord
And he was unable to reproduce it on new project
And solution turn out to be what Keith wrote
So make new object with many frames of animation but all same image so it have same hitboxes
And lets see

Yes this is actually a bug for so long it also happens to me the player just goes through the platform like it wasnt there. Now i also asked for help and someone said that there a seperate layer for jumpthru platforms but no.Its just a bug Gdevelop did not fix.

You can literally see the hit box, you dont have to do something like that.

The hit box is fine. The points are fine. The animation im using is only 4 frames and everything related to that character is the exact same resolution and hit box.

Why must something have to be reproduce in a new project? that might hide the underlying issue, if the devs want to see my project, ill happely send it to them.

If i find the time, ill do some more testing on it, but so far this should be more than enough,

You have video proof, a test of Platform vs Jumpthru, it shows that jumpthru will ignore collision some times, more than one person is having this issue.

= Theres an issue with the behavior.

I literally told you to try it on new project
I do not care how it works in your current project
Since it does not matter
What matters is will this occur ALWAYS

And for that you need to test it in new project

Like i said i saw too many times when strange things happen (especially with wall jump extension) when you even did try to touch collision masks

That is why i always tell ppl with issues like yours to try new project with single image
So object will have same exact collision masks

1 Like

This forum is not a place for name calling. Please refrain.

To isolate the issue and make it easier for the developers of GDevelop to pinpoint the cause. If you give them a large project, they’ll have to wade through a lot of unnecessary code. By providing a small and concise project, the search area is restricted and more manageable.

In addition, it may be that the cause are not near the symptom. If the issue isn’t initially present in the new project, then adding to it until it fails may help identify the cause, because we’ll know that the last addition is part of the problem

1 Like

.As u said in the op i solved with rehgular platforms.
disable the platform behaviour when your jumpthru condition happen and enable it back when player is not in collision solved the problem in my game.

1 Like

Tell me something i don’t know

Now make new project and check it
I really seen many issues with platform related behvaiors and fix 99% of the time was collision masks

ONCE guy had other event tweening his player
BUT other than that it always was either changed collision mask or different size per frame/anitmation (which in the end means different collision mask)

So you can keep on insulting me or you can try to at least find cause of your issue instead calling it a bug

Its not name calling, its just a fact.

This whole “make it happen on a new project” is kinda nonsense, yes i get why youd want it like that, but… thats not how debugging work.

If it was a mechanical issue, some sort of interaction thats not working as intended under normal circunstances, it would be one thing, BUT… when a bug happens, under specific unknown conditions, you HAVE TO LOOK AT THE WHOLE THING.

Case in point… The whole thing with the FlexContainer Extension having a memory leak, no one could recreat it in a new project, so the issue continued happening for YEARS! …the solution? The simple act of letting a dev have a look at a project where this was happening was enough for it to be pin pointed and fix in a bloody day.

You dont always isolate the issue… If you dont know all the factors, how can you?

Stop being so single minded…

This whole “make it happen on a new project” is kinda nonsense, yes i get why youd want it like that, but… thats not how debugging work.

I have developed in several game engines and web/app development and that is exactly how debugging works. If you cannot figure out the cause of your own bug, nor do you want to use the provided solution, it seems reasonable to do what people say to diagnose the bug and open a new project. I do not understand your reluctance to open a new project.

Its not name calling, its just a fact.

It is name calling and that is a fact.

If it was a mechanical issue, some sort of interaction thats not working as intended under normal circunstances, it would be one thing, BUT… when a bug happens, under specific unknown conditions, you HAVE TO LOOK AT THE WHOLE THING.

If this is true, it is not a problem with the underlying features then is it. It must be something that was added on by you which means that you are no longer debugging the engine but debugging code.

Case in point… The whole thing with the FlexContainer Extension having a memory leak, no one could recreat it in a new project, so the issue continued happening for YEARS! …the solution? The simple act of letting a dev have a look at a project where this was happening was enough for it to be pin pointed and fix in a bloody day.

This is the reason we create a new project. In a new project, there are very few factors so we can know all of them. Then we can keep adding factors until the bug is reproduced. This is the most efficient method of debugging the engine and has been done so for many years.

Finally, if you would like to ignore other members’ advice, you could try to debug this on your own. If you find the root cause of the issue, we will happily assist you.

No that is not why. It’s because the people debugging made an incorrect decision to stop adding factors after making a new project. If they made a new project and kept adding factors until they reached the original project, they would have found it. I know this sounds “dumb” and “a waste of time” but if done correctly, will work with almost 100% accuracy. Debugging is a living hell and I understand if you don’t want to rebuild your project from scratch. Unsarcastically, you could be that person who finds that bug without deconstructing their whole project. It would greatly benefit you and the rest of the community.

I would also refrain from calling things or people “dumb”. It is unconstructive and as you may have noticed, nobody else except me is replying here. This is most likely because they have gotten annoyed with you calling them or their ideas “dumb” or similar equivalents.

But it is kinda dumb, i see it so often on posts asking for help or bug report, “Can you reproduce it on an empty project?”, its so unhelpful, its like a cure all, fix all that dosent work, its just words to throw around.

Its fine, i fixed it and found the actual issue.

@Keith_1357 was the actual helpful one and he was kinda right, or at least he sparked the thought for me to go looking in the right place.

I know the others were just trying to help and that im a tad too grumpy today, but still, dont just go throwing this “turn it off and on” nonsense around.

ANYWAYS, heres some knowledge for you guys:

  • When using the Platform behavior, the “Platform” mode, is solid, and full size.
  • The “Jumpthru” mode on the other hand, is tiny, pixel thin infact.
  • Because of how i made the platforms stop when moving, that being, when in collision with the “red squares” do the action “stop object”, the object dont always stop on the same frame, or better yet, collision isnt checked on every frame.
  • Because of that, they were being stopped at different times, or on different pixels.
  • The offset was about 1 pixel, but 1 pixel is enough to make you fall trough when changing from one platform to the other,
  • Platforms need to always be perfectly aligned, down to the pixel for your character to be able to walk over them all without falling.

I already knew most of this, i found this out when i was making my first platforms in GDevelop, what i didnt realise was that the “Stop Object” action could make your platforms stop on different pixels, even tho they are colliding with perfectly aligned “stopping squares”.

Heres me showcasing this happening:

Please refrain from such words in a friendly forum

1 Like

You special snow flakes, really? Saying something is “dumb” is SOO offensive that you had this post flagged and hidden?

Geez, how do you live out in the world…

I did swear or curse or anything like that, was simply saying saomething was “dumb”

Seems that enough go make some people go into meltdown.

Guess meeting someone with a difference of opinion must be quite the shock…

Get help.