Quote:You are dead on metalmidget.
I agree. Metalmidget hit the nail on the head.
Creating a dynamic world is not about generating unscripted quests, but in allowing the player to change the world in a meaningful way.
Dynamic quests are not too difficult. You track certain entities (items, NPCs, etc), and then put them together in new ways (and introduce new entities too).
Quests are pretty arbitrary and if you use recurring entities, the player will feel that there is some secret connection going on in the background (when in fact it would be a random number generator creating links - I know this works as I have run a PnP RPG using it and the player thought I was a an amazing plot writer).
So dynamic plots are not to difficult (not easy, but not hard either).
Allowing the player to dynamically change the world, that is harder. First of all, to game the world it will have to be done through quests (yes, they could just kill random NPCs but we are looking at meaningful interactions here), but quests are essentially arbitrary.
I think what is needed is a way for the game to step in the arbitrary quest generation system and insert specific plot choices (ie world changing choices) for the player.
As an aside at the moment, I think I might need to explain what I am talking about when I mention "Plot".
In a non dynamic medium, plot is where the writer directs the flow of the medium to their own ends. In interactive medium (and I am coming form a pen and paper RPG angle here as well as a computer game medium), plot is not just directed by the designer. The player(s) must also be a part of the plot creation too.
Plot in this case is actually a dialogue between the player(s) and the designer. However, as designers, we have control over how much control the player(s) have over the plot. Traditionally, this has never been all that much.
In a dialogue, first one person speaks, then the other. In games, we have been doing this for other mechanics since games were invented. this is occurring even in computer games.
Players will make one set of inputs through a joystick or other input device, and the game responds. The player then enters new input based on the responses that the game makes...
...and so forth.
What we need is a way that the game and player can have this dialogue on a plot level, rather than the positioning level. The thought process is not that much different.
In the positioning dialogue, you have to track certain stats and states of the player (position as the most basic). In the Plot level, you need to track a different set of stats and states, but you still track them. But as with positioning, you also need to track the stats and states of None player characters too, and so it is with Plot as well.
Let me give an example:
In a positioning level, you might track the player and the positions of several NPC enemies. When the player moves towards a powerup, the NPCs respond by seeing which is closer and having that enemy move towards the player.
So here we have a dialogue that can occur between the player and the game. The player moves and the NPCs respond to that movement.
Now each NPC might have their own variations that give them different options for moving. One, might move as quickly as possible towards the players current position. Another might move towards the nearest intersection to the player. A Third might move towards the nearest powerup to the player and a fourth might move randomly (I have just roughly described PacMan by the way).
Now lets look at how this can be applied to Plot.
In an RPG where the player is interacting on a political level, they might be trying to move towards a particularly powerful NPC (the power pellet in pacman) by bribing other NPCs, or just getting an audience with them. However, there are NPCs that don't want the player to meet with the powerful NPC, so what they do is move so as to block them.
This may take the form of an assassin (in pacman this would be like the enemy that moves directly towards the player) or another might try to bribe someone that the player needs to be able to meet with the NPC (in pacman this is the one that heads towards the nearest intersection). Another might try to meet with the NPC first and stop the player from reaching them that way (like the ghost in pacman that moves towards the nearest power pellet), and lastly, another might just do something completely random (which might just happen to place them in a position to stop the player, or put them in a position where in future the player has to work around them).
The main difficulty is in describing what actions the enemies can take, but a good way to solve it is to use actions the player themselves are able to take. So if the player can use bribes, then let the enemies have this ability and so forth.
It is not really any different to positioning dialogue, it is just that we don't have an established frame work with which we can describe actions and responses (in positioning we have at least the position of the player as a framework).
games have been using the basic dialogue of positioning for a long time. This means that there exists a "language" with which we can work with (this is the input devices and the stats and states that need tracking).
Unfortunately, with plot, we don't really have this language developed yet, and this is why it is more difficult to create a system for the plot handling than it is for positioning handling.
But hopefully this helps us get started.