Exp and Levels in MMORPGs
im working on a MMORPG and I have most of the battle system done. what im doing though is I want each user to gain experience after every attack. so if it deals 1 damage, give 0 or 1 exp or something and if it gives 10 damage give 1exp or 2 or something. how should I give out experience and raise levels in a mmorpg. ive never done this type of thing before so im unsure on how it should be done. share your experiences with this.
Well, I dont see anything wrong with 1 experience per 10 damage if thats how you're handling it, but I figure the simplest way would be to put experience equal to damage. You'll probably have hard coded values for experience needed for them to level, so you can just tweak them so it takes the same number of hits.
Hmmm take into consideration that only tanks and mages /I take it that you make a fantasy MMORPG but it doesn't matter much/ will get experience while support guys like healers won't get exp this way.
In my experiece levels based on combat damage sucks... How about letting skills increase when used? So when the fighte attacks with his sword he gets better at sword fighting, when the healer casts healing spells he gets better at healing etc. (assuming you make a fantasy game). The whole idea of levels leads to boredom, as you will have to stop people from leveling at some point, or you will create gods.
Say you have 200 skillpoints total, when you train your fighting skills they go up, but since you total total number of skillpoints cant go byound 200, the skills you have used least will go down. Then the player is in constant development, rather than just leveling up. This also fixes another rather stupifying problem. How are you supposed to become better at cooking, making camp fires, crafting, smithing etc by swinning a sword or casting healing spells? Most levelsystems makes you better overall when raising a level, even at skills you never use. A game like Ultima Online has(had) such a system, you should check that out...
Another point is to focus on playerskill more than levels. Games like world of warcaft, where time played is more important than skill, makes most "hard core" MMORPG players leave screaming... If two players battle, and the winner is the one with the highest level and best equipment, rahter than the one who is best at using his skills, then the game is a failure in my view. Take a look at how GuildWars does things, there you level matters less than you personal skill... The game has 20 level, and when playing player vs. player, everyone is level 20 and everyone has "the best" equipment, so whoever wins a pvp combat is whoever is best at playing. Dont make a game where you have to play 500 hours to become the best... There should always be room for someone to step in and simply be good at playing :)
Anyway, the descussion of how to make levels in a MMORPG will never end, but my advice is to spend a little time playing a few of them, and check out what others do... And then keep in mind that tetris is the best game of all times, and it has no playerlevels, only personal skill!
Say you have 200 skillpoints total, when you train your fighting skills they go up, but since you total total number of skillpoints cant go byound 200, the skills you have used least will go down. Then the player is in constant development, rather than just leveling up. This also fixes another rather stupifying problem. How are you supposed to become better at cooking, making camp fires, crafting, smithing etc by swinning a sword or casting healing spells? Most levelsystems makes you better overall when raising a level, even at skills you never use. A game like Ultima Online has(had) such a system, you should check that out...
Another point is to focus on playerskill more than levels. Games like world of warcaft, where time played is more important than skill, makes most "hard core" MMORPG players leave screaming... If two players battle, and the winner is the one with the highest level and best equipment, rahter than the one who is best at using his skills, then the game is a failure in my view. Take a look at how GuildWars does things, there you level matters less than you personal skill... The game has 20 level, and when playing player vs. player, everyone is level 20 and everyone has "the best" equipment, so whoever wins a pvp combat is whoever is best at playing. Dont make a game where you have to play 500 hours to become the best... There should always be room for someone to step in and simply be good at playing :)
Anyway, the descussion of how to make levels in a MMORPG will never end, but my advice is to spend a little time playing a few of them, and check out what others do... And then keep in mind that tetris is the best game of all times, and it has no playerlevels, only personal skill!
Personally, in my last implementation of an experience based 'level up' system, if you can call it that, I did away with levels completely, since they lead to the sort of balance problems described above. In the case of some level critical games, take the old final fantasy's for instance [even though they are not multiplayer], where each level increases your power nearly exponentially [just a small exponent], the difference between level 50 and 60 means that a level 50 person could never even hope to compete against a level 60 person. If the levels mean very little, then people will complain [since this is an mmo] constantly that the efforts they put into building the character are not properly rewarded. If levels don't even exist, it becomes a bit of a non-issue. If you want to make levels though, I suggest you don't do the damage = exp equation, for the reason stated previously, but instead do a sort of action * action weight = experience, and then divide levels up into a few broad areas [crafting levels, fighting levels..], that way dodging an attack could give you a little experience, and healing would give you a little experience, and it isn't just the mage in the back casting the huge area effect spells that gets all the goodies.
The way I did it, was to have do it all with skills. Set up a formula for the chance to gain that converge to zero in the instances of the challenge being too difficult, and converges to zero when it's too easy. Divide the whole formula by the current skill level plus some offset [to make higher skill levels harder to gain through], and you have a sort of scaled normal distribution. Pretty easy to make a lookup table of the basic values, and then apply the scales to keep from doing all that nasty exponent math on a mmo game server :P
The way I did it, was to have do it all with skills. Set up a formula for the chance to gain that converge to zero in the instances of the challenge being too difficult, and converges to zero when it's too easy. Divide the whole formula by the current skill level plus some offset [to make higher skill levels harder to gain through], and you have a sort of scaled normal distribution. Pretty easy to make a lookup table of the basic values, and then apply the scales to keep from doing all that nasty exponent math on a mmo game server :P
player::AddExperience(){ experience += damage_done;}player::SetLevel(){ if(experience > max_experience) pLevel++;}
What's the problem?
Hello?
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement