🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Writing for RPG-like games

Started by
40 comments, last by Kylotan 22 years ago
Ok... Just to be clear, I''m referring to games like the Final Fantasies, Ultimas, Daggerfall and so on here - basically games where your character is relatively free to move from place to place and from situation to situation. I''m not counting games such as Doom, Half Life, or even Diablo, as the story in such games is very linear, or close to it - a couple of branches here and there don''t count. Many of these games, in order to be successful, require the player to be able to feel free, both geographically and in terms of advancing the ''story''. There is a clear beginning and end (ignore multiple endings, as they are not relevant for my point) to the game, as with a traditional story, but the middle part contains large degrees of freedom. Some situations will always occur before others, as there will be some sort of dependency. Other situations could possibly occur in any order. Some situations will not be mandatory at all, yet will still link to other situations by virtue of requiring them or allowing them. Some situations may be considered to be part of a larger situation (eg. the storyline is more of a storytree, and by this I don''t mean branching player choices, I mean levels of detail.) All the above could technically be represented by the ''branching'' method. But, you will either get circular branches (ie. it becomes a graph, not a tree) which start to make no sense in that situations can''t always be revisited, or you will get an explosion of parallel universes representing the same game states but with one optional quest done differently, for example. So the question still remains - how does a writer effectively draw up a story that is suited to these games, given that a linear story is inadequate and a simple branching story is inadequate? I feel that the answer will involve writing numerous small scenarios (see below) and linking them together somehow. A visual diagrammatical representation is probably necessary for the overall story to make sense, and for the main plot to be instantly visible, as well as for non-essential side-plots to be easily determined. There have been a few posts before on related subjects, such as bishop_pass''s comments on paragraphs with pre- and post-conditions, which I think would make a fine basis for a good solution, and Golan Trevise X asking about writing for games. But nothing really rigid and widely applicable has come as a result. [ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]
Advertisement
Let''s try an example.

We''ll take a "container" plot, and try to put some smaller plots into it. I can''t think of anything else, so I''m going to use a sub-chapter from the game I''m making. I haven''t really thought about what''s going in here yet, except for the end goal, so I''m making this up as I go along.

Setting:
The Valley - a green river valley amidst a world of craggy mountains and snow. It is inhabited by centaurs, and also the feeding ground of huge flying whales, which sweep overhead and feed on the tall trees and tiny birds.
The centaurs are expert farmers, and they send food to a distant city via a railway line.

Primary characters:
Annie - one of five 20/21-year-old university students thrown into the fantastic world in their dreams. Annie is a boisterous, cheerful and energetic character, also possessing a sharp intellect.

Tonn - a young champion centaur in the Valley.

Other characters:
Various centaurs going about their work. There might be some centaur elders too.

Overall Goal:
Annie must find a way to sneak into a forbidden area in the valley, where she discovers something extraordinary.

So, the story goes from when she finds herself in the Valley, to when she makes it into the forbidden area.


NOW, a typical way for RPGs to work here might be to present various people in need of help.

SMALL PLOT 1
Annie might, for example, help a farmer to get rid of a young whale that is flying too close to his crops.

SMALL PLOT 2
Annie must have a reason to want to explore the forbidden area. Perhaps the centaur elders are trying to hide something there.

SMALL PLOT 3
As part of the requirements for getting into the forbidden area, Annie must make friends with Tonn, who works as a guard for the elders. He is the only one with a key?
But maybe she cannot get Tonn''s attention until she has dealt with SMALL PLOT 1.

etc.

This is all pretty formulaic stuff. Have you guys got any more innovative or dramatic ideas?
That''s certainly a start, but still really vague, though. Small Plot 2 is more of a suggestion than anything concrete... you''d have to make a decision on it before going any further. And the links between the various plots are only documented in one of them (making it hard to follow the links). This is why I think a diagrammatical representation is essential. You could have a long list of situations, each of which list the pre-condition scenarios and the post-conditions, but when you get a hundred or so (not unreasonable for a decent-sized RPG) it''s gonna get awkward moving from one to the other. And how can the designer see at a glance which story situations or threads of situations are optional and can be removed if necessary? I think these are important considerations.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]
This is a tough question to answer. It''s always been my belief that the more the writer leads on the gamer, the better the story. The writer has more time to craft the story to a concrete whole rather than segment it and hope that the gamer compiles the pieces together. Then again, with that, you lose the degree of freedom many Rpg diehards desire. Likewise, the more freedom, the less the story has the ability to grab and shake the gamer(unless the gamer''s definition of story isn''t exactly parallel with what most writers see a story as being; i.e. a friend of mine insists that the story for Duke Nukem and backstory for Doom are superior to anything he''s ever seen. This has baffled me for years).

Naturally, the best way to meet a sort of RPG ideal would be to meet somewhere in the middle, although I still think the story would suffer if the gamer wasn''t presented any storyline choices, instead participating in a sort of deeply interactive movie.

I did have an structural idea about all this, although I have been too preoccupied with other projects to actively persue it. It''s vaguely similar to the Squaresoft RPG Saga Frontier(and the other games they''ve had where you get a half dozen or so characters with which to start a game) in that upon starting the game you are presented a handful of characters. You give the gamer a paragraph description or so about each character and let them pick who they want to start the game with.

Inside the game, the writer writes a general story. A link to which all the characters are related somehow, although it may not seem apparent(it could be very apparent, but that''s never as fun, now is it?). Sorta like the films "Snatch" and "Lock, Stock and Two Smoking Barrels", where you see a bunch of characters with mild similarities, all interrelated through a very tight plot, although it''s never apparent what that relation is until the end. Next, the writer writes the main, playable characters, relating each of them to a larger story, throwing in other characters in each of their scenarios to liven the ministories, or the game as a whole. The writer then should write a bunch of events(not too many, considering the amount of characters) that each character could participate in, all building towards the prime plot element that unites the stories.

The gamer starts the game at wherever the first chosen characters starts. From there, you are given options of things to do and places to go to. Now, some events will be unique to the particular character, while some(but not many) will coincide with other "main" characters that were visible on the first screen where you get to choose the character.

The first time through the game, the singular events would be rather simple. You can sorta run around doing what you want and are offerend, depending on the overall plot. The structure of this depends on the story. You may want to make some things unavailable or available depending on what you''ve already done within the particular scenario. Or not. Depends entirely on the story, I guess. Plus, you shouldn''t have too many events per character; their game shouldn''t be too long. Naturally, there will be a final event for each character. I''ll get to that later.

Any other times through the game, however, things are different. Since not EVERY event each character can do coincide, you approach the game as you would as if it was your first time playing. However, if a previous character has done something to interfere with the game of any of the following characters, your current game is impacted.

I think this is getting confusing, so I''ll give an example. Let''s say that your first character, Tony is offered Ten Thousand Dollars to kill Bob, who just happens to be the uncle of the fourth character, Melissa. If you played Tony first and you took the money and shot Bob in the face, Melissa loses her source of income, as Bob''s wife takes all the money and goes to Cuba, thus leaving the fourth character you play quite poor. But what if you played as Melissa first? Depending on how you want to structure it, you could have the assassination be random or fixed, perhaps due to something Melissa did. But since you played as Melissa first, perhaps you are given the option to wipe that scumbag Tony from the face of the earth. Or maybe you can somehow stop the assassination attempt. There are countless things Melissa could do to Tony. Perhaps include several, perhaps include just one.

Anyway, as a result, when the gamer plays as Tony later, he would have to die at X part of the game. Or, rather tahn using death as the unifying tool, the interactions can be mere inconveniences rather than murders, which would probably be best considering it may make the gamer NOT want to play as a character that they know will die(or think will die, you could fuck with their heads and have faked deaths). Anyway, the point is that what you do in each situation affects a real world around you and, in some situations, a world that you will later be embodying. Plus, assuming the story is coherent, these actions affect an actual storyline where you get to live the life of a certain character through the events of a STORY.

Naturally, in some situations, you''d have to have events in later games that ARE required, depending on what you''ve done earlier. For the first character, the gamer may not see any required events, but they could be there anyway, in case the gamer didn''t choose that person first. For each character, apart from writing the events that they''d do, you''d write auto events that''d appear that would be initiated depending on things that may or may not have happened earlier. You wouldn''t have to do too much of this, really. You could have some characters never interact with each other either physically or otherwise. Or you could have an event in each character''s story that intervenes with every other character''s story(although that''d take a rather devoted writer). Just to spice things up and to relate the story(and, furthermore, MAKE a story), you''d need the interaction of a few characters, and preset auto events that may or may not occur depending on what the gamer has already done in other scenarios.

Then, the ending could be done a few ways. You could just have an ending per character that you see when you finish each particular scenario. As a writer, I think that''s just boring and underdeveloped. When I beat Saga Frontier, I wanted to see something big at the end, but just saw a bloody programmer''s room. I deleted that slot quickly, after listening to the Alkaiser theme a couple times(I loved that song back then).

The other approaches a writer could utilize would have multiple endings depending on what happened. Now, to make the gamer WANT to finish, you should have the true ending of the game, one directly relating each character, happen at the end. This would mean that, at a fixed point in the game, each character would have an individual last scene, right before the conclusive section of the game, coming after you''ve completed each scenario. You could either have one, dynamic ending, independent on any of the little annoyances that the main characters may have been on each other. Or, if you wanted to be tricky(and up the replay value), you could have multiple endings, depending on which main characters did well in the world they found themselves genuinely screwed(perhaps even killed).

That''s pretty much it. Yeah, it''s somewhat vague, but it is a structure that can work with a lot of preparation. It gives the gamer their precious degree of freedom(something I personally do not require in a game), while letting them experience the same world from the perspective of a different character, thus initiating a story. The main problem with most freedom-based Rpgs is that you don''t the genuine interaction and stability needed for a story. It''s just the main character going around leveling up and saving villages. Likewise, most don''t like totally linear games because they can''t sit still for the story and want to explore more(or they want to explore more if the story sucks, which happens a lot in linear Rpgs). With this, theoretically, you''d get the best of both.

Yes, there are a lot of things that can go wrong with this setup, but those are the responsibility of the writer. Like if you have problems making the events link up, or the ending be coherent and solid in relation to the rest of the story. I like this idea because characterization is what suffers within a freedom-based game. It''s always been my belief that quality characterization revolving around meaningful events, within a videogame setting, is the only true way to tell a great story. If a story is too free, you lose both characterization and a true evolution of events. Using this method, you build up a cast of related characters and give the gamer a chance to experience each one. Plus, since each scenario for the main character will be short, you can condense the amount of events, thus better preparing yourself for the individual story.

This can be an obscenely hard format to write with, depending on the story, but I''m going to give it a try when I have some more free time(juggling two projects simulateously right now). I apologize ahead of time if this structure has been utilized or proposed before. I''ve never head it mentioned before and the only thing I''ve ever seen similar was the writing style of film writer/director Guy Ritchie.

Feel free to rip through this if you want. It''s 3Am and I need more sleep.
Just a few comments, Hundley, if I may:

- I''m not sure that having multiple characters is a good thing, from a storytelling perspective. It will be difficult for the average player to invest themselves in a game story if they can''t readily identify who the hero and villians are, or at the very least, who the ''main'' character is. But perhaps this is less of an issue for hardcore RPGers who are familiar with the idea of playing multiple characters in a game (although, they usually play these multiple characters simultaneously).

- That structure works well in a movie, where you are a passive observer of the action. But the player is an active participant (as they should be in a game), how will they know what events are transpiring outside their own immediate area of knowledge? If you have multiple storylines with multiple characters going on, how will the player know how they fit into the ''big picture''. I agree that it''s interesting to feel like you''re only part of a larger series of events (adds realism and a certain epic quality to a game), but short of using FMV cutscenes at certain points to help advance the story (which seems clumsy in some ways), how will you inform the player of what else is happening around them?

Just a couple of thoughts. I think you''ve got some good ideas there, though...

R.
_________________________The Idea Foundry
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.

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. For example, before you could get to the mountians, you had to get the key to the main gate blocking the way. So, all encounters in the area before the mountians (That weren''t affected or caused by events happening during or after the mountians), would go into one section.

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.

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. So, I guess it could be thought of that the locations each had a set of possible states with different story elements attached.

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.

Hope that helps out a little
quote: Original post by Tacit
- I''m not sure that having multiple characters is a good thing, from a storytelling perspective. It will be difficult for the average player to invest themselves in a game story if they can''t readily identify who the hero and villians are, or at the very least, who the ''main'' character is. But perhaps this is less of an issue for hardcore RPGers who are familiar with the idea of playing multiple characters in a game (although, they usually play these multiple characters simultaneously).


Perhaps. I guess the multiple character factor could prevent some gamers from, in their minds, becoming one with the story. To some gamers, I suppose this method wouldn''t be any better than having a totally linear story. It''s a shame.

I don''t think there is an ideal method for having the complete freedom aspect work with the story. I think we''re expecting writers to fabricate worlds that completely mimic the realism of reality, containing the liberty and depth of everyday life. Without devoting yourself either to the game''s freedom, or a story, you aren''t going to have much of a game. The best you can do is formulate something in between and hope that it''s well written enough to turn some heads.

Anyway, the multiple character thing is tough to debate because it''s hypothetical and hasn''t really been done adequately in games before. We''ve seen this structure in movies, but not in videogames. Assuming that the writer is reasonably talented, I do think that this method would work quite well, regardless of the lack of a true main character or main villain. After playing each scenario, the gamer will formulate their own opinions of the characters(hopefully. This depends on the talent of the writer and the preferences of the audience, a bad thing, I suppose, for my self-proclaimed ideal rpg system).

quote: Original post by Tacit
- That structure works well in a movie, where you are a passive observer of the action. But the player is an active participant (as they should be in a game), how will they know what events are transpiring outside their own immediate area of knowledge? If you have multiple storylines with multiple characters going on, how will the player know how they fit into the ''big picture''. I agree that it''s interesting to feel like you''re only part of a larger series of events (adds realism and a certain epic quality to a game), but short of using FMV cutscenes at certain points to help advance the story (which seems clumsy in some ways), how will you inform the player of what else is happening around them?


In this setup, the gamer wouldn''t know everything that happens to each character until they play all the scenarios. I personally don''t mind waiting until the end of a story to fully understand it. I guess, as writers, we have to consider the gamers that wouldn''t really understand this, needing to know a lot about what''s truly going on rather than patiently letting the pieces fall into place.

Either way, I think you might be overemphasizing the need to explain to the gamer what is happening outside of their experience. Simple dialogue elements and gameplay options could be enough to point them in the right direction, while not revealing too much. I think the key here is to generally inform the gamer of the prime story and keep them interested in each individual story without revealing too much. The more the gamer plays, the more parallels they will see in the characters and events(unless the gamer is dense, but you can''t make games assuming everyone who will play it is stupid). Even though the game is primarily fueled by one main story, each individual characters will naturally have their own story and goals. The thing that I''m driving at is that each of the small ministories will intrigue the gamer and work their way into one larger story. Each ministory wouldn''t be too deeply profound, but be liberating and interesting enough that your freedom-based Rpger(and others, hopefully) will be interested. Meanwhile, you have the character correlation and primary story to interest those looking for a bit more solid and coherent story. I think I underemphasized the importance of the ministories in my initial post. The key is to make a prime story out of the several ministories through similarities in the storyline.


It probably didn''t because I''m sleepy, but I hope that better explains things. Forgive me if I misinterpreted something or did a crap job conveying what I''m talking about. I busted up my leg and am on painkillers right now so bleh.
Ok, about the multi person story. While I think the ultimate goal of this should be able to handle that sort of situation in an elegant and straightforward manner, the example is on the complex side for me to even think about how to do it?

Would you guys be willing to try working out a smaller chunk of time, about like a TV episode? I''m now suddenly really liking that episodic chunk idea, as it breaks things into a small enough set that I think we could work with it.

After looking back at the start and end contstraints thread, I think that''s the best tool that I know of. Say, after drafting the initial idea and characters (and I''d love it if someone would volunteer some) we break the game into a set of important scenes? Each scene could have start and end constaints (and maybe some pause/resume constraints, like if you leave the area, but don''t invalidate the scene. Or should scenes be unbreakable?) but also have a listing on the various portions of the game state that they effect. The game state (which would include the constraints for the other scenes) could then be altered by any scene, thus bringing in other scenes.

Toolwize, admittedly I don''t have much of an idea of what''s out there for writers to organize with, but I''ll share what I see in my head. I see something that allows you to select any scene by name. When a scene''s selected (maybe defaulting to the opening scene) it brings up additional information about the scene, like a list of the starting constraints, ending possibilites and effects of the ending possibilties on the total set of constraints. The list of starting constraints would be set up so that we could visually tell the weighting of the various start constraints (if that''s an option..... how would we do that anyway?). On the effects of exiting the scene, it should be possible to see what is affected by the change in the scene, and how much.

As a viewer, you could start from any scene, set up the current states of the constraints, and walk through the choices. I sort of see a listing of the scenes, the ones that are no longer possible turn grey, the ones that are unlikely turn red, and the ones that are more likely turn blue.

Just a thought. I''d love to try to work out a better system, and I''d love comments, even if it''s that I sound like I''m half asleep.
Well what I would do is take a hint from other media.The problem that you''re having is close to what comics were having.Especially ones like Marvel''s X-men.What most decided to do is to have that particular problem end with each issue.If Spider-Man had to go up against Scorpion and still have to worry about taking Mary Jane to the prom you can bet that the problem was resolved by the end of the issue.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.Things can tie in with each other a little throughout the game to give it an overall theme so people don''t feel like they''re playing a different game everytime they enter a city or dungeon.Just like a sitcom gives you a different situation everyweek.But they don''t give you a whole different cast of characters everyweek.The underlying theme stays the same.

The road to hell is paved in good intentions
The road to hell is paved in good intentions
The basic building blocks of "interactive" writing:

A "scene" is a single logical block of action, that may or may not consist of sub-scenes, and at the lowest level consists of a bunch of "situations" that can be encountered.

A "situation" may have a number of internal variables, a state so to speak, that can function as constraints. The "world" also has a number of internal variables that can be called upon within a situation (such as the weather, the position of characters, a character''s statistics, etc...).

Scripting for the situation is defining actions that modify the scene''s internal state, or that allow modification of the world state not generally available. ( Generally available in this context means it can happen at any time, for instance losing hitpoints in a combat is usually generally available, not tied to a particular situation, unless combat itself is defined as a situation ).

For instance, in a certain situation, there may be a closed gate, and the action "open" on the gate opens the gate (well duh ).

A "transition" is moving from one situation to another. These can be silent (meaning that you have not performed a particular action but the system has simply decided that you will go to another situation), or triggered by an action.
For instance, the action "go north" in the previous situation with the gate may move you to a castle courtyard situation.

This is where "constraints" come in - if you are south of the gate, and it is closed, you will not be able to go north through the gate into the courtyard. The transition is constrained by the internal data - GoNorth: if Gate.IsOpen activeSituation = courtYard;


So what needs to be modeled in a visual way?
Well, there''s the actual situation, its internal data, the initial state of its internal data, any actions that modify the internal data, any special actions that modify world data non-generally in this situation, and transitions from situations to other situations with their constraints.
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).
It's only funny 'till someone gets hurt.And then it's just hilarious.Unless it's you.

This topic is closed to new replies.

Advertisement