Enemy Design Considerations

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Maybe have a gorilla that throws barrels at you while you climb a ladder? That sounds oddly familiar for some reason ...

      On a more legitimate suggestion, you could have an enemy type that tries to cast spells at the player maybe? I mean, that's not really a huge leap to make it more fun, but might make it a tad more fun. It would at least add the need for the player to dodge stuff?

      Maybe write some different AI scripts? I don't know much about AI, but maybe one of them walks in a strange pattern to "confuse" the player?

      You could try adding a real simple inventory system? With enemies dropping items? To make it easier, maybe they just force items into your inventory. "ARG! I'm dead! Now you're forced to carry this thing."
    • Originally posted by kaykry
      You know, it would also be kinda cool to have a little store. In Legend of Zelda on NES, wasn't the store designed so that you just walk over the item you want and it automatically buys it? Maybe not, it's been a really long time since I've played it.

      It's been a long time since I played old school Zeldas, but that does sound familiar. At the very least, I'm certain Binding of Isaac uses this system.
    • RE: Enemy Design Considerations

      Originally posted by kaykry
      From a programming perspective, what sort of things can be added to make enemies feel different?

      Maybe you could have some enemies move faster than others (i.e. skip some update frames for those that are slower,
      increase the velocity vector (if you implement the movement/velocity via vectors) or something like that).
      Another idea would be to have the ghosts become invisible for a certain amount of time (the GCC DelayProcess would surely come in handy here :) )

      Originally posted by kaykry
      One of the goals of my game is to make the enemies feel a little more unique. I have two basic enemy types: passive and active. Passive enemies just patrol around and never attack the player, even if they get attacked. Active enemies charge at the player when he gets close.

      Maybe you could change the behaviour of the enemies at runtime? So, if a certain type of "passive" enemy is attacked, it would become "active" and attack you?
      I imagine this could relatively easy be implemented if you use a Component Architecture like in GCC.

      Originally posted by kaykry
      Is there anything else that can be added to make the experience more fun? I've thought about adding in special items which allow the player to take less damage from certain enemy types (ie, an "orb" or something the player carries causing him to take less damage from undead types).

      Well, considering you mentioned the Zelda games yourself,
      what about some other sort of items that are dropped by certain enemies, like for example bombs?
      You don't need to make animations for throwing, when you click the "bomb"-key it could just spawn next to you and explode after a few seconds?
      (BTW, I think the DelayProcess is an awesome tool :) )

      Originally posted by kaykry
      I'm also thinking in terms of bosses. At the current rate, the boss will just be a different PNG with a huge number of hitpoints.

      Maybe you could give the bosses some attacks with special abilites?
      So they can freeze or stun you? Or you could make them immune to all attacks except for one special kind (maybe the bombs :D),
      or only give them one weak spot that you have to hit in order to harm them.

      Originally posted by kaykry
      I mean practical ones for a novice game developer, nothing too insane.

      I don't know how well my ideas would integrate with your engine, if you have something similiar to the GCC engine, it should be possible I guess...
      Maybe I overdid it though, since I am also creating a game at the moment, so I just posted some of the ideas I wanted to realize in my game :D
      Anyway, good luck! :)
    • This takes me back to 2007 or so when I was at Planet Moon working on Drawn to Life for the Wii. It was a platformer game so a lot of discussion went into enemy design and behaviors. Platformers are like overhead zelda games in that the enemies all really need to be unique. I would suggest deciding what types of things you want to be able to tweak and change and try your best to make it easy to change those things. Try to think generically rather than enemy-by-enemy.

      In Drawn to Life, I built a complex state machine system that easily allowed designers to hook up states and transitions in Lua. New behaviors were written as states in Lua.

      One thing you probably want to do is try your best to keep things relatively consistent. You don't want a bunch of truly random movement because that's not really fun. Think about a game like Mega Man or Super Mario Bros. The movement is pretty much consistent and the challenge is really in learning the pattern of that enemy. The original Zelda had a lot of random movement, but later Zelda games weren't as random. In general, you want predictable patterns.

      Some mechanics you can toy with:

      *Enemy movement speed
      *Enemy vulnerabilities (need a special item to hurt it, or it can only be hurt from certain angles)
      *Enemy attack types (melee vs ranged vs area)
      *Enemy damage types (some do damage, others freeze you, etc.)
      *Patterns, as I said above
      *Helpers (some enemies can help others, like little healer bots or something)
      *Cowards (some enemies can run away, but they're high-value enemies, like the survivor zombies in Left-4-Dead 2)

      And keep in mind that you can combine these. You could have an enemy that's faster than the player and charges him, then explodes. Think about the interesting enemies you come across in older games and why you enjoy them. Try to draw out some mechanic from that.

      And most important, play-test them. Have people who aren't you play your game and give honest feedback. Are all the enemies fun, or do they feel like re-skins?

      Can't wait to see what you come up with. :)

      -Rez