Author Topic: Structured Enemy Design  (Read 9231 times)

wire_hall_medic

  • Rogueliker
  • ***
  • Posts: 160
  • Karma: +0/-0
    • View Profile
Structured Enemy Design
« on: March 14, 2013, 04:53:31 PM »
So I was reading a book called Trailblazer; Trailblazer is a modification of the d20 tabletop game system designed to smooth it out and provide consistency.  Here's a review: http://rpggeek.com/thread/733184/the-thinking-gms-dd-3-75.

One of the core concepts is that of the "spine;" that monsters of a particular level should have stats which fall within certain values (hit dice, base attack, and saving throws; damage output is largely based on hit dice).  This is so that enemies are consistently a reasonable challenge for the players; that is, consume a particular amount of the player's resources (hit points, spells per day, etc).

So I was thinking, that ought to work REALLY well for a rougelike.  Something like this:

Mechanics:  The player initially has 20 hit points, and hits for 4 damage.  Every level, the player gets +5 hit points.  The loot generator is set up such that the player can find a better weapon (+1 damage output) on starting every 4th level, and better armor (-1 damage taken) starting every 5th level; assume useful loot drops are reasonably likely.  Combat is supposed to be pretty dangerous, so the player should be able to kill the enemy in 3-4 hits, and will die if hit 10 times.

So when an enemy is created, rather than having hard stats which are tweaked during balancing, the enemy generator turns to an algorithm.

For example, an area features bandits, which should be level 5 enemies.  At 5th level, the player is expected to have 40 hit points, deal 5 damage per hit, and have a damage reduction of 1.  So the bandits would have 17 - 22 hit points (3-4 hits), and deal 4 damage (10 hits to kill the player).  Bandit brutes, which attack half as fast, would hit for 8 damage, and bandit rogues, which attack twice as fast, would hit for 2 damage.  A champion bandit would just be a 7th level bandit (20-25 hp, 5 damage).

To keep monsters from feeling identical, we'll just do what we've always done; give them abilities.  If snakes inflict poison and thieves steal from the player, they'll feel very different even if they have the same health and damage.  You might need to give particular abilities a level value; for example, the poison above makes the creature more dangerous, while the stealing not so much.  So a snake might be generated with the stats of, say, a creature 2 levels lower to account for the damage his poison deals.

Note that the idea is to generate creatures based on how powerful the character SHOULD be; if they dive too fast, they'll run into creatures they can't handle.  Conversely, if they have the option to grind, that would be a useful option.  You'd need to make sure that your advancement system lines up with the generator.

Has any one implemented something like this?  Thoughts?

guest509

  • Guest
Re: Structured Enemy Design
« Reply #1 on: March 14, 2013, 06:15:19 PM »
  My thoughts about this have always been that leveling simply becomes an arms race. Grind to get ahead. If grinding is interesting to you then this is a great scheme.

Quendus

  • Rogueliker
  • ***
  • Posts: 447
  • Karma: +0/-0
  • $@ \in \{1,W\} \times \{1,H\}$
    • View Profile
    • Klein Roguelikes
Re: Structured Enemy Design
« Reply #2 on: March 14, 2013, 08:08:57 PM »
The Monsters' Den games ( http://www.kongregate.com/search?q=monsters%20den ) do that. The result is pretty much as Jo describes - except that you can't grind to get ahead, you can only grind to avoid getting behind.

guest509

  • Guest
Re: Structured Enemy Design
« Reply #3 on: March 14, 2013, 08:52:00 PM »
  See World of Warcraft for an extreme example of lack of enemy variety, just stat inflation. Luckily you get new abilities when you level in WoW. Just enough heroin to keep you tapping the feed bar.

wire_hall_medic

  • Rogueliker
  • ***
  • Posts: 160
  • Karma: +0/-0
    • View Profile
Re: Structured Enemy Design
« Reply #4 on: March 15, 2013, 04:22:52 AM »
Perhaps I was unclear.  My thought process was

a) As the player proceeds through the game, they will become more powerful; new gear, abilities, and improvement of existing stats.  This is because otherwise, the player gets bored with monotonous progress for its own sake.

b) If the game is going to be challenging, the enemies will have to get better too.

c) The enemies should get better at a rate which matches the player's advancement; otherwise the player will either lose or grow bored.

I'm looking for a way to mathematically ensure the game is as balanced as possible, not to make identical monsters.  An ogre and an elven mageshould absolutely feel different, but have a similar impact (assuming they're supposed to be the same level).  The ogre is going to slowly bludgeon the player in melee for huge stacks of damage, while the elf tries to maintain its distance and pepper the player with spells, going down in just a couple of hits.

I'm not talking about basing the enemies on what level the player IS, but what level the player is EXPECTED to be.  If he rushes ahead, thing's'll be harder.  If he explores thoroughly, it'll be easier.

I suppose it's worth noting that I hate the standard XP for murder scheme.  My current project is using a more traditional advancement system, where permanent stat bumps are found.  Think Brogue's potions of strength and scrolls of enchantment, or (more accurately) Zelda's heart containers, or Metroid's missile packs and energy tanks.

naughty

  • Rogueliker
  • ***
  • Posts: 59
  • Karma: +0/-0
    • View Profile
Re: Structured Enemy Design
« Reply #5 on: March 15, 2013, 08:33:44 AM »
Although the idea is worthy of thought I think there's two issues:

It's hard to properly balance in purely numeric terms. You end up having to add fudge factors into the model to make things actually feel balanced. For example a 1d8 weapon and a 4d2 aren't really balanced (the 4d2 would be noticeably more powerful the vast majority of the time) so what are the general statistics needed to balance them? There was a fad in the FPS industry for balancing based on DPS but it doesn't take into account other factors that go into 'effectiveness' so slow firing weapons end up being underpowered. The designer had to come in by hand and fix it while getting lots of play testing done to guide them.

Also I don't think a smooth difficulty curve is the ideal. You want moments of power and moments of relative weakness in alternation. Roguelikes tend to get this 'by accident' because specific builds will have strengths and weaknesses and random drops have such a huge impact on your survivability.

I think only incredibly trivial games can be mathematically balanced. However if you have a good enough AI system you can run lots of simulations and adjust according to the results, which should be a lot quicker and cheaper than getting lots of play testers.

Z

  • Rogueliker
  • ***
  • Posts: 905
  • Karma: +0/-0
    • View Profile
    • Z's Roguelike Stuff
Re: Structured Enemy Design
« Reply #6 on: March 15, 2013, 08:47:40 AM »
My HyperRogue has lesser demons and greater demons. Greater demons cannot be killed, but every 10 lesser demons you kill, all greater demons in view become lesser demons. I view this as a good metaphor of the usual arms race.

ekolis

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 186
  • Karma: +0/-0
  • get ye dennis
    • View Profile
    • Ed's home page
    • Email
Re: Structured Enemy Design
« Reply #7 on: March 16, 2013, 09:27:03 PM »
Why not get rid of the "power curve" entirely? Sure, it feels good to level up, but if leveling up only means you're keeping up with the Joneses (or the Grimtooths or whatever), what's the point? Instead, design the game so that progression comes primarily from player skill and learning new abilities, and generic "stat boosts" are few and far between? An example of this type of game is the original Legend of Zelda. Sure, you have the blue and red rings which reduce damage, and the heart containers which increase life, and the three swords of varying attack strength, but most of the progress you make comes either from studying your enemies and learning to fight them better, and also from learning new unique abilities by acquiring items such as the boomerang (now I can stun enemies!) bow (now I can damage enemies at range!)
The Ed draws near! What dost thou deaux?

>EAT SANDVICH

kuniqs

  • Newcomer
  • Posts: 13
  • Karma: +0/-0
    • View Profile
    • Email
Re: Structured Enemy Design
« Reply #8 on: March 17, 2013, 03:09:20 PM »
Why not make a very, very simple game that would test the stat-adjusting mechanics?
Also check out the elder scrolls games and IVAN for examples of such system made wrong.

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Structured Enemy Design
« Reply #9 on: March 17, 2013, 06:58:14 PM »
to echo, difficulty scaling, in the way that you describe, just doesn't work effectively. Only a very strong narrative can make up for such a design oversight.

Dropping 'scaleability' completely is a wise way to go IMO. Better to increase diversity amongst enemies and the player's capabilities than to arbitrarily increase their power. Gaining new abilities is always more interesting than leveling up.

You can, of course, re-use low powered monsters in more difficult areas of the game by increasing their quantity/diversity, but scaling their stats up just breaks the coherence of the game. Early on, you communicate to the player that 'k' is a harmless little kobold that you can steamroll without batting an eye. Contradicting this later on is meaningless- better to have new enemies if you must.