Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Where would I look to get guidelines for how much XP and gold/items to give as rewards for quests? The following is the algorithm I'm using to determine the XP needed for each level:

/** This starts at level 1. If you're at level 1, to get to level 2 you call getXpForLevel(1). */
public static long getXpForLevel(long level) {
    return 40 * level * level + 360 * level;
}

If I know roughly how long it'll take the player to complete a quest, how much xp should I award for that quest? How much should difficulty factor into the xp for the quest?

How do I balance the amount of gold you get for completing a quest vs the cost of items that can be purchased?

Do people just go by their gut feelings and then try to balance the values through playtesting or are there good rules to follow?

share|improve this question
2  
In what kind of game? You've said nothing about what gold buys or what the player does with XP. You've said nothing about whether the game is linear (and therefore you can generally predict how much gold/XP the player has accumulated at various points) or non-linear. How do "levels" empower characters; is it mostly about accuracy or damage or defense? What is the relative utility of level gaining vs. money gaining; which matters more for success? All of this information is vital to knowing how to answer your question. –  Nicol Bolas Sep 24 '11 at 7:05
    
Most (rpg or similar) games I know don't take time as referral for the exp rewarded, they just reward with exp when quest "checkpoints" are reached. You should provide a little more information on the gameplay and what the quest solving is about (gather items? talk to an npc? defeat an enemy? solve a board puzzle game?), because a solution for this kind of problem is bound to the gameplay and it may not apply for every quest, even being the same game. –  Pablo Ariel Sep 24 '11 at 10:26

2 Answers 2

Game Balance Concepts likely has everything you need to know about that.

share|improve this answer

There are multiple ways to come at the question, depending on what you have already decided.

If you already have your content made, then you need to determine the points at which you want players to level, and use the amount of XP needed to get them to that level to determine what quests should give.

If you are still making your content, then it is better to determine how long you want it to take to level. If each quest takes 10 minutes, and you expect a player to take an hour to level, then it should take 6 quests to level. Of course, take into account the other XP sources. Killing creatures probably contributes, so subtract out the amount of XP they are expected to gain in an hour of questing before you divide it up.

To use your case for an example, I did these columns in Excel from left to right, in order

  • Lvl - Character level from 1 to 20
  • LvlXP - using your formula: 40 * level * level + 360 * level
  • TTL - Time to level, I arbitrarily decided I wanted a exponential curve that leveled off, so I chose this equation: level^0.5-0.5
  • Quests - This is a derived column. You get it by multiplying the TTL by the number of quests per hour (6).
  • This is a derived column. You get it by dividing the XP per level by the amount of quests done in that level (this assumes xp per level is the amount you want to come from quests, everything else is subracted out already).

This is your baseline. Quests that take 50% longer should generally get a 50% boost in XP. You might make Hard/Medium/Easy quest difficulties that get 150%/100%/50% XP respectively.

Lvl LvlXP   TTL     Quests  QuestXP
1   0400    0.50    3.00    133
2   0880    0.91    5.49    160
3   1440    1.23    7.39    195
4   2080    1.50    9.00    231
5   2800    1.74    10.42   269
6   3600    1.95    11.70   308
7   4480    2.15    12.87   348
8   5440    2.33    13.97   389
9   6480    2.50    15.00   432
10  7600    2.66    15.97   476
11  8800    2.82    16.90   521
12  10080   2.96    17.78   567
13  11440   3.11    18.63   614
14  12880   3.24    19.45   662
15  14400   3.37    20.24   712
16  16000   3.50    21.00   762
17  17680   3.62    21.74   813
18  19440   3.74    22.46   866
19  21280   3.86    23.15   919
20  23200   3.97    23.83   973

After you have established how long a player is expected to be in a level, you can decide how much money they should gain in that level. Generally the amount of money gained should grow FASTER than the TTL. So if your TTL increases by 20% between levels, your money gained should increase by MORE than 20% between levels. Otherwise it becomes more efficient to grind money by dropping to lower levels, and you don't want to reward tedious behavior.

Use the Excel table from before and just add a column for Gold Per Hour. Come up with a formula for that with a slight exponential growth. Once you have established the GPH gained at each level, you can then use that to calculate the total gold gained in a given level. From that you can determine the curve of the cost of buying items of a given level, depending on the pace at which you want players to replace their items.

  • Lvl - I brought this from the other table
  • TTL - Time to Level, from the other table
  • GPH - I arbitrarily created a formula for Gold Per Hour (GPH). I started at 5% increase per level and decided it was too small, and ended at 20% increase per level: 40+200*level^1.2
  • GPL - Gold per Level is calculated by multiplying GPH times Time to Level (TTL). This is how much gold the player is expected to make during this level: GPH * TTL
  • ItemCost - For this, I assumed that we want the player to replace 1 item per level and for it to use 20% of the gold earned: GPL * .2
  • Training - Lets assume you the player to use another 40% of their money on training, for example: GPL * .4

Lvl TTL     GPH     GPL     ItemCost    Training
1   0.50    240.0   120.0   24          48
2   0.91    499.5   456.6   91          183
3   1.23    787.4   970.2   194         388
4   1.50    1095.6  1643.4  329         657
5   1.74    1419.7  2464.7  493         986
6   1.95    1757.2  3425.6  685         1370
7   2.15    2106.1  4519.1  904         1808
8   2.33    2465.1  5739.9  1148        2296
9   2.50    2833.3  7083.3  1417        2833
10  2.66    3209.8  8545.3  1709        3418
11  2.82    3593.9  10122.6 2025        4049
12  2.96    3985.0  11812.0 2362        4725
13  3.11    4382.7  13610.8 2722        5444
14  3.24    4786.6  15516.6 3103        6207
15  3.37    5196.3  17527.1 3505        7011
16  3.50    5611.5  19640.3 3928        7856
17  3.62    6032.0  21854.4 4371        8742
18  3.74    6457.4  24167.6 4834        9667
19  3.86    6887.5  26578.3 5316        10631
20  3.97    7322.3  29085.0 5817        11634

This process of filling out can be extended all across the creation of the RPG. All numbers are interdependent. Examples:

  • How much a creature drops: Multiply the GPH * percent of money you want to come from creatures times the creature kills per hour.
  • How much money a quest gives: muliply the GPH * percent of money you want to come from quests * quests per hour.
share|improve this answer

Your Answer

 
discard

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.