Super Weird Logic Issue

So my friend came up to me and said that level 26 on my game Launch Pop is impossible. I knew that couldn’t be true because I’ve beaten every level in the game, but it turns out he was resetting the level over and over again because he wanted to get the lowest score possible on every level. I went to show him how to do it, and we spent the next 45 minutes trying to beat it on our first try. I got to where I could consistantly beat it, but only after the 3rd shot.


Somehow the ball starts bouncing slightly higher after that 3rd shot which allows you to beat it.
I realized that the same issue happens on level 30:

You can beat the level, but only after the 3rd shot.
At first I thought it was an issue with this code here (found attached to the projectile block)

The point of it is to make it so that the ball bounces across bounce block instead of just hitting them and bouncing in the same spot. I wondered if the friction change could be somehow messing with the shot. But the thing is, the level is only beatable after the 3rd SHOT, not the 3rd bounce, so this can’t be the issue.
Honestly I’m so confused about where the issue is or where to even start, so if anyone has any pointers I would LOVE to hear them haha.
Thanks!

5 Likes

That’s a strange issue, and I’d like to look into it to see if I can find any clues - but I almost certainly won’t have time until after the Flowjam though :frowning:

5 Likes

Any update by chance?

1 Like

Do all platforms (web, android, ios) have the same behavior, or is this specific to one in particular?

1 Like

Also, on level 26 - what do you mean by “bounce higher”? What block are you bouncing it off of?

I’m trying to test this, but it’s not obvious where I should be bouncing it to see the effect you’re talking about.

1 Like

Yes, it is the same on all platforms.
image
Notice how both shots hit the same place from the same angle with the same power, but for some reason the 2nd one (3rd overall) bounces more and clears the block.
I’ve tested this on multiple phones, devices, etc.
It’s not the bounce count that matters it’s the shot count, which is what makes it more confusing.

2 Likes

It seems to be something with the emit behavior carrying over friction to the next emitted object.
Once the object is removed, the friction data is saved in the emit.

This happens on the third because the first ball isn’t removed until after the second is shot.
But adding off-screen → destroy does this on every second shot.

The best fix for this that I’ve done is setting the friction of the ball as it’s emitted by using a once as shown below.

2 Likes

Wow, you’re a life saver. I had no idea that emit would save the behaviors like that… good to know. Thank you so much!

1 Like

I guarantee it’s a bug, the emit behavior needs to be redone.

2 Likes

Yeah, thats kind of what I figured… do you think maybe it could be an emitter issue causing this as well?
image
Sometimes the ball gets caught on the green spinners, but only when the rotation is constant… if I turn off the rotation to stop at a 45 degree angle or anything it works completely fine and will roll down the slope.

This is because the spinners are using rotation instead of velocity to spin.
Velocity rotation was something grazer has had in mind but never added from the lack of requests.

1 Like

So as of now there is no way to fix this in Flowlab, until velocity rotation is added? And for the sake of me trying to learn how flowlab works, how does rotation vs velocity rotation differ and why would that break the game?

1 Like

It’s very similar to position and velocity.
Velocity has a force that will push other objects out of the way. Where position just forces anything to the side without force (or get stuck from constant position changes).

Rotation is the same as position, where it’s basically teleporting the shape to its location instead of using force to rotate the object to that position.

Games like this would really benefit from velocity rotation

2 Likes

Ohhh okay I see.Thanks so much for your help, I guess that I’ll just have to wait for an update with velocity rotation