quote:
Original post by ThoughtBubble
Well, I''ll share the method I used when I was working on an RPG 2 years ago. It''s not very organized, and was mainly tied in with the programming aspects, but it may be of some use to you.
It''s good that it''s tied in with the programming aspects. A large part of why I wrote this post is because I feel there''s a big gulf between the programming and the writing. Writers often feel they don''t have as much influence over the game as they deserve. I feel this is because, paradoxically, the traditional style of writing is ill-suited to many of the games that would best benefit from a well written story. Therefore there needs to be something in between - the writer''s equivalent of a level editor or a scripting language, that leverages their skills in a way more suited to games. I have often thought this would be a tool, but it doesn''t necessarily have to be so. It could be a language, a notation, a new way of thinking, or all of the above.
quote:
Like everyone does, I came up with a basic plot, and a few locations, and places for the plot to branch with optional quests. To start with, I organized it as a flowchart of sets of events.
Ok, my first criticism is that I believe flowcharts are inadequate. I went over this last week with a friend doing an English degree to try and work this out. A flowchart is basically the logical evolutionary progression from a normal linear story. You take a prototypical story, and add some ''what if'' elements along the way, which are triggered by player choices. But this is only adequate as long as you have a pretty small number of subplots, and as long as those plots start and end in the same place (eg. there are no subplots that can be done either near the start or near the end of the game), and so on. It''s also not entirely clear just from looking at the flowchart which events are optional for the player, and thus the designer, should time constraints be a problem. (However, this could be overcome with some sort of clearer notation.) Also, how do you represent the difference between a branch that represents a player choice (eg. Do A or Do B), and a branch that represents doing both, but in your chosen order (eg. (Do A then B) or (Do B then A) ). The latter is common in games like Final Fantasy where you might split your party for a while. And Hundley''s talk of multiple viewpoints might need something like this, although this trivial idea does not fully do it justice. Either way, a basic flowchart does not give enough detail to the designer, programmer, or other writers as to what is going on here.
quote:
From there, I''d map out each event that I could think of. Who''s it involve, what''s it for, what does the player gain, choices, setting, etc. For each event, I''d then sit down and map out the people and places it affected. In many cases, the effect was widespread. For example: Becoming a member of the king''s army had the majority of the kingdom either asking for help, or cheering you on.
I think this part is sound though. I personally tend towards expressing the effects in as formal a way as possible, as this would allow the effects to be easily classified by a tool (should one be created) and easily implemented by the designer or programmer as a flag or attribute. In fact, if you could specify the effects in a clear and precise way, a tool could automate the process of showing which events lead to other events by checking the dependencies. It could eventually produce your flowchart or diagram for you.
quote:
Then, I started writing up the set of locations. After the basic description of the location, I''d include a listing of all the events that could alter the location, and a brief description of how. From there, I just wrote the dialog and events for each person in the location.
We also did similar stuff with the major characters, as they''d have to act and change more often than the normal ones, sometimes after every conversation.
I must admit I wasn''t thinking so much about location or characters, just about plot. In hindsight, it''s a grave omission

quote:
Original post by gamesmaster2
In rpgs your towns should be like episodes or comic book issues.They have a certain problem for your hereo to solve or some vital information that must be retrieved.But what ever it is should be solved within that area.
You see, I fundamentally disagree with this, which is partly what I''m trying to address. You are advocating a model which is very linear at the top level, and only appears interactive at the more detailed levels of abstraction. Whereas your method may be fine for many console RPGs, I feel it is both limiting, and unsatisfactory for many gamers.
quote:
Original post by MadKeithV
I think you''d need a combination of flowcharting (which handles actions, transitions and constraints well) and some sort of data description (which handles the description of the situation and its internal data).
I too believe that this is the essence of the problem - a decent method for drawing the diagrams, and a semi-formal way of storing the detailed information. The main problem facing me is that traditional media doesn''t address interaction very well, if at all, and programming notation isn''t versatile enough to cover all the different configurations of story states. In particular, programming notation likes to assume simple branching, nested, or concurrent structures, and doesn''t really like combinations of two or more of the above. Yet in an RPG or other freeform game, the player will start and end tasks as and when it suits them, without any consideration for how well ''structured'' their choices are. Yet somehow the writer should be able to represent this in a way that makes it easy to communicate to the other game developers, allowing the writer to have a more constructive input into the process.
If the non-programmers here will indulge me for a second, I find myself looking at regular expressions, UML diagrams, and relational/boolean algebra, and in each case they can describe 90% of what is needed, just not that last 10%. If I can figure out some decent way of unifying them, I''ll draw something up for you all to criticise.
[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]