1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

A Guide to Making Dialogues (Old Out of Date)

Discussion in 'Dialogue' started by EO, Dec 11, 2011.

Thread Status:
Not open for further replies.
  1. EO

    EO Potential Patron

    Joined:
    Nov 17, 2011
    Messages:
    14
    Likes Received:
    0
    For the sake of everyone's convenience, I thought someone should create a single resource for dialogue building. Then I figured, it may as well be me. So here goes:



    GETTING STARTED
    Open up new text file, or better yet, export the default dialogue from the game or open someone else's dialogue as a template. Do this in Notepad, or else the saved file will be gibberish and the game won't recognize it.



    CLEARING CURRENT DIALOGUE:
    By default the game will add your dialogue to the currently loaded dialogue, so generally you'll want to clear the currently loaded dialogue instead. The easiest way is to add this line anywhere in the text file:

    all:"CLEAR"

    Alternatively, if you only want to clear certain types of dialogue (see below), use the format

    type:"CLEAR"

    For example:

    intro:"CLEAR" or
    cum_on_face:"CLEAR"



    DIALOGUE NAME:
    This is what your dialogue will be called in game. Use the format:

    dialogue_name:"__________________"



    DIALOGUE TYPES:
    These are the prompts for her to say different kinds of lines:

    intro - When idle, before any deep-throating happens ("during initial resistance").
    general - When idle, after deep-throating happens (once you see a "first_throat" dialogue).
    restart - When you continue after ejaculating.
    cough - Inserted into lines to represent coughing.
    interrupt - Inserted into lines when she's interrupted.
    resistance - When you/she pulls out, before any deep-throating happens.
    first_throat - When the first time her throat is hit (and I think until you/he goes all the way down).
    first_dt - What she says on the first full deep throat.
    pull_off - Somewhat unclear. I think any pull-out when deep-throating that doesn't satisfy the conditions for held, vigorous, etc. dialogue (Kona: "After actively pulling off.")
    held - What she says after you hold her down (i.e. with spacebar).
    wake - What she says when waking up, after she's passed out.
    vigorous - What she says after vigorous deepthroating (i.e. continuously fast deep-throating).
    pre_cum - What she says when your screen does that white, flashy thing before he cums.
    cum_on_face - When he comes on her face (she'll continue saying cum_on_face lines until he's finished ejaculating, so you may consider making these lines a little long).
    cum_in_mouth - After he comes in her mouth and pulls out.
    cum_in_throat - After he comes in her throat and pulls out.
    cum_in_eye - When he comes in her eye. You may consider making these short so she'll say some "cum_on_face" dialogue afterwards.
    cum_in_nose - I can't seem to trigger this. I assume this is suppose to happen when he CIMs and cum squirts out her nose.
    swallow - When she swallows after he cums.
    drool - What she says when you tilt her head down and she drools out his cum.

    For proper formatting, add a new line as:

    type:"Your dialogue."

    for example:
    cum_on_face:"Ewwww."

    Make sure you use quotation marks at beginning and end only and that there are no unnecessary spaces, or this will mess things up.



    *FINISHES*:
    "*FINISHES*" substitutes a different word or phrase into the line, depending on how many times your character has finished, so if you have a line like

    restart:"Again? But you already finished *FINISHES*!"

    it will appear in game as

    "Again? But you already finished once!"
    or
    "Again? But you already finished twice!"
    or
    "Again? But you already finished three times!"
    etc.

    depending on how many times he has finished. To change the text inserted, make lines that say

    finish:"CLEAR" (removes already loaded "finish" lines)

    then

    finish1:"_______"
    finish2:"_______"
    finish3:"_______"

    and so on, and then

    finishOther:"_______"

    for any finishes in excess of what you included in the "finish(x)" lines.



    *YOU* *YOUR* *ME* AND *MY*:
    *YOU* and *ME* lines substitute either your name or the character's name, respectively, into the text.

    You can set your name in game, in the "Custom" tab under "Dialogue name." For custom characters, you can set her name in the Code.txt file with the command "charName:_______;".

    Anyhow, an example:

    intro:"Stupid *YOU*! *ME* hates you!"

    appears as

    "Stupid Shinji! Asuka hates you!"

    assuming the player entered his name as Shinji and selected Asuka (and assuming that the character refers to herself in third person...... whatever, it's an example).

    If no player name is entered, nothing will appear instead of the *YOU* wildcard. So, it's worth noting that extra characters can be included inside the asterisks. So that, if a player name isn't entered, a line like

    pull_out:"How am I doing*, YOU*?"

    will appear in game as

    How am I doing?

    If no character name is entered in the Code.txt file, the game will use one of the standard character names (probably "SD chan").

    *YOUR* and *MY* lines operate the same, but use the possessive form of the name (i.e. "Shinji's" or "Asuka's").



    SUBSTITUTIONS:
    You can substitute text into a line by using brackets in the text, for example, if you wanted to insert a random number, you could make a line like

    intro:"The number you're thinking of is [NUMBER]."

    and then other lines like

    NUMBER:"one"
    NUMBER:"two"
    NUMBER:"three"


    and so on, so that the game will insert one of those numbers at random. Unfortunately, the game puts it as a new line, after the other text in the line, so a line like

    intro:"Uhm... [NUMBER] is my favorite number!

    will appear as, for example

    Uhm... is my favorite number!
    three


    To get around this, format it like so:

    intro:"[NUMBER]"
    NUMBER:"Uhm... one is my favorite number!"
    NUMBER:"Uhm... two is my favorite number!"
    NUMBER:"Uhm... three is my favorite number!"


    You can also redirect to one of the standard dialogue lines in a similar fashion. For example:

    general:"Want some dirty talk? How about this......[vigorous]"

    will display the "general" line and then a "vigorous" line.



    MOODS AND EMOTES AND OTHER ACTIONS
    You can tell her to adopt a certain mood by inserting [NORMAL_MOOD], [ANGRY_MOOD], [HAPPY_MOOD], or [AHEGAO_MOOD] into a line. You can to it anywhere in the line, and the character will switch moods at that point in the line.
    For example, a line like this will work:

    intro:"[HAPPY_MOOD]Oooo, I can't wait to get that into my mouth! [AHEGAO_MOOD]Give it to me now!"

    You can also have her do various things with the following commands:
    [BLINK] - She blinks.
    [COUGH] - She coughs, and the game inserts cough text.
    [WINCE] - She briefly shuts her mouth and furrows her brow.
    [SHOCK] - She briefly makes a wide-eyed, surprised expression.
    [CLOSE_EYES] - She closes her eyes
    [SWALLOW] - She swallows (the animation takes a few seconds and the text waits for the animation to finish before continuing).
    [CLENCH_TEETH] - She clenches her teeth for a moment, preventing further penetration. I think this might bug out the text, but test for yourself.
    [TAP_HANDS] - She taps her hands on her/his legs, as she does when held down for too long.
    [LOOK_UP] - She looks up at him and continues to do so.
    [LOOK_DOWN] - She looks "down" and continues to do so (more forward than down).
    [ARMS_BACK] - Positions her arms behind her back.
    [ARMS_LEGS] - Positions her arms on her legs.
    [ARMS_HIS_LEGS] - Positions her arms on his legs.
    [ARMS_LOOSE] - Causes her arms to hang loose.
    [OPEN_EYES] - She opens her eyes
    [ADD_TEARS] - She tears
    [EJACULATE] - I assume he cums
    [NORMAL_STYLE] - Switches to Normal style DT
    [FACE_FUCK_STYLE] - Switches to Face Fuck style DT
    [DROOL] - She drools
    [HOLD] - He holds her I assume
    [RELEASE] - He lets go of her I assume.



    SPECIAL CHARACTERS
    Some characters, namely quotes, asterisks, and colons can't be put inside a dialogue line since the game uses them for it's dialogue logic. So use these URL encoded characters:

    %22 = "
    %2A = *
    %3A = :
    %0A = Text continues on a new line (equivalent to hitting 'Enter' in word processing).

    So, if you want an intro line to say
    "Huh? What's a "cock"?"

    write it like this:
    intro:"Huh? What's a %22cock%22?"



    CREATIVE USE OF DIALOGUE LOGIC
    USING SUBSTITUTION FOR USER DIALOGUE OPTIONS (by me)
    I'll explain through an example. Let's say you're making a daughter-incest dialogue, but then perhaps you want to make her a stepdaughter, or a niece, or a friend's daughter, or a daughters friend......

    For the most part, it's essentially the same dialogue. They all involve taboo sex with a much younger woman, so much of the dialogue could be interchangeable between these situations, but some lines are going to be rather specific. You could copy/paste the whole dialogue into multiple files and slightly alter each one, or you could do this:

    Make a line in the main body of text like
    intro:"[INTRO1]"

    and a set of lines at the beginning of the text file like this
    INTRO1:"We shouldn't be doing this, I'm your daughter!" (daughter situation)
    -INTRO1:"We shouldn't be doing this, I'm your niece!" (niece situation)
    -INTRO1:"We shouldn't be doing this, I'm your daughter's best friend!" (daughter's BFF situation)


    You'll notice that the second two lines have a dash at the beginning. This makes them invalid commands, so that the "intro" line will only be directed to the "daughter" line. Then, if the user wants the "niece" situation, s/he can just move the dashes around, so it looks like this:

    -INTRO1:"We shouldn't be doing this, what if mom finds out?" (daughter situation)
    INTRO1:"We shouldn't be doing this, what if my dad finds out?" (niece situation)
    -INTRO1:"We shouldn't be doing this, what if your daughter finds out?" (daughter's BFF situation)


    The real benefit of this is that if the user wants a slightly different situation that you didn't think of, he can easily put in a new line without having to go through the whole text file to make changes. For example, maybe the girl is his son's girlfriend. The user can make a new line, and the set will looks like this:

    -INTRO1:"We shouldn't be doing this, what if mom finds out?" (daughter situation)
    -INTRO1:"We shouldn't be doing this, what if my dad finds out?" (niece situation)
    -INTRO1:"We shouldn't be doing this, what if your daughter finds out?" (daughter's BFF situation)
    INTRO1:"We shouldn't be doing this, what if your son finds out?" (son's GF situation)


    Last thing to mention is that if you want to give the user the option of eliminating any specifically taboo dialogue, you can add a line like this.

    INTRO1:"[intro]"

    This would redirect the game to select one of the other (presumably more generic) intro lines you've made.



    USING *FINISHES* FOR ESCALATING DIALOGUE (I got this idea from raziel_seven)
    Again, an example to explain: Let's say you want her to say something more and more desperate on every restart dialogue. You can do something like this:

    Make the restart line read
    restart:"*FINISHES*"

    Then use the "finish" lines in such a fashion:
    finish1:"Again? You're going to wear me out!"
    finish2:"Twice isn't enough?! My throat can't take much more!"
    finish3:"You're STILL hard?! Please, I...... I need a break at least."
    finish4:"Seriously, no more! I'll even let you do anal, just not my throat!"
    finishOther:"Again...?! I think I'm getting blisters on my throat already......."



    MAKING BACK AND FORTH DIALOGUE (thanks to booster, or whoever originated this idea)
    By using *YOU* and *ME* commands with the "%0A" coding (begins a new line) you can make back and forth dialogue between him and her. Booster's example:

    intro:"*YOU*: Come on *ME*, you promised me, you would help me with my stress!
    %0A*ME*: Yes *YOU*, but are you sure this will help you?"

    will appear in game as:
    Anon: Come on SDT-Girl, you promised me, you would help me with my stress!
    SDT-Girl: Yes Anon, but are you sure this will help you?


    People have noted though that her lips do still move during the male's part of the dialogue, but hey, sometimes something isn't everything that you want.



    Whew...... hooray for giant OPs. That's all boys and girls. I think I've covered about everything, but let me know if I missed something. Also, feel free to share your own creative uses of dialogue logic.
     
  2. AaRL

    AaRL Swell Supporter

    Joined:
    Feb 17, 2011
    Messages:
    824
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    Thank you EO for making this dialogue!
     
  3. booster

    booster Avid Affiliate

    Joined:
    Sep 19, 2011
    Messages:
    332
    Likes Received:
    1
    Re: A Guide to Making Dialogues

    just one little thing to add:
    %0A makes a new line. example:
    intro:"*YOU*: Come on *ME*, you promised me, you would help me with my stress! %0A*ME*: Yes *YOU*, but are you sure this will help you?"

    will be:
    Anon: Come on SDT-Girl, you promised me, you would help me with my stress!
    SDT-Girl: Yes Anon, but are you sure this will help you?
     
  4. anonymous

    anonymous Club Regular

    Joined:
    Feb 16, 2011
    Messages:
    2,925
    Likes Received:
    10
    Re: A Guide to Making Dialogues

    Sticky for great justice.
     
  5. EO

    EO Potential Patron

    Joined:
    Nov 17, 2011
    Messages:
    14
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    Sure thing.

    Cool. Didn't know that. Adding it.

    Sweet.
     
  6. pornphile

    pornphile Potential Patron

    Joined:
    Nov 16, 2011
    Messages:
    17
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    I swear I've looked up and down for it, but where do you enter the male characters name in game?
     
  7. RajasGrime

    RajasGrime Avid Affiliate

    Joined:
    May 10, 2011
    Messages:
    961
    Likes Received:
    18
    Re: A Guide to Making Dialogues

    I believe it's the field underneath the buttons you use for loading dialogue. It has "no name" entered by default.
     
  8. EO

    EO Potential Patron

    Joined:
    Nov 17, 2011
    Messages:
    14
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    In the "Custom" tab where it says "Dialogue name" (which seems like an odd place and name for it to me).

    Added it to the guide.
     
  9. pornphile

    pornphile Potential Patron

    Joined:
    Nov 16, 2011
    Messages:
    17
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    Gotcha. And much thanks for a comprehensive guide.
     
  10. Wundervagen

    Wundervagen Guest

    Re: A Guide to Making Dialogues

    Help me pwease. I can't make cyrillic dialoge, cause SDT can't see cyrillic fonts. What to do?
     
  11. EO

    EO Potential Patron

    Joined:
    Nov 17, 2011
    Messages:
    14
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    I'm not gonna lie, I didn't even know what you were talking about until I went and Googled "cryllic." Sorry, I have no idea what you could do.
     
  12. tonyh5144

    tonyh5144 Potential Patron

    Joined:
    Dec 7, 2011
    Messages:
    12
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    I suspect the font SDT uses to display the dialogue doesn't have anything for the Cyrillic letters - if you include Cyrillic letters in a mainly Latin dialogue, SDT just pauses when it's supposed to be writing the Cyrillic.

    If that's so, the easiest way to fix it is probably to change the dialogue font to something that includes Cyrillic letters. But I don't know how you'd do that - perhaps a SWF mod, or something using ModGuy's loader?
     
  13. tonyh5144

    tonyh5144 Potential Patron

    Joined:
    Dec 7, 2011
    Messages:
    12
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    By the way, stars, quote-marks and colons seem to work in dialogue lines for me. If I put a dialogue line
    intro:"Who needs vitamin supplements? *snigger* "Not *ME*": I have your cum*!"
    it produces
    Who needs vitamin supplements? *snigger* "Not SD chan": I have your cum*!
    just as I'd expect. It all seems to work OK as long as the quote-marks at the beginning and end of the text are there.

    Square brackets will work in the text too, but if you have a [ followed by a ] SDT will think you want a custom dialogue type and try to find it! But [ or ] on their own will work, or a ] followed by a [.
     
  14. Blargh

    Blargh Potential Patron

    Joined:
    Oct 21, 2011
    Messages:
    6
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    Very helpful thread, thank you.

    One thing I would like to add is "weighted" dialogue. Due to the fact that the game seems to pick one line at random from all appropriate possibilities you can weigh the dialogue towards a certain outcome by simply repeating the line.

    Let's say you want your character to generally enjoy it, but have a 20% chance to break down and beg for more. Try this:

    Code:
    general:"I would like to inform you about my enjoyment."
    general:"I would like to inform you about my enjoyment."
    general:"I would like to inform you about my enjoyment."
    general:"I would like to inform you about my enjoyment."
    general:"HARDER, YOU SON OF A SILLY PERSON!"
    
    Since the game selects a random line, there is an 80% chance that she merely enjoys it and a 20% chance to call for harder treatment. You can, of course, expand that with more lines; the cleanest way would probably be to add a comment to the line and add the additional lines at the end of the text file::

    Code:
    //Add 3 lines for an 80% chance:
    general:"I would like to inform you about my enjoyment."
    //Only use one line:
    general:"HARDER, YOU SON OF A SILLY PERSON!"
    
    (...rest of file...)
    
    //Additional lines for weight:
    general:"I would like to inform you about my enjoyment."
    general:"I would like to inform you about my enjoyment."
    general:"I would like to inform you about my enjoyment."
    
     
  15. booster

    booster Avid Affiliate

    Joined:
    Sep 19, 2011
    Messages:
    332
    Likes Received:
    1
    Re: A Guide to Making Dialogues

    blargh, theoretically thats a good idea but practically you'll have to read the same line over and over again
     
  16. ModGuy

    ModGuy Club Regular Content Creator

    Joined:
    Feb 17, 2011
    Messages:
    1,754
    Likes Received:
    22
    Re: A Guide to Making Dialogues

    Honestly...

    At this point in time it would be trivial to implement a dialogue tree system.
    After saying a specific piece of dialogue, raise a flag.
    That flag determines the next X options available from a set.

    [​IMG]

    It would be tricky to make this easy to understand for a user though.
    It wouldn't be all that difficult to create a graphical design tool where we hook up dialogue to nodes and connect nodes with paths.
    Of course variables can also be thrown in there, where a dictionary holds names and values, for easy reference later on.

    EDIT:
    Surprised that kona has not yet allowed for custom scripting.
    That would make devving the loader so much easier.
     
  17. Blargh

    Blargh Potential Patron

    Joined:
    Oct 21, 2011
    Messages:
    6
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    You can easily expand that to use more lines, of course.

    Code:
    general:"Line 1"
    general:"Line 2"
    general:"Line 3"
    general:"Line 4"
    general:"Line 5"
    
    general:"Line 1"
    general:"Line 1"
    general:"Line 1"
    general:"Line 1"
    general:"Line 2"
    general:"Line 2"
    general:"Line 2"
    general:"Line 3"
    general:"Line 3"
    general:"Line 4"
    Five different lines in descending order of probability. Obviously there's only so much you can do with it before it gets really ridiculous, but hey, it does work.

    And I whole-heartedly support the implementation of custom scripting and dialogue trees.
     
  18. EO

    EO Potential Patron

    Joined:
    Nov 17, 2011
    Messages:
    14
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    About the above discussion: I'm pretty sure the game is random about choosing lines, except that it doesn't choose the same line until it has gone through all other lines of the same type. Of course, this doesn't really change the "weighted lines" concept, except for noting that it introduces the possibility of the same line repeating consecutively when it wasn't possible before. Alternatively, one might do something like this:

    intro:"Line 1"
    intro:"Line 2"
    intro:"[OTHER]"
    OTHER:"Line 3"
    OTHER:"Line 4"


    So lines 3 and 4 appear half as often as 1 and 2, but lines still can't repeat consecutively.

    Also, in terms of what Modguy was saying: unless what I wrote above is wrong, the game must already have a way of flagging a line, a way of making a line appear under the condition that it hasn't been flagged, and a way of clearing the flags once all lines have been flagged. So really, it'd seem much of the work has been done already and it just needs to be expanded slightly and made accessible to the user. I could be wrong though. I don't know much at all about flash or programming in general.
     
  19. ModGuy

    ModGuy Club Regular Content Creator

    Joined:
    Feb 17, 2011
    Messages:
    1,754
    Likes Received:
    22
    Re: A Guide to Making Dialogues

    Last time I checked code was as follows:
    Have user do something to trigger condition.
    Pick a random line of dialogue based on the triggered condition.
    So if your too rough, the game will select a vigour(?) line randomly.
    No flags, no real condition checking for dialogue.
    All it does is raise the function to display a random line from a category.

    Flags are only helpful here for storing the current state of dialogue, not for actually selecting lines.
    Lines are selected by meeting conditions, the possible set is decided by the current node.
     
  20. EO

    EO Potential Patron

    Joined:
    Nov 17, 2011
    Messages:
    14
    Likes Received:
    0
    Re: A Guide to Making Dialogues

    But it isn't random though, is it?

    (from Konashion's v1.8.1b notes)
    - Added priorities to dialogue types and more checks to avoid repetition. (This was previously just random, with a check to avoid the last used line. Now a line will not repeat until every other line has been used.)

    Though perhaps I'm misunderstanding the concept of "flagging." Like I said, I'm more or less speculating out of my ass here.
     
Thread Status:
Not open for further replies.