Phantasmal MUD Lib for DGD
|
Phantasmal Site > DGD > Game Design Issues > In-Game Economies In-Game Economies and Game DesignFrom DGD Mailing List Thu Aug 19 09:10:01 2004 From: DGD Mailing List (Stephen Schmidt) Date: Thu Aug 19 09:10:01 2004 Subject: [DGD] Object house-keeping and persistance On Thu, 19 Aug 2004 Birgit Schulte wrote: > I am wondering about ways to make sure the number of unused / discarded > objects in a persistant mud doesn't go through the roof. This is a comment more from the perspective of game design than of mudlib design, but hopefully the latter follows from the former. In a persistant MUD, why would there be a discarded object? Maybe no player is carrying it, but it's got to be lying around in the game world somewhere. Unless it's actually been destroyed, but in that case it should be removed from memory too. Or if it's been destroyed by turning it into some other kind of object (the monster body turns into a monster corpse, the Ring of Power turns into a puddle of slag) then the old object gets deleted from memory and replaced by the new one. I think the way to deal with this is by controlling the creation of new objects very carefully. In a really, really persistent world, new objects would -never- be created, at least not without being transformed from old objects. For example, to forge the sword, you have to have the lump of iron, and when the sword is created, the lump of iron is destroyed, leaving total objects in memory unchanged. Of course, if players are in the habit of leaving swords lying around the lib, and you can't create new ones, then the stores may run short. There will need to be some way to find abandoned objects and return them to circulation somehow. The old clean_up() type mechanism could be put to this use in a persistant framework. In any event, I'd want there to be a system within the game concept of how items get recycled in this fashion. What that system would be would depend on your game concept. Or are we, perhaps, talking not about objects within the game, but about objects like daemons that are not visible to the players, but come in and out of existance to handle certain tasks behind the scenes? In that case, delete the suckers from memory when their task is complete. Steve From DGD Mailing List Thu Aug 19 10:07:01 2004 From: DGD Mailing List (Stephen Schmidt) Date: Thu Aug 19 10:07:01 2004 Subject: [DGD] Object house-keeping and persistance On Thu, 19 Aug 2004 Birgit Schulte wrote: > [ quoting out of sequence ] > Also, I am still getting used to the idea of real persistance, > meaning I am not yet used to code with that firmly embedded in my mind. I've been thinking about persistance, on and off, for six years and it still isn't firmly embedded in my mind :) It is amazing to me how fundamental a difference it makes. > Guess when I'm saying unused I somehow think more of objects > cloned / created by coders when working on some part of the world, > as opposed to working in their own working-dir. Fair enough. But in a truly persistant mud, you may not even have coders anymore. It'll be very awkward to have new areas opening up in a persistant world. Where do the objects that fill those new areas come from? I think persistence tends to work better if the game world is already there, at least in outline form, and development happens within the context of the game - quite possibly being done by the players rather than by the development staff. That is, the job of the developer is to build an enormous set of rooms saying "You are in a forest", "You are in open plains", etc. If someone wants to build a town there, let the players build it themselves (and give them commands to do it, within resource limits that are defined within the game system). That said, that's an long-run vision; in the short run you are probably still going to have coders. The fix here, probably, is to mark each room that is not part of the game world with a flag. Any object left in such a room gets removed via a traditional clean_up mechanism. You need not start the clean-up mechanism in any object which is created in the game world - that would waste a lot of CPU. Activate it when the object enters a non-game-world room. You probably also want some way to prevent an object created outside the game world from entering the game world, too. Steve From DGD Mailing List Thu Aug 19 11:35:01 2004 From: DGD Mailing List (Jas) Date: Thu Aug 19 11:35:01 2004 Subject: [DGD] Object house-keeping and persistance Stephen Schmidt wrote: >Fair enough. But in a truly persistant mud, you may not even >have coders anymore. It'll be very awkward to have new areas >opening up in a persistant world. Where do the objects that >fill those new areas come from? I think persistence tends to >work better if the game world is already there, at least in >outline form, and development happens within the context of >the game - quite possibly being done by the players rather >than by the development staff. That is, the job of the >developer is to build an enormous set of rooms saying "You >are in a forest", "You are in open plains", etc. If someone >wants to build a town there, let the players build it >themselves (and give them commands to do it, within >resource limits that are defined within the game system). > > > Personally, I would see the job of the developer(s) of player-alterable persistent worlds mostly the way you describe it, with one slight modification: all of the physical resources (versus objects) that will EVER exist in the game should exist in the game from the beginning of time, in the form of natural resources to be harvested, refined or processed, or utilized in the creation of player-manufactured objects.... OR, and here's where things get fairly complicated, consumed as fuel to create energy. "Matter and energy is neither created nor destroyed." Keep chanting that mantra, and everything in the game should have a matter or energy value. The formula for the combined matter and energy values should remain a constant throughout the duration of the game. So, a player mines coal, harvesting a specific matter value. The coal is used as fuel source in an engine which converts the specific matter value to a specific energy value during the buring process, but ALSO requires a specific energy value to combust the matter in the first place. The burning coal then drives an engine that uses that energy to refine another raw material for player use. No engine runs at 100% efficiency, so some energy is converted to heat loss from the engine, which enters the atmosphere and returns to the cycle eventually. So, matter gets converted to energy, which is then used to convert matter. All the while, the value of the formula of all existing matter and energy in the universe has not changed. Yes, this gets painfully complicated in a hurry, but it can be done. It helps if you understand physics and quantum mechanics, but this is where I see possibilities for (mostly) "hands off" management of a persistent world. >You probably also want some way to prevent an object >created outside the game world from entering the game >world, too. > > > This no longer becomes a problem, once you make sure that matter and energy is neither created nor destroyed. As long as the value of the formula for all of the existing matter and energy in the universe remains constant, no matter and/or energy spent = nothing produced. Of course, all of this looks great on paper, but engineering the game library to do this no trivial matter. If you CAN do it right, basically if you can get the formula for all of the combined matter and energy in existence tuned well, you should never have to worry about managing the game's creation process again. And, if you happen to not like a structure a player has built using the matter and energy they had in their possession, use some of your own matter and energy (bulldozer = matter, diesel fuel = converts to energy) to change the landscape to your liking. There's nothing written anywhere I can find that says a game administrator can't stockpile some of the universe's matter and/or energy for their own purposes (to use to maintain the peace or rule with an iron fist, your choice of course ). World leaders have been doing that for thousands of years, and it seems to work quite well! >Steve > > > Cheers, Jason D. Bourgoin aka Katmandu From DGD Mailing List Thu Aug 19 11:50:01 2004 From: DGD Mailing List (Stephen Schmidt) Date: Thu Aug 19 11:50:01 2004 Subject: [DGD] Object house-keeping and persistance On Thu, 19 Aug 2004, Jas wrote: > [A]ll of the physical resources (versus objects) that will > EVER exist in the game should exist in the game from the beginning of > time, in the form of natural resources to be harvested, refined or > processed, or utilized in the creation of player-manufactured > objects.... OR, and here's where things get fairly complicated, consumed > as fuel to create energy. > "Matter and energy is neither created nor destroyed." Hm. But the second law of thermodynamics? Should one allow for entropy, that is, the quantity of -usable- energy in the game universe to decrease? Of course, that could be problematic from a player standpoint. "Welcome to Heat-Death MUD! See if you can make level 20 before the universe achieves a uniform distribution of energy!" :) > There's nothing written anywhere I can find that says a game > administrator can't stockpile some of the universe's matter and/or > energy for their own purposes (to use to maintain the peace or rule with > an iron fist, your choice of course ). World leaders have been doing > that for thousands of years, and it seems to work quite well! True, although for testing purposes (which is what I think the original question was about) you might need to have a separate stash. Otherwise you would have to do warning messages like: ** All Players: The Wizard Oppenheimer is about to test his new ** object, "Nuclear Pile". He is requisitioning 74% of the world's ** available energy to test this object. Please lie down and don't ** move until the test is complete. That is, things which are happening outside the game world (ie, in the wizard's workroom) should not use the game world's matter and energy; either they should bypass the matter/energy rules or they should have an independent source (which can be increased as needed). Also, one probably needs to have some ability to increase the world's supply of matter/energy as the player database grows; that violates the persistance idea to some extent too, but if one doesn't allow new players to join, what's the point? Eventually the player base would probably reach a steady state, solving the problem, but in the growth phase prior to that steady state, adjustments would be needed. Steve From: DGD Mailing List (Jas) Date: Thu Aug 19 12:27:00 2004 Subject: [DGD] Object house-keeping and persistance Stephen Schmidt wrote: >Hm. But the second law of thermodynamics? Should one allow >for entropy, that is, the quantity of -usable- energy in >the game universe to decrease? > My take on entropy is that the word "usable" should be replaced with the phrases "we're not entirely sure how we can tap into it, at this point in time and with our existing technology and with our current understanding of the universe, so it's currently not usable to us." Nature finds a way of recycling. I believe that if human beings manage to survive as a species for a few zillion more years, we might just witness some of that "unusable" energy trickling back into circulation. But that's a bit off topic, so we'll leave that to debates between grad students. For the sake of *relative* simplicity while talking about game mechanics, let's temporarily assume that all matter and energy is available. >Of course, that could be problematic from a player standpoint. >"Welcome to Heat-Death MUD! See if you can make level 20 before >the universe achieves a uniform distribution of energy!" > And that is a bad thing... how exactly? Oh, you WANT people to survive in your universe. Uh, okay. Never mind, heh. Semi-seriously, as it can be argued that all human beings are world citizens each responsible for doing our part to save our shared ecosystems, so it could be argued that every player in your mock universe has a role to play in reversing whatever impending cataclysm you have in store for them (or that are a natural consequence of poor resource utilization and/or environmental management). Something like that could easily be worked into the game much like a quest, but on a grander scale. Make finding a prevention or cure for whatever current environmental disaster is ravaging (or planning to ravage) the universe be the final task to complete before giving the player additional powers and/or responsibilities upon reaching levels traditionally reserved for wizhood and coding access. If they get nothing else from completing the quest, they'll gain a better understanding of how the matter and energy in your simulated universe is tied together in a delicate balance. That might not be a bad lesson for your up-and-coming developer/management staff to comprehend. Of course, I still don't know if I'd let people code; just because they can macro the crap out of your mobile programs, doesn't mean they can't also bring your game to its knees once you give them an editor and the ability to load objects. This is all in the context of a player-alterable persistent universe where we'll assume that matter and energy can neither be created nor destroyed, of course. And that entropy is (temporarily) ignored or overlooked, for relative simplicity. >True, although for testing purposes (which is what I think >the original question was about) you might need to have a >separate stash. Otherwise you would have to do warning >messages like: > >** All Players: The Wizard Oppenheimer is about to test his new >** object, "Nuclear Pile". He is requisitioning 74% of the world's >** available energy to test this object. Please lie down and don't >** move until the test is complete. > The solution to that "problem" is easy: make your game universe large enough at the get-go to provide enough matter and energy for players AND developers for the entire anticipated lifetime of the game. >That is, things which are happening outside the game world >(ie, in the wizard's workroom) should not use the game world's >matter and energy; either they should bypass the matter/energy >rules or they should have an independent source (which can >be increased as needed). > Instead of giving your developers a traditional workroom/castle/whatever, give them a planet or a star or some other cosmic object (physically separate from the players) to maintain their source of matter and energy. Let them be so many trillion years more technologically advanced than the players in your universe, so they've developed ways of tapping into the previously-unusable energy from entropy. Human beings are always talking about how life from other planets or solar systems is likely so much more advanced than we are, technologically, so it wouldn't be that much of a leap of faith for your game management staff to fall into one of those categories. >Also, one probably needs to have some ability to increase the >world's supply of matter/energy as the player database grows; >that violates the persistance idea to some extent too, but >if one doesn't allow new players to join, what's the point? >Eventually the player base would probably reach a steady >state, solving the problem, but in the growth phase prior >to that steady state, adjustments would be needed. > And the solution for that would be.... ? Don't start your universe with a tiny source of matter and energy to begin with. Make planets and stars and entire galaxies available to provide matter and energy. Granted, you don't want your players to necessarily have immediate access to ALL of those resources, so make them difficult to reach beyond the planet they're currently on. Much the same as we can't seem to keep a Mars rover from tipping over or losing communications with our scientists and engineers here on Earth, players in your simulated universe might encounter problems of their own while attempting to explore or colonize planets or systems beyond their own. Terraforming should not be made easy, if you want your game to have any decent shelf life. >Steve > Cheers, Jason D. Bourgoin aka Katmandu From: DGD Mailing List (Stephen Schmidt) Date: Thu Aug 26 11:20:01 2004 Subject: [DGD] GurbaLib On this subject, one might wonder why it is that DGD doesn't have a mudlib that offers more than mudlibs for other drivers, since DGD offers so much more than other drivers. A few musings on that subject follow. The biggest thing DGD offers, from a game perspective, is persistence. A game world can be altered by players and the alterations will remain. This is not the only feature in which DGD outstrips other drivers, but I think it's the one most visible to players of games running on DGD. Unfortunately, for the typical fantasy adventure, this is a drawback rater than a gain. After the player kills the goblin king, the game is over until the game resets and the goblin king magically springs back to life. Similarly for recovering lost treasures, rescuing princesses, and so forth. It is bad for the game, not good, if these things are permanent achievements. One can try to design features into the game to "explain" resetting of the game world, but that approach is counter to the idea of persistence. What's the use of using a persistent driver if all you're going to do is put non-persistent behavior back in via the game design? Also, the mechanisms needed to explain the resets within a consistent story line are complex. What DGD needs (needs in the public domain, anyway; Skotos is outside the scope of my comments here, and I'm not terribly familiar with it anyway - if someone who is wanted to comment on its relation to this topic, I think that'd be great) is a "killer app", a game concept that isn't traditional fantasy adventure and that uses persistence as a fundamental of the game design. DGD ought not try to compete on the tradition grounds of LPMud - its feature set inherently pulls it in a different direction. The reason traditional fantasy adventure works with resets is that the players are a small part of the game world anyway; they don't have important roles in the society in which the game is set. Thus, if their acts are impermanent, it doesn't matter much. The DGD "killer app" game should reverse that. Players should be important people in the society of the game world, capable of taking acts which alter that society, which are then reflected in the game world through the persistence of DGD. For example, building a castle which would then attract NPCs to form a town around it. Or destroying a castle and dispersing the town. Or something similar in whatever setting you do like, if you don't like fantasy adventure. Steve |The DGD "killer app" game should reverse that. Players |should be important people in the society of the game |world, capable of taking acts which alter that society, |which are then reflected in the game world through the |persistence of DGD. For example, building a castle |which would then attract NPCs to form a town around it. |Or destroying a castle and dispersing the town. Or |something similar in whatever setting you do like, if |you don't like fantasy adventure. | |Steve Very nicely written! I'd like to add my two cents to this thread by saying that you don't have to have things as black or white. The traditional mud is based around resets and a facet/drain economy -- one where players "harvest" mobs for gold, which is then drained away again by equipment, training, and other in-game perks. The ultimate result of this kind of structure is the "level grind", where players are forced to kill hundreds or thousands of the same kind of creature until they are powerful enough to move on to the next area, and repeat the process until they reach the plateau where no further content is available to them. A fully persistent world with NO resets and a fully closed economy would, as Steve points out, require a constant staff of admins to create new content on the fly, else the players would exhaust what exists in the world and discover a virtual "heat-death" of the game. To find a middle-ground, we need to try something new. One idea I had ages ago (and I'm sure many others have through of this too) is to allow mobs to spawn and evolve in reaction to each other as well as player activities. That is, when you start the clock, the orcs in the mountains will gradually start wandering, as will the goblins in the forest. At some point, they may encounter one another. If they do, they can either fight one another over resources, or ally themselves for some other (coded) goal. Maybe they both worship the same deity and team up to further those ends. In any case, when players start running into mobs, and killing them for loot, the mobs shouldn't just die and reappear... but neither should they be forever destroyed until a game master creates new ones. Allow for the idea that the event was witnessed. If a band of orcs gets killed near a city, perhaps a straggler watched and reported back to camp. Maybe the orcs will mass and attack the town if it happens often enough, or maybe they will pick up and move further away... allowing the city to expand, or a new enemy to move in. Thus, persistence is maintained in the sense that if there was a goblin camp near the city, that camp remains until it is destroyed or packs up and moves away... and that it doesn't just reappear if something happens. But at the same time, nothing prevents new mobs from moving into the area, either by the hand of a game master, or by some code that decides a new tribe or orcs might be needed (as the orc population is now too low, and the human population hasn't filled the void). I also totally agree that the players need to be more than cogs in the wheel. If the best you can hope for is to kill stuff to get more equipment, to kill more stuff... you're in level-grind land, and may as well toss out persistence. In that respect, I think players need to grow and shape the world alongside the game masters. They should be able to spend their wealth to build housing, and expand the city borders. Work to establish a new village somewhere, and set up trade routes that need to be patrolled so the merchants (both NPC and player) don't get ambushed by bandits (both NPC and player!). Perhaps players can engage in competition for nation-building as they (and their guilds or other organizations) become really powerful (I'm thinking along the lines of the old text game conquer, or empire). So, the big question then is... how can we build a mudlib that allows and encourages that kind of thing? A persistent world that can still evolve and populate itself without constant GM handholding, but which can be micro-managed by a staff who wants a tight storyline to develop? I'm too much of a n00b at LPC to have any answers here, but I 'd love to hear what other people think. PS: Sorry if this gets double-posted. I didn't realize I had subscribed under my old email address and tried to post it from my new one. Since it hadn't shown up yet, I figured I'd just repost as it's not THAT long. :) -- From: Dread Quixadahl (sp?) |