Game Mechanics Momentum-based Enemy Projectiles?

Jam373

Member
Making a platformer, one enemy flies around in many directions at many different speeds and shoots fireballs.
Playing around with giving the fireballs the momentum of the enemy when fired.
For example: the base speed of the fireball is 2 (only moves horizontally), so if the skull shoots while its hspeed is 1, the fireball will have a speed of 3. If the skull has a hspeed of -1, fireball will be 1.

I know this is how real physics may work, but do you guys find this fun/intuitive in a game? Is it too much to ask the player to be aware of a mechanic like this? Would it feel 'cheap'/'random' to be killed by a fireball that was moving faster than you expected?
Any examples of mechanics like this in games you guys know and like?

I have played with varients of this too:
1. fireball speed is never below its base speed, so fireballs can get faster but not slower (slow fireballs look weird, especially if the enemy then overtakes its own projectile).
2. the enemy passes on a fraction of its vspeed to the fireball too. Enemies moving up cause the fireball to move slightly diagonally up ect.

(I appreciate that this question would be easiest answered through playtesting, but that's not quite an option yet. If necessary and requested I'll try to get something ready soonish to show.)
 

Psycho_666

Member
So you want to do something like the binding of Isaac where your movement affects your projectile movement.

I will give you 2 suggestions
1. Have tiered enemies. One enemy that shoot projectiles at normal rate and speed no matter what, so when the player gets used to it, introduce the second tier that can shoot faster projectiles.
2. Play with numbers. Maybe 3 is way too fast for a projectile so maybe 2,5. Still faster than 2 but not overwhelmingly fast? It all depends on your numbers.
 

Jam373

Member
So you want to do something like the binding of Isaac where your movement affects your projectile movement.

I will give you 2 suggestions
1. Have tiered enemies. One enemy that shoot projectiles at normal rate and speed no matter what, so when the player gets used to it, introduce the second tier that can shoot faster projectiles.
2. Play with numbers. Maybe 3 is way too fast for a projectile so maybe 2,5. Still faster than 2 but not overwhelmingly fast? It all depends on your numbers.
Totally forgot isaac worked like that, though if I remember right it's only the player that has that mechanic, not the enemies.

Tiered enemies is a great suggestion that I didn't think of. Kinda similar to how in gungeon there's that veteran bullet who shoots at where you're predicted to be.

Yep already been playing around with the numbers and adding all sorts of nuances.
Thanks for the reply.
 
Last edited:

Yal

šŸ§ *penguin noises*
GMC Elder
I feel like this kind of stuff is more intuitive when only the player's projectiles are affected by their momentum - projectiles always move the same speed relative to you, which makes ranged combat at high speeds more manageable.

If you can move so fast you can outrun your bullets, there's no point in trying to move and shoot at the same time! You won't hit anything anyway. And even if you can get close to your bullet speed but not exceed it, this lets you create a wall of bullets that then slams into an enemy all at once, breaking the existing game balance.

For enemies, you don't feel the speed the same way. Making their speed affect the bullets will just make them feel more unpredictable, and being randomly killed by an attack you never knew they had (e.g. a fireball that's randomly twice as fast as normal) will just make the player feel betrayed and drain their IRL ragequit healthbar for no reason.
 

Jam373

Member
I feel like this kind of stuff is more intuitive when only the player's projectiles are affected by their momentum - projectiles always move the same speed relative to you, which makes ranged combat at high speeds more manageable.

If you can move so fast you can outrun your bullets, there's no point in trying to move and shoot at the same time! You won't hit anything anyway. And even if you can get close to your bullet speed but not exceed it, this lets you create a wall of bullets that then slams into an enemy all at once, breaking the existing game balance.

For enemies, you don't feel the speed the same way. Making their speed affect the bullets will just make them feel more unpredictable, and being randomly killed by an attack you never knew they had (e.g. a fireball that's randomly twice as fast as normal) will just make the player feel betrayed and drain their IRL ragequit healthbar for no reason.
Yep I kinda agree. It only works if the player is 100% aware of the enemies speed as they attack (which is far too much to ask of the player). Otherwise you are right, they might as well be random, and that's an unfair mechanic. Thanks for the help.
 
Top