Thursday, August 30, 2012

Why I'm cutting random out of my game's combat.


Roguelikes are built on the good old random numbers generator. It runs from the level generation all the way to the combat and loot. The levels are randomly generated, the monsters are randomly spawned and then when you fight them the damage and whether you hit or miss is often worked out by the equivalent of rolling a dice.

My view is that some of the randomness is really cool, and it's a large part of what make Roguelikes so interesting. It means every game is different and you'll never have the same encounter twice and it can add uncertainty to combat. I just think that for casual gamers it can be a negative experience especially when the dice roll against them several time in a row.

To give some examples:

  • In DCSS (Dungeon Crawl Stone Soup) every time you cast a spell you have a chance of spell failure, which you can reduce by increasing your skill levels or increase by wearing armour. It's obviously calculated using a random number generator. I had a slightly promising venom mage and he had a spell called Mephistic cloud, which produces a cloud of gas that confuses and damages enemies in an area. Due to it's difficulty and my skill level it had a failure rate of about 10%, so nine times out of ten I should have been able to cast correctly. Except the very nature of random numbers means that you'll always have spells where they go against you. In this case I came up against a group of orcs bunched up. It should have been fairly easy to have confused them then taken them out one by one with a different spell, except instead I miscast Mephistic cloud 3 times in a row. It meant they managed to reach me and a fighting retreat led to my death. What are the chances of that? 0.1%, in case you were wondering.
  • In Dungeons of Dredmor you can enchant your items on an square called the anvil of Krong. There's a 70% chance of a positive enchantment and 30% of a negative curse. I had a game where I had my items cursed 4 times in a row, making what was a fantastic item useless. You actually get an achievement for just 3 times.


In both cases it felt like my whole run was ruined by forces beyond my control. This isn't a fun experience and I think it's something that could really put off a casual player, or even someone who's simply new to the game. Don't get me wrong, I play table top games and I've lost them based on rolls of the dice. It's just it's one thing rolling triple ones in Risk and having a laugh with your friends at your bad luck. It's a whole other thing playing a single player game against a computer where you can't see the dice so you have a sneaking thought that maybe the computer just took offence at something you did in your last run.

This is why I'm removing most negative random effects from my games combat, and from the game in general

I still want there to be some randomness, so you players don't always know how an encounter will play out before it's happened, I'm just going to mostly keep it to cool 'lottery' abilities that help the player, with only a few minor negative effects that can happen against them. This means no spell failure, no missing your attack 5 times in a row, no enemies resisting you spells completely. I want the players to know that if they try something it will either work or not, and if it does how much effect it can have. If an enemy has a high resistance you'll just do less damage to them, but it will be broadly predictable with no wild fluctuations of fortune.

It also needs to be recognised that players remember the times where the dice went against them as 'the game screwed me', whilst when the rolls go in their favour they either take it for granted or think it's cool. I'm still going to keep some random stuff that work in the favour of the player, just not the other way round. The npcs aren't going to ragequit after the player crits them twice in a row whilst dodging their attack. Thie same can't be said of the other way around.

No comments: