# How do I fix my Bullet Hell mechanic?

0 favourites
• 10 posts
From the Asset Store
This pack contains 10 types of bullet effects, with different shapes and colors.
• Hello folks,

I'm trying to do a simple mechanic but I'm having problems. I'm trying to make an enemy fire 8 bullets that will stop almost immediately, then only 7 of those bullets will be randomly destroyed, and the one that is left alive will start moving again at its original angle.

This is what is happening instead:

As you can see, sometimes no bullet survives the purge, other times more than one will make it, and none of them will follow its original angle (except those who have 0 or 180 as their angles).

These are my events:

I guess I'm overcomplicating stuff since I think this should be a really simple mechanic to achieve.

What do you think?

• The logic where you assign unkillable variable is just a bit wonky. You're saying compare for each bullet if its own IID is equal to an IID in a random range, this could be true any number of times or never. You should instead set a local variable to floor(random(0,8)) and then set the bullet whose IID matches that number.

• Thank you lions_! I still have got to grasp this programming logic, it escapes me easily :P

That fixed the issue with choosing which bullet survives. Do you have any idea why that bullet doesn't keep its original angle?

It always goes either 0 or 180. That's why I stored their original angle into that instance variable (iniAngle), but still doesn't work, so I guess something's off.

• If it continues at its current angle of motion then I see no reason to change the angle or add actions for angle when you set the special bullet?

• Yeah that's what I initially thought. It should continue at its current angle because I didn't touch anything related to their angles (except for the loopindex), but they all go either 0 or 180. That's why I stored their angles.

__

I've changed all the actions to "Set angle" instead of "Set angle of motion"

and now it works only for SOME of the bullets, randomly. I don't know why.

I've also double checked if there's any other event affecting the angles.

• ## Try Construct 3

Develop games in your browser. Powerful, performant & highly capable.

Construct 3 users don't see these ads
• shameful bump.

Does anyone have an idea why the bullets are not keeping their original angle?

I recreated the same events and actions in a new blank game, without anything else, and still happens the same. The bullets won't keep their original angle no matter what.

• I already mentioned above, remove the angle actions you've added if the bullet is going at the same direction

• But I did, initially my events didn't have any angle action except the loopindex, which is necessary. The bullets wouldn't keep their original angle, that's why I tried to fix it with the stored angle. Doesn't work either.

• They should continue moving unaffected if you didn't change anything. Another possible issue is if that event is running constantly from the top.

• I finally fixed it! I don't know why but it was the deceleration. I changed it to -99 and now it works.

• 10 posts