• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Suggestions for leveling up/incrementing enemy behavior.

Hello all!

Just wondering if anyone can provide a simple way to increase enemy behavior variables, as levels increase, to make them more difficult to defeat; as in speed, different more dangerous attacks, enabling special moves, etc. I'm currently working on a shooter, like Demon Attack, or Galaxian.

I currently have a level controller object which reads a script for each level. So if my level variable is 1 it will read a script called "scr_Level_1" to obtain data for what enemies appear.

All my enemies have an enemy parent and inherit enumerations for behavior. Everything is working well so far. I'm currently incrementing behavior as such: enemy_speed += enemy_level / 10 (as well as dividing by other higher/lower numbers). Other variables are incremented similarly.

However, I feel there are better ways to accomplish intensifying enemy behavior. There is an "unknown" factor as to how fast enemies will move after 100+ levels and it's not very predictable with the way I've implemented it. I'm working on a point chaser, so if I create 100 levels, they will loop. I can possibly clamp enemy speed, but I'm not sure how it will be with a few different types of enemy on screen, all at different levels of behavior. I don't want to make it very difficult too soon.

Can anyone suggest a better way to manage enemy AI so it is more predictable?

Thanks much. I hope I explained everything correctly.
 
Last edited:

woods

Member
i would def set your max spd for your enemies.. if it gets faster and faster as you increase in level.. like you said-There is an "unknown" factor as to how fast enemies will move after 100+ levels - they will effectively be teleporting to location at some point ;o)

adding HP will only get you so far in increased difficulty.. after so much it just becomes a time sink.

changing/adding more attacks can certainly throw your players a curve..

what is the basis of the game you are working on? ...more information would be helpful to give more insightful response
 
i would def set your max spd for your enemies.. if it gets faster and faster as you increase in level.. like you said-There is an "unknown" factor as to how fast enemies will move after 100+ levels - they will effectively be teleporting to location at some point ;o)

adding HP will only get you so far in increased difficulty.. after so much it just becomes a time sink.

changing/adding more attacks can certainly throw your players a curve..

what is the basis of the game you are working on? ...more information would be helpful to give more insightful response
"they will effectively be teleporting to location at some point." Haa true! I modified my original post to include more details. Thx for responding.
 

woods

Member
sometimes simply changing up the RoF and SLOWING DOWN the bullet can throw the player off really well... esp after a handful of levels of speed increases...
a spread shot can cause some good cramping..
having your enemy divebomb the player can force them to dodge INTO a bullet hell situation for a minute.. increases anxiety for a tic

a combination of all of the above.. without a set pattern of level repeat.. gets past the whole (ok we are at level 3 they gonna start diving)


ofc these suggestions are to make the game harder


Just wondering if anyone can provide a simple way to increase enemy behavior variables, as levels increase, to make them more difficult to defeat;
Can anyone suggest a better way to manage enemy AI so it is more predictable?
 
I never thought about slowing down anything! Thanks for the suggestions. It will certainly be another element to utilize, so I can mix it up and challenge the player.

Anyone else have any suggestions? I'll take all I can get! I still have much to learn, but I'm getting there.
 

Yal

šŸ§ *penguin noises*
GMC Elder
Instead of making enemies stronger, I'd say focus on increasing the number of enemies instead (with no hard cap). If enemies spread out and don't all make a conga line behind the player, chances are the player will get overwhelmed sooner or later. Pac-man had different AI for all four ghosts specifically to make them surround the player and force them to think about their moves.

In Love-Colored Letters, the number of enemies allowed in the level at once goes up by ~1 per level (1 for the "minimum" and 1.5 for the "maximum", to be precise), and if there's fewer enemies than the minimum, the game spawns them 20 times more often (which means it quickly goes back to at least X enemies in the level no matter how quickly you dispatch them). So basically the game slowly ramps up the "background radiation" difficulty, and it also ramps up the "oh **** I screwed up" difficulty where not culling enemies will overwhelm you with tons of them at once, but there's a "comfortable zone" where enemies spawn slowly and you can still fight back; it just gets more uncomfortable the longer you survive until you can't handle it anymore.
 
Instead of making enemies stronger, I'd say focus on increasing the number of enemies instead (with no hard cap). If enemies spread out and don't all make a conga line behind the player, chances are the player will get overwhelmed sooner or later. Pac-man had different AI for all four ghosts specifically to make them surround the player and force them to think about their moves.

In Love-Colored Letters, the number of enemies allowed in the level at once goes up by ~1 per level (1 for the "minimum" and 1.5 for the "maximum", to be precise), and if there's fewer enemies than the minimum, the game spawns them 20 times more often (which means it quickly goes back to at least X enemies in the level no matter how quickly you dispatch them). So basically the game slowly ramps up the "background radiation" difficulty, and it also ramps up the "oh **** I screwed up" difficulty where not culling enemies will overwhelm you with tons of them at once, but there's a "comfortable zone" where enemies spawn slowly and you can still fight back; it just gets more uncomfortable the longer you survive until you can't handle it anymore.
Thanks as well. It's very interesting to hear different takes on ramping up difficulty. I will certainly utilize your suggestion too. Any others? Keep 'em coming! I'd appreciate any further insight. Thx.
 

Tony Brice

Member
Using a state machine works well for things like this. Enemy follows a certain pattern until something breaks the pattern and then you change the state so the enemy is doing something different until either the player is dead or something happens to put the enemy back into his original state again.

A good example i used in my last game was proximity. Checking distance between each the enemy and the player. You get too close and the enemy appears to lock onto you then and starts turning and moving towards, or shooting at, you. Naturally that distance to provoke the change increases each level.
 
Using a state machine works well for things like this. Enemy follows a certain pattern until something breaks the pattern and then you change the state so the enemy is doing something different until either the player is dead or something happens to put the enemy back into his original state again.

A good example i used in my last game was proximity. Checking distance between each the enemy and the player. You get too close and the enemy appears to lock onto you then and starts turning and moving towards, or shooting at, you. Naturally that distance to provoke the change increases each level.
Sorry for delay. Yes, I'm using a state machine. So far I only have distance between enemy and player changing enemy state. It's working well, but I want to mix it up a bit more. Also, I do like the idea of the enemy locking onto the player!
Any other ideas to change enemy states other than distance to player? I'm hoping to get at least one more idea to implement. Everyone who responded so far have been a great help. Thx!
 

Tony Brice

Member
Depending on if your enemy can be hit more than once, you could have an aggression level. If they take more than a couple of shots then they are annoyed and will focus on either colliding or repeatedly shooting back rather than being passive.
 
Top