View Full Version : How to set up XP for character levels?
douglasc
07-15-2005, 08:58 AM
Hello list,
I’m doing my very first game, which mixes Space Invader type shooting and role-playing gameplay. I have a specific newbie question regarding character advancement design: How are experience point numbers for character levels set? For example, let’s say level two needs 100 exp points, level three needs 200 points, and so on. How come these particular figures? Are there any formulas out there for setting up these numbers? Many thanks in advance for your help.
Douglas
BantamCityGames
07-15-2005, 09:03 AM
Hello list,
I’m doing my very first game, which mixes Space Invader type shooting and role-playing gameplay.
Douglas
Wow! and I thought a mix between Space Invaders and Arkanoid would be hard to pull off!! :eek:
Seriously though, I think just a small list file or table would be fine for each type of character:
[wizard]
1 1000
2 5000
3 10000
4 etc...
[thug]
1 500
2 1000
3 etc...
Then just load these files when you start your game and reference them when needed.
The two most prevalent systems are either linear or non-linear (typically exponential). Any variation of these typically only yield more resolution.
I.e. the only difference between 100, 200, 300 and 1000, 2000, 3000 is the resolution permitted (more leeway to create enemies of more varying experience gains).
A linear system would probably work fine for a shooter... IMHO the only reason to use an exponential system is for games like MMORPGs, where you are trying to encourage people to hunt enemies of their own level (rather than farming weaker enemies).
Nexic
07-15-2005, 09:35 AM
An exponential system is good for most games. Something like this:
(doubling the difference)
100
300
700
1500
(doubling previous requirement)
100
200
400
800
1200
2400
It stops the user for simply fighting the weaker enemies, whilst they get more and more powerful. You wan't them to be challenged, and if they can become super powerful fighting only the weakest enemies it will be pointless.
In my new game, the user gains money with which they can buy new ships and weapons. I use an exponential system for the weapon and ship prices, otherwise they could keep doing the early levels, get loads of money, get the best equipment, then complete most of the rest of the game with no challenge.
Obviously for this to work the stronger enemies have to give the player more exp than the weaker ones.
Hiro_Antagonist
07-15-2005, 10:04 AM
There are a bazillion and one methods for doing this.
Typically, games try to increase the time duration required to reach a new level as the character progresses. This is actually a very good functional decision in terms of usability. Rapid progress at the start of a game helps new players feel rewarded, gets them involved, and usually gives early opportunity for character customiziation, making their gameplay experience more unique from the outset. By slowly increasing the time it takes to level each time, the player never feels like they've hit a brick wall (in terms of leveling) at any given time, and they tend to get sucked into the 'one more level' habit.
If you do use increasingly long levels (the standard in most, but not all, games using xp/levels), there are tons of ways to go about it. I've always been a fan of the systems where you need fixed amounts of xp to advance, but that the xp awards get smaller/harder as you progress. That's just my personal taste though -- there's nothing clearly superior about it. (Final Fantasy uses this system, though the xp awards might remain consistant rather than getting harder. I can't remember.)
In many MMORPG's (like WoW), they actually lower the amount of xp you get for a given action (like "killing a level 37 monster") while simultaniously increasing the amount of xp you need to level. That was done to dampen the obviousness of exactly how much of an increase it takes to level each time. Also, as you level up, monsters of your level take *slightly* more time to kill than the level before -- another way to increase the time it takes for each level. They have several other axes that they do this on as well In the end, it's a very effective way of keeping players going for one more level, with each taking a real percentage longer than the last to achieve, without the player feeling exasperated or even really noticing from level to level.
These increasingly long level times are especially important in mutiplayer games where status/rank is of value within the community. You want higher ranks to *mean* something to players, and thus they need to be increasingly harder to obtain.
Single-player games don't really need that psychological mechanism, so of course you're much more free to do whatever you want.
In the end, if you don't feel like you have a really strong grasp on numbers enough to see the 'personalities' of different math systems and their repurcussions on your game, you might want to enlist the help of someone who's pretty in-tune with the math of these types of systems and how they would impact your game.
Once you've decided on a system for xp awarding and level thresholds, implementing it should be pretty easy.
Sorry for the long post, but I love this stuff. =)
-Hiro_Antagonist
douglasc
07-15-2005, 10:18 AM
Thank you very much guys for the good inputs. I'm going to try a non-linear XP matrix combining with a difficulty ratio (enemy level/player level) as XP gaining modifier for the most versatility in tweaking gameplay experience and balance.
Douglas
vBulletin v3.6.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.