I'm developing a 2D RPG game, like Zelda. I've developed a first version, for studies. Now, I'd like rewrite it in better way

The character has strength, agility, willpower, constitution, dexterity and concentration and has to fight monsters. Typical.

But I'm a noob, and I would like advice for creating the game system that the characteristics for damages, level-up, resistance, and so on. The one I used in the first version was not balanced.

So, what kind of system can I use ?

  • \$\begingroup\$ This might be better split into two questions, but the answer your going to get for the first question is "Choose the language you know better." \$\endgroup\$
    – thedaian
    Aug 31, 2011 at 15:54
  • 2
    \$\begingroup\$ I removed your question about which language to use for a couple of reasons reasons. 1) XNA is a framework, not a language, and 2) blog.stackoverflow.com/2011/08/gorilla-vs-shark 3) "Which language" has been beaten to death on this site. The real answer to that is "use whatever you feel like you could be more productive with". \$\endgroup\$
    – Tetrad
    Aug 31, 2011 at 15:54
  • \$\begingroup\$ RPG Maker rpgmakerweb.com might be helpful for your balance issues. It can take a lot of the minutiae out of level progression. \$\endgroup\$ Aug 31, 2011 at 17:09
  • \$\begingroup\$ Learn how to create and compute Bezier curves through math. These are wonderful equations that make computing stat increases over the course of levels simple, and easy to visual display when you render the Bezier. EDIT: I remember I created a simple flash to demonstrate just this: soldoutactivist.com/2010/12/02/more-bezier-fun-interactive-fun \$\endgroup\$
    – user9313
    Aug 31, 2011 at 20:44
  • \$\begingroup\$ Thank you all for your incomes. I'm going to watch these deeply. \$\endgroup\$
    – Nate B.
    Sep 1, 2011 at 6:52

3 Answers 3


I ran across a (now defunct) site a while ago, and there were a series of posts about this topic.

In part 1, the author talks about the basic formulas, and how different stats equate to damage, health, MP, and so on.

Part 2 is much smaller, and all you really need is to grab the word doc he links to in the post. It is a small document that goes deeper into the concepts talked about in part 1. He provides the base stat formulas, how to calculate attack damage, and some other examples. From what I have seen it is quite balanced.

The only thing I don't like about his approach, is how fast everything scales up. I just tweaked the math a bit to fit my taste.

I just realized that since the site is no longer maintained it could be taken down. For posterity sake, I mirrored the document on my own site.


There are as many different ways to write the numbers as there are drops in the ocean. The best approach I could suggest would be to look at games (or recall games you've played) until you find one where you feel the numbers work well... your preference is going to be based on your past gaming experiences, as much as anything else. Even a statistician game developer has to have an idea for how the game rules need to "feel", because games are for people to enjoy, not for number-crunchers to crunch.

Once you've found one or two that you think work well in this sense (could be anything: a pen & paper RPG, a card game, a computer game) then research how they did it by googling and asking questions about that individual game on forums like this one and gaming.stackexchange.com (because the players may in fact have a better idea of how the numbers work, than anyone else). Gradually it will become clear to you why the numbers work, and why you like the feel of the game, and how to implement similar yourself.


It's not that hard to build a somewhat working RPG game mechanic, especially when there are so many inspirations around like pen and paper RPGs with Dungeons and Dragons being the prime example. But to balance your system, that's a different story. There are several facets of balance even for a simple RPG:

  1. Are there overpowered or useless character development strategies? Like choosing level up stats|abilities in a way which guarantees more "gain" than all other ways.
  2. Are there overpowered or useless character equipment|abilities|whatever else interchangeable on a character? Leveled comparison of course, so it's cracked wooden club versus rusted iron dagger and Gae Bolg versus Excalibur. Note the cost/benefit ratio.
  3. Overall, is there one approach in a subsystem which is always better or worse than the others? Like one battle tactics which can ~always perform better than all another tactics.
  4. Is the difficulty curve and challenge level appropriate?

I created a completely fluid system for a TRPG once where one could have any crazy combinations of abilities, stats and overall behaviour, so it was impossible to balance it manually very well. But we have an edge against pen-and-papers — ability to run lots of simulations on our fancy machines and not in our minds, so let's tackle those problems one by one. I won't give useless implementation specifics, just a general approach I've used:

  1. Perturbate all gains for a level and assign each perturbation to some of your RPG role. Like if character gained +5 STR and Shield Bash ability, it becomes a fighter type. That'll be easier if your RPG have rigid classes. Then take snapshots of resulting character statistics and abilities per level and compare them one to another within those archetypes. That way you can see if one way of developing "fighter" is better than the other. Even on that stage you may notice that, for example, mages gain some unintended edge over fighters.

  2. Build a combat simulator. Take one of your snapshots from a previous step and equip it with an item. Clone that shapshot and equip it with another item with the same "level range". Now run them through a combat simulator against enemy of that item's "level range" many times and check results. You may want to take abilities into account, then don't use fighter snapshot with "Spear Thrust" ability to test a mace.

  3. Simulate that subsystem, e.g. tactical combat. That's the most difficult step, since you'll have to emulate a real player with some form of AI. It needs to know most typical combos, so tag your abilities like "damage", "stun", "slow", e.t.c., and define combos in terms "stun->slow->damage over time->damage nuke". Things will be easier if you introduce "turns" even if your game is real-time. Take your typical combat situations and run them with your snapshots with equipment and abilities appropriate to "situation level". Note which snapshots of the same type perform better than others, and which combos resulted in a complete devastation of enemy. Take your results with grain of salt, keep in mind that it's your combat AI fighting, not a player. So you may want to use several types of said AI, and playtest your balance changes yourself.

  4. The biggest problem is that players can be progamers or complete casuals, and you'll have to decide on your "homogenized target audience". You can test out challenge level by taking average leveled snapshots and average equipment for current game stage, and testing them agains current game map enemies. "Average" here depends on a target audience. Difficulty curve is not that simple, it's mostly subjective feeling, so you'll have to playtest it with your target audience.

After all that, use your game designer's instincts over data and make a balance which feels balanced to you. Also a very important note: don't make a bunch of balance changes at once. Try to do a small change, test it, then introduce another change.

As you can see, there is a big room for a failure here. So you may want to stop striving for a perfect balance, I mean, if game's going to be imbalanced, try to make it fun to abuse, like Morrowind :)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .