Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Oops, I snubbed a key part of your question - and it was in the thread title too! This happens when loading the game. I'm afraid this is not a detail.

Does the bug occurs if you load the game immediately before the choice?

My new guess is that if you save the game in a position where a choice happens, but the choice is actually overriden by the fallback option, when you load it it is positioned at the brink between the sentence before the choice and the default sentence after the choice. Usually, this non-choice is just skipped and we fast forward to the next sentence, but by loading it in that exact point the engine has to display something and the blank sentence is delivered.

It looks more like a quirk of the Ink engine but I'm not sure.

Yes, I think the save was done on the line right before the questions come up / possibly once the questions started showing but before one was selected.

Do you know if there’s a way to fix it, or would it be better to prevent saving right before a choice?

My general opinion is that it makes more sense to only allow saving in sparse key points of the story. But this is more of a game design point.
I'm really not sure how we may fix this. I could just modify the Gateway so that blank options are not delivered, but I'm afraid someone could have used blank options meaningfully and it would break their expectation.

Would it be possible to set it up as a toggleable option? This way, people could leave it off if they need blank choices for whatever reason.

I have a less impacting idea: we can just check if we are in this buggy situation immediately after loading. In that case, the option is automatically chosen. It's very ad hoc but it could work.

Sure, that makes sense!

I know it was centuries ago, but I tried again and I could not reproduce the issue. I really don't see when this happens. Perhaps updating Ink to the latest version fixed it?

(2 edits)

I’m not sure – I ended up adding

if (string.IsNullOrEmpty(line)) 
{
    continue;
}

to the foreach (Choice choice in choices) loop in Narrate().

And since that fixed it, I haven’t looked into it more since.

Very well done. I won't add this in the tool itself because I don't want to break potential situations in which the blank line was the expected behaviour for some kind of artistic effect, but it looks like the bold thing to do.

(+1)

It’s definitely not something for every project haha – but it suited the needs of what I was working on :)