Some legal questions, and something about KOTOR
Hi everyone - first post here for me.
I'm hoping you can help me with some legal issues. The company I work for is making their first game, and I am subsequently doing the same. We're currently in the process of writing our design documents which I've been doing with the help of the tutorials here. Everything on that end is going fine. I just have a question that's been bugging us lately:
When we want to copyright this thing, what exactly do we need to present to the copyright department?
Currently our DD is over 60 pages long, and contains skeleton sections of sections that haven't been fully fleshed out yet. It's OBVIOUSLY a design document. It also contains a sort of little pre-script for the game's in-game dialogue. My boss wants to rip out the script and copyright IT separately- what I and my partner have been trying to tell him is that the design doc itself needs to be copyrighted as well, as we need to protect that work.
My second question is more probably an artistic style question, but how would you go about scripting a game like KOTOR, with multiple dialogue options and such? Obviously we could do it on index cards, but when we actually write it all down, what form would be best suited to making sure it still flows well?
Thanks a lot in advance.
- Dan
I can really speak towards the first part since any Real Business™ software development I've done has existed in a very different world from game development.
But here's one thing you can do for the second part: Go buy a copy of Neverwinter Nights or some other game with user buildable modules. NVN has a nice conversation editing environment that you can use to prototype your dialog, and you can run the modules yourself to see how the conversation flows. And as a bonus you'll be able to expense a computer game (and maybe NVN 2 when it comes out. :)).
But here's one thing you can do for the second part: Go buy a copy of Neverwinter Nights or some other game with user buildable modules. NVN has a nice conversation editing environment that you can use to prototype your dialog, and you can run the modules yourself to see how the conversation flows. And as a bonus you'll be able to expense a computer game (and maybe NVN 2 when it comes out. :)).
As far as I know, from a legal perspective anything you create automatically has the copyright assigned to you unless you sign something that says it's not (such as a workplace agreement that assigns the IP to your employer).
However, you'll have to be able to prove that you created the work first to a sufficient degree if this ever goes to a court. I'm sure there are placed that store documents for you for a small fee in order to resolve copyright disputes. There's also the "poor man's" method of copyright protection where you mail a copy of the documents to yourself and don't open them; the postmark becomes a date stamp for the judge (however, I'm not 100% sure this is legally watertight).
But be warned that this is only copyright; there's nothing in copyright to stop someone reading your documents and "borrowing" your ideas. To protect your design ideas, you need a patent, and that might be a fair bit harder to get unless your game is truly original (or your company has a lot of money and lawyers [smile]). The way I think most designs are protected is by keeping them secret, and making sure anyone who sees them signs a Non-Disclosure Agreement (NDA) that they won't use your ideas and won't leak them to anyone else. You'll most likely need a lawyer to write one for you to make sure every legal issue is covered.
That being said, I don't think most design ideas are in any danger of being stolen, as design ideas are quite easy to create and it causes too much legal hassle to blatantly rip off someone elses ideas.
Hope that's of some help!
However, you'll have to be able to prove that you created the work first to a sufficient degree if this ever goes to a court. I'm sure there are placed that store documents for you for a small fee in order to resolve copyright disputes. There's also the "poor man's" method of copyright protection where you mail a copy of the documents to yourself and don't open them; the postmark becomes a date stamp for the judge (however, I'm not 100% sure this is legally watertight).
But be warned that this is only copyright; there's nothing in copyright to stop someone reading your documents and "borrowing" your ideas. To protect your design ideas, you need a patent, and that might be a fair bit harder to get unless your game is truly original (or your company has a lot of money and lawyers [smile]). The way I think most designs are protected is by keeping them secret, and making sure anyone who sees them signs a Non-Disclosure Agreement (NDA) that they won't use your ideas and won't leak them to anyone else. You'll most likely need a lawyer to write one for you to make sure every legal issue is covered.
That being said, I don't think most design ideas are in any danger of being stolen, as design ideas are quite easy to create and it causes too much legal hassle to blatantly rip off someone elses ideas.
Hope that's of some help!
Quote:Original post by Trapper Zoid
As far as I know, from a legal perspective anything you create automatically has the copyright assigned to you unless you sign something that says it's not (such as a workplace agreement that assigns the IP to your employer).
However, you'll have to be able to prove that you created the work first to a sufficient degree if this ever goes to a court. I'm sure there are placed that store documents for you for a small fee in order to resolve copyright disputes. There's also the "poor man's" method of copyright protection where you mail a copy of the documents to yourself and don't open them; the postmark becomes a date stamp for the judge (however, I'm not 100% sure this is legally watertight).
That actually doesn't work 100%, but it does date a document. Its better to just get something registered (you have a lot more protection that way). To the OP, get your boss to talk to a lawyer. The design doc your going to find probably isn't worth copyrighting. He should get a lawyer to get a NDA together and have everyone sign one. I had to do that with my last job, but the one my boss made me sign was hardly legally binding... Also, the script should probably be seperate from the DD. That I would get registered (especially if there is any depth to it), but you will have to wait for it to be finished. But the advice that I definately stress is talk to a lawyer that deals in copyright/trademark/patent/etc.
Thanks guys.
The Neverwinter Nights suggestion is one we'll definitely look into. The thing is we're not really wondering how to do it- a game like KOTOR is a great example of how you can - obviously we'll write some different trees for different conversations and what not.
I guess my real question is how to actually DOCUMENT it. For instance, an interaction may be:
NPC 1: Hey, what are you doing here?
PC: Response 1: None of your business.
Response 2: My name's so-and-so, who are you?
Response 3: You tell me who you are first...
Now response 1 may have its own dialogue tree to follow, but the second and third responses might have the same response (the guy introducing himself, or what have you). So what do you guys suggest would be the best way to actually script such an event? Draw a labeled tree in the script for the dialogue, something like
[1]
/ | \
[2][3][4]
Where the above lines would be labeled 1-4 respectively? How are the bigs (the Biowares, Obsidians, Squares, etc) doing it... I guess I was wondering if you guys knew.
The story should be deep enough - 30 of the current 60 pages are character profiles. ;)
Though I'd like to be able to say we're doing something revolutionary enough to patent, I think that'd be stretching it with the current mechanics. :)
Thanks again, guys.
- Dan
The Neverwinter Nights suggestion is one we'll definitely look into. The thing is we're not really wondering how to do it- a game like KOTOR is a great example of how you can - obviously we'll write some different trees for different conversations and what not.
I guess my real question is how to actually DOCUMENT it. For instance, an interaction may be:
NPC 1: Hey, what are you doing here?
PC: Response 1: None of your business.
Response 2: My name's so-and-so, who are you?
Response 3: You tell me who you are first...
Now response 1 may have its own dialogue tree to follow, but the second and third responses might have the same response (the guy introducing himself, or what have you). So what do you guys suggest would be the best way to actually script such an event? Draw a labeled tree in the script for the dialogue, something like
[1]
/ | \
[2][3][4]
Where the above lines would be labeled 1-4 respectively? How are the bigs (the Biowares, Obsidians, Squares, etc) doing it... I guess I was wondering if you guys knew.
The story should be deep enough - 30 of the current 60 pages are character profiles. ;)
Though I'd like to be able to say we're doing something revolutionary enough to patent, I think that'd be stretching it with the current mechanics. :)
Thanks again, guys.
- Dan
Hi Shocker02k. I may have misunderstood what it is that your asking and if I have, I apololgise if advance. If it is purely about documenting dialog then disregard the second half of my post. I don't think that the design document needs to contain every string of dialog that each character can utter. While many things should and do remain fixed from the design document through to shipping, scripted events and dialogs are not amongst them. Personally I think that the design document should contain NPC information such as character, locations present, interactions with the protagonist, quests offered, quest success/failure conditions (possibly with a variety of outcomes) etc but not precisely what the NPC will say and what scripting variables will be set when the protagonist returns with the mystical ding of dongadong after slaying Lord EvilGuy. That sort of detail should be in the dialog script itself. I know that for the upcoming Bioware title Dragon Age the lead designer David Gaider is still writing dialog even though the design document was (presumebly) completed over a year ago.
The approach you take will partly be dependant upon the role team member have within the organisation. Will the game designer(s) be writing dialog scripts themselves? If they will then you probably don't need to have seperate documentation detailing every string of speech. Sometimes this isn't always possible. For example, I read that Bullfrog developed a scripting system for Black & White and then found that the designers couldn't pick it up. They had to have a programmer with them when they were scripting to guide them through the process. You could have designers pass along dialog script outlines to a programmer or scripter who could then implement them. This would require agreeing some sort of format for designer to present the dialog scripts in. A problem with this approach is ensuring that changes made by designer are always implemented. You don't want to be in a situation where the designer are under the impression that something was implemented/corrected when in fact it wasn't.
On the technical side, one approach to game dialog that I know of is the system used in the infinity engine series of games (Baldur's Gate, Planescape Torment etc). The infinity engine uses the concept of a finite state machine to determine what an NPC says and what options a PC has in response. Each actor (normally and NPC) has a dialog file (extension dlg) associated with them. When conversation with an actor is initiated, the appropriate dialog file is read. Each state is examined. If the states (possible empty) condition is met then that it is a potential speech choice. The actual speech is chosen according to a weighting system. The state whose condition is met and has the highest weight is the chosen speech.
As well as the actual text, the states can also set variables, play wavs(e.g. for NPC speech), initiate combat, add journal entries etc, etc. Essentially then you have a small language which you need to implement. Again using the infinity engine games as an example, the dialog scripts are compiled into bytecode and and the actual dialog string are placed in a big file called dialog.tlk. The bytecode contains references to particulars strings in dialog.tlk. To give you an idea of what is involved check out the documentation to WeiDU (an infinity engine dialog compiler/decompiler):
WeiDU
Here is an example WeiDU dialog file for a character called Dermin in Baldur's Gate 2. Note that the states have unhelpful number identifiers because I decompiled it from bytecode:
The approach you take will partly be dependant upon the role team member have within the organisation. Will the game designer(s) be writing dialog scripts themselves? If they will then you probably don't need to have seperate documentation detailing every string of speech. Sometimes this isn't always possible. For example, I read that Bullfrog developed a scripting system for Black & White and then found that the designers couldn't pick it up. They had to have a programmer with them when they were scripting to guide them through the process. You could have designers pass along dialog script outlines to a programmer or scripter who could then implement them. This would require agreeing some sort of format for designer to present the dialog scripts in. A problem with this approach is ensuring that changes made by designer are always implemented. You don't want to be in a situation where the designer are under the impression that something was implemented/corrected when in fact it wasn't.
On the technical side, one approach to game dialog that I know of is the system used in the infinity engine series of games (Baldur's Gate, Planescape Torment etc). The infinity engine uses the concept of a finite state machine to determine what an NPC says and what options a PC has in response. Each actor (normally and NPC) has a dialog file (extension dlg) associated with them. When conversation with an actor is initiated, the appropriate dialog file is read. Each state is examined. If the states (possible empty) condition is met then that it is a potential speech choice. The actual speech is chosen according to a weighting system. The state whose condition is met and has the highest weight is the chosen speech.
As well as the actual text, the states can also set variables, play wavs(e.g. for NPC speech), initiate combat, add journal entries etc, etc. Essentially then you have a small language which you need to implement. Again using the infinity engine games as an example, the dialog scripts are compiled into bytecode and and the actual dialog string are placed in a big file called dialog.tlk. The bytecode contains references to particulars strings in dialog.tlk. To give you an idea of what is involved check out the documentation to WeiDU (an infinity engine dialog compiler/decompiler):
WeiDU
Here is an example WeiDU dialog file for a character called Dermin in Baldur's Gate 2. Note that the states have unhelpful number identifiers because I decompiled it from bytecode:
// creator : WeiDU.exe (version 176)// argument : JADERMIN.DLG// game : .// source : ./data/Dialog.bif// dialog : ./dialog.tlk// dialogF : (none)BEGIN ~JADERMIN~IF ~~ THEN BEGIN 0 // from: SAY #18236 /* ~Indeed. It has been a very long time. ~ [DERMIN02] */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 158ENDIF ~~ THEN BEGIN 1 // from: SAY #18239 /* ~I may well have let you pass, for there is no joy in my visit today. Jaheira, do you remember the lessons I taught you?~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 159ENDIF ~~ THEN BEGIN 2 // from: SAY #18241 /* ~Yes, yes, but the lessons?~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 160ENDIF ~~ THEN BEGIN 3 // from: SAY #18243 /* ~I am not here to rehash our friendship. Jaheira... I have been sent to kill you, or otherwise seek your downfall, and I do not relish the duty.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 161ENDIF ~~ THEN BEGIN 4 // from: SAY #18487 /* ~Who...? Jaheira, you travel with a killer of Harpers. I do not wish to think you had any complicity in those acts, but here <PRO_HESHE> is and <PRO_HESHE> is still alive. ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 162ENDIF ~~ THEN BEGIN 5 // from: SAY #18489 /* ~We know nothing of this. There is only the fact that you...you and your friend were the cause of many deaths. This cannot be ignored.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 163ENDIF ~~ THEN BEGIN 6 // from: SAY #18492 /* ~It is not seen that way, Jaheira. Exact the necessary justice. That is the only route to redemption for you. The others... will not accept you otherwise. ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 164ENDIF ~~ THEN BEGIN 7 // from: SAY #18494 /* ~I cannot see this ending otherwise, Jaheira. Your own have died. What do you intend to do about it?~ */ IF ~~ THEN REPLY #18495 /* ~Jaheira, do what you must. I have been the cause of too much trouble for you.~ */ EXTERN ~JAHEIRAJ~ 165 IF ~~ THEN REPLY #18496 /* ~Don't let this fool scare you, Jaheira. They have no right to meddle as they do!~ */ EXTERN ~JAHEIRAJ~ 171 IF ~~ THEN REPLY #18497 /* ~Do not turn on me, Jaheira. You will end as your fellows did.~ */ EXTERN ~JAHEIRAJ~ 172 IF ~~ THEN REPLY #10118 /* ~This is an unfortunate situation they have placed you in, Jaheira. I trust your judgement though.~ */ EXTERN ~JAHEIRAJ~ 165ENDIF ~~ THEN BEGIN 8 // from: SAY #18502 /* ~Consider carefully what you are saying, child. You have a duty to justice.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 167ENDIF ~~ THEN BEGIN 9 // from: SAY #18504 /* ~What are you saying, Jaheira? ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 168ENDIF ~~ THEN BEGIN 10 // from: SAY #18506 /* ~Jaheira, you cannot mean...Think this through.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 169ENDIF ~~ THEN BEGIN 11 // from: SAY #18531 /* ~This behavior certainly supports our version of what happened. I think your choice is clear in this.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 173ENDIF ~~ THEN BEGIN 12 // from: SAY #18535 /* ~Jaheira, you cannot mean this. You would not possible leave your fellows for a life with this killer.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 175ENDIF ~~ THEN BEGIN 13 // from: SAY #18537 /* ~This is perhaps worse than if you actually were. I...I have no more desire to pursue this matter. Goodbye Jaheira. This...this is a sad day.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 176ENDIF ~~ THEN BEGIN 14 // from: SAY #18545 /* ~So be it then. I will take your words to those that will listen. Do not expect your life to be peaceful with this choice.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 177ENDIF ~Global("DerminSpawn","GLOBAL",4)InParty("Jaheira")!StateCheck("Jaheira",STATE_SLEEPING)~ THEN BEGIN 15 // from: SAY #26960 /* ~Jaheira! I would have words with you! ~ [DERMIN06] */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 255ENDIF ~~ THEN BEGIN 16 // from: SAY #26962 /* ~I am not here for a social call. This is the last time we will see each other peacefully. I have come to speak a warning.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 256ENDIF ~~ THEN BEGIN 17 // from: SAY #26964 /* ~It has been decided. You are a killer of Harpers and a traitor. You have collaborated with our known enemies. Your execution has been ordered.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 257ENDIF ~~ THEN BEGIN 18 // from: SAY #26966 /* ~This is a very special case. You have faced little opposition from the Harpers so far. From here on the attacks will increase in severity, unless you come with me now. ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 258ENDIF ~~ THEN BEGIN 19 // from: SAY #26968 /* ~This is an internal matter of justice, and does not involve this <CHARNAME>. You can spare him the attacks if you submit.~ */ IF ~~ THEN REPLY #26969 /* ~You will do no such thing, Jaheira!~ */ GOTO 21 IF ~~ THEN REPLY #26970 /* ~What sort of deal is this?~ */ GOTO 20ENDIF ~~ THEN BEGIN 20 // from: 19.1 SAY #26971 /* ~The only sort she will get. Think on it, Jaheira. You will receive the hearing you wish.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 259ENDIF ~~ THEN BEGIN 21 // from: 19.0 SAY #26972 /* ~She will decide for herself after due thought.. You have already done quite enough.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 259ENDIF ~~ THEN BEGIN 22 // from: SAY #26974 /* ~You do that, Jaheira. There will be no other warnings.~ */ IF ~~ THEN DO ~ClearAllActions()StartCutSceneMode()StartCutScene("Cut18a")~ UNSOLVED_JOURNAL #20671 /* ~The return to Harper Hold.Jaheira's tutor, Dermin, returned once again...this time with a warning: the Harpers have ordered Jaheira executed. The attacks from them will continue in severity unless Jaheira turns herself in to them. Jaheira told him that she would think on it, and he left.~ */ EXITENDIF ~~ THEN BEGIN 23 // from: SAY #27408 /* ~As sharp-eyed as ever, though your choice in companions has not improved. Is your treachery not enough that you must consort with a killer? I thought you better than...~ [DERMIN07] */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 267ENDIF ~~ THEN BEGIN 24 // from: SAY #27410 /* ~As you were 'forced' to deal with the Harpers that died in Athkatla? ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 268ENDIF ~~ THEN BEGIN 25 // from: SAY #27413 /* ~You don't know what you are saying, Jaheira. Your association with this <CHARNAME> has poisoned your judgement.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 270ENDIF ~~ THEN BEGIN 26 // from: SAY #27415 /* ~Ah, but the events are not known. What is accepted is that you have killed your brethren and taken up with a known murderer. There is no evidence existing to the contrary. ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 271ENDIF ~~ THEN BEGIN 27 // from: SAY #27417 /* ~One grows weary. We would have done good works, Jaheira, just from a more profitable perspective. ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 272ENDIF ~~ THEN BEGIN 28 // from: SAY #27419 /* ~Innocent?! Is that what you call <CHARNAME>? But <PRO_HESHE> is a child of Bhaal! Whether his nature is good or bad it will certainly be disruptive! ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 273ENDIF ~~ THEN BEGIN 29 // from: SAY #27421 /* ~Regrettable losses.~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 274ENDIF ~~ THEN BEGIN 30 // from: SAY #27423 /* ~Ah, your wit is still the most dangerous trait about you, Jaheira. I told you to cultivate it. Little did I know I would be on the receiving end one day. ~ */ IF ~~ THEN EXTERN ~JAHEIRAJ~ 275ENDIF ~~ THEN BEGIN 31 // from: SAY #27425 /* ~You'll pardon me if I have a look for myself!~ */ IF ~~ THEN DO ~Enemy()~ SOLVED_JOURNAL #47986 /* ~The Harper plot revealed.The plot with the Harpers has finally come clear...Galvarey was not a true Harper at all, simply an opportunist who used his position to gain power. Jaheira's former mentor was one of his compatriots, and both were counting on the fact that my own status as a child of Bhaal would make any accusations made against me believeable.call <SNR>8_SelectAll()One must wonder if the rest of the Harpers will continue their vendetta against Jaheira and I.~ */ EXITEND
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement