I very much get the impression that you're judging creativity in terms of typical Diku-style area building, where the builder creates their 30-100 rooms with static hand-written descriptions, links them up, creates a bunch of mobs and objects, adds resets, and then connects the area to the mud. In short you seem to be viewing this in terms of creating an idiot-proof OLC.

That's really not what I've got in mind though. I want to provide players with the tools and incentive to add content to the game, but I also want the creative process to be part of the game itself (or at the very least a minigame). I'm not interested in creative writing skills, I'm interested in creative level-design skills.

I'm not in any way wedded to the Diku building process. I've never been an immortal on a Diku MUD, and couldn't even tell you what the Diku builder tools are in any detail; if I tend to phrase things in somewhat Diku-like terms, that's merely an effort to make what I say easier for people to understand - most other people are pretty familiar with Diku-like terminology.

But certainly a very substantial part of what (IMO) makes a good MUD zone that is enjoyable to play through is the quality of the writing.

The notion of having the building process work through the game engine is a good one up to a point - that's how I imagined the castles and ships I mentioned earlier being constructed. I imagined that the player would be able to do the construction work himself if he wished (ship-building being a set of crafting-like skills), or that he could hire NPCs to do it for him, or a hybrid - he could, for example, negotiate the purchase and delivery of the timber needed to build a ship himself, and then hire NPC ship builders to do the carpentry, thus being charged only for labour and not materials (and potentially making a saving if he has the right contacts in the timber trade and good bargaining skills). I imagined the player having an NPC assistant who would handle this sort of thing for him - able to follow instructions like "go and purchase three tons of oak beams and bring them here by 3pm tomorrow" or "have them build me a tri-reme". (Not necessarily expressed in precisely those terms).

KaVir wrote:

Look at the many computer games out there that provide tools for creating your own maps and levels. You might argue that they result in cookie-cutter maps if they don't allow players to design their own graphics and animations - but in terms of map and level design, they do still allow a great deal of creativity, and in such a way that they are far more accessable to the majority of would-be designers. That's the sort of thing I'm aiming for.

I think there's an important distinction there (between a text MUD and a graphical game) in terms of the way that different elements placed within a level interact with each other, and in terms of the way the player interacts with them.

If you imagine a set of corridors patrolled by guards with occasional alcoves providing cover in some sort of stealth-based shooter - what makes this area distinctive is not necessarily the textures on the walls or the guard models (although making those distinctive doesn't hurt!) what matters is the placement in three dimensions, the motion of the guards as they patrol, and the way that these things interact with each other. You have to watch, figure out their patrol patterns, wait for exactly the right moment, crawl along the floor following exactly the right path, pause in the right places (hiding in the shadowy alcove as the guard walks past), inch your way along right behind the back of one of the guards, praying he won't turn round. There's a real nervous tension doing this, knowing that one wrong key-press and a guard will spot you and trigger an alarm.

Can something like this be translated to a MUD? Doubtful. You don't have any of the precise, three-dimensional movement that a graphics engine allows. There isn't the same tension of crawling past the feet of a guard who might turn round. Potentially a MUD engine could support guards with patrol routes, guards who set off alarms, and the need to traverse a set of rooms with the correct timing - but to set up something as complicated as a patrol route would require fairly sophisticated scripting capability. Maybe the in-game level-builder would be clever enough to tell a guard to patrol along a particular path and back - but you'd have a hell of a time synchronising multiple patrol paths in order to have a time-critical path that the player has to follow to avoid multiple guards. And you can't require the player to follow a very precise path across the floor of the room to avoid traps and guards, because a text engine isn't that exact.

So you tend not to get this sort of thing in a MUD, and you need something else to replace it. The things that replace it are atmospheric writing and distinctive, varied behaviour of the objects, rooms and mobs that you encounter. You need objects which behave in ways that you haven't seen before, mobs that require battle strategies different from any other mob you've previously encountered, situations that require unique combinations of skills and spells to deal with, complicated booby-traps whose operation is like nothing you've previously seen, etc. All this means that in a graphical game you can reasonably assemble a unique or unusual gaming experience from cookie-cutter elements, because the positioning makes the area unique, and the way the elements interact with each other is different; but in a text-based MUD you can't do this, because things don't have precise positions. Repetitive text consequently gets boring a lot faster than repetitive graphics, simply because in a MUD there is so little else to hold your attention.

I've couched much of this in terms of a stealth shooter, but the same argument applies to many other types of game: a level can be unique while using familiar elements because the positioning of the elements is so important. Once you lose the ability to specify an element's precise position, the elements themselves have to be new and different.

But certainly a very substantial part of what (IMO) makes a good MUD zone that is enjoyable to play through is the quality of the writing.

There are definitely some players who strongly feel that way. But there are others who don't care about the descriptions at all, to the point of deliberately switching them off - you'll even hear some builders talking about hiding important information in their descriptions in the hope of encouraging players to read them.

There are both pros and cons in using generated descriptions, and both approaches have their fans. So once again, I think it really comes down to your target audience.

shasarak wrote:

The notion of having the building process work through the game engine is a good one up to a point - that's how I imagined the castles and ships I mentioned earlier being constructed.

But why castles and not dungeons, out of curiousity? Where do you draw the line?

shasarak wrote:

I think there's an important distinction there (between a text MUD and a graphical game) in terms of the way that different elements placed within a level interact with each other, and in terms of the way the player interacts with them.

I think that's really an implementation-specific distinction, not something specific to text or graphics - particularly when you start blurring the line with things like ascii maps. Text games like Rogue or Dwarf Fortress are pretty good examples of enjoyable generated content without descriptions, IMO.

The notion of having the building process work through the game engine is a good one up to a point - that's how I imagined the castles and ships I mentioned earlier being constructed.

But why castles and not dungeons, out of curiousity? Where do you draw the line?

Well, ships and castles were a direction I had previous speculated about going in, dungeons were not. That's all I really meant by that remark.

But since you ask, I think there's a difference in purpose. Ships and castles are obviously built for the benefit of the builder, while dungeons probably ought not to be. Dungeons should be built as zones that are enjoyable for other players to play through. That doesn't necessarily mean they can't be built using in-game processes - they could well be - but it does mean that they need a different incentive scheme. Yes, you could have a scheme where players build dungeons for selfish reasons, but (as I have already argued at some length) I don't think the end result would actually be fun to adventure in - I doubt it would ever get beyond mini-game status.

I offer here what I believe to be an interesting system based on simple statistics gathering.

1) Solving the problem of players who create easy content

A "dungeon" could be some sort of alternate sale of item. Let's say that I want to sell something that is worth x gold. I build a dungeon around it and other players are informed about it. There's an entrance fee which is calculated by the MUD and costs x/y. The average success rate of running a dungeon (for the buyer) must be 1/y for a fair dungeon. If the dungeon is well-built, the seller (dungeon owner) will make (statistically) more profit from the entrance fees than his item is worth, until it gets taken by a "buyer". If the dungeon is too easy, the dungeon-builder will lose money.

2) Preventing strong players from "winning" all the dungeons

Each dungeon has a "challenge rating" calculated on its content. The average success rate must be as close to constant as possible regardless of who is running through the dungeon. Conclusion: characters who are too strong cannot enter the dungeon, however weak characters are welcome to give it a try although it's not profitable to them unless the dungeon is very badly designed.

3) Alternative to an entrance fee

Players don't pay an entrance fee. Instead, the equipment that they drop is collected by (at least) the last remaining monster of the dungeon and given to the dungeon-owner. The worth of the equipment must be equal to the previous entrance fee. If the equipment is too good, then the player cannot enter the dungeon. If the equipment is too bad, then the player is almost assured to die in the dungeon.

4) Buyers who are overly skilled will beat all the dungeons and make enormous profit

The notion of what is bad or well designed is subjective. The difficulty of the dungeon must be dynamically calculated so that the success rate remains the same. If a player "wins" all the dungeons, too often, possibly on different characters, the MUD will react/adapt and give more resources to the dungeon-builders for a dungeon that is rated the same as before.

5) The dungeons are made more difficult because of one player

If a skilled player raises the difficulty of the dungeons, then players who are less skilled will lose profit from running through the dungeons and it's possible that they don't bother anymore. I don't know how to solve this problem although it's not really a problem because of the competitive nature of the system.

6) Buyers lose on purpose to lower the average success rate

It's not a problem as they lose what they invested to enter the dungeon. However, they could (purposely) lose dungeons which are cheap to enter and win the hard and expensive dungeons. It can be prevented by keeping different success rates for each difficulty level. Newbie dungeons (in theory) offer uninteresting prizes and will only be ran by newbies. They will actually probably have to be made *easier* to keep the success rate constant.

Player content which is rated as inappropriate by other players (out-of-theme or full of profanity) will be removed and the player could also be penalized, whilst constructions which are well-rated will be rewarded. A voter must be of a certain level (or equivalent) to prevent fake votes. I can see that turning into a popularity contest so the rewards should be very minor, perhaps nothing more than being allowed to stay in the game. Then players have no reason to vote for their friends, especially if the votes are anonymous, because it doesn't meet their actual preferences.

However, it's possible that some content is rated as bad when it's not. I see two things:

1) It only means that no one wants to visit something built by someone who has a bad reputation as a player. It might encourage players to behave better.

2) Content which is rated as inappropriate is reviewed by "staff". Players who rate something as inappropriate when it was not are penalized. I don't like the idea of relying on a staff though, so it might just be an empty threat to prevent unfair rating. It might be quick to review what is inappropriate if the vote must also state which particular part is inappropriate and why.

Overzealous "builders" might also want to review themselves favourably with several alternate characters. This is something that can be impossible to detect so I can only suggest that it's difficult to meet the requirement to vote. The requirement can actually be *calculated* so that (say) only the top 5% of the players can vote.

I don't think your rating proposal is a "terrible" idea, but I do think it is open to heavy abuse. I could see it ending up like the mud rating sites (MudMagic and MudGamers), with people up-voting their friends and down-voting their competitors. Aside from that, votes may well end up be given for beneficial content rather than quality content, so an area that gives lots of treasure or exp would tend to get a higher rating than a well-balanced, well-written and challenging area.

I'm not sure how you'd get around that, unless "voting rights" were only granted to trusted individuals.

You might also want to read up on City of Heroes, as I believe they used something similar (and also ran into some major problems).

MECHFost, if you want to dynamically adjust dungeon-difficulty, then could this be done player-by-player, visit-by-vist? So, rather than a dungeon having a hard-coded ghoul at one particular point, it might instead produce an undead monster of a type dynamically altered to be appropriate for the dungeon challenger: a low-level dungeoneer would encounter a zombie and a high-level challenger a vampire or lich.

I'm a bit uneasy about the notion of the difficulty level in all dungeons being raised for all players as a result of one player storming through a few successfully; if difficulty level is going to be dynamic I think it should be REALLY dynamic and localised.

I could see it ending up like the mud rating sites (MudMagic and MudGamers), with people up-voting their friends and down-voting their competitors.

I don't really know about the situation, but I believe that the problems with those sites is that voters are anonymous and can vote several times. If a certain level requirement has to be met so that players can only vote with max 2-3 characters, then the situation is different although not satisfying.

The article says: "capture important patterns in the data, while leaving out noise".

A simple solution would be so that values that are too far from the average are discarded, in particular if someone gives a rating of 1/10 and the average is 7/10, then the vote is labeled as potentially fake and the average is recalculated. It might discard some honest votes but it definitely discards undesirable votes (favourable or unfavourable). The results are best if the voters are not told about it.

Now, this only deals with a single griefer. I could see problems coming from a guild of players if they have more than half of the votes. An average for each guild can be calculated, and if the average from a particular guild looks fake, then all their votes can be discarded too, even if they represent the majority of strong players.

A voting system gets better with a large voting population. Which is not something that we have.

KaVir wrote:

Aside from that, votes may well end up be given for beneficial content rather than quality content, so an area that gives lots of treasure or exp would tend to get a higher rating than a well-balanced, well-written and challenging area.

I didn't think about that. I believe that what we really want with a rating system is not to reward good area, but to get rid of distasteful content, like robots in a medfan MUD or profanity. Would players not vote negatively for a distasteful area if it features good treasures/exp?

I would think though that the actual issue here is that players are allowed to create "easy content".

KaVir wrote:

You might also want to read up on City of Heroes, as I believe they used something similar (and also ran into some major problems).

I am reading about it and I see that many lessons can be learnt from City of Heroes, in particular it confirms your previous point:

"When City of Heroes released its user-created mission generator, it was mere hours before highly exploitative missions existed. Players quickly found the way to min-max the system, and started making quests that gave huge rewards for little effort. These are by far the most popular missions. Actually, from what I can tell, they are nearly the only missions that get used."

MECHFost, if you want to dynamically adjust dungeon-difficulty, then could this be done player-by-player, visit-by-vist? So, rather than a dungeon having a hard-coded ghoul at one particular point, it might instead produce an undead monster of a type dynamically altered to be appropriate for the dungeon challenger: a low-level dungeoneer would encounter a zombie and a high-level challenger a vampire or lich.

I'm a bit uneasy about the notion of the difficulty level in all dungeons being raised for all players as a result of one player storming through a few successfully; if difficulty level is going to be dynamic I think it should be REALLY dynamic and localised.

My first thought is that it can't work because the prize/treasure is provided by a player and thus it cannot be adapted to the person who enters the dungeon. They get the same prize whether they slay a poor little skeleton or a lich.

But then I realized that this dungeon system is all about the income generated by a player entering the dungeon and its chance of failure. The chance of failure can be the same for a weak or a strong character if the difficulty is adapted.

The chance of failure/success, for better results, could be based on the player's history with dungeons, regardless of their level/strength. The difficulty for a less talented player would be lowered, and his chance of success would remain the same.

I quote the article: "A Bayesian average is a method of estimating the mean of a population consistent with Bayesian interpretation, where instead of estimating the mean strictly from the available data set, other existing information related to that data set may also be incorporated into the calculation in order to minimize the impact of large deviations, or to assert a default value when the data set is small."

I believe the competitive environment that I described would appeal more to "achievers" whilst this technique would be more interesting for "casual gamers" who would then have a chance to run through the same dungeons as everyone.

P.S.: Thank you very much for the replies. It was very interesting. Also don't hesitate to point out if anything that I said is unclear because English is my second language - I'm from Belgium.

Last edited by MECHFrost on Thu Jan 21, 2010 2:25 am; edited 1 time in total

A simple solution would be so that values that are too far from the average are discarded, in particular if someone gives a rating of 1/10 and the average is 7/10, then the vote is labeled as potentially fake and the average is recalculated. It might discard some honest votes but it definitely discards undesirable votes (favourable or unfavourable). The results are best if the voters are not told about it.

I have tested this idea today. It looks really, really good. I have solved the question of: "How far from the average should a result be discarded to allow a maximum amount of fake votes whilst not affecting the result?" The answer that I suggest is 39% on a %-based rating system.

It can probably be calculated mathematically but I took the experimental path. It is a difficult problem of convergence/recursion. If the distance is too big, it doesn't converge easily to the right solution, and if it's too small it discards everything. I here share all of my results and the Java code that I used to obtain them.

First, I made a function to get the average rating from a list of ratings:

Then I made a function to implement my algorithm. It runs with the list of ratings and its average as entries, and the maximal distance from the average to the values that I want to discard. It creates a new list, and adds all the elements of the first list that are within a certain distance of the average i.e. it discards extreme values. It then runs recursively with the new average, calculated from the new list, but on the elements of the same list to not lose good elements.

I ran the smoothing function with a distance of 46 (to purposely contain all the good ratings) and called it several times (k = 15). The corrupted average was 49.95%, the first smoothing call got me a result of 59.75% and the second call got me the correct result of 65%.

Now, when running the function with a lower distance, e.g. 30, it discards some good ratings, namely 55, so the smoothed average becomes slightly higher with 68.23% which is still acceptable.

I then wanted to calculate how many bad entries I could enter until the algorithm fails i.e. if the smoothed average is within a certain distance of the real average (I chose 5 as I believe it's small enough for decent results) then it fails.

And I saw that it depends on the distance which I use in the smoothing function. For example, a distance of 46 only allows corrupted entries that are equal to 26.9% of the good entries, whilst a distance of 20 allows 45.7%.

I then created a function to see what distance is required to get an optimal allowed corruption %.

average of 89.66
optimal distance of 39, 40 with 116.66% of corruption.

I then decided to test with automatically generated sets. I obtained the expected result that the sample size does not influence the optimal distance for a given average, using a sample set which contains the same value repeatedly.

The final result is that with an average between 79 and 100 (i.e. anything rated 79% or above), the optimal distance is 39. The optimal distance goes as low as 29 with an average of 60, then it goes back up, with an optimal distance of 38 at the average value of 49.

The algorithm fails for values under 32 (because the algorithm labels everything as fake result and divides by zero), which means that it cannot be used to fight people who send bad votes for terrible content, or (the mirror situation) that it cannot fight people who send themselves good votes when their content is good. The reason is logical, this is because such fake vote is too close to the actual average.

I believe 39 is then the best distance since it's the most optimal for well-rated content (79%+) which is after all what is the most important to protect, and it still works well for lower-rated content - the distance is not optimal but the algorithm can still deal with a lot of noise.

The noise content can even be larger than the real-rating as shown above, but only if the noise is made of the lowest rating (1%). They would be of equal weight only if the content's true rating was 100% which never happens.

My first thought is that it can't work because the prize/treasure is provided by a player and thus it cannot be adapted to the person who enters the dungeon. They get the same prize whether they slay a poor little skeleton or a lich.

Slight tangent, but I do actually use "tailored treasure" in certain situations, and it works very well. I could see it providing an excellent complement to dynamically generated dungeons - not for everything of course (because a sword-wielding lizardman shouldn't drop axes), but it'd be a nice way to handle specifically designated treasure, in the same way as the DM in a tabletop RPG will often select treasure appropriate to individual PCs.

The downside is that if treasure is tailored to the player, it reduces the incentive to explore different dungeons - you're better off sticking to the one you know best. But then you may also have the same problem with earning exp...will there be something in place to encourage people to explore different dungeons rather than hanging around in the same one all day?

MECHFrost wrote:

The chance of failure/success, for better results, could be based on the player's history with dungeons, regardless of their level/strength. The difficulty for a less talented player would be lowered, and his chance of success would remain the same.

My concern with automatically increasing the difficulty is that it could make the player feel they're not getting any better at the game - i.e., the opposite to the illusion of improvement scenario I discussed a few years ago.

Another option might be to let players select their own difficulty level (à la Diablo2), with higher difficulty providing more exp and better treasure. Perhaps their history with dungeons could still be used, but to determine the maximum difficulty they're allowed to select.

Slight tangent, but I do actually use "tailored treasure" in certain situations, and it works very well. I could see it providing an excellent complement to dynamically generated dungeons - not for everything of course (because a sword-wielding lizardman shouldn't drop axes), but it'd be a nice way to handle specifically designated treasure, in the same way as the DM in a tabletop RPG will often select treasure appropriate to individual PCs.

The downside is that if treasure is tailored to the player, it reduces the incentive to explore different dungeons - you're better off sticking to the one you know best. But then you may also have the same problem with earning exp...will there be something in place to encourage people to explore different dungeons rather than hanging around in the same one all day?

An in-between solution would be best: the treasures are tailored to the player, but they also depend on the area. Now, they have a reason to explore new areas whilst we are still giving them customized content. A downside that I see is that if all the prizes are appropriate to the players, he will find them much more useful which in turns mean that players won't trade as much, and I believe economy/trading is an important aspect of RPGs.

KaVir wrote:

Another option might be to let players select their own difficulty level (à la Diablo2)

I think this is a good idea for computer-generated dungeons, however the player-generated dungeon (that I described) requires the players to fail a certain % of the dungeon runs so that it pays (with the entry fee) for the prize provided by the player who built the dungeon. The idea was to get rid of "easy content" listed as a problem to player content in this thread or another: the builder must try hard to make the player fail, with a certain number of building tools that depend on the value of the prize he provides, to get more money from his dungeon. If the players can choose the difficulty themselves, then they will always choose the easy level to get the prize.

There's still one minor problem: an ingenious player (or a player who has read this thread) could figure out that "something is wrong" with the voting system, and find out what is the distance and thus vote the minimum value that would be accepted by the algorithm. Although his "minimum" rating wouldn't affect the average as if he was voting the minimum value, which he would have certainly done in a traditional voting system.

The first solution is to slightly change the distance dynamically (within an acceptable range). Now the griefer doesn't know what is the minimum value that he should vote. He will only be safe sending a vote that is very close to the true rating.

The second solution is to keep the voters in the dark, and only show the rating of the content after a certain period. If the griefer doesn't know what is the true rating of the content, he risks when voting to even give too good of a rating to the content (because of the required distance).

A simple solution would be so that values that are too far from the average are discarded, in particular if someone gives a rating of 1/10 and the average is 7/10, then the vote is labeled as potentially fake and the average is recalculated. It might discard some honest votes but it definitely discards undesirable votes (favourable or unfavourable). The results are best if the voters are not told about it.

So, if you have a succession of corrupt votes cast right at the beginning which seriously skews the average, then any non-corrupt votes cast later that might otherwise have redressed the balance will be automatically discarded?

So, if you have a succession of corrupt votes cast right at the beginning which seriously skews the average, then any non-corrupt votes cast later that might otherwise have redressed the balance will be automatically discarded?

The way I understood it, all votes would be recorded, but when calculating the current score the "corrupt" votes would be ignored. Thus in the example you provide, the initial corrupt votes would provide a bad rating, and the non-corrupt votes would be ignored. But once the number of non-corrupt votes exceeded a certain amount, the rating would go up. Actually, I have a feeling it might suddenly rocket up once you passed a certain threshold, if most of the votes were at one extreme or the other.