Stat Leveling System

Started by
7 comments, last by C_Programmer0101 16 years, 10 months ago
Hello Community, I am curious if there is an example leveling system out there that I can use. The type of leveling system is for a RPG game and will get a person from level 1 to 40. Any suggestions thanks.
Computers are worlds of Exploration?
Advertisement
I, for one, would answer your question, but there's not enough "stuff" to go on. I need more information than "for a RPG game". Go back, include some more details, and maybe we can help you out.
Thanks for your response :)

I want to create a leveling system where a hero can gain points for each kill he gets. After a certain amount of points he will level up to level 2. The cap off is 40. I have a great idea on how I can do it but would like to view stuff on proven ways that works. I would like for the code to be in C++ even though the game I am programming is not in C++ I use C like scripting. The game I am making is 3D. What specific information would you need in order to assist me better?
Computers are worlds of Exploration?
EDIT:
Never mind, you said not c++. But you would have to call c++ functions anyway for your scripting language, so why not just add script functions that call c++ code?


It wouldn't be that difficult. You could do something like this where cCharacter is your character's class:

void cCharacter::killNPC(/*input*/){    //Do the regular kill stuff    xp+=NPC.level; //where xp is your characters experience points nad NPC is the person you killed    CheckXP(); //Check to see if level up is necessary    return;}void cCharacter::CheckXP(){    int xp_needed = 100; //You can change that    if(xp>=xp_needed && level <= 40) {        level++; //Increment level        xp=0; //Reset experience    }    return;}
Most leveling systems are not a linear distribution of experience vs levels, usually the distribution is exponential increase of some sort until it possibly tapers off in the upper levels (assuming you want them to max out the character)

This should also increase the reward the person gets while settling into the game, quickly achieving goals, and allowing them to quickly increase character stats will greatly increase their drive to further develop their character. By weening them off the speed of achieving rewards, it should draw them further into the game, increasing their desire to be rewarded.

Also as the character increases level and achieves more skill points, the enemies they could encounter would generally be tougher and give more experience. So increasing exponentially experience required may still only give a linear distribution of time/level. I would think you would want time/level to increase exponentially as well, so you would have to take into account this as well.

your experience per level would depend entirely on the amount of experience the player gets from each kill, as well as the length of the game/number of killable (experience gaining) things within the game. If your game is only a few levels long, being able to only reach level 3 at the end makes the rest of the leveling pointless.

I haven't made anything more than a simple rpg though (stunning state of the art 2-d graphics, green dot for the hero, and red for the enemies), so there might be someone else on here more knowledgeable who will be able to help you more.
I just set mine up so the player had three stats (STR/DEX/INT). Each level required N * 1000 points to achieve (so you needed 2000 experience points to get to level 2, 3000 to level 3 on top of that, etc) and gave you three points to spend how you wish on your stats.

The problem, of course, is that it's not really an experience "curve" so much as it is an experience line...
The easiest thing to do is play a few games and take elements you like from them. Diablo 2 and World of Warcraft have decent leveling systems. Guild Wars is good too (although much faster to max level than the previous two). Or, you could check out the old Dungeons & Dragons Player's Handbook and see how it's implemented there. All of the systems are very similar anyway..
Have to agree with thesilencer, look at old pen and paper RPGs. They are the giants that we are standing on the shoulders of. I have a closet filled with RPG books from ages ago (1991-ish) that I still go back to sometimes to look at how other people have done their leveling systems, damage systems / charter generation systems.

..And, well truthfully, allot of them sucked, palladium games was full of great ideas backed up my bad systems. Those bad systems are just as useful though- to see how NOT to have characters level up / calculate damage etc.

Another note: if your RPG has strict classes (ie magic users will never be good at swords and fighters are not gonna ever through fireballs) you might look into some sort of fixed stat distribution per level then have a tree of skills per level, just a thought.
I am sorry about the confusion of what language that I use. I use C++ and do C like scripting to clear that up. Thanks for the examples shown above. I played and still play games listed up above. I know what systems I like but liking and applying them to your own game is a whole different animal in itself. Experimentation is what I am doing but I will go back and redesign a flow chart with some psuedo code to help out a bit better.
Computers are worlds of Exploration?

This topic is closed to new replies.

Advertisement