Author Topic: Balancing the game  (Read 7802 times)

liquidsoap

  • Newcomer
  • Posts: 18
  • Karma: +0/-0
    • View Profile
    • Email
Balancing the game
« on: September 06, 2012, 04:12:57 AM »
I just started adding monsters and items to my very early roguelike and am completely blown away with how hard it is. Giving each item/monster a damage, health and defence value can be really difficult so that when the player moves through the dungeon they will be presented by a challenge but not just get killed instantly by a completely un-fair game. How do you go about making the items/monster so that they are balanced?

george

  • Rogueliker
  • ***
  • Posts: 201
  • Karma: +1/-1
    • View Profile
    • Email
Re: Balancing the game
« Reply #1 on: September 06, 2012, 05:04:41 AM »
If you really want to get analytical about it start with a simple spreadsheet. Calculate the average DPT (damage per turn) of each monster as well as the DPT of your hero for each level assuming they got all the items/powerups for that level. Estimate the CTB (chance-to-bump -- making up RL acronyms is fun :) ) for each monster based on monster AI and level size. Estimate the TOL (time-on-level) for each level. You can combine CTB and TOL to get an estimate of DPT on each level. Graph that against player defenses per level and you get an idea of overall damage taken. You'll need to balance that against player healing and monster kills of course.

Some of these estimates you can refine with in-game profiling. Start gathering game stats (like damage dealt, kills, moves made per level) on your player now.

guest509

  • Guest
Re: Balancing the game
« Reply #2 on: September 06, 2012, 06:18:47 AM »
Ha. I think most people just play a bunch. Tweak. Play some more. Tweak.

NON

  • Rogueliker
  • ***
  • Posts: 349
  • Karma: +0/-0
    • View Profile
    • Infra Arcana
    • Email
Re: Balancing the game
« Reply #3 on: September 06, 2012, 11:01:52 AM »
What Jo said.

Also, one thing that helped me a lot was to avoid setting numbers manually. I made functions for calculating monsters HP, damage, and hit chance. The parameters are the monster level (which I decide manually per monster), and enumerated choices for if the monsters HP and attack (respectively) is normal/weak/strong/super strong.

This way the challenge scales up nicely with monster levels, while it's still possible to customize deviations per monster.
« Last Edit: September 06, 2012, 11:06:02 AM by NON »
Happy is the tomb where no wizard hath lain and happy the town at night whose wizards are all ashes.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Balancing the game
« Reply #4 on: September 06, 2012, 01:25:36 PM »
Balancing is difficult and it may require a lot of work. If you use an existing rpg system then balancing is pretty much done for you already. If you look at D&D for instance it's all about balancing different stuff. Still I think D&D is too much about magic, it's actually used to balance some other issues and that's why magic has been in important role in almost all rpgs.

I think a good way to balance the game is test it using only minimum amount of average type monsters (or just one average dummy monster), items, etc. and when everything is ok, then add more powerful and weaker monsters. When it's done then the second question is how to distribute monsters without creating too many difficult monsters. I think roguelikes in general don't approach this issue very well, they just throw in some monsters and it's the reason why roguelikes are difficult for at least average players.

However if you can win the game then it's balanced enough.
« Last Edit: September 06, 2012, 01:27:54 PM by Krice »

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Balancing the game
« Reply #5 on: September 06, 2012, 05:00:25 PM »
Spreadsheets and simulation.


In roguelikes, strategy, a lot of the time, comes down to isolating enemies. You can generate a test map that is perfectly linear and place monsters in it, then use a simple AI to simulate gameplay. If you make it headless, you can run 10000 simulations or so in under a second and get some pretty good average data. It's amazing how every little value can greatly effect the outcome of a game.

Spreadsheets are what professional balance-people use. The google docs spreadsheet has a lot of nice features that can easily plug into graphs and charts and all sorts of stuff, but it can be difficult to effectively measure the compounding effect of multiple enemies.

Genetic Algorithms can be a good way if you know what you're doing.

lithander

  • Newcomer
  • Posts: 25
  • Karma: +0/-0
    • View Profile
    • pixelpracht.net
    • Email
Re: Balancing the game
« Reply #6 on: September 11, 2012, 11:26:29 AM »
The advent of browser and mobile gaming has made metric/statistic based game design quite popular where you balance your game iteratively based on live player data.

For example if you learn that 80% of players reach dungeon level 4 but only 20% get to dungeon level 5 on average then you know where you have to tweak the difficulty curve. You could also log the causes of player death and see if something sticks out. You could even publish two versions of the game and see which one generate's longer playtime and thus does a better job at entertaining the players. Social game developers like Zynga use that approach a lot and with great success.

I personally think that's pretty interesting field that I'm definitely going to explore more if I ever manage to complete another game. Even in my last game where I logged only a few things there were a number of valuable lessons to be learned.

For example my stats tell me that Rune Hunt was played 375,267 times with an average playtime of 22:35 (compare that to other versions of your game to see if you improved at keeping the player engaged)
The game has two different endings (after about an hour of gameplay) and I know that both endings are taken equally often (4.5k vs 4k) but that was only after a tweak I made early in development, when I noticed that almost all players experienced the same ending.
The game has 4 levels and the first level was completed 112,000 times, the second 77,000 times and the third only 8,800 times but those that made it through level 3 would almost always finish the game, too. So obviously there's something fundamentally wrong with level 3! :)

Even if you're developing an offline game nothing would stop you from sending a log-file to your sever for each playthrough. :)

Once you have the data it's up to your imagination how you'll use it to improve the game. For example do stuff like this:
 http://blog.counter-strike.net/science/maps.html