Dynamic (random) mission generator
Anyhoo hope it helps you out!
[Edited by - Balaam on July 6, 2005 4:49:11 AM]
I'm writing a book about How To Make An RPG, check it out! | Blog
Then, you add the reverse - make your quests affect the game world state in return. If at an earlier point in the game you actually killed the wizard or convinced the priest to keep his mouth shut, the quest to stop the wizard killing the priest is obviously invalid. In any case players love being able to change the game world in significant ways - interaction with the major elements of power and whatnot [smile]
That is why I do not think generating the quests from the first one onwards could work - it needs to react to player actions, and there's not much point plotting everything onwards if you're going to need to replot it five minutes later.
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
First and formost, a random quest generator is NOT a replacement for standard pre-generated content. It is an add on for quick game play sessions. That is why everything is random. There is no "the boy", or "the wizard." If something were to happen, and the boy or the wizard die..the quest generator just creates another wizard or another boy.
There should be limited, superficial, elemental effects of quests on the game world. At most they should affect the standings of a player with a faction, or between factions. Anything overly dramatic such as blowing up buildings or affecting primary players directly is a bad idea for random quest generation.
The game world could have some affects on the random quests, however, it should be based off of the same faction standing that the quests affect. Tying it to game world events (unless extreamly major changes such as the loss of a city) would cause too much of a headache.
The basic concept of Anarchy online is what I like, however, The system is bland and needs alot of additions. Star wars system is very poor, but tossing in a few quests that follow the waypoint system that it uses would add to the system.
Linking quests should be done as I stated, but the point here is not to try to link every quest. The point is more to link quests from time to time. However there doesn't have to be a link between every one.
I listed in step 1a to generate a mission with multiple steps. Someone else posted this same idea below, calling each one seperate missions. Either way it works.
Mechanics wise try to limit the amount of external factors going into the quest randomization. This will make it much easier to go forward with.
Quote:
Original post by robert4818
There should be limited, superficial, elemental effects of quests on the game world. At most they should affect the standings of a player with a faction, or between factions. Anything overly dramatic such as blowing up buildings or affecting primary players directly is a bad idea for random quest generation.
The game world could have some affects on the random quests, however, it should be based off of the same faction standing that the quests affect. Tying it to game world events (unless extreamly major changes such as the loss of a city) would cause too much of a headache.
Are you saying that dramatic world changing events, large changes to primary players etc. is incompatible with MMORPGs, or with random quest generation in general? I can see why, for simplicity's sake, you would want to limit the scope of a random quest generator. However, on of my main focuses in game design is on maximally incorporating interactivity into the player's experience, and for that a random quest generator that can cope with or result in large changes to the game world is a necessity, and in my view possible. However my focus is more on single-player (or at most small multi-player teams) and so I don't know if this a fundamental problem with incorporation into MMORPGs.
Such a quest generating mechanism needs diverse places for the different parts of a quest to take place (if its not to be too repetative). A reasonably large number of different/distinct locations (either via a world that allows switching nodes/portals (selection of canned 'room's) or a large generic area which the player wont remember when it changes (and scenes are staged). Reconfigurable 'holodeck' scenery isnt yet too common and recursive templates will probably be
more finite than we would like.
Even with fairly generic settings (ie- a warehouse) terrain sub-assemblies as well as props and NPCS (and lighting, color variations) can be mixed and matched to make the location look significantly different (and hopefully unique to recent memory). Coordinating details and themes to be coherant to the quest's plot might require alot of script logic. (Note -- the quests plot is parameterized appropriately to match the game superplot/current world situation.)
Of course core areas (frequented by player) cant be replaced or changed (much), yet parts of quests will use these areas as well. Reusing the same settings for this is still acceptable since some props and additional walk-on NPCs can be used.
All this quest 'configuring' and coordinating will take extensive logic to generalizes enough for 'random' quests -- not really so random if they have to adapt to a current game situation (the plot adaption/fitting itself will require alot of coding/scripting ).
Its likely the game superplot will be a prewritten static tree (a few branch diverging paths triggered by player actions) and each superplot state in the tree will be an input used to shape quests appropriately within that state . The results of the quests the player undertakes may then aggregate and trigger a transition to the next superplot state.
-----
examples of quest mechanism features that might be needed:
Templates (scripts) that can call parameterized sub-templates.
The script logic needs access to game state attributes and world area/maps (to enable searching for appropriate locations that are quest destinations and to test world state to build appropriate quests)
Script Primitives to select world location matching a criteria (find alternate locations if more than one quest is active and similiar terrain might already be 'in-use'.)
Script primitives to load/build generic scenery (rooms/tiles/nodes)
Script primitives to modify terrain. (add portals/doors/link nodes/modify mesh)
Script primitives to place terrain sub assemblies. (into a location area).
Script primitives to place props/lighting effects.
Script primitives to place template patterned NPCs.
Script primitives to modify NPCs. (like behavior params and dialog options)
Script primitives to set triggers. (if needed)
Script primitive to control superplot state triggers/make transitions
Script primitive to access a persistant Database (used to track quest history
to coordinate sequential plots and avoid repetitions of the same/similar quests,
to track state of significant characters/organizations/factions/mobs)
Script language would need ability to do if-then logic , code blocks, subroutine calls, restartable/resumeable scripts, probably finite state machine features.
Quote:
Original post by Trapper Zoid
Since I've never played a MMORPG in my life, for my own understanding I just wanted to clarify this with you:Quote:
Original post by robert4818
There should be limited, superficial, elemental effects of quests on the game world. At most they should affect the standings of a player with a faction, or between factions. Anything overly dramatic such as blowing up buildings or affecting primary players directly is a bad idea for random quest generation.
The game world could have some affects on the random quests, however, it should be based off of the same faction standing that the quests affect. Tying it to game world events (unless extreamly major changes such as the loss of a city) would cause too much of a headache.
Are you saying that dramatic world changing events, large changes to primary players etc. is incompatible with MMORPGs, or with random quest generation in general? I can see why, for simplicity's sake, you would want to limit the scope of a random quest generator. However, on of my main focuses in game design is on maximally incorporating interactivity into the player's experience, and for that a random quest generator that can cope with or result in large changes to the game world is a necessity, and in my view possible. However my focus is more on single-player (or at most small multi-player teams) and so I don't know if this a fundamental problem with incorporation into MMORPGs.
I'm saying that Large Dramatic Changes to the game world that cannot be easily scripted (i.e. faction standings) should not be affected by the Random Quests.
Of course one thing I just thought of is the following idea:
The developers could hide some regular, pre-generated quests (perhaps game changing), in the quest generator program. After a set number of quests have been completed (say 1,000,000). The introduction presenation (i.e. the opening script) should look the same, so as to not give it away as anything special) and let players stumble onto it as they go :)
---------------------------------------------
Locations
This is the one thing I agree with, but I see no huge problem with locational spawns of the missions. Anarchy Online, and City Of Hero's have both hit on the solution to that problem. Mission entry points. The player runs to a door, or a cave, that is chosen from a large number of points in the game world, and that is where the player must reach to enter the "dungeon"
The most likely situation you'll see with random quests at the moment are "dungeons" like caves, buildings, castles or any other enclosed area, with a series of modular rooms. The random map builder will then toss the rooms together randomly to create the map. It's not the best idea, but it works.
Star Wars Galaxies system of run to way point, do whatever you need to at it, and run back is a piss poor random system by itself, however, as one component of a quest system, I.E. say one of every 10-20 missions, it would be very effective as part of the quest system, as it would be a change from the indoor dungeons.
City of Hero's has done a series of outdoor instanced missions. I haven't played any of those, so I'm not sure how well they work, or even how they are set up. But small instanced Zones in the way that EQ2 has could also work well for the quest system.
Last but not least for location ideas is one I had where the game spawns a small building in the game world (similar to using the waypoint system from SWG) and when the player reaches the building they complete thier mission inside of it. Its small and not something I would really call a dugneon, but its an idea.
Lastly, there are somethings that can be reflected in the Random Quests, that change due to stuff happening in the regular game world. Mostly Superficial.
If a major player (i.e. king) changes then people writing stories, change thier stories enough to reflect this change. Instead of just saying "The King" in the mission up major player's as small tags in the text of missions.
I.e. Instead of "The King has requested that you rescue his daughter" the text is written "<king> has requested that you rescue his daughter" and have the tag for <king> look up the name of the current king. One day it says "King Bill S. Preston-Esquire" and after a large defeat the king changes to "King Ted 'Theodore' Logan.
Also, in such situations, reflect those changes in part of the game decorations. Change the files around for different portraits hung on walls of the leaders and such.
Remember step 7
Quote:
Step 7. Continue to update the mission types. Don't just keep it go kill person X. Vary the Mob, Vary the person's abilities, vary different conditions. Such as kill no-body but the target, kill everyone, etc. Do not just put together a mission system and then say whew we are done.
A random system is never done. More can always be added later.
[Edited by - robert4818 on July 4, 2005 5:19:37 AM]
Portals that only allow the 'party' in to face the peril & reward...
Those portals being a temporary part of the persistant world.
Holodeck areas (interiors) constructed only for the quest (on-the-fly generation).
There can still be plenty of non-quest random situations that players can find
while out exploring (equivalent to a 'encounter' spawn except with a terrain
component). Generated on-the-fly (random but matching the approproate theme of the area...
Player walking thru wilderness, "Hey theres a hill in that hillside with bones laying on the ground outside. Lets go see whats in it!!" Player kills the Troll, nabs his loot. Hole collapses after player exits. Another Troll Hole spawns sometime later, somewhere else.... Troll population influence factor on world map decreases and adjacent Orc influence shifts a bit to fill the vaccuum.
Quote:Here's a question: why script it?
Original post by robert4818
I'm saying that Large Dramatic Changes to the game world that cannot be easily scripted (i.e. faction standings) should not be affected by the Random Quests.
If it were AI-driven there'd be nothing stopping you from affecting the world in major ways (and it's pretty well established that actions which really affect the world == player satisfaction). Give each faction has a 'hive mind' that generates a plan of actions for members of that faction to follow (like a computer player in an RTS). Another game AI examines the actions scheduled by all the factions, compares their outcomes (all villagers dead) to the player's current goals (keep the villagers alive) and identifies weak points in the faction's action chain that can be turned into quests (if the player destroys this bridge here, the army will not be able to reach the village). There's the extra advantage there that the player's goals and nature are taken into account, allowing alignments to be used (good/neutral/bad or lightside/darkside).
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
Quote:
Original post by superpig Quote:Here's a question: why script it?
Original post by robert4818
I'm saying that Large Dramatic Changes to the game world that cannot be easily scripted (i.e. faction standings) should not be affected by the Random Quests.
If it were AI-driven there'd be nothing stopping you from affecting the world in major ways (and it's pretty well established that actions which really affect the world == player satisfaction). Give each faction has a 'hive mind' that generates a plan of actions for members of that faction to follow (like a computer player in an RTS). Another game AI examines the actions scheduled by all the factions, compares their outcomes (all villagers dead) to the player's current goals (keep the villagers alive) and identifies weak points in the faction's action chain that can be turned into quests (if the player destroys this bridge here, the army will not be able to reach the village). There's the extra advantage there that the player's goals and nature are taken into account, allowing alignments to be used (good/neutral/bad or lightside/darkside).
You are talking about a AI plot controller (which directs all the non-player events -- runs the background world). Events and quests (and faction orders/directives??) would then be generated appropriate to the world situation and the results of these quests (player actions) would be aggregated with the AI controlled stuff to then change the power balances(, etc..) and define the new world state.
AI goal/task planners could be used to do this and a hierarchy of control objects (world...local scope) to run the different abstract levels of behavior.
Of course this still requires ALOT of scripts (code) to run the goal-task-solutions and the evaluation functions that examine the world state and decide what should be done (select strategy/tactics). The mechanisms is general so must handle a broad spectrum of possibilities and requires significant amounts balancing/testing to create a stable/functional world.
(Remember this is AI independant of the game mechanics)
This is magnitudes more work than having a static 'superplot' to work around and
to script auto-generated quests within much smaller/simpler limitations.
Pre-canning is always easier (thats why most games have done it so far).
I still think that it will be more cost effective to have a GM who monitors and directs plot (and intelligently compensate when things get too out of balance).
The AI would take care of the day to day flow of world, but the GM oversight
could direct plot at a high level.
Quote:Yes, exactly.
Original post by Anonymous Poster
You are talking about a AI plot controller (which directs all the non-player events -- runs the background world). Events and quests (and faction orders/directives??) would then be generated appropriate to the world situation and the results of these quests (player actions) would be aggregated with the AI controlled stuff to then change the power balances(, etc..) and define the new world state.
Quote:Well, maybe. I'm still thinking that such scripts, if required, could be largely generated on-the-fly. It's an artificial game designer, if you will.
Of course this still requires ALOT of scripts (code) to run the goal-task-solutions and the evaluation functions that examine the world state and decide what should be done (select strategy/tactics).
Quote:Well, stable/functional is not necessarily desired. If the player goes to destroy the colony's fusion power plant, or assassinates the king, chaos should ensue, society should unbalance.
The mechanisms is general so must handle a broad spectrum of possibilities and requires significant amounts balancing/testing to create a stable/functional world.
Quote:I'm not convinced, but I guess I shouldn't open my mouth again until I've tried implementing it myself [smile]
This is magnitudes more work than having a static 'superplot' to work around and to script auto-generated quests within much smaller/simpler limitations. Pre-canning is always easier (thats why most games have done it so far).
Quote:Agreed, but that's not an option for non-MMO games.
I still think that it will be more cost effective to have a GM who monitors and directs plot (and intelligently compensate when things get too out of balance). The AI would take care of the day to day flow of world, but the GM oversight could direct plot at a high level.
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse