Tag Archives: branching dialogue

#WriteTuesday – Memories Feedback Acquired!

My friend playtested Memories over the weekend!  Overall he liked it (he called it a “nice, heartful story”). 🙂  He found a few mechanical things I needed to fix, like how locked doors would open, display the text “the door is locked” then close (he helped me fix that!) and how the ending was a bit weird because after the credits it said “Game Over;” together we figured out that you could send the game back to the Title instead of using the Game Over command, so I’ve implemented that instead.

He also said he really liked how you get more and more dialogue options with NPCs as you unlock more emotions, so I’m super glad I got some of that implemented before he playtested!

So since then, I’ve been working on implementing more of those dialogue choices.  I think I’ve got pretty much everything in place now (there are still a few places where there isn’t a dialogue choice, but I don’t really think they’re needed).

Over the weekend I also noticed a problem with my naming scheme for all the characters.  Here are their names again:

Picture of Memories NPCs with names

When I designed this, I tried to have people who were related to each other have names with the same starting letter.  I thought I did a good job of this, but I just noticed that the wizard name (Edric) starts with an E, just like my mother daughter combo of Eireen and Ena! 😦  Unfortunately, these names are kind of ingrained in my head now; I took a look last night and couldn’t find anything else that worked for any of them.  So in the end I decided to leave them as is.  Whoops!

So now that the dialogue choices are all in place, I need to actually go back and make sure the dialogue works for each character (and that each character actually has their own voice).  Once that’s done, I think Memories just needs a better name then it’s pretty much finished! 😲

So how’s your week been?  🙂

1 Comment

Filed under Game Development, Writing

Working on Samples

Over the last month or so, I’ve had a couple of different people ask me for game writing samples.  I directed them to my main website, shaunakosoris.com, so they could see what I had readily available.  Unfortunately in both cases, my available samples did not meet their needs (one person requested samples with romantic dialogue, while the other was looking for non-fantasy samples). Currently on my website, I have three samples: two are character biographies that were developed for different games, and the other is made up of actual scenes from a game (mainly dialogue with a bit of branching narrative).

I have written a couple of pieces over the years that I think would have better met what these people were looking for. Unfortunately I am unable to showcase them as samples.  So I decided to set to work remedying this.  Two nights ago I went looking for writing prompts to use as a starting point.  I was specifically looking for more of a real-world idea, but ended up finding a fun romantic dialogue prompt instead.  I was going to write the sample in Chat Mapper, with the intention of exporting it as a .rtf (I was really hoping to see what the output would look like with branching dialogue).  Unfortunately I don’t currently have access to that capability, so I had to use a different program instead.  Last night I played around with TyranoBuilder a bit, thinking I could build it there, but I don’t think there’s a way to export the dialogue (and I wasn’t planning on writing an entire Visual Novel, although that might be something to try in the future).  So I ended up writing the first draft of the sample in Word. I had a lot of fun writing it (it’s currently over 900 words!) I’m hoping to get it edited and up on the site over the weekend. 🙂

Leave a comment

Filed under Game Development, Tools, Writing

How Branching Narrative is Useful Outside of Game Design – Building a Chatbot

While I was at work the other day, I came across a post by the Social Media Examiner titled “How to Create a Facebook messenger Chatbot.”  After explaining some basics on what a chatbot is and how it can benefit your business, Social Media Examiner gives some basic definitions and jumps right into how to build one with Chatfuel.  This was the picture that very specifically caught my attention:

Picture of chatbot block made of the card and button.

This image is linked from Social Media Examiner’s original post. Their caption: “This is a visual representation of the placement of blocks, cards, and buttons in a chatbot.”

My immediate reaction upon seeing this picture was: “This is branching narrative!”

Don’t believe me?  Check out this example from the Storynexus Reference Guide:

An example of a Storynexus Storylet.

Storylet example that appears in the Storynexus Reference Guide

Out of the bit of branching narrative programs I have worked with, I have arguably the most experience with Storynexus; that’s why I immediately saw the parallel between it and Chatfuel.  Under the root Storylet, the branch happens, and then you program in whatever result(s) you want.  Storynexus is a little more complex, but you can still see how it has the card and button block structure.

Here’s one more example.  This is a Chat Mapper piece I put together for Apocalypse Madness back in January 2015 called “Village Woes“:

Chat Mapper output showing Village Woes

Chat Mapper output for Village Woes

Once again, you can see how it’s got the basic card/button structure (particularly at the beginning of this story, where it has the initial split in choices).

So after I had the realization that a Chatfuel chatbot is created very much like branching narrative, my next thought was “I can make one!”

And so I did!  I got permission from CILU’s Station Manager to build one for CILU’s Facebook page.

It took me about five hours to build the menu system of the chatbot, which is its basic backbone.

Block structure of the CILU chatbot.

As you can see on the left side of that picture, the bot starts out with two built-in blocks (the welcome message and the default answer).  Then you can make however many blocks you want (my current bot has 34 plus the two built-in ones).  On the right side, I’ve got the block titled “Main Menu” open as an example.  I made the card a text card (all of my bot’s cards are currently text cards) and gave it three buttons that link it to other blocks.  I wanted to have five buttons at the bottom of this menu, but Chatfuel limits you at three buttons per card.

Once that was done, I asked friends and family members to test the bot so I can refine its AI.  The AI is the one thing that branching narrative from Storynexus and Chat Mapper did not prepare me for.  But that’s okay – Chatfuel has a really easy to use interface.

AI Set up for CILU bot on Chatfuel

You click on the big red button (on the left side of the picture) to add an AI Rule.  Then you get to tell the bot what to reply with (either text or one of the blocks you’ve already programmed) when the user says something to it.  So in this example, if the user asks what’s on the air right now, I’ve got the bot set to reply with text linking the user to the CILU schedule (and also reminding them how they can listen to the station).

The AI has been quite fascinating to build.  I programmed in phrases that I thought people would say, and have been adding more and more as people have tested it.  For example, someone asked to “speak” with our station manager, but I hadn’t programmed it to recognize that command (if they had asked to “contact” the station manager, the chatbot would have been fine).  So after that interaction, I went back into Chatfuel and added more phrases to better connect people with the information they’re looking for.

Another example was the simple act of greeting people.  When I originally asked people to test the chatbot, I hadn’t thought about getting it to say things like hello or goodbye.  But now it can!

What’s really neat about the whole thing is how the chatbot has evolved over the last week.  When I first asked people to test it, the chatbot was a very rigid menu system that you click through to get to the information you wanted.  After a few days of refining, the menu system is there if you need it (which the default answer is quick to remind you of), but the chatbot is able to get you the information you want by just chatting – no menu required!

Of course it’s still in need of refinement, since it failed with its first real customer.  But the more people who test it by asking it things, the better I’ll be able to program it.  If you’re interested in testing it, or just want to see the chatbot in action, you can access it through this link (but you’ll need Facebook Messenger), or by contacting the station on the CILU Facebook page.  And feel free to leave me any comments or feedback – it’ll help me with refining the bot!  🙂

Leave a comment

Filed under Game Development, Tools, Updates, Writing

More Tears Development

I didn’t post about it at the time, but I did a lot more development on Tears of the King last night.  I ended up building the caverns below the mine.  There are two caverns you walk through, which lead you to a much smaller lava cave.  There you find one of the ingredients you need, which causes a boss fight (still slimes!).  I stayed up way too late building all of this, but I’m super happy with how it all turned out, especially the lava cave:

Lava Cavern

Today I haven’t done as much, but I did manage to get some looped branching dialogue into the game, which was pretty exciting.  I added some really simple branching dialogue yesterday after my friend played through what I had at that point.  A priest in the starting village asks you if you want to know more; my friend did, but there was no option and no other dialogue.  So I put a little something in place for now.  So today I decided to put some NPCs in Storm Point (that’s one of the towns).  When I got to the church there, I put in a bit more extensive branching dialogue (there were three choices instead of just two).  But when I tested it I discovered the dialogue would end automatically after you read through one branch.  That really didn’t work in this case, so I had to play around with Loops.  Using a Loop means you can go back to the choices after you play through the dialogue options.  Here was what I ended up with (just playing through one branch):

Here’s how you make this happen:

  1. On your event page, first choose a Loop (it’s under Flow Control).
  2. Next, choose Show Choices (under Message).  You’ll get to make a few choices (the default ones are Yes and No).   Put your dialogue in place as you normally would  (under Message, Show Text, then choose a picture and write some dialogue).
  3. Finally, on the choice that will end the dialogue, put a Branch End into it (that’s also under Flow Control).

Here’s a simplified version of what your event page should look like:

How to make looped branching dialogue

When I was trying to make this work, I started with writing the choices, then tried to make a loop happen afterwards.  If that’s the case, you can just cut the whole choice and paste it into a loop.  Don’t forget to put the Branch End in or else the dialogue will never be able to end!

Leave a comment

Filed under Game Development, Tools