Friday, 12 January 2007

Warriors - or things that go "Bump" in the night: part one.

The concept of 'bumping' in a roguelike, for those of you not familiar with the genre, is basically moving into anything that is not an empty space. Its the sort of concept that developers spend hours and hours sweating about in their game's user interface, discussing, arguing about and coming up with Star Trek analogies about. Its pretty much standard that bumping into a monster attacks the monster. Pretty much.

Warriors have it easy. All they have to do is bump into monsters. No complicated messing around with spells, or missile weapons, selecting targets at a distance or directions to fire. Warriors are probably the purest expression of what a roguelike is. Walk up to a monster and 'bump'. You hit the monster. - more - You have killed the monster. - more - You find the treasure. Warriors are roguelike purity.

Warriors have it hard. All they can do is bump into monsters. No safe messing around with spells, or missile weapons, selecting targets at a distance and directions to fire. Warriors are probably the purest expression of the problems with roguelikes. Walk up to a monster and 'bump'. You hit the monster. - more - You have killed the monster. - more - You find the treasure. Warriors are roguelike repetitiveness.

I've discussed a positional combat systems previously on rec.games.roguelike.development in a post here. I used the word tactical in that post for a reason: that I feel currently the depth of tactical options for warrior characters is limited. Bump or run. Sure, potions, scrolls, magic items make up for this tactical limitation, but they're available to everyone else as well.

I also think it is worth exploring the option of combat systems with latency. You make a move, but it doesn't take effect until the following round. If the monster you wanted to bump into moves, then your attack misses. Otherwise it hits. The same applies for ranged weapons, but they're slightly more interesting, because if you step forwards or backwards, you get hit, but stepping sideways takes you out of the path of the missile. And for spells with areas of effect, stepping in any direction reduces the damage, because you're no longer the target, you only take the splash damage.

This would result in a much more deterministic combat system, and one that would make it less a roguelike game and more like chess. Or something.

But what I want to discuss here is what Unangband does (and will be doing) to try to make warrior combat more interesting.

The first obvious choice is common to pretty much all Angband variants. There are magical weapons are branded to do extra damage from fire, cold, acid etc. and monsters that resist or are immune to these effects. Similarly, there are magical weapons of slaying that do extra damage to various races, and monsters can fall into one (or more) races that are vulnerable to these effects. Note that fire, cold and so on do extra damage to anything not resistant, but there are not monsters that suffer extra, extra damage from a particular elemental type. This is mostly a game balancing issue. It keeps it simpler for me to balance. If I want a monster easier to kill, I'll give it less hit points overall. Also, the extra damage is not cumulative. If an orc who isn't resistant to fire is hit by a weapon of slay orc and of fire, the weapon only gets the highest bonus damage, not cumulative. Again, this is a simplification for balance purposes.

Where Unangband differs, is that I have some complex algorithms that determine the power level for each monster, and sum the total power levels. Then I assess the relative vulnerabilities to each of the above attacks, alone and in combination, and give a relative weighting to each. I precompute all of this, for artifacts and ego-items, and create a table for magic items, which can only have one of the above special abilities when they are generated. I'm not smart enough to have come up with these myself: I'll have to credit Chris Robertson and Chris Carr who developed an improved randart patch for Angband did almost all the work here. But I do all the work to ensure that my weapons of fire and of darkness are balanced against each other. And so on.

This is because in Angband, there is a big weakness in that some brands are clearly better than other brands. Acid is better than fire or cold - lightning also. What's worse is that some effects supersede others. There's not much point with slay undead weapons, because all undead are vulnerable to fire. So a fire weapon will always trump a slay undead weapon of equivalent power. Similarly, almost all demons are vulnerable to cold, so cold weapons are always better than slay demon.

So I also inflicted some terrible puns on the roguelike community and mashed up the immunities a bit more. In Unangband, there are zombified dwarves, who are not only immune to fire but will use it against you. All the demons are immune to a lot more elements than they used to be. I'm not the first to do this, of course. Leon Marrick spent time in Sangband doing the same thing.

The next thing I have done is continue to steal ideas. Eytan Zweig who developed EyAngband came up with the concept of monsters being highly resistant or immune to blunt and sharp weapons. Its not a new idea, of course, but its done in such a way that a warrior using the wrong weapon is effectively waving a blunt stick at the monster with this attribute. You've got to be careful with this, to ensure that the player knows they're wasting their time, though. I hope I've got this right.

This encourages warriors to carry two types of weapons, a blunt one and a sharp one, and switch between them when situations demand it. In Unangband, ghosts and other insubstantial monsters are immune to blunt weapons, and rocky and metallic monsters are immune to sharp ones. This worked so well that I've got player's naming their character's weapons after the monster they're best against.

The reason I picked these particular monster types (in addition to this matching Sangband's model) is that often melee is the only way to fight these types of monsters. They often also have the ability to move through rock and earth, which means they can get to the character in any situation without presenting a ranged attack opportunity. The only option for a ranged specialist against these monsters is to wait for the monster to pop-out and make a ranged attack, and then counter-fire against the monster before it hides again.

The point I'm making here is that smart monster selection is critical to ensuring that warriors have a more interesting time. This then feeds into forcing to a greater or lesser degree paying attention to the types of monsters they're attacking, and consequences around the inventory selction so that they don't have a trivial biggest baddest axe choice to make.

[Update] I've posted a part 2, which will look more at what bump based combat changes I've made.

1 comment:

David Streever said...

Hi Andrew,

love your blog--
I think a big boost for any game would be the addition of "party" monsters. Monsters in groups--too often you are forced (especially in rogue-likes) to hack away at random monster x, y, then z, with no cohesiveness or underlying logic, except in the special case of vaults with the same monster... (a la Adom, and what in the heck are 15 Frost Giants doing locked in one tiny room together?)

I haven't yet played Unangband: I've found your site today only. So, I may be suggesting something you already do.

I really like the concept of "events"--less monsters, perhaps, overall in a floor of the dungeon, but a few groups that "own" their own turf(! until they die, either in fighting the other groups or to invading groups or to the player), and those groups having some sort of power balance (like 4e--Minions, Skirmishers, etc).

Each level could look at the hero's level (making reasonable assumptions about magic items, bonuses, etc, or even outright calculating them) and then produce monsters in groups that make sense. A 4th level warrior gets an Orcish War Party: 2 ranged fighters, 3 close fighters, and a leader. The leader has some relatively weak magic, which makes him "versatile" and therefore potentially more dangerous. The Minions are the archers: high damage but low hit points. (maybe even 1 to 2 hits will kill them--with low to hits so they are guaranteed to die fast, IF you can hit them--they are harder to hit with ranged weapons, and you have 3 Skirmishers with swords/shields standing in the way between you!)

Now your warrior has options. Maybe he has great ranged weapons, scrolls that have an AoE damage component, & can hit the archers early, reducing the massive dmg they can do--maybe he retreats, and the Skirmishers hit some traps--now the AI of the Archers says, "We don't have our meat shields anymore. Strategic exit!"

I think this type of system--monster groups--gives a lot more playability to the warrior classes, who I typically find more fun to play anyway--having a wide-range of magic spells & complicated management of magic is really boring to me, especially in ASCII games where a Magic Missle, Acid Arrow, Fireball, & whatever are all virtually the same... (one exception being Incursion, where I think the magic using classes are actually pretty interesting, especially the schools of Weavecraft & Illusion, which requires incredibly complex manipulations to make useful: you have to avoid the MANY undead & brainless monsters and engineer traps by leading the thinking monsters into direct contact with them while you hide. Actually fairly interesting...)

Sorry to ramble on--I'll try out Unangband soon! I'm looking foward to it.