I'm developing a simple text battle game and having some issues calculating how much XP should be earned after a battle, theres a few factors that i want to consider: 1) Players should of course earn good XP if they beat someone of the same level 2) Players should earn great XP if they beat someone of a higher level 3) Players should earn poor XP if they defeat someone of a lower level 4) The above should scale nicely, i.e. If player A is level 10 and battles Player B who's level 9 or 11 the difference shouldn't be huge (they would of course gain more XP for defeating the level 11 character but we wouldn't expect this to be huge), but if he was to battle a level 5 or 15 this difference should be huge. Just having trouble calculating something that works well in all scenarios, currently my XP table looks like the below: Current Level XP Needed Increase from Last Level 1 30 0 2 65 35 3 106 41 4 154 48 5 210 56.
10 672 123 In PHP my code looks like the below to calculate the XP Needed: $offset = 30; $multiplier = 1.17; $base = $prevXp * $multiplier; $xp = $base + $offset; I've tried a few different things but i haven't been impressed with any of them, I'd like to work with calculating the difference in XP and then using some kind of multiplier but i haven't been impressed with the results. Any help / input would be appreciated. Two suggestions: Exponents!
Aug 14, 2012 New D&D Next Playtest Packet Is Here! By zoroaster100 in forum D&D 5th Edition News, Rules, Homebrews, and House Rules Replies: 139. Page 2 Prealgebra, Edition 5 ©2009, 2007, 2005, 2004, 2003 Michelle A. Wyatt (M A Wyatt) 2009, Edition 5 Michelle A. Wyatt, author Special thanks to Garry Knight for.
Calculate some 'base xp reward' for each level. Then the formula for a kill is base_xp_reward * pow(1.1, target_level - player_level). You might want to clamp the gain to a maximum, to somewhat nullify exploits, and you might want to give zero XP below a certain difference, to prevent farming of lowbies. Download Material Library Autocad 2012 on this page. (Base XP reward can be a simple exponential progression also, if you like - constant_factor * pow(1.25, level), perhaps. Then you can define the 'exp to level' in terms of a multiple of the base XP reward. Might be easier to balance this way.) Alternatively, let's make this really simple.
Do the same base-XP-reward thing. Then figure out a table by hand for the bonuses you want from various level differentials. Make it ratio-based, so that killing someone one level above you always gives, say, 10% bonus XP over the base reward.
And now you don't need to worry about a formula at all - you can just make the numbers do what you want. Formulas are overrated, sometimes you just need to jam some numbers in and play it by ear. I'd say something like 'gain xp by the damage delt/recieved'.
So if a level 10 with 100hp fights a level 15 with 200 hp. It seems unfair but if the level 10 would be able to kill the level 15 he would get twice the xp of what he would get if fighting a level 10 with only 100hp. Also this way you don't have to worry about stuff like if two people would fight the same enemy with different equipment. For example, if a level 8 and a level 10 fight a level 13. If the level 8 has better equipment/armor then he would get more xp then the level 10 simply becasue he delt more damage to the level 13.
Advion Tiversa Nanomate Manual. But the most important thing: Set rules, playtest, set rules, playtest, set rules, plasytest, etc, etc. Even the best MMOs from the best developers adjust their xp distribution system as long as the game lives. Just IMHO, the most important thing to get right is the scaling amount of XP required to level up. A friend of mine used a fibonacci variation for his browser Rogue-like, for instance 100XP,100XP,200XP,300XP,500XP,800XP etc etc. I have also heard of a mechanic in some games where the level is subtracted from the XP earned by each battle. For instance, if a particular battle earns 50XP, and they are at level 20, then they only receive 30XP.
If they were at level 50 or above, they would earn nothing.
See also: In the base ten () number system, integer powers of 10 are written as the digit 1 followed or preceded by a number of zeroes determined by the sign and magnitude of the exponent. For example, 000000000♠10 3 = 0000 and 000000000♠10 −4 = 000000000♠0.0001. Exponentiation with base is used in to denote large or small numbers. For instance, 458000000♠299 792 458 m/s (the in vacuum, in ) can be written as 458000000♠2.997 924 58 ×10 8 m/s and then as 000000000♠2.998 ×10 8 m/s. Based on powers of 10 are also used to describe small or large quantities.
For example, the prefix means 000000000♠10 3 = 0000, so a kilometre is 0000 m. Powers of two [ ] The first negative powers of 2 are commonly used, and have special names, e.g.: and. Powers of 2 appear in, since a set with n members has a, the set of all of its, which has 2 n members. Integer are important in.
The positive integer powers 2 n give the number of possible values for an n- integer; for example, a may take 2 8 = 256 different values. The expresses any number as a sum of powers of 2, and denotes it as a sequence of 0 and 1, separated by a, where 1 indicates a power of 2 that appears in the sum; the exponent is determined by the place of this 1: the nonnegative exponents are the rank of the 1 on the left of the point (starting from 0), and the negative exponents are determined by the rank on the right of the point. Powers of one [ ] The powers of one are all one: 1 n = 1. Powers of zero [ ] If the exponent is positive, the power of zero is zero: 0 n = 0, where n >0. If the exponent is negative, the power of zero (0 n, where n 1 This can be read as ' b to the power of n tends to as n tends to infinity when b is greater than one'. Powers of a number with less than one tend to zero: b n → 0 as n → ∞ when b . Main article: If a is a positive, and b is a rational number, it has been shown above that a b is algebraic.
This remains true even if one accepts any algebraic number for a, with the only difference that a b may take several values (see below), all algebraic. The Gelfond–Schneider theorem provides some information on the nature of a b when b is (that is, not rational). It states: If a is an algebraic number different from 0 and 1, and b an irrational algebraic number, then all the values of a b are (that is, not algebraic). Complex exponents with positive real bases [ ] Imaginary exponents with base e [ ].