Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to create a game that uses a battle and monster system like Pokemon. I'm using some similar equations that I've modified to fit my desired level/tier system. One thing I'm trying to figure out is how to balance my monsters when I am creating them. I will have stats for health, attack, defense, special attack, special defense, and possibly speed. Unlike Pokemon, I'd like to have all my monster's be relatively balanced so that at high levels you could conceivably use any one.

One thought I had was to write a simple program that allowed me to create a monster. Its stats would start at a base 50 and every time I increased its stat by 4, the other stats would drop by 1. I could then tailor my monsters to be defense heavy while lacking offense, etc. One issues, is that my health equation yields a higher amount of health per increase in stat point versus the other stats.

Do you have any suggestions for improvements or a new system.

share|improve this question
up vote 2 down vote accepted

Slightly off topic, but I saw this video recently.

This is mostly only an issue in multiplayer games, but if things are balanced completely? There will only be a few ways in which you can play it.

share|improve this answer
This doesn't necessarily solve my problem but it changes the nature of the problem. I think by having many (50-200) monsters and different resistances/weaknesses, I will have a system that allows to "flavor of the month" type teams that will be quickly countered so that no monster or team is too powerful. Thanks for the link. The other videos are awesome as well. – willmer Jul 26 '12 at 4:10
Aim for cyclical imbalances as described in the video. Perfectly balanced monsters is exactly what you do NOT want in your game. – BerndBrot Aug 25 '12 at 12:53

What you could do is simply leave health out of the stat equations and keep it at 50. The other stats would account for higher level battles, like if you're defensive then you won't get hurt as much when attacked, when you're offensive then you give more damage and the opponent loses more health.

share|improve this answer
I've never seen this method before, but mathematically it seems very sound. – Keith Thomas Jul 25 '12 at 2:56
the only problem i see with it is if you become very attack centered against another attack opponent then the match will be very short because you will destroy health fast. oh and if you like it, up vote it! i need the rep haha – TMP Jul 25 '12 at 3:46

Balance is pretty meaningless if one doesn't understand how the numbers interact. Your proposed solution, or even TMP's both assume that the 'value' of your stats are all closely related. The reality is that, depending on the underlying mathematics that govern your system, they could very well be far out of sync.

A good example of this is the '+3' cycle from the first release of Magic: the Gathering. There was one card of each color that did 3 of something. And in the noble MtG tradition, the blue one was so ridiculously overpowered that it blew the others out of the water. The value of '3' for the blue card was way WAY more than the value of the '3' on the other cards. The same could be true for your monster stats.

Balance isn't just a switch that you can flip. It's a complicated and nuanced process that goes directly to the heart of your game. The only way to even begin to make some kind of auto-balancing system is to generate a simple genetic AI that can play your game (or a simulation of it) and look at it's play to try to find degenerate strategies.

share|improve this answer
I agree, that having an AI to play against would be a good idea. I'm sure I could even code a program to run 100 battles of X against Y using a simple AI with a priority system for what skills to use to see if it is balanced. I would expect certain matches (fire vs water for example) to generally end in more wins for one, but I could then just adjust stats or skills to have the win/loss ratio fall into a desired range. – willmer Jul 25 '12 at 17:12
Priority system; what's the priority? How do you know what's the right move in any given situation? Would an attack be effective? Or would it be better to swap into a monster with a stronger element? What if they swap? What random factors do you have? If you truly want to say that your game is 'balanced' these are huge problems for your AI system to solve well. It's better to make the game itself, and then try to balance it once you have an idea of what's 'powerful', which you can only get via constant playtesting. – Adam 'P1' Burch Jul 26 '12 at 7:57
THat is true that there would be some elements of the AI that would be difficult to code and try to test, but the priority system would be based upon calculations to see which moves are best at the time with some random chance thrown in. So if a monster has 3 attack moves and a stat modifying move, it would figure out which of the 3 attacks does the most damage and give it a 60% chance of being used, the remaining moves might get a 20%, 15% and 5% for example. So the "better" moves are used more often. This would at least give me a way to test 1 on 1 battles. – willmer Jul 26 '12 at 12:44

You mentioned pokemon game, therefore I'll assume you want to include skills for your monsters.

I'd say your main problem would not be stats, but rather skills (as far as I can remember Pokemons ;)). Your problem has a bit different category than, let's say, RTS games face. In most of RTS games units don't usually have skills (or if they do, like in Starcraft, they serve particular situation(s), but not general case) and it's easier to evaluate their overall value* and design stats - even concerning leveling possibilities.

But onto your case. Let's imagine situation in which you possess two different Pokemons A and B (stats described relative to each other):

  • pokemon A has less HP, little more attack, little less defense, attack debuff skill;
  • pokemon B has more HP, less attack, little more defense, no skills at all

From stats point of view, Pokemon B is more valuable as defensive one. If you design Pokemon B to acquire slightly more defense and HP with each level than Pokemon A does, you can notice how his value increases with each level even further. But, take into consideration how this one attack debuff skill can affect battle result. If this skill's power rises with each level then it becomes less clear which of these two is more valuable in general. Going even further, you can use Pokemon A for weakening opponent's Pokemon-with-powerful-attack-and-powerful-attack-skills, take as much damage as he can handle (assuming Pokemons' skills are restricted in use count) and then use Pokemon B to finish him or even use other offensive Pokemon C. Considering greater effects of one Pokemon type on other Pokemon type - possibilities are endless.

Conclusion is: you should not concentrate purely on Pokemon stats, but on overall mix of fighting/defensive/put-what-you-need-here stats including skills. In your case, skills are probably most vital for gameplay, thus making your task even more difficult. My advice is not to concentrate on balancing stats in early/late game, but make them unique in terms of stats and skills. Diversity is what makes your units more attractive to their owners and serves well the purpose of putting greater challenge to the player.

* value does not mean costs, but overall usefulness of this unit

share|improve this answer
You are correct in thinking I'll be putting in stat modifier moves. So a high def, low attack monster might fair better using a move that lowers the opponents attack (allowing him to actually kill it) rather than boosting its own def stat. I am seriously considering adding a speed/recovery stat to my moves as well. In addition to a type (Fire, Water, etc) and a damage value, each move will require a certain amount of time (not real time though) to recover before it can move again. So you have to decide, is it worth it to go for a kill shot (high dmg, long recovery) or low dmg,fast recovery – willmer Jul 25 '12 at 17:16
This is exactly what I would expect from this kind of game. I'm currently facing similar problem but in different type of game. All in all, this should lead to situation where player should (or is gently forced to) consider using particular/more Pokemon(s) (or unit in my case) beacuse it's worth it, not because it's "one Pokemon to rule them all", which makes all other unnecessary. – Mithras Jul 25 '12 at 18:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.