Why is writing interactive fiction still drawing diagrams instead of writing?

Are some posts ai here. Sorry I can’t tell anymore.

10 Likes

I think the point I’m trying to make is that the text itself isn’t necessarily contiguous to start with so past a fairly low threshold of complexity you need some way of grouping, organizing, or otherwise allowing the author to keep track of what they’re doing in the text layer.

2 Likes

Yes, but no…sorry I use gpt for helping with translations.sorry if that is a problem, but otherwise I couldn’t express what I want correctly. I could try but this is my best English XD

1 Like

Thanks for bringin that up, I was having that uncanny feeling as well, I just didn’t know how to address it… I was thinking “it’s a sorry state if I can’t see people writing in a good acceptable “I see your point and its validity. I will now explain my intent” format without wondering whether it’s AI. It’s even sorrier when it turns out that yes, it was.

Seems good enough to me!

EDIT - Incidently, I tried to remove the “like”s from the posts that were probably AI written (sorry, I won’t “like” AI-written posts") but the forum doesn’t seem to want to let me…?

1 Like

That is because it is a short text… sorry so much for using that tool, and I did not realize that it sounds like English gpt… the truth is that I write them in Spanish and translate them later

This forum doesn’t allow LLM-generated posts, but we’re fine with automatic translation, as long as the original non-English version was written by you.

Likes are locked in after a certain period of time and then can’t be removed. I’m not sure why.

3 Likes

No worries! This is an international forum and your English is definitely comprehensible enough for what you’re trying to do here. And there’s plenty of Spanish speakers around should you have trouble getting something across – in fact, there’s an entire section of the forums for Spanish-language discussion!

5 Likes

This is a QBN - Quality Based Narrative.

3 Likes

In a software engineering world, some of us might talk about needing to model the problem space, learn the language, understand the structure - all before writing any code. (when I say model, I’m talking about learning not drawing a map)

We do this by listening to the domain experts and users.

What you’re proposing seems to be an IF version of that process.

What if I could write the story and in natural language and have tool infer logic.

Inform makes strides in this direction, but we all know it really is a declarative programming language.

This is what we tried to do in Textfyre when designing and writing the published and unpublished stories we targeted. We had a Word document that described the world, its set pieces, but it also explicitly had map models too, but those are authoring materials, not necessarily required to build the story.

I’ve only helped write one Twine game and it was a fluid process.

I have no magic solution, but I do think there’s value in exploring this problem space. Your demonstration is intriguing.

3 Likes

Thanks for undestanding it! I normally write my originals in spanish. Sorry so much for the noise… the conversation was being super interesting! lets keept it in that direction!

I’m not aiming for a purely compositional narrative.

The idea is to write the narrative layer first, almost linearly, and then let a layer of logic and behaviour determine which parts appear, disappear, or change depending on certain conditions.

So instead of assembling the story from fragments, the story exists as a continuous text and the system shapes how it is revealed.

The complexity still exists, the conditions still exist, but they live in the behavioural layer rather than in the text itself. If you look at the text, you wouldn’t find any if/else or any setVariable… The idea is to move that noise into a separate layer.

I’m a software engineer, so that background has probably influenced the way I’m thinking about this. :slight_smile:

At the moment the approach (and the iepub prototype I’m experimenting with) hasn’t really escaped declarative logic. The conditions and rules are still there.

What I’m trying to do as a first step is simply isolate that logic so it doesn’t live inside the text itself.

From the author’s perspective, the narrative can remain readable as narrative, while the structural or behavioural layer determines what actually appears. Not sure even if it is possible to avoid adding that logic in a way or another manually without letting AI participate (What I think should be avoided, in order to keep authoring first novels)

So maybe the first step is not removing the logic, but moving it out of the prose.

1 Like

Or maybe you find the correct language to implement logic. In the DDD world, we rely heavily on workflows or scenarios that describe validation of models. I’ve theorized a similar effort could enable the logic of a story.

2 Likes

That’s a really interesting direction, but how would you actually achieve that?

To be honest, I can’t really picture it yet.

How do you build a logic layer that is scalable, holistic and general enough not to depend too heavily on a specific book or a specific writer, while still evolving in a way that can match very different narrative scenarios?

This is what I’m having trouble understanding. If the story genuinely contains the potential to branch and vary dramatically in response to player choices, then I don’t see how it could possibly “exist as a continuous text”.

Or, in other words, I don’t see how you could “write the narrative layer first, almost linearly” unless the game you’re trying to create is, on some fundamental level, “almost linear.”

The closest thing I can think of to what you’re describing would be a sort of “live preview” that lets you view a single branch/playthrough in a linearized form, with the ability to edit the prose from within that “preview” view. But I’m not sure this would offer much beyond the sort of “live preview” functionality that already exists in Inky, for example.

5 Likes

The use I made of word “continuous” might be confusing.

I don’t mean that the story is literally one continuous path. Branching and conditions still exist. They need to.

What I mean is that, from the author’s perspective, you can write a readable narrative surface first( almost like a linear draft) and then attach conditions that cause certain parts to appear, disappear or change depending on state. it’s closer to writing a layered text than assembling a story from fragments.

Scenario:

  • before the player character can travel north from the troll room, the troll must be killed
  • when entering the gas room with an open flame, an explosion kills the player character

Right, but that’s only practical for certain kinds of stories, with conditions attached to certain sizes of blocks of text, right? I feel like we’re all talking about different things here, so what if we ground this in something concrete? Let’s take the beginning of The Intercept, the example that Inkle launched Ink with. I’ve stripped out all the code (except to demarcate with curly brackets the couple of inline bits that vary based on certain conditions).

Do you think this is a readable or useful way for an author to work/write in the absence of any code structure? Because I don’t, particularly. How do you have any idea which of the 5 “Wait” options go at which level of nesting and connect to which other thing? Why is the following NOT a grammatical error?

“We need that component,” he says.
Yes
“Of course I do,” I answer.

The Intercept Intro, text only

They are keeping me waiting.
Hut 14. The door was locked after I sat down.
I don’t even have a pen to do any work. There’s a copy of the morning’s intercept in my pocket, but staring at the jumbled letters will only drive me mad.
I am not a machine, whatever they say about me.
I rattle my fingers on the field table.
Think
They suspect me to be a traitor. They think I stole the component from the calculating machine. They will be searching my bunk and cases.
When they don’t find it, {then} they’ll come back and demand I talk.
Plan
{What I am is/ I am} a problem—solver. Good with figures, quick with crosswords, excellent at chess.
But in this scenario — in this trap — what is the winning play?
Co—operate
I must co—operate. My credibility is my main asset. To contradict myself, or another source, would be fatal.
I must simply hope they do not ask the questions I do not want to answer.
Dissemble
Misinformation, then. Just as the war in Europe is one of plans and interceptions, not planes and bombs.
My best hope is a story they prefer to the truth.
Divert
Avoidance and delay. The military machine never fights on a single front. If I move slowly enough, things will resolve themselves some other way, my reputation intact.
Wait
Half an hour goes by before Commander Harris returns. He closes the door behind him quickly, as though afraid a loose word might slip inside.
“Well, then,” he begins, awkwardly. This is an unseemly situation.
“Commander.”
He nods.
He shakes his head.
“Now, don’t let’s pretend.”
Wait
I say nothing.
He has brought two cups of tea in metal mugs: he sets them down on the tabletop between us.
Deny “I’m not pretending anything.”
I’m lying already, despite my good intentions.
Harris looks disapproving.
Take one
I take a mug and warm my hands. It’s
“What’s going on?”
“You know already.”
Wait
I wait for him to speak.
He pushes one mug halfway towards me:
a small gesture of friendship.
Enough to give me hope?
Take it
I {lift the mug/take the mug}, and blow away the steam. It is too hot to drink.
Harris picks his own up and just holds it.
Don’t take it
Just a cup of insipid canteen tea. I leave it where it is.
Drink
I raise the cup to my mouth but it’s too hot to drink.
Wait
I say nothing as
“Quite a difficult situation,” {he/Harris} begins {sternly}. I’ve seen him adopt this stiff tone of voice before, but only when talking to the brass. “I’m sure you agree.”
Agree
“Awkward,” I reply
Disagree
“I don’t see why,” I reply
Lie
Evade
“I’m sure you’ve handled worse,” I reply casually
sipping at my tea as though we were old friends
.
Watch him
His face is telling me nothing. I’ve seen Harris broad and full of laughter. Today he is tight, as much part of the military machine as the device in Hut 5.
Wait
I wait to see how he’ll respond.
Smile
I try a weak smile. It is not returned.
“We need that component,” he says.
Yes
“Of course I do,” I answer.
No
“No I don’t. And I’ve got work to do…”
“Work that will be rather difficult for you to do, don’t you think?” Harris interrupts.
Evade
Lie

3 Likes

I feel they could, but why would you want to? :slight_smile:

What I mean by that, is that the more a tool abstracts me away from the writing process, the worse it is for enabling me to write. This is the same thing you said you wanted in the initial post, I realise, but when I look at your tool I see more barriers to writing, not fewer. I don’t want to have to make links and conditions by breaking out of the writing flow to interact with boxes and drop-downs, I just want to write them.

It’s one of the big things I like about Twine, that my links and logic are just more text I can write. I don’t have to take my hands off the keyboard to do them. (I do have to take them off to switch passage, and that is a pain, and a strong reason lots of people work directly in Twee).

It’s the same reason Markdown has become so wildly popular on forums and message apps, because you can format the text without having to take your hands off the keyboard to click buttons on an editor. (And it’s a lot more typeable than the old-style BBCode it replaced).

I also think, as others have said, that the logic and text are often impossible to untangle. it’s one of the pleasures of working in IF, that I can change the text word by word to reflect the past story if I want. I often have interjected words, or even plural endings, based on variables. I’ve not seen any graphical UI that allows that sort of flexibility.

3 Likes

I think your example is very helpful because I agree with the core of the criticism: plain text alone is not enough…
What you’re describing (being able to see the structural layer clearly while writing) is a real need. If you strip everything down to plain prose, the author loses too much context about how things connect. So I agree that some kind of explicit structure is necessary.

What I’m trying to explore is slightly different: not removing the structure, but moving it out of the prose itself.

Just as an experiment I tried modelling a small fragment of the example you posted using the approach I mentioned earlier and the tool I am exploring with.

The narrative layer can stay readable as narrative:

Harris pushes one mug halfway towards me.
A small gesture of friendship.
Enough to give me hope?

Then the choices exist as their own objects:

  • Take it

  • Don’t take it

  • Drink

Each choice can have an extended narrative block attached to it. For example:
Take it

I lift the mug and blow away the steam.
It is too hot to drink.
Harris picks his own up and just holds it.

So the author doesn’t have to infer structure from indentation or mixed syntax inside the prose. The structure is still there — it’s just separated from the narrative surface.

Variants can still exist when needed. For example the line:

I lift the mug and blow away the steam.

could have an alternative:

I take the mug and blow away the steam.

triggered by some behavioural condition (in the example I hace assembled)

To be sincere, what I showed here is a bit of a cheat because in the prototype tool, the system doesn’t support alternate text inside the extended block of a choice the way Ink does inline (yet…I simplified that part for the example.:slightly_smiling_face: )

Handling those kinds of micro-variations cleanly without re-introducing logic into the prose is one of the things I’m currently working on.

So the complexity doesn’t disappear, the conditions are still there.
What I’m thinking about is just moving them away from the prose layer so the narrative itself remains readable as narrative.

And I’m still not sure how far that idea can be pushed in real practice, but it’s probably an interesting space to explore.