Formal balancing of xp gain rates
Goto page 1, 2  Next
 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
Kjartan



Joined: 13 May 2005
Posts: 110

PostPosted: Fri Mar 23, 2007 1:41 pm    Post subject: Formal balancing of xp gain rates Reply with quote

I have a problem, which I'm sure is common on old large H&S muds: my mud has a lot of areas, many of which are quite old, and when the areas were written the mud environment was different: there were different player abilities, different power levels of equipment, etc. I am resigned to having the player power level slowly increase over time, but I would love to have a system that automatically rehabilitated the old areas so that they didn't get abandoned as sub-optimal.

In my experience two things cause players to avoid an area: the xp-gained-per-hour-of-play there is less than they can gain in other areas, or they don't know the area and don't want to bother learning it because nobody else knows it and figuring it out is too dangerous. I am more worried about the first reason, because we have some adventurous types who view the second as a positive, and once THEY learn the areas others will follow if the xp gain rates there are competetive.

This suggests that the game should watch which areas have a lot of player activity, and reduce the xp there while raising it in other areas. We have a little bit of this but the maximum allowed changes aren't currently enough to provide much incentive.

One thing I tried that works a little bit but really doesn't resolve the problem is to give an xp bonus the first time a player enters a new area (new for him, that is) and another the first time he kills a monster in a new area. (I am thinking that maybe I should add a third for the first time he really ravages an area, although that is a little harder to detect.)

The other thing we do is put nice equipment on obscure mobs in obscure areas (not like giving the mob the item, I mean making it generate the item sometimes). We have a mechanism that allows players, with great effort and luck, to find out where equipment comes from, so they will find the area that way. This is fine but it doesn't really get them to run the whole area, they just camp that one mob.

What other mechanisms for this have people tried?
Back to top
View user's profile Send private message Visit poster's website
Author Message
Jimorie



Joined: 18 May 2005
Posts: 10
Location: Gothenbrg, Sweden

PostPosted: Fri Mar 23, 2007 2:47 pm    Post subject: Reply with quote

My approach would be more of what you are already doing. I would for example keep a count of the amount of exp gained by each player for the ten or so last areas, and then use this information to apply a penalty to the exp gained in areas that the player is clearly favoring.
Back to top
View user's profile Send private message Visit poster's website
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Fri Mar 23, 2007 3:56 pm    Post subject: Reply with quote

In the original God Wars I still had all of the stock areas, but because of the way the game worked there was little value in visiting them. An approach I used to get around this was "quest cards" - each card would randomly pick three items from a predefined list, and in order to get the reward you had to collect all three items. I then went through the area files and picked out 150 different items from all around the game world, and used them to generate the list.

The quest card system itself had a number of serious design problems, most noteably the fact that it became so overused that it turned into a botting grindfest, and that it failed to take into account the transportation devices that players were able to create. However that aside, it did initially provide a great motivation for players to fully explore the mud, particularly when it was first introduced.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Skol



Joined: 07 Jun 2006
Posts: 4
Location: Oregon

PostPosted: Mon Mar 26, 2007 7:42 am    Post subject: Reply with quote

One thing I did was keep the hours bonus for experience (and loss for lower hours etc). But also, I added one for mobs, so that older mobs gave more experience as well. This tends to encourage exploration some, at least periodically.

There's the usual alignment bonus, good vs evil etc. Grouping bonus.

The code for the played hours of the victim (mob) is pretty simple if anyone wants it. It's Rom but the concept is cake.
Code:
   int hours = (victim->played + (int) (current_time - victim->logon)) / 3600;
   if (hours > 100)
     xp += xp; // 2x
   else if (hours > 5)
     xp += (xp * hours)/100;


I'd love other concepts for experience gaining as well. What I want to avoid myself is the 'botter' type exp gainer. But, I suppose there's always those who for some reason want to bot a game ;p.
Back to top
View user's profile Send private message Visit poster's website
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Mon Mar 26, 2007 9:03 am    Post subject: Reply with quote

Skol wrote:
One thing I did was keep the hours bonus for experience (and loss for lower hours etc). But also, I added one for mobs, so that older mobs gave more experience as well. This tends to encourage exploration some, at least periodically.


Does it actually encourage exploration, though - or does it just encourage people to have secondary and tertiary exp-hunting locations?
Back to top
View user's profile Send private message Visit poster's website
Author Message
Vopisk



Joined: 22 Aug 2005
Posts: 99
Location: Golden Valley, Arizona, USA

PostPosted: Wed Apr 04, 2007 5:56 pm    Post subject: An Impossible Mountain To Climb? Reply with quote

I have to say, I don't really see a way to spur "exploration" when you're using any system that features static "spawning" points for non-player character "victims".

No matter what, for some reason or another, Area J will always be preferable to Area K, whether it is due to loot pillaged, XP gained or proximity to town, there will always be a reason to go to one rather than the other. The only reason that Area J ever becomes enticing is when someone's just wiped out the entire population of Area K and you know it's going to be another thirty minutes before there's any mobs there, so the time and somewhat smaller XP offered by Area J are what draws you there.

However, in these types of games, there's still one key factor. People aren't exploring. That is to say, at least most people aren't exploring. If the whole point is, "How can I get maximum experience points with minimal effort", then really, all the player is looking for is a body to stick their sword through, they're not sitting back, appreciating room descriptions and the subtle tricks and secret passages that you've built in, heck, if you don't explicitly ban them, they'll kill quest generators and shopkeepers right along with everything else in their blood-strewn path.

In most games that have dozens or even hundreds of areas, in my experience they are generally separated by what level of character will best suit that area. This works well and good, but when there is a dozen choices for what areas I should be in from levels 12 - 15, I probably won't visit more than one or two of them before I reach level 15 and move on to the next tier of levels, and certainly, once I am at the maximum level, there is really little incentive to continue exploring anything other than my one preferred area no?

However, I digress, the actual question posed was not "how do I get players to old areas", it was, how do I make those areas worth players going to them. The point being that often an area created one, two, five, ten years ago was built on an entirely different game structure than what is in place now, after all, evolution is the key to survival.

I would suggest creating a "compare" function that will, well, compare the character and the mob side by side and return a factor, this can be as easy as [-1, 1]. -1 - -.1 would represent mobs that are "weaker" than the character, while a score of 0 would represent a mob that is equal in strength to the character and a score of .1 - 1 would represent the degree to which the mob is stronger than the character. ( Yes, I'm reading about fuzzy logic lately).

However, it works, it just does. If you apply a certain amount of XP based upon the "strength-factor" of the enemy, then each individual mob can in fact have it's own score and "worth" in XP, but all mobs of similar strength will buffer approximately the same amount of XP.

Just some thoughts,

Vopisk


Edit: Another point is that, a possible idea is to intersperse areas with mobs of all levels. From the weakest bunny to the mightiest dragon. In this way, there are most likely NPC's that will draw players of all levels to every area, and no single area is so stacked with NPCs of a certain level that it only attracts players within that playing range. If a character is stupid and attacks a creature that is well outside of their skill range, they'll get slaughtered mercilessly and that will be their fault, if an overly skilled player walks around simply looking at bunnies and slaying them with mind bullets well, he won't be getting any experience for it because the "XP factor" will be so low. This way, players still focus on the creatures most likely to net them the largets rewards, but need to travel a bit more to do it.
Back to top
View user's profile Send private message AIM Address MSN Messenger
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Sun Apr 08, 2007 1:18 pm    Post subject: Reply with quote

Vopisk wrote:
No matter what, for some reason or another, Area J will always be preferable to Area K, whether it is due to loot pillaged, XP gained or proximity to town, there will always be a reason to go to one rather than the other.


While that may often be the case with many muds, there's no reason why it has to be that way. For example, imagine you had the following 4 areas:

Area 1: The mobs drop powerful swords.

Area 2: The mobs drop powerful daggers.

Area 3: The mobs drop powerful mana rings.

Area 4: The mobs drop powerful holy symbols.

It's likely that warriors would favour the first area, thieves the second, mages the third and clerics the fourth. In a game where grouping was essential, you might well find the groups taking turns at visiting all four areas so as to gather equipment for all the party members.

Equally, you might have another 4 areas like this:

Area 1: The mobs drop powerful head gear (helmets, caps, etc).

Area 2: The mobs drop powerful body gear (breastplates, shirts, etc).

Area 3: The mobs drop powerful foot gear (shoes, boots, etc).

Area 4: The mobs drop powerful hand gear (gloves, gauntlets, etc).

Now you've got four areas, each with treasure that appeals to all player types, theoretically providing the incentive for all players to visit all of the areas.

But it doesn't have to be treasure, either - even with just exp, you might have something like:

Area 1: Powerful golems, immune to magic.

Area 2: Deadly monsters, but vulnerable to stealth.

Area 3: Ethereal creatures, only harmable via magic.

Area 4: Undead, highly vulnerable to holy powers.

Although that would tend to encourage solo player, or groups of the same class, which might not be what you're after. Of course then you could combine different elements into the same area - an ancient pyramid might require thieves for the traps and clerics for the mummy, for example.

Vopisk wrote:
In most games that have dozens or even hundreds of areas, in my experience they are generally separated by what level of character will best suit that area. This works well and good, but when there is a dozen choices for what areas I should be in from levels 12 - 15, I probably won't visit more than one or two of them before I reach level 15 and move on to the next tier of levels, and certainly, once I am at the maximum level, there is really little incentive to continue exploring anything other than my one preferred area no?


Once again it depends on the areas. If they're really all the same apart from monster names then you're likely correct, but there are various ways to encourage people to explore multiple areas. Perhaps each area has its own goodies to loot, or certain areas are easier for certain classes, as I described earlier. Or maybe there are mini quests to complete within each area, giving players the incentive to visit each area at least once.

Vopisk wrote:
I would suggest creating a "compare" function that will, well, compare the character and the mob side by side and return a factor, this can be as easy as [-1, 1]. -1 - -.1 would represent mobs that are "weaker" than the character, while a score of 0 would represent a mob that is equal in strength to the character and a score of .1 - 1 would represent the degree to which the mob is stronger than the character.


I would suggest that if your mobs can be broken down and categorised that easily, you should instead put the effort into making them more unique.

Vopisk wrote:
Another point is that, a possible idea is to intersperse areas with mobs of all levels.


My mud currently works that way. It's proved a sufficiently bad design decision that, now we're redesigning the world, we're explicitly going out of our way to ensure that each area is aimed at the same sort of character strength and type.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Vopisk



Joined: 22 Aug 2005
Posts: 99
Location: Golden Valley, Arizona, USA

PostPosted: Mon Apr 09, 2007 12:55 pm    Post subject: Reply with quote

Quote:
Kavir wrote:
Quote:
Vopisk wrote:
I would suggest creating a "compare" function that will, well, compare the character and the mob side by side and return a factor, this can be as easy as [-1, 1]. -1 - -.1 would represent mobs that are "weaker" than the character, while a score of 0 would represent a mob that is equal in strength to the character and a score of .1 - 1 would represent the degree to which the mob is stronger than the character.



I would suggest that if your mobs can be broken down and categorised that easily, you should instead put the effort into making them more unique.


I wasn't suggesting a simple Mob level vs. Player level breakdown and categorization here. Using fuzzy logic it would be possible to break down XP rewards based on action during combat, such as hit percentage, average damage given and taken or other such "statistics".

I only thought of this on the fly as a means of modifying an existing game so that entire areas do not need to be redesigned to fit into a scheme such as those you mentioned earlier in your post. It's probably not the best solution but it may be a starting point.[/quote]
Back to top
View user's profile Send private message AIM Address MSN Messenger
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Mon Apr 09, 2007 9:22 pm    Post subject: Reply with quote

Vopisk wrote:
I wasn't suggesting a simple Mob level vs. Player level breakdown and categorization here. Using fuzzy logic it would be possible to break down XP rewards based on action during combat, such as hit percentage, average damage given and taken or other such "statistics".


I remember discussing something similar in the past, and someone pointed out that the players would just keep downgrading their weapons and equipment so as to keep getting good exp off the same old mobs.

Bubba might be able to maintain a challenging fight with crippled goblins by using a plastic spoon and wearing only a loincloth and blindfold, but if the objective is to encourage exploring you're probably going to need to find another solution.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Gromble



Joined: 08 Oct 2005
Posts: 23

PostPosted: Thu Apr 12, 2007 2:47 pm    Post subject: Reply with quote

If a player is significantly superior to a mob, then perhaps that mob ought to just flee the fight. There'll be exceptions, like a rabid dog or mobs with little concern over self-preservation.

If it becomes a chore to chase, corner, and kill a weak mob, players may not bother.
Back to top
View user's profile Send private message
Author Message
Kjartan



Joined: 13 May 2005
Posts: 110

PostPosted: Thu Apr 12, 2007 10:48 pm    Post subject: Reply with quote

The chase could be an additional aspect of the game. Some player builds might be optimized for chasing and escaping, and so they fight mobs that have significant chase aspects, while others are slow and optimized for a slugfest, so they prefer to fight non-fleeing mobs.

I think KaVir's coordinate-based mud would be better suited for a chase than any room-based mud.
Back to top
View user's profile Send private message Visit poster's website
Author Message
KGZotU



Joined: 08 Nov 2006
Posts: 7

PostPosted: Fri Apr 13, 2007 1:38 am    Post subject: Reply with quote

One thing that comes to mind is you might turn down the repopulation rate. As with other solutions, I'm not sure whether this would 'encourage exploration' or 'widen a PC's domain of murder'.

May or may not be the proper solution for your problem but it would send your players a bit farther afield.

--Joe
Back to top
View user's profile Send private message
Author Message
Vopisk



Joined: 22 Aug 2005
Posts: 99
Location: Golden Valley, Arizona, USA

PostPosted: Fri Apr 13, 2007 2:22 pm    Post subject: Reply with quote

That also (sometimes) creates the problem of players literally being able to make the world extinct for X amount of time until repops start to happen, which only serves to aggravate and frustrate players who perhaps are not at ultimate level yet and are just trying to build up their character, and yes, people will do it just to be mean, rude, nasty and spiteful. It seems MUDs are a good outlet for that type, but that's a different discussion.

Your proposed solution is indeed, a solution, as people who want XP will have to travel farther for it, but those will most likely only be the hard core people who really really want that next level. I think that if you're having an issue with people exploring your world, it's probably best to look at why they're avoiding area X in the first place and work to make all of your areas equally attractive (at least as much as possible).

As I mentioned before and we had some discussion about, there are always reasons why one area is better than another, whether it be that the XP is better, it is closer to where you hang out, the mobs in it are weaker against your build or what-have-you.

If area exploration in and of itself is an achievement and rewarding experience then that might spur it, but generally games that reward you for "exploration" only do so by saying "Yes, you visited this area once, now you never need to come back here". Perhaps if there was an entirely seperate ranking system based solely on who "knows the world" the best, you would see a rise in player exploration, because let's face it, players love to be at the top of a rankings list. This might involve calculating a score for the amount of time you spend in each particular area and then averaging that score out between all the areas of the game (exceptions to this should probably be rare/hidden/exclusive areas). In this way, the player who spends a lot of time in only a handful of areas will only reach mediocre success while the player who spends time in numerous different areas, exploring and playing within them will rise to the top.

Just another thought that just occurred to me, but definitely something that can be layered atop an existing system and maybe not such a bad idea.

-Vopisk
Back to top
View user's profile Send private message AIM Address MSN Messenger
Author Message
ide



Joined: 21 Feb 2006
Posts: 105
Location: Seattle

PostPosted: Fri Apr 13, 2007 11:47 pm    Post subject: Reply with quote

Legends of Karinth uses a journaling system, where you can record the new mobs and objects you find (new to you):

Quote:


Journal is the method of capturing information about a mob or object.

Once your journals are full, take them to a Karinthian Library, and type
archive. You may also take your journals to other libraries to archive.

If you are the very first person archiving the information on the mob or
object, you will receive written credit in the archives. You will receive
credit in the form of experience for your journaling efforts whether or not
information has been previously recorded.

Once it updates, the website will contain the data you have journaled,
crediting you by name for your efforts and contributions.
Back to top
View user's profile Send private message Send e-mail
Author Message
shasarak



Joined: 29 Jun 2005
Posts: 134
Location: Emily's Shop

PostPosted: Sat Apr 14, 2007 12:57 pm    Post subject: Reply with quote

How about storing which rooms each player has visited? If held sensibly, this doesn't have to take up a huge amount of disc space. For example, if a player has visited rooms 1-19, and rooms 21-38, and then visits room 20, then you delete the records that say "1-19" and "21-38" and substitute a single record that says "1-38".

What you then do is have a leaderboard which ranks players according to the percentage of all the rooms in the MUD that they have visited at least once. Certain players will then get quite competitive about finding and visiting very single last room on the MUD to try and get up to 100% and be at the top of the explorers' leaderboard.

This should ensure that at least a few players have visited every area.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    mudlab.org Forum Index -> Design All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2002 phpBB Group
BBTech Template by © 2003-04 MDesign