I wrote a paper a little bit ago about MUD’s and, more specifically, my MUD. It’s based from circlemud and altered majorly. I wrote this a while ago, and updated it little since. If you have any comments, feel free to post them. 🙂
Musing by StriderA about his MUD
What is a mud?
People read books, watch movies, and play games to, in my opinion, escape some of the mundane details of real life, and take an adventure that would not be possible in real life, or just to take up a new persona where you can be someone whom you are not.. or really are. 😉 Upon joining, you choose a name, sex, race, and any other attributes that got would grace one with upon their birth. Then the world has to be entertaining. It has to give them that fantasy, magic, wonder… things that are a little more difficult to come by in this world. A mud also creates a social interaction between its players. It gives them a social experience that some have a difficult time doing in real life. This is what makes a mud different from normal commercial one player Role Playing Games.
How to create this? From a top down view… the world, continents, cities, civilization, NPC, PC, and the basic sub-system. Also, all these things aren’t required for a functional mud. I just believe these things make the world a little more real. They provide color and flavor.
The world has to be believable. Just because this world doesn’t have dragons, elves, gnomes, dwarfs, etc doesn’t mean another couldn’t. The world describes how the people/player will react. This needs to be created with the story. History matching the world helps create the realism and the experience. This is preferred to the whole storyline, but as areas are created, each area should have a history that fits. Any new area created that doesn’t fit in with the overall storyline should have a reason for this.
Also, like a real world, weather should be somewhat realistic. Endurance should be decreased while trekking through a sandstorm or heavy rains. A call lightening spell shouldn’t work when there isn’t a cloud in the sky unless the spell states it creates the lightening itself, etc. Natural disasters should/may also occur, but I don’t know how to incorporate this. Perhaps as a special quest that occurs randomly for special items. Programming for this can be hectic because it has to track winds, humidity, etc for entire regions. It always annoyed me to go from one area that was pouring rains to another where it was dry in a step. Plant-life should also be receptive to this. It’s easier to create a wildfire in a drought than in a storm. Also, possible controlled wildlife as well. The world should grow and die. Creating a fire might suite ones goal, but may prevent ancient tree’s from appearing. Only problem with this idea is that it creates havoc when trying to manage and coordinate the memory reads/updates. This may just be a dream until faster more efficient PC’s appear.
Cities should be at a place for a reason. You could have a trade city between two larger ones, perhaps a mining community, or even because it suits the races natural environment. Also, the cities should have a population according to its size. While this isn’t exactly required, it would be nice to see different NPCs manning a store instead of the same one standing there eternally. I’ll touch on this more in the next section. I may also want to make it so it’s not as easy to just ‘walk’ into someone’s house, as it should be a crime in most areas. (See: http://rpgworldcomic.com/d/20001009.html)
In case you missed it, I hoped for realism. A common occurrence in most RPGs is the repeating person. The guy who sits there and repeats the same thing over and over and over and over and … you get the point? Very rarely can you have a conversation like that. (See: http://www.rpgworldcomic.com/d/20001021.html and http://www.rpgworldcomic.com/d/20001027.html and
There needs to be some kind of memory system involved. If you buy from the same guy for years, when you walk in he’ll say hi, ask how you are, and possibly give you a discount. He might even ask you for a favor, say protect his store from bandits for a fee? And so on. After all, they may not have a person behind the character, but they are a character. Even if you only see the character once, doesn’t mean he doesn’t exist after that… get the point? I don’t see why these guys can’t go on vacation, go to another place, or just go study their own skills… maybe school? Some days you just might not find that priest at the chapel, you might have to check the infirmary or likewise. Hit on that hot bartender enough, she might just kiss you! Who knows? This will require scripts for each character, however. A scripting engine will have to be created for the NPC’s. This includes mobs. No spawn points. I was thinking of actually having the creatures grow, with time… possibly fight among themselves? It’s a world, not a bunch of gathering places where you go kill little stuff.
This will be the most difficult section, and after what I have above, that will be difficult. Upon creation, the character will be basically a child of around 15. I consider that old enough to start learning whatever, but young enough that he couldn’t possibly be a master of anything. From this point, they start working towards their goal. If the character starts studying with the druids, but leaves to pick up a sword, and then goes to learn some magic, he’ll be someone who can cast a little, fight a little, and heal a little, but anybody would be able to rock his world. But if you go study with the druids the entire time, and act like a druid, you’ll be a druid. Doesn’t mean you can’t pick up a sword (although, some clerical factions believe that their god will deny them power if they wield a bladed weapon). And there is no such thing as item levels. Just because the broadsword is made for the highest level characters, doesn’t mean a child can’t lift it. (Now, having such an advanced weapon may cause him to cut off his own head, but that’s his problem.) So how do we make learning fun? Possibly by doing little sub-games? I know some who can’t stand walking around killing bugs to get the first few levels, but if someone was really learning the sword, would they go attack something or would they be trained by my swordsman? Become an apprentice and work hard. I still don’t know what to do to keep the player entertained during this. Maybe a little game with other players. I’ll get responses from friends later.
I also had the idea of death. When you die, you are gone. A cleric might be able to resurrect you, but if you’re too late, what then? I was thinking of possibly allowing the chance to keep your equipment, but you have to start once again as a child. Many people dislike this. It will improve the reality, but I’m still thinking of reasons to keep the person interested. If someone dies, of course they’ll be able to find their corpse, (if they are strong enough to get to where they died) but if someone just lost months worth of fighting, preparing, and planning, they may not want to do it again. I guess you could possibly regain levels faster after a death to your original level. I still need to think about this.
Next topic, social interaction. As mentioned above, if you talk to the same person over and over, they may develop a friendship with you. But, what about the first time they meet? Elves have innate beauty; dwarfs are only beautiful to each other. Someone who grew up with a sword probably has more scars than one who wields a staff. Then again, one whom grew up standing outside without a shirt on working out will probably woo more girls than one who sits inside staring at a book. There are a lot of factors that go into this. Also, if you kill members of a certain race, you will become infamous to that race for doing that.
This is the system that manages it all, so it might be on the top of this list, but it’s at the bottom because the player shouldn’t see this. An interpreter should be able to figure out what they’re saying by examining the given situation. If someone has never attacked a priest, and they type k priest, it would probably kiss him before trying to kill him. Or at least do something that won’t have a big negative effect. On that same note, if he accidentally attacks the priest, he should be able to stop and apologize (given he only hit once) or something. The interpreter should be somewhat smart in this aspect. Fuzzy logic will be based on the characters stats, and faction of where he is, what he knows, and what he would probably do.
The system will also have to handle all the scripts for the world. I’ll have to make a little scripting language what will be used to calculate times, conditions, and the like that certain things happen. This will have to be easy to use since every mob should have a little script to control it. I’m interested in finding out a benchmark for this as well. How many npcs/rooms/items will the system be able to handle before becoming unusable?
So, in conclusion… in order to make this system it’ll require lots of coding hours, a beefy system, and for me to create a true AI. I could do two of the three but one will always ruin it, I fear.
As of now, I don’t have much of anything. The world exists based off of circle’s codebase. I added flight code, as well as the ability to drop items. I also changed a lot of stuff to make it a little more visually pleasing. I’ve also altered the stats system a lot. A class locks the character into a certain role, and takes away a big reason to role play. I want the person to immerse themselves in the character. (I know that it’s unhealthy for people to immerse themselves too much in a fictional life, but if they stop working out and sit in front of a computer all day, it’s their fault, not mine. Perhaps I just see it as sweet revenge for what happened to me………. 🙂
Well, it’s been like two years since I worked on this. I guess the AI part was a little too much for me… heh. Oh well. I still hope to create a game somehow, but I don’t know if a text base game will be what I want, however. We’ll see.