Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Tom

MORPG - Realizing the Holy Grail

This topic is 6185 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I would like to dig up an old topic we''ve been discussing at GameDev for quite some time, the Holy Grail of online game design: a self-driven game world. This particular topic has become massively important to me as of late, because I want to take a stab at what most programmers consider the impossible. I want to make a persitent world that operates of its own volition with a bare minimum of adminstrative influence. Now, before everyone tells me why it can''t be done, I''m going to tell you why it can. Limited Player-base For this particular project, I am working with a very limited number of players. After final release, the player count is not likely to exceed one dozen, with the number of simultaneous users being far less than that. Additionally, I will know each player personally, so I will be very familiar with their idiosyncracies before development reaches full tilt. This provides me with a massive advantage that MMORPG developers do not have. To counteract the low number of players, I must build a self-sufficient world that acts of its own volition. Beta-testing will ensure that things fall into place once the engine and world are complete, and I''m sure administrative "tweaks" will be required throughout the game''s life cycle to keep it running smoothly. My objective is not to create a perfect isolated world, but rather a world that will indefinitely cater to a small player base with minimal interference. Flexible Setting Given the nature of applied fantasy, virtually anything can seem realistic if enough "black box" theory is applied to it. Modifying the world through mysticism is a perfectly acceptable means of balancing the game, even after players have already entered the world. This doesn''t mean everyone will like whatever changes you make, but they will accept it nonetheless, even if the excuse is, "it''s just a game." However, the greatest tool a fantasy writer can use is realism. It''s realistic for creatures to migrate to another area if they are being mercilessly slaughtered by rampant killers. It''s realistic for the authorities to confiscate equipment from a player because he is simply too powerful (although some of the authorities might be wasted in the process). It''s realistic for a jealous NPC to attack a powerful player-character who threatens his status. These are all ways to balance a flexible game system. Monsters Are People Too (This will sound like a Landfish rant.) One of my biggest concerns with every game in existence is the unbelieveable behavior of "intelligent" creatures. No creature I''ve ever seen acts realistically. How many goblins can a warrior slaughter before they finally get a clue that he is not a safe opponent? How many NPC''s are going to stand there and let you dress them in ridiculous clothing? Realistic behavior is not beyond the capability of modern machines, but apparently it is beyond the interest of modern programmers. For once, I''d like to see a goblin that runs away from my Lv.56 Death Knight wearing platinum armor draped with a cape of human skin, holding a Lugian battle axe in one hand and a readied fireball in the other. I''m also frustrated when creatures are denied personal objectives. NPC''s and monsters have always existed as protagonists and antagonists in what is basically the player''s story. Most of the time, they''re just scenery. It would be nice if an NPC would go on a quest once in a while. With my limited player base, this is going to be doubly important. How do you make NPC AI that will not overload your processor? By using a technique Wavinator gave sometime back, which we compared to mipmaps. Only those NPC''s immediately near a player require constant updates. The actions of all other NPC''s in the world can be hashed out in a much more lenient fashion based on their (a) importance to the game and (b) proximity to a player. Obviously, ordinary NPC''s like farmers and shopkeepers will not be processed at all unless they are interacting with the player, either directly or indirectly. In a world with hundreds or even thousands of players, this would never be an option on anything short of a supercomputer. But in my world with 12 players, it''s no problem at all. Implicit Environmental/Economical Factors Here I''m refering to the global economy. I have every intent of creating a closed-market, which means there is a set amount of resources worldwide, and this number cannot increase without adminstrator intervention (or powerful magic). On a side note, I''m even playing with the idea of doing this to magic. More on that later, if anyone is interested. A strong economic model is required for the economy to remain stable and functional, and I''m absolutely certain it will need to be tweaked during the game''s beta phase, and perhaps even into final. When things are stable, the world should pretty much run itself at that point. The important question is, how do you create a stable economic model? This game will not run 24 hours a day. I will shut down the server at night, when everyone is likely to be asleep, at which time the server will run maintenance on itself, recalculating all globals factors and altering them to suit whatever changes players and NPC''s have influenced through their dealings with the economy. This mostly deals with dumping items on the market, but it will be equally important to determine the price of raw materials based on availability, since it''s quite possible a source of something (steel, coal, grain, etc.) becomes inaccessible to certain people (e.g., a barbarian horde razes several hundred acres of wheat fields). The part of the economy most directly applicable to players is also the most basic: supply and demand. This is how prices are determined after you know the base value of an item (i.e., what it cost to make, figured in both raw materials and manhours). The only part of this system I haven''t resolved is an advance in technology that would allow an item to be constructed at a lower cost. This is definitely something to think about. Your Ideas That''s what I''m interested in seeing. I''ve deliberately avoided discussing character advancement because it is irrelevant to this topic. However, that is something I''ll need to present sooner or later so I can get more opinions.

Share this post


Link to post
Share on other sites
Advertisement
Limited Player-base - definitely a bonus. How are you achieving/enforcing this?

Next point: "Beta-testing will ensure that things fall into place once the engine and world are complete, and I'm sure administrative "tweaks" will be required throughout the game's life cycle to keep it running smoothly."

Remember that if you leave it until testing to get things right, it's going to take you longer than if you design them right in the first place. Think through all the potential design and gameplay issues and try to make your system such that it avoids them, rather than assuming you'll be able to balance everything at the end.

"Modifying the world through mysticism is a perfectly acceptable means of balancing the game, even after players have already entered the world. This doesn't mean everyone will like whatever changes you make, but they will accept it nonetheless, even if the excuse is, "it's just a game."

No, they say "the admins here SUCK!" and leave for a game where the administration staff don't interfere. Perhaps you'll get some leeway on this because you know the players personally, but that depends on their patience with you. Players don't like having the world manipulated around them. Players generally like to know that what they do has an effect. The more things you do regardless of them, or do to reduce their power, the less influence they will believe they have and therefore less fun.

"However, the greatest tool a fantasy writer can use is realism. It's realistic for creatures to migrate to another area if they are being mercilessly slaughtered by rampant killers."

Yes, and it also annoys players. Are you going for realism or fun here? If creature migrate away, will players have to eventually roam further and further from home? Will this be practical... will this be fun?

"It's realistic for the authorities to confiscate equipment from a player because he is simply too powerful (although some of the authorities might be wasted in the process)."

Now this would Really cause an outbreak of "the admins SUCK!" Assuming you are having the administration arbitrarily decide what is unbalanced. After all, if you could computationally decide what is unbalanced, why not just refrain from introducing unbalanced entities into the game in the first place? As before, maybe you have a select group of players who don't mind you effectively undoing their hard work. But most players don't appreciate this one bit.

"It's realistic for a jealous NPC to attack a powerful player-character who threatens his status."

That's different, because the players consider this 'part of the game'. It's not a human making arbitrary decisions to make their life harder... it's the game giving them increased automated challenges.

"These are all ways to balance a flexible game system."

On the contrary, I believe some of them are ways to try and fix up a broken system. Balance is not a case of trial and error, it is a case of pre-planning, setting limits and constraints, checking statistics and probabilities, and so on.

(Note: I'm not just speaking from opinion here. I run a multi-user game with a small user-base myself )

Edited by - Kylotan on August 3, 2001 9:03:55 AM

Share this post


Link to post
Share on other sites
I''m curious, what is the point of having such a small user-base? If the number is small enough that a player has a good chance of being the only player online, doesn''t that defeat the purpose of it being multiplayer? e.g. suddenly there isn''t any socialization

Anyway, for the dynamic world part you may want to go with a story generator. I can''t remember whether you were at the RPGs of the 21st century messageboard where you would have seen my design, but if you weren''t, and you''re interested in the idea, I can provide you with my flowchart and example pieces. There isn''t any code, just design specs.

Share this post


Link to post
Share on other sites
Kylotan:
Good points. I thought about these after reading the lines you quoted from my original post. The point of the making the world autonomous is so I don''t have to use the Hand of God to change things. That''s where balance is critical, and pre-planning as you''ve said is the most important step to achieveing that.

Migrating creatures would be part of the fun, and it''s also a balancing factor to prevent them from being utterly wiped out by a single party of power gamers. Following prey across the land is just another part of the strategy involved in gaining combat skill. This also fits into the political system, which I''ll explain in a moment.

How do I plan to enforce a limited player-base, that''s a good question. So far, the only people who know about this project (short of everyone at GameDev now) are my friends, whom I''ve known for many years and trust implicitly. Of course, like all players they have their own idiosyncracies that will require my attention (one likes to crunch levels and pretty much nothing else, while another loves to cause trouble with NPC''s).

There is no possibility of me opening this project to the public ever. I simply don''t have the computing power to handle a large player-base.

sunandshadow:
I hope your question has already been answered. It''s not likely that anyone would stay online unless someone else were already there. We would schedule times and places to meet and go adventuring together, most likely as a group but perhaps not, depending on the characters we decide to play. If somebody wants to log on and crunch levels, so be it.

I think I''ve seen your story generator notes, but I don''t remember. I''d like to. I prefer specs over code.

Addendum: Politics
Here, I''m basically talking about inter-culture relationships. Players will have the largest impact on this. Running into a village and lighting up the civilians is going to make your hometown look very bad in that village''s eyes. It works both ways: rescuing a village from marauding demons will boost your personal reputation.

This system needs to be refined. A character''s actions would only affect his hometown if everyone knew where he lived, which translates to a high reputation. For adventuring types, this probably won''t apply since most of them move around quite a bit. Reputation in this case is a personal factor.

Any adjustments in reputation should gradually flow into other regions, rather than instantly change like they do in EverQuest. If you massacre a small village, people 500 miles away should hear about it in couple weeks, which might give you enough time to get there and cross the border before they find out, if you''re quick about it. Even then, the influence will be far less as the news filters into outlying regions. People 5,000 miles away really couldn''t care less; they probably never even heard of that village.

Migrating fits into politics in two ways. First, it''s a means for nomadic races to locate new feeding grounds. Second, conquering and occupying another city is a subtle form of migration (although we''d be more accurate to call it expansion). Since politics determines wars, this is where migration comes into play.

Goals of the Game
Of course, I''m mostly discussing things that involve killing, which is not something the game should be based upon. Being an explorer myself, my ultimate objective is to create a fascinating world that will appeal to other explorers. It''s probably beyond my capability to make a system that will surprise even me (although it has been done; Creatures 2 anyone?), but new players will be seeing everything for the first time.

Ideally, I want a world that appeals to all gamers in some respect, but primarily I''m concerned with the anticipated user base. I''ve had few opportunities to discuss this with my friends, despite the fact that this project has been ongoing for over two years. I made it a point to schedule a meeting this Sunday so we can mull things over.

Non-player Combat
With NPC''s walking around doing things, they are bound to get into trouble sooner or later, and that trouble is likely to involve killing something. Combat can occur on a wide number of scales, from the individual to the entire nation. The largest level want to analyze is city-scale.

All combat bodies are singular entities. In battle, a city is the same as a person, except it has more attributes. When two cities battle one another, many factors are taken into account: fortification, population, average level of skill, quality of weapons and armor, location, number and type of magic-wielders.

Most battles in the game world will occur away from players. It will not be unusual for a player to stumble into the wake of a battle that they had nothing to do with. Indeed, this will provoke a lot of questions on the player''s side, and they may be interested in finding out exactly what happened. The game must cater to this kind of "triggered quest."

Objective Redefined
The goal in this project is to create a world that players can influence, but more importantly it is to create a world that players can explore indefinitely and continue to find new things. While most people probably won''t be all that interested in politics, they will be especially interested in the wars that break out because of them, and the land that changes hands.

I''m refining the background for this world right now. In the meantime I''d like to hear more input from everyone.

Share this post


Link to post
Share on other sites
quote:
Original post by Tom
The point of the making the world autonomous is so I don''t have to use the Hand of God to change things. That''s where balance is critical, and pre-planning as you''ve said is the most important step to achieveing that.

Right, but if you have an automated hand of god that appears to be as arbitrary as a human one, then although you gain on administration costs and the lack of ''personal vendetta'' rumours, you still annoy players who come across what they perceive to be unfair boundaries. eg. If the game doesn''t want you to have more than (for example) 400 armour points, why make individual pieces of armour that give 100 points each? Prevention is better than cure.

quote:
Migrating creatures would be part of the fun, and it''s also a balancing factor to prevent them from being utterly wiped out by a single party of power gamers. Following prey across the land is just another part of the strategy involved in gaining combat skill.

Did you know that Ultima Online had this kind of thing to begin with? It was taken out because (a) it was no fun for anyone except the developers, and (b) it consumed CPU cycles doing interesting things that nobody got to see.

I don''t want to speculate on the other issues because it doesn''t appear that you are 100% clear on what you want the game to be about. Or, perhaps more accurately, you are trying to do ''everything'' in one game, combat, politics, exploration, etc. It''s hard to comment on how to do something when that aspect alone is not the main focus of the game. Most of those elements compete against each other, that''s the problem. The only reason most big games try to do all those things, is to get more subscribers. With a small user base, I''d be more inclined to specialise in one style of play.

Btw, something I missed from the first post: "creatures are denied personal objectives" because they didn''t buy the game: the player did Programmers who spend time making NPCs more realistic without making sure these changes have a positive impact on PCs - like the Ultima Online programmers did - are ultimately programmers who waste their time.

Share this post


Link to post
Share on other sites
quote:
Kylotan said:
Or, perhaps more accurately, you are trying to do ''everything'' in one game, combat, politics, exploration, etc. It''s hard to comment on how to do something when that aspect alone is not the main focus of the game. Most of those elements compete against each other, that''s the problem. The only reason most big games try to do all those things, is to get more subscribers. With a small user base, I''d be more inclined to specialise in one style of play.


That''s an extremely good point. I''m glad you brought that to my attention. My means to achieving all my goals is to take baby steps, rather than attempt to cram everyone into one big mess of an engine during the first month of programming, and then pretend I can weed out all the bugs later. We all know that''s the absolute wrong way to program. Doing one thing at a time, and making them modular so it doesn''t destroy the engine if something does break, is the best way to do it.

Anyway, I''m saying that it probably won''t be necessary to do all this. I can pick and choose which features are most important to the engine, implement those, and find out during alpha-testing if anymore features are really necessary. For example, you keep making points against migration, so it would be wise to see if I should even waste my time with it. I think it would be good enough to have village wars and forego migration altogether.

quote:
Kylotan also said:
Btw, something I missed from the first post: "creatures are denied personal objectives" because they didn''t buy the game: the player did Programmers who spend time making NPCs more realistic without making sure these changes have a positive impact on PCs - like the Ultima Online programmers did - are ultimately programmers who waste their time.


I pretty much came up with this philosophy, and obviously so did you. I used to go around telling designers, "Combat doesn''t have to be fair for the monsters, because the monsters aren''t paying you to play." But I don''t think anyone ever listened to me. We designers tend to be close-minded folk.

And you make a good point. But I would also fire an argument at you saying, with such an extraordinarily small player base (which we agree is good in many ways), there has to be something to provide a challenge, and other players aren''t going to be enough. So, NPC''s must think for themselves and establish goals that will, in all likelihood, contradict those of the players.

I really wish Wavinator would jump in and start spewing out ideas on how to make goal-oriented NPC''s. He and Naz always have something good to say. I did read their posts on macro dialogue, and I think it''s a really fantastic idea for this type of game, especially with such a small number of players. (This means NPC''s won''t have to remember very much.) If anybody has ideas on this, do share.

Share this post


Link to post
Share on other sites
quote:
Original post by Tom
I''m also frustrated when creatures are denied personal objectives. NPC''s and monsters have always existed as protagonists and antagonists in what is basically the player''s story. Most of the time, they''re just scenery. It would be nice if an NPC would go on a quest once in a while. With my limited player base, this is going to be doubly important.



Although it was entirely scripted, the old SNES RPGs frequently had an "explorer" character that the player would run into from time to time. Mario RPG had that mushroom guy who was always sleeping at inns, Secret of Mana had Watts and Neko, the blacksmith and shopkeeper, ChronoTrigger had that... uhm... guy... forgot his name... and so on. Often these characters would be important to the plot at some point or lead the player to a secret area. They were always one of my favorite parts of the game.

...So what I''m saying is, if someone can get a good NPC quest engine going, then I want to see it.

Share this post


Link to post
Share on other sites
quote:
Original post by Tom
Anyway, I''m saying that it probably won''t be necessary to do all this. I can pick and choose which features are most important to the engine, implement those, and find out during alpha-testing if anymore features are really necessary. For example, you keep making points against migration, so it would be wise to see if I should even waste my time with it. I think it would be good enough to have village wars and forego migration altogether.

Creature migration often seems to be something that is done because "it adds realism" or "makes the creatures more believable". However, so far, nobody has managed to make the game significantly more fun by doing it. Certainly not to the extent that would justify the effort spent on it.

If you have a clear view of how it would add to the gameplay, then go for it. (Or if you don''t care about gameplay and just want to make a simulation, go for it: but this would probably be the wrong board for that.) But this is one of those ''tried before'' concepts that either needs a fresh approach or to be steered clear of.

quote:
But I would also fire an argument at you saying, with such an extraordinarily small player base (which we agree is good in many ways), there has to be something to provide a challenge, and other players aren''t going to be enough. So, NPC''s must think for themselves and establish goals that will, in all likelihood, contradict those of the players.

Do they need to come up with pseudo-intelligent actions, or do they just need to provide pseudo-intelligent reactions to player actions?

To pervert a famous saying: "If an NPC woodcutter chops down a tree in the middle of the woods when there is no PC there to see it, does anyone care?"

My approach on my current project is to make NPCs pretty dumb for the most part, but attempt to be intelligent when it comes to reacting with PCs. The major part of this is the combat, but hopefully I can make trade interesting, too. I am ignoring politics

Share this post


Link to post
Share on other sites
Only thing I can think to say to Tom after reading this thread is it''s easier to try than to prove it can''t be done. Give it a shot. Since this doesn''t sound like it''ll be a commercial product, I''d implement the features that interested me instead of focusing solely on making it appeal to a large audience. I''ve often learned more that way. Besides, if you find it doesn''t work out, maybe someday it will. You''d have a jump on the competition if commercial companies started using some of these ideas since you would have already implemented them. But alas, I''m no commercial programmer so such things really don''t matter to me. I write stuff for my own amusement and on occasion hand it over to my friends if they want to give it a stab. That''s about all I can say. Hopefully at least somewhat helpful to you.

Share this post


Link to post
Share on other sites
My story-generating process is like this:

There are a number of mythical/metaphorical themes stored in a database. Ferex, one of these was "The Icarus Myth" This was a bunch of nouns (Icarus, pegasus, feather, pen, sun, moth, flame, hybris) and some associated adjectives (driven, mesmerised, suicidal, glorious, poetic, fatale) Each was tagged as to its relation with the other words. Some tags were: synonym, antonym, metaphor, agent, goal. At the beginning of the story-generating process the generator used modified random choice to choose one of these themes. One agent was assigned to the player and the rest were assigned to AIs.

Next a world file was also chosen from the database. Ferex the Undersea file contained room descriptions (coral reef, sunken ship, island, underwater cave) agent descriptions (fish, shark, seahorse, mermaid, octapus) and object descriptions (seashell, driftwood, artefact, weapon, plant) and each of these was associated with an image and some information as to which of them should go together or be assigned which roles. Object roles included container, key, barrier, tool, treasure. Then a madlibs style sentence and paragraph constructor with a bias toward paralellisms and other poetic devices used all this info to tell the player about the world and his/her goal.

I have a flowchart, but it's on a different computer I can't get access to for a few days.

Oh, I should explain that AIs had drive variables (like hunger, sleepiness, boredom) ala the system used in Creatures 3, and modifiers for personality (ferex tendency to commit a crime) and we intended to implement the AIs using the pridicate calculus language SOAR, on which bishop_pass is the resident expert. The SOAR implementation would allow the AI to "understand" all the objects in the game and use them to attain their goals.

Edited by - sunandshadow on August 5, 2001 11:06:12 AM

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!