====== Crossfire experience table ====== The current experience tables are not very well balanced. This has been discussed by some developers during the [[:g2g|get together]] meeting (under the heading [[:g2g#crossfire_needs_to_become_more_fun|Crossfire needs to become more fun]]) and one proposal was to use a more regular exponential progression for the various levels. Many players agree that the game is too frustrating for low-level characters but becomes too easy for high-level characters. It is not surprising that the point at which the game becomes less frustrating corresponds to a change in the experience curve (see the graphs below). The game could be improved by changing the default experience table so that it is is a bit easier for low-level characters and harder for higher-level characters. :!: **Note**: //A new experience table D was added to SVN since this page was written. It is unrelated to the tables D and E described here. In my opinion, the new table (which is unfortunately the default now) is worse than the previous ones because it makes the game harder for lower-level characters instead of making it easier. In addition, that new table D does not fix any of the issues for the medium and high levels. I hope that it can still be changed and replaced by the table E described here. -Raphaƫl// ===== Problems with the current experience tables ===== There are two experience tables that are currently in use. They can be found in the file ''lib/exp_table''. The default one is called table **B** ("**classic**"). The server [[servers:metalforge|Metalforge]] uses another table called table **C** ("**hard**"). Previous versions of Crossfire used table **A** ("**old**"), but it is not used anymore by the recent servers (tables A and B are identical but shifted by one level). The current default table B uses an exponential progression with a factor of 2 for the first 10 levels: each new level requires twice as many points as the previous one. But then this ratio quickly drops: 1.13 for level 20, 1.06 for level 30, ... and becomes as low as 1.01 for levels above 90. This means that **at the higher levels, you only need to increase your exp by 1% in order to gain a new level**. Then there is a sudden jump: a ratio of 6 for level 109, then a ratio of 2 for the following levels. When the old table A was still used, this ratio of 6 was introduced in order to make it hard for players to jump from level 109 to 110. Now this gap has been shifted down by one level. This means that after gaining the first 10 levels, it gets a bit easier to gain levels. And after level 20 or so, it gets **much** easier. Gaining levels becomes easier and easier until level 108. Then it takes a while to reach level 109 because of the large gap (6 times more experience points required). This results in a game that is harder for the new players than for the high-level ones. With the current set of maps and the default experience table B, the following steps take roughly the same amount of time: * going from level 1 to level 15 or so (15 levels) * going from there to level 40 or so (25 levels) * going from there to level 108 (60+ levels) * going from level 108 to level 109 (1 level) After level 108, it takes more time to reach the following levels because there are not so many ways to gain a lot of experience. The experience table C (Metalforge) is identical to table B for the first 20 levels, then the ratio between levels remains a bit higher so that the gap is not as big around level 108. However, the ratio is still rather low: 1.10 around level 25 and as low as 1.05 after level 60. This means that you only need to increase your exp by 5% in order to gain a new level. ===== How to fix the experience table ===== In order to re-balance the experience table so that it is not too unfair to the new players and too easy for the players above level 20 or 30, it is necessary to modify the ratio between the successive levels. Although the ratio may still be close to 2 for the first few levels, it should quickly drop to a value that remains constant for most of the table. This means that gaining levels will be a bit easier for the lower levels but will also get harder for the higher levels. The first proposal included below (Table D) tries to do that while still staying close to the current values for the levels below 10 and above 100. This constrains the choice of the "stable" ratio to about 1.12 for most of the table. In other words, gaining one level requires an increase in exp points of around 12% for almost all levels between 10 and 100. The second proposal (Table E) does not use a steeper curve for the levels above 100 so it is possible to keep a higher ratio overall: 15% for almost all levels beyond 10. ===== Proposals for new experience tables ===== The following image is a logarithmic graph (made with Gnumeric) of the three existing experience tables (A, B, C) and the new ones (D and E) that are more balanced. * the **green** line shows the **default table B** (note the sudden jump around level 108) * the **red** line shows the "hard" **table C used by Metalforge** * the **cyan** line shows the new table D requiring an increase of about 12% between levels * the **purple** line shows the new table E requiring an increase of about 15% between levels The new curves D and E are smoother => more balanced. You can see that the new table D becomes more difficult than the default table B around level 75 and the new table E becomes more difficult around level 60. {{:dev_todo:exp_table_log2.png|:dev_todo:exp_table_log2.png}} The following image compares the ratio of the experience points needed between successive levels: an increase of 100% means that it is necessary to double the score, an increase of only 1% like the green curve near the high levels makes it easier to gain levels. The lines are not perfectly smooth due to rounding: only the first two to four digits are kept for each level, followed by several zeroes (these numbers are easier to read for us humans counting in base 10). {{:dev_todo:exp_table_ratio2.png|:dev_todo:exp_table_ratio2.png}} And here are the numeric values for the current experience tables (A, B, C) and for the new ones (D and E). ^ Level ^ A (Old) ^ B (Classic) ^ C (Hard/Metalforge) ^ D (Progressive 12%) ^ E (Progressive 15%) ^ | 1 | 0 | 0 | 0 | 0 | 0 | | 2 | 1000 | 2000 | 2000 | 2000 | 2000 | | 3 | 2000 | 4000 | 4000 | 4000 | 4000 | | 4 | 4000 | 8000 | 8000 | 7200 | 8000 | | 5 | 8000 | 16000 | 16000 | 11500 | 14400 | | 6 | 16000 | 32000 | 32000 | 16700 | 23000 | | 7 | 32000 | 64000 | 64000 | 21700 | 32300 | | 8 | 64000 | 125000 | 125000 | 27100 | 38700 | | 9 | 125000 | 250000 | 250000 | 33100 | 45300 | | 10 | 250000 | 500000 | 500000 | 39100 | 52100 | | 11 | 500000 | 900000 | 900000 | 44900 | 59900 | | 12 | 900000 | 1400000 | 1400000 | 51700 | 68900 | | 13 | 1400000 | 2000000 | 2000000 | 59400 | 79200 | | 14 | 2000000 | 2600000 | 2600000 | 67800 | 91100 | | 15 | 2600000 | 3300000 | 3300000 | 77200 | 105000 | | 16 | 3300000 | 4100000 | 4100000 | 88000 | 120000 | | 17 | 4100000 | 4900000 | 4900000 | 99500 | 139000 | | 18 | 4900000 | 5700000 | 5700000 | 111000 | 159000 | | 19 | 5700000 | 6600000 | 6600000 | 125000 | 183000 | | 20 | 6600000 | 7500000 | 7500000 | 140000 | 211000 | | 21 | 7500000 | 8400000 | 8500000 | 157000 | 242000 | | 22 | 8400000 | 9300000 | 9500000 | 175000 | 279000 | | 23 | 9300000 | 10300000 | 10600000 | 196000 | 320000 | | 24 | 10300000 | 11300000 | 11800000 | 220000 | 369000 | | 25 | 11300000 | 12300000 | 13000000 | 246000 | 424000 | | 26 | 12300000 | 13300000 | 14300000 | 276000 | 487000 | | 27 | 13300000 | 14400000 | 15600000 | 309000 | 560000 | | 28 | 14400000 | 15500000 | 17000000 | 346000 | 645000 | | 29 | 15500000 | 16600000 | 18500000 | 388000 | 741000 | | 30 | 16600000 | 17700000 | 20000000 | 434000 | 852000 | | 31 | 17700000 | 18800000 | 21700000 | 486000 | 980000 | | 32 | 18800000 | 19900000 | 23400000 | 545000 | 1130000 | | 33 | 19900000 | 21100000 | 25200000 | 610000 | 1300000 | | 34 | 21100000 | 22300000 | 27000000 | 683000 | 1490000 | | 35 | 22300000 | 23500000 | 29000000 | 765000 | 1710000 | | 36 | 23500000 | 24700000 | 31100000 | 857000 | 1970000 | | 37 | 24700000 | 25900000 | 33300000 | 960000 | 2270000 | | 38 | 25900000 | 27100000 | 35600000 | 1070000 | 2610000 | | 39 | 27100000 | 28300000 | 38000000 | 1200000 | 3000000 | | 40 | 28300000 | 29500000 | 40500000 | 1350000 | 3450000 | | 41 | 29500000 | 30800000 | 43200000 | 1510000 | 3970000 | | 42 | 30800000 | 32100000 | 46000000 | 1690000 | 4560000 | | 43 | 32100000 | 33400000 | 48900000 | 1890000 | 5240000 | | 44 | 33400000 | 34700000 | 52000000 | 2120000 | 6030000 | | 45 | 34700000 | 36000000 | 55200000 | 2380000 | 6940000 | | 46 | 36000000 | 37300000 | 58600000 | 2660000 | 7980000 | | 47 | 37300000 | 38600000 | 62100000 | 2980000 | 9170000 | | 48 | 38600000 | 39900000 | 65900000 | 3340000 | 10500000 | | 49 | 39900000 | 41200000 | 69800000 | 3740000 | 12100000 | | 50 | 41200000 | 42600000 | 73900000 | 4190000 | 14000000 | | 51 | 42600000 | 44000000 | 78200000 | 4690000 | 16000000 | | 52 | 44000000 | 45400000 | 82700000 | 5250000 | 18400000 | | 53 | 45400000 | 46800000 | 87500000 | 5880000 | 21200000 | | 54 | 46800000 | 48200000 | 92500000 | 6590000 | 24400000 | | 55 | 48200000 | 49600000 | 97800000 | 7380000 | 28100000 | | 56 | 49600000 | 51000000 | 103300000 | 8270000 | 32300000 | | 57 | 51000000 | 52400000 | 109100000 | 9260000 | 37100000 | | 58 | 52400000 | 53800000 | 115200000 | 10400000 | 42700000 | | 59 | 53800000 | 55200000 | 121500000 | 11600000 | 49100000 | | 60 | 55200000 | 56600000 | 128200000 | 13000000 | 56400000 | | 61 | 56600000 | 58000000 | 135300000 | 14600000 | 64900000 | | 62 | 58000000 | 59400000 | 142700000 | 16300000 | 74600000 | | 63 | 59400000 | 60800000 | 150400000 | 18300000 | 85800000 | | 64 | 60800000 | 62200000 | 158600000 | 20500000 | 98700000 | | 65 | 62200000 | 63700000 | 167100000 | 22900000 | 114000000 | | 66 | 63700000 | 65200000 | 176100000 | 25700000 | 131000000 | | 67 | 65200000 | 66700000 | 185600000 | 28800000 | 150000000 | | 68 | 66700000 | 68200000 | 195500000 | 32200000 | 173000000 | | 69 | 68200000 | 69700000 | 205900000 | 36100000 | 199000000 | | 70 | 69700000 | 71200000 | 216800000 | 40400000 | 228000000 | | 71 | 71200000 | 72700000 | 228300000 | 45200000 | 263000000 | | 72 | 72700000 | 74200000 | 240300000 | 50700000 | 302000000 | | 73 | 74200000 | 75700000 | 252900000 | 56800000 | 347000000 | | 74 | 75700000 | 77200000 | 266200000 | 63600000 | 399000000 | | 75 | 77200000 | 78700000 | 280200000 | 71200000 | 459000000 | | 76 | 78700000 | 80200000 | 294800000 | 79700000 | 528000000 | | 77 | 80200000 | 81700000 | 310200000 | 89300000 | 607000000 | | 78 | 81700000 | 83200000 | 326300000 | 100000000 | 698000000 | | 79 | 83200000 | 84700000 | 343200000 | 112000000 | 803000000 | | 80 | 84700000 | 86200000 | 361000000 | 125000000 | 924000000 | | 81 | 86200000 | 87700000 | 379700000 | 141000000 | 1060000000 | | 82 | 87700000 | 89300000 | 399300000 | 157000000 | 1220000000 | | 83 | 89300000 | 90900000 | 419900000 | 176000000 | 1400000000 | | 84 | 90900000 | 92500000 | 441500000 | 197000000 | 1620000000 | | 85 | 92500000 | 94100000 | 464200000 | 221000000 | 1860000000 | | 86 | 94100000 | 95700000 | 488100000 | 248000000 | 2140000000 | | 87 | 95700000 | 97300000 | 513100000 | 277000000 | 2460000000 | | 88 | 97300000 | 98900000 | 539400000 | 311000000 | 2830000000 | | 89 | 98900000 | 100500000 | 567000000 | 348000000 | 3250000000 | | 90 | 100500000 | 102100000 | 596000000 | 390000000 | 3740000000 | | 91 | 102100000 | 103700000 | 626400000 | 436000000 | 4300000000 | | 92 | 103700000 | 105300000 | 658300000 | 489000000 | 4940000000 | | 93 | 105300000 | 106900000 | 691900000 | 547000000 | 5680000000 | | 94 | 106900000 | 108500000 | 727100000 | 613000000 | 6540000000 | | 95 | 108500000 | 110100000 | 764100000 | 687000000 | 7520000000 | | 96 | 110100000 | 111700000 | 802900000 | 769000000 | 8640000000 | | 97 | 111700000 | 113300000 | 843700000 | 861000000 | 9940000000 | | 98 | 113300000 | 114900000 | 886500000 | 965000000 | 11400000000 | | 99 | 114900000 | 116500000 | 931500000 | 1080000000 | 13100000000 | | 100 | 116500000 | 118100000 | 978700000 | 1220000000 | 15100000000 | | 101 | 118100000 | 119700000 | 1028200000 | 1390000000 | 17400000000 | | 102 | 119700000 | 121300000 | 1080300000 | 1590000000 | 20000000000 | | 103 | 121300000 | 122900000 | 1134900000 | 1810000000 | 23000000000 | | 104 | 122900000 | 124500000 | 1192300000 | 2080000000 | 26400000000 | | 105 | 124500000 | 126100000 | 1252500000 | 2390000000 | 30400000000 | | 106 | 126100000 | 127700000 | 1315800000 | 2750000000 | 35000000000 | | 107 | 127700000 | 129300000 | 1382200000 | 3250000000 | 40200000000 | | 108 | 129300000 | 130900000 | 1451900000 | 3960000000 | 46200000000 | | 109 | 130900000 | 785400000 | 1525100000 | 4950000000 | 53200000000 | | 110 | 785400000 | 1570800000 | 2100000000 | 6440000000 | 61200000000 | | 111 | 1570800000 | 3141600000 | 4200000000 | 9330000000 | 70300000000 | | 112 | 3141600000 | 6283200000 | 8400000000 | 15000000000 | 80900000000 | | 113 | 6283200000 | 12566400000 | 16800000000 | 27000000000 | 93000000000 | | 114 | 12566400000 | 25132800000 | 33600000000 | 50000000000 | 107000000000 | | 115 | 25132800000 | 50265600000 | 67200000000 | 100000000000 | 123000000000 | ===== Conclusions ===== * Crossfire should be a bit easier for low-level characters (below 20) and harder for high-level characters (90 and beyond). * The experience table should be as progressive as possible (constant exponent) instead of becoming easier at high levels. * The suggested **experience table E** is more progressive and becomes harder than the [[servers:metalforge|Metalforge]] table after level 90. * The experience table should be updated before attempting to re-balance the spells and other parts of the game.