20 March 2018

a narrative rpg | development blog
Previous post
Next post
15 Feb 2017 || Some story functionality and pictures

Hi again eveyone, got a handful of different things to show this update. Biggest thing first, the budding story system:

Handling background images and picking dialogue options is still only half done, so I couldn't show any of that yet. But I'd say all the necessary basic for dialogue are pretty much there.

A lot of the work has gone into trying to minimize the amount of writing that I'd have to do when making the "frame scripts" for dialogue scenes, since there'll be so many of them and I know I'll be typo-ing all over the place anyway. If you remember one of the first posts, the frames for the first test thing had a structures like this in a jSon file:

"dialogue": "bla bla bla",
"speakerExists": true,
"speakerName": "Mikkel",
"isChoise": false,
"avatar1": "mikkel_neutral_1",
"avatar2": "sigrun_neutral_1"
"arrowLeft": true,
"endOfScene": false;

Now the frame only needs the following to achieve all the same functionality:

{ "Dialogue": [ "bla bla bla" ],
"Speaker": "Mikkel",
"AvLeftSlug": "mikkel_neutral_1",
"AvRightSlug": "sigrun_neutral_1"

Now the script that I've made for "creating" the frames from the file also deducts as much information as it can from the few parameters that are pre-defined by me. For example, the "arrowLeft", true or false, flag was used to determine if the speech bubble arrow should point to the left or right. But now the script can figure that out itself this way:

If a speaker name is given a function will extract a everything from the avatar slug (eg. mikkel_neutal_1) until it hits the first "_" character. Then it'll compare the uppercase of that to the uppercase of the speaker name, so comparing "mikkel" to "Mikkel" would be a positive case. If either avatar's beginning matches the speaker name then the speech arrow (and name box) will be pointed in that direction. If neither avatar matches, but there is a speaker name, then there won't be a speech bubble arrow at all and the name box will be in the middle, which might come into use if there's ever a case of "god voice speaking" or something like that.

Other streamlinings so far are removing the "speakerExists" (if a speaker name has been given, then of course a speaker exists, Otherwise it doesn't) and "isChoise" (the "dialogue" parameter is now an array of strings rather than just a string. If there if only one line in the array, then that line is normal dialogue. If there's more than one, then each line will be treated and displayed as dialogue options instead.)


So that has been most of the work these last two weeks. Here's also this drawing that some of you already saw on twitter:

...aaand to round out the post, a possible design for Reynir:

That's right, you might get him with short-ish hair in this story. Not sure what the next update will be focused on, I might finish up this stuff with the dialogue options and such, or maybe clean up some of the menus. Or start drawing a second, slightly larger scene to test around in. We'll see then~