Jump to content
  • Advertisement
Sign in to follow this  
C_Programmer0101

Unity Stat Leveling System

This topic is 4085 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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;
}

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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..

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!