quote:
Original post by Impossible
Most game plots are not much more complex than "3rd battle." Most general plots are pretty simple, the problem is filling out details (which needs to be done in a more traditional way, by a writter.) The problem isn''t complexity, you can create abitrarily complex plots, but a system like this has a good chance of generating generic plots.
I agree that state machines (or regular expressions, which are essentially the same thing, just more compact) are a good representation of much of the problem. But I disagree with what you said above. I believe that the reason games have "pretty simple" plots is because it is difficult to write anything more complex for a game. I think this is largely because it''s hard to represent and work on such plots, and difficult to communicate them to a development team. So a system, tool, methodology or whatever to help with production of such plots would help everyone.
Of course, this also hinders the use of state machines. How does a state machine cope with concurrent states? In a story where the possibility of finding a key is in State 1 and using the key is in State 10, do I need State2a and 2b, 3a and 3b, and so on, where the ''a'' states are when you have the key and ''b'' states are when you don''t? There could be an explosion of states which is no more manageable than a flowchart.
quote:
Events don''t really need an implicit connection (event 1 leads to event 2), they take place if the world is in the right state.
You still need a way of representing that precondition though. Ideally it should be a standardised way, so that you can use some tool (whether it is a bespoke package, or find in files in a text editor) to find all the events made possible by a previous event, and all the events required for a future event. Being able to see the sequence is important for the designers and programmers, and also for anyone who needs to write relevant and believable narrative. You might also want to be able to verify that a given situation is indeed possible to reach! Or identify ''plot bottlenecks'' through which all players must pass, and which should merit most writer and designer time accordingly. I know much of this is about the practical considerations rather than the artistic considerations, but I firmly believe that making it more practical will help to get the ''art'' into the system, if you like.
Just on another note, I would like to add that although I have used the terms interchangably in the past, there probably needs to be a distinction made between a situation and an event (even though they mean the same thing in most cases). A situation would be a state you find yourself in, which would usually be summed up by a verb phrase ("wandering the castle", "destroying orc stronghold"). Events would be the possible outcomes of these situations ("player leaves castle", "stronghold destroyed") and which signal the transitions between situations. The programmers and designers would have to work out ways of ''spotting'' player events. It would be possible to speak just in terms of events (as Impossible did), which gets around the concurrency issues, providing you don''t mind the fact that the player''s ''path'' through the game is not really represented explicitly.
[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]