Cost of Living: A Study in Stateful Media with Narrational Agency (Poll: What is Cost of Living?)

Hi there!

I make stateful media that has an emphasis on narration-based agency.

I believe the worst thing you can do to an audience is break their suspension of disbelief. To help myself avoid this, I eschew story-based agency.


…well, this is the ideal version of what I’m working towards, at any rate. I’d like this post to be a dialog about my progress and ideas, so instead of offering a sanitized “data dump” that densely summarizes my ideas, I’ve compiled here all of my replies to various reactions to my ParserComp 2022 entry, Cost of Living. I’ve edited down the replies and tried to apply a cohesive flow to them, but I probably didn’t do a great job.

Here is a link to Cost of Living in case you want to read that before continuing to read this.

And a link to the IFDB entry.


Before I jump into this, here’s a response where I explain my framing of “stateful” versus “stateless” media.

Web application development (e.g., REST architecture, microservices, React’s state management, etc.) is what helped me abandon decades worth of imprecise partitions (e.g., dynamic, interactive, digital, ergodic, etc.). For my considerations, if a medium can change state, then that medium is stateful, and otherwise, that medium is stateless. Please note, however, that aside from my framing being yet another “same difference”, this framing supports a deeper theory on “interaction” within stateless media.


And for some vague context, here’s my developer note that I left on Cost of Living.

The first time I tried to adapt Robert Sheckley’s Cost of Living to interactive fiction was about two years ago. I’d just completed a second game with — yet another — innovative but custom-made system. The next horizon for me was to adapt a literary short story. My excitement was at an all-time high.

What I did manage to finish was terrible. It stunk! I felt frustrated and disappointed with myself. If you’ve ever tried to adapt a short story to interactive fiction, then this admission might not surprise you.

This is my second attempt. But this time?

This time I demolished everything I knew about interactive storytelling, cleared the rubble, and reconstructed on top of everything I learned about literature in the past two years.

This is just a glimpse of what I built. I hope you like it.


Cost of Living is my debut project. So far, I’ve received a range of responses, from confusion to curiosity and from love to hate.

Here’s a few quotes from the responses:

I found the mechanism really fun, and it made me want to read the original story.

Sorry we had to disqualify your game! I did play it, and it is lovely, but it’s not a parser game.

I’m quite befuddled and flabbergasted and foozewonkled by this. That, and I really like it.

Cost of Living opens a new path in creating parser games. I can ensure you.

That said, I missed much of the point of the game, perhaps because the idea is very new.

I love the lateral thinking, but still kind of felt like this was so much homework, not an interactive experience.

In theory these are fixable problems – though they’re also generally the hardest problems in any kind of writing – and at any rate there’s value, and honor, in a failed experiment.


As you see, my entry to ParserComp 2022 was disqualified. But don’t worry, as I’ve said a few times — that’s fine! I was going for something different, and I wasn’t sure if it was. At least now, I have some general consensus.

This is me trying to convince the organizers and participants that I’m making an honest effort with my submission.

If you don’t mind, I’d like to share a few details about my approach. My hope is to shed light onto the reason I submitted my experiment to ParserComp.

My tech stack uses parts of https://naturalnode.github.io/natural/. Here is the blurb about the library:

“Natural” is a general natural language facility for nodejs. Tokenizing, stemming, classification, phonetics, tf-idf, WordNet, string similarity, and some inflections are currently supported.

Since I’m leveraging a parser (and the title of this jam is ParserComp), I did not think to ask for further clarifications. This was my fault and I apologize.

My “stateful narration” approach was directly inspired by the original parser experiment, Weizenbaum’s ELIZA. You might need to squint to see the inspiration, but I assure you, it’s there.

Finally, my experiment does have a world model with state that changes over time. A storyteller can add, modify, and echo the state of the world model; an audience can only add and modify its state. I think the contention I’m experiencing originates from the domain of my world model. My approach implements a social reality world model, whereas the classical approach implements a physical reality world model.

Some people did see a semblance to ELIZA. But I’m pretty sure most people are convinced that I’m trying to trick them. So this is me beating a dead horse (and sounding pompous in the process).

I promise that I had no intention of usurping the classical expectation of parser-based interactive fiction (e.g., Colossal Cave Adventure and Zork). I deeply respect this particular format, as I have been playing it and all other forms of interactive storytelling for the last three decades. I have extensively studied the subject for the past four years, and consider myself a scholar on the matter (I have several planned papers I will be extracting from the over 500 pages of notes I have taken throughout the 70 scholarly books and papers I’ve read on the matter).

For me, this competition is the first stop on my way to making a Hollywood-style studio system. Astute readers might have picked up on this from the credits of my submission; stateless writer (novelist), stateful writer (script writer), artistic engineer (director). In other words, my system splits apart the herculean triune author, and allows its writers to be writers, designers to be designers, and its engineers to be engineers. I have also built a rapid and repeatable process; I adapted Cost of Living in about two and a half weeks. I want to create an avenue for our community to become wealthy from interactive storytelling. I want put together a team that will create a work that is as recognizable to the “everyman” as Hamlet, Don Quixote, Citizen Kane, and Mario & Luigi.

Cost of Living is nothing more than a conceptual demonstration that aims to test the strength of the core of my vision. It is an artifact from the past two years of my research. My most important take away for this competition was its feedback, particularly from the rating system and the wonderful community that everyone built here. For this reason, I have to ask if there is a possibility that I may be an honorary submission (with participant approval, of course). If possible, could you please reinstatement my submission, graciously allow me to receive ratings and feedback, and then re-disqualify my submission before announcing the winner? It would mean the world to me right now!

I made myself sound sorry enough that I was allowed back into the competition. Thank you again to the organizers for allowing me to receive reviews and ratings!

However, you probably notice that I committed another mistake — I submitted a demo to a competition. I’ll come back to this in a later response. But real quick, a word on those 500 pages of notes.

I can also share something about my notes for the competition. Earlier, I humblebragged about my 500 pages of unedited notes. Well, turns out that hundreds of pages of unedited notes makes a lousy reference for a competition. Editing them will take months! What am I to do?

Random sampling to the rescue! That’s right, I randomly sampled my notes. I did not think this would work, but it wasn’t half as bad as I anticipated. After rolling some random numbers from random.org, I extracted 10% of my notes (along with a few must-have notes) to build a reference set for this competition. After a few editorial passes, I sculpted a functional set of notes. I’m rather pleased with the results and I’ll probably do this again for a few more competitions until I get a set of notes that I consider really special.

So, on we continue.


After mentioning my interest in academic articles about interactive fiction, I was recommended to read a dissertation on parser-based interactive fiction.

The section “What isn’t IF?” helped me process my debut reaction to my entry into ParserComp. I am relieved to see my approach is not a chat client (obviously), not a chat bot (world model, i.e., object tree), not a MUD (obviously), not a Façade clone (obviously), and not Hypertext Fiction (obviously). However, according to Douglass and the Interactive Fiction community, my approach is an Abuse.

The exemplary Abuse is Plotkin’s Tetris implementation using Nelson’s Inform. As Douglass points out, Plotkin’s Tetris is a consequence of a Turing Complete system. In other words, Plotkin’s Tetris is an instance of Searle’s Chinese Room with Nelson’s Inform acting as the translator. I can’t remember which thread, but Searle’s thought experiment was evoked to state a wait-and-see approach to Twine games with a parser-like aesthetic. In that same thread, Johnson’s Gruescript was accepted into ParserComp. This was after Johnson stated the following:

All I did was take out the actual parser, which is, for the most part, what people who don’t like parser games actually don’t like about them.

I definitely got a chuckle that participants can submit to ParserComp an entry without a parser!

Now that the waters are sufficiently murky, Douglass provides his filter:

A work may be command line based, non-temporal, single-user, manage an object-tree, have a parser, and still not be IF.

So what’s left? If mechanics don’t make an Interactive Fiction, then what’s left?

In short (and according to my experiences in this competition), Interactive Fiction must be dynamically and aesthetically derivative of Colossal Cave Adventure. Anything short of a clone is an Abuse. Perhaps ParserComp should adopt Douglass’ enumeration? At the very least, I have.

At this point, my lousy attitude stopped any further endearment to myself. And my burgeoning lack of tact grants me a lack of tact in a later review. I deserved it.


So now I was starting to get feedback. Understandably, there was confusion, which I was trying (poorly) to demystify.

Also, rest assured, the gist does differ between the stateless and stateful versions of Cost of Living.

Later on, I get spicy when a reviewer spoils the difference. You’ll see. Hopefully, there’s no hard feelings.


I start to use nonsensical gibberish to pique interest. Nobody is buying what I’m selling. The smileys don’t help my case.

However, in the meantime, I’ll share a vague academic-sounding buzzword without any context. :slight_smile: The architecture of Cost of Living is what I call Metaleptic Conversational Interstitials. Evocative? Pretentious? Unnecessary? I’ll let someone else decide. :slight_smile:

And more fluff.

My nascent approach to stateful media has a lot of room for growth. I consider myself in the awkward period of 18th-century novels where authors were exploring and discovering the techniques and tropes we now take for granted. I promise you that I agonized over how to transition into and among the metaleptic interstitials, but I ran out of the time I allotted to myself. I had to move forward to implement my other theories and models.

Here’s a folk-academic buzzword for the “interactive experience” that I’m striving to achieve: Noematic Interaction. (Ostentatious? Definitely. Can I help myself? Never.)

Reactions start to turn south, but I press on with explanations. As a reprieve, I try to drag in a cool gadget.

As you fairly point out, this new format rests upon the skills of a stateful author. I am happy to admit I’m a terrible author, regardless of statefulness or statelessness. I sunk 200+ hours into conversation research just to have you grant me a ¯_(ツ)_/¯. And I’m so proud of that, considering this is my first try.

However, the stateful writing process for Cost of Living was done entirely in Markdown. So maybe I can entice a great author to partner with me if I purchase them one of these?

Freewrite

How cool is this?!

but since it’s a very experimental system I get to blame the author anyway, neener neener.

And I’ll cheerily shift the blame to somewhere else (shoo! get!). This was a size trade-off. Instead something like this 50MB English dictionary, I chose a 500kB alternative. I realize that 50MB is tiny in the streaming era, but for a web site? I just couldn’t bring myself to do that to anyone.

Here, I’m picking apart my tech stack. I have no reason to believe I can’t iron out all the kinks; however, the topic of a limited word space comes up again later.


I finally get my most critical review for “Cost of Living, by Dorian Presser”. The author wasn’t as constructive as I hoped, but I appreciate his honesty. As I said earlier, my near-belligerent attitude certainly warrants an attempt to knock me down a few pegs. My response is amateurishly salty. And I rebuke the author for not including a spoiler blur.

But some good came of my whining. I spilled the beans about my vision for the future of interactive fiction. I’m not going to quote my response like I have been, and instead will place it into it’s own section.


Thank for the detailed review. It’s amazing! I was excited to read it and it did not disappoint. Many fair and constructive points. So, thank you, again, Mike! Since this review has the same stance as hawkbyte’s review, I’ll try not to repeat myself too much, except for now. I accept that I’m a terrible critic and author. I certainly could have made better “specific thematic and narrative choices”, but didn’t because I misunderstood the competition format. All things considered, I saw my choices as an acceptable risk.

And speaking of the topic of competition formats, please let me start by apologizing for entering a demo into this competition. This is the first time I’ve released a work and also my first engagement with an online community. I was not aware about the difference between a jam and a competition, and itch doesn’t help with the distinction. I want to acknowledge all the immense effort the other participants have spent on this competition. Thank you! I also want to thank you, Mike, for all the time you spend reading and reviewing all of the community’s works. And, of course, I extend a thank you to everyone else that also reads and reviews the community’s works. Thank you! As I said before, we probably wouldn’t be here without you.

So now with that preamble out of the way, please allow me to constructively reply to some pertinent points of your review.

However, the reason I was being kind of a jerk and pushing back here is that I’d first tried to type “disaffected”, which I thought was a good explanation for Billy’s mood, only to be told to check my spelling, and then hit the same rejection message after trying two or three more options."

Your response of “disaffected” is perfect, and is exactly the type of response that I envision my audience to use with my works. My primary design directive is to avoid breaking an audience’s suspension of disbelief. The current technology I’m using is necessarily scoped to its original purpose — and while I plan to expand it — unfortunately during your read-through, I did break your suspension of disbelief. I want to deeply apologize that you invested into a response that the current system rejects. I’m asking my audience to empathize and sympathize, which takes non-trivial mental effort. After your third attempt, not only was your suspension of disbelief lost, but so was your trust. I completely understand why you nuked my demo in this review. Your sentiments are exactly how I feel when I’m playing a classical parser-based game. Honestly, this is why I stopped playing them. The constant frustration of being told that I’m wrong became too much for me to bear as I got older and faced the constant frustration of ‘no’ that’s ever-present in our typical lives. (I often wonder how “frustration mechanics” became acceptable in the interactive fiction community. Is this Stockholm Syndrome? Anyways, I’m digressing.) However, with my approach, expanding the range of input is a tractable problem. But that doesn’t take away from what you intuit, which is that natural language is “really, really hard”. So I definitely have more work on my hands other than filling out a word bank. Honestly, I can use all the help I can get!

Without any solid textual prompting […] Again, there’s no basis for this turn towards the more overtly dystopic […] with no indication there are downsides to living longer

For a solid textual prompt, please let me refer you to the opening line of Sheckley’s stateless story.

Carrin decided that he could trace his present mood to Miller’s suicide last week.

In the almost 2,000 words of your review, you never attempt to answer this question: why did Miller commit suicide? Neither you nor Sheckley answer this question.

There’s clearly innovative thinking that went into presenting this story in this way.

Yes, thank you for noticing! However, my biggest innovation is my theories and models that are behind this particular instance.

As I’ve stated elsewhere, I’ve abandon story-based agency. Instead, my approach uses narration-based agency. Here’s some crude “model-based” definitions to help disambiguate what I mean by “narration-based agency”:

story = ordered sequence of the events
plot = unordered human-curated subsequence of the story
narration = "human element" of the plot

Another way to look at this is through the 5W1H journalistic questions:

story = who, what, when, where
plot-narration = why, how

So far, my intentions have slipped by unnoticed. But they’re there. And not in the Rothko-esque “airy abstraction” sense. I copy-pasted a template across the last five interstitials. It’s literally there. My particular exploration with Cost of Living was that an audience’s input alters the conversation (i.e., narration-based agency) but does not alter Mr. Sheckley’s stateless short story (i.e., story-based agency). And from where does this alteration originate? Within the foreshadowing of the stateless story! Specifically, the audience’s input will lead the conversational characters to conjecture about an upcoming passage, where this conjecture is based upon the foreshadow of the current passage. Here’s the template I copy-pasted across the interstitials:

Foreshadow Loop

~~~foreshadow N-1) compare

audience compares their prediction against the storyteller's solution

~~~

^^^convo LABEL_N-1_1.isHowIFeel LABEL_N-1_2.isHowIFeel

audience compares their prediction against the storyteller's solution

^^^

^^^convo LABEL_N-1_1.isHowIFeel LABEL_N-1_2.isNotHowIFeel

audience compares their prediction against the storyteller's solution

^^^

^^^convo LABEL_N-1_1.isNotHowIFeel LABEL_N-1_2.isHowIFeel

audience compares their prediction against the storyteller's solution

^^^

^^^convo LABEL_N-1_1.isNotHowIFeel LABEL_N-1_2.isNotHowIFeel

audience compares their prediction against the storyteller's solution

^^^

~~~foreshadow N) observe

audience observes the storyteller's foreshadow

~~~

^^^convo

audience observes the storyteller's foreshadow

Audience: $LABEL_N_1

^^^

^^^convo LABEL_N_1.isHowIFeel

Storyteller: @LABEL_N_1

^^^

^^^convo LABEL_N_1.isNotHowIFeel||LABEL_N_1.hasNoAffect

Storyteller: LABEL_N_1

^^^

^^^convo

audience observes the storyteller's foreshadow

^^^

~~~foreshadow N) empathize

audience empathizes (generates expectations) with storyteller's foreshadow

1) cultural traditions - we don't realize how much of what we consider

universal behavior is actually culturally prescribed

2) genetic heritage - we all have certain constraints

3) ability to analyze and synthesize - if we haven't practiced and developed

our thinking skills, we tend to fall back on old habits

4) new information influx - it is hard to make sense of observations when the

situation keeps changing

~~~

^^^convo

audience empathizes (generates expectations) with storyteller's foreshadow

Audience: $LABEL_N_2

^^^

^^^convo LABEL_N_2.isHowIFeel

Storyteller: LABEL_N_2

^^^

^^^convo LABEL_N_2.isNotHowIFeel

Storyteller: @LABEL_N_2

^^^

^^^convo

audience empathizes (generates expectations) with storyteller's foreshadow

^^^

~~~foreshadow N) predict (why)

audience predicts a later event based upon storyteller's prior foreshadow

~~~

^^^convo

audience predicts a later event based upon storyteller's prior foreshadow

^^^

^^^convo LABEL_N_1.isHowIFeel LABEL_N_2.isHowIFeel

audience predicts a later event based upon storyteller's prior foreshadow

^^^

^^^convo LABEL_N_1.isHowIFeel LABEL_N_2.isNotHowIFeel

audience predicts a later event based upon storyteller's prior foreshadow

^^^

^^^convo LABEL_N_1.isNotHowIFeel LABEL_N_2.isHowIFeel

audience predicts a later event based upon storyteller's prior foreshadow

^^^

^^^convo LABEL_N_1.isNotHowIFeel LABEL_N_2.isNotHowIFeel

audience predicts a later event based upon storyteller's prior foreshadow

^^^

This is one of a few literary loops I’m exploring.

So to echo your sentiment, my approach has a LOT of missed opportunity. Again, I do not pretend I’m a literary critic or author — I’m terrible at both. However, despite all my shortcomings, my end goal is to have an audience “noematically interact” with the storyteller’s literary writing process. Barthes proclaims “the death of the author”, which is about an audience’s imagined storyteller. Well, with my approach, I proclaim “the birth of the audience”, which is about a storyteller’s imagined audience. I want to provide a storyteller with an approximation of an audience as that audience makes their way across the entropy of unknown to known that occurs during the progression of a literary work. Even further, I want to provide a storyteller with an approximation of an audience’s affective state (via sentiment analysis) as they read a literary work. This opens up an avenue for a storyteller and an audience to have a deeper connection. In fact, my hope was to have stateful storytellers that are interested in writing “puzzleless” autobiographical works, or other works of literature, join me in exploring this exciting new space in interactive fiction!


And that’s it for now. Hopefully, I haven’t turned too many people away with my rough edges.

I still want to discuss my approach with anyone that’s interested. And I genuinely do love and welcome any and all reactions, good or bad. I can’t promise I’ll always have the perfect response, but I’ll always try to understand why I said the wrong thing and I will be quick to apologize and to make amends. I know, I know, “an ounce of prevention is worth more than a pound of cure”, but I’m doing the best I can. And I always try to get better.


I’ll end here by echoing myself:

My hope was to have stateful storytellers that are interested in writing “puzzleless” autobiographical works, or other works of literature, join me in exploring this exciting new space in interactive fiction!

3 Likes

I read the post down to “This is me trying to convince the organizers and participants that I’m making an honest effort with my submission”, at which point I thought I want to try this program before I read any more from the author.

I don’t think you have a link to the game in your post, so I recommend you add one. Or you can just rely on the link I will supply in this post.

When I googled “itchio cost of living”, the first result was about the actual cost of living.

The second result was a game called Cost of Living. “Use A/D to move, space to jump , and click to fire.” I thought, “This is REALLY radical, or I’ve got the wrong game.”

The third result was your game:
https://itch.io/e/11291212/dorian-passer-published-cost-of-living

-Wade

2 Likes

I got a little way, but the right edge of the text is cut off. I can read around this by manually highlighting some text and scrolling over, but I’d have to do it in every response box. Here’s a picture:

Summary

I tried the program in Brave, Safari and Chrome on my Mac, and had the same problem in all three. I couldn’t solve it by changing font sizes in the browser, so I’ve stopped for now. I may revisit if you can get it in a form where this doesn’t happen.

-Wade

Thank you for giving my demo a chance, Wade! I totally forgot to put a link somewhere to Cost of Living, so thank you especially for taking the time to find a link to post for everyone else. :grin:

Ack, so sorry that the layout is broken for you! That is not supposed to happen. Web devving, am I right? I’ll definitely try to wrangle this soon.

I’ll push an update for you tomorrow. Sorry about that, again.

EDIT: I placed a link to Cost of Living at the top of this post. Thanks again for the reminder.

I decreased the font size down to 75% and pushed out a new project site. It’s a workaround for the moment.

Could you please give this link a try and/or tell me if it’s still broken?
https://pc22-cost-of-living-sizedown.surge.sh/

Thanks!

Worked for me to solve the problem. There’s now at least 2 cm border on the right at all times, and about 0.5cm on the left. The font is small in a default situation, but just bumping up the font size scales all elements of the window together. Thanks.

-Wade

1 Like

Thank you for your extensive post-mortem! Looks to me that you invented a new paradigm that people cannot grasp. I think it’s IF, but only half-parser like GrueScript is. You may consider providing hints in terms of Choice after 3 failed tries. Hopefully, it will stave off frustration, yet still reward ingenuity.

Good luck!

1 Like

Wow, thanks for spending your time reading through all that! I really appreciate your opinion, time, and your recommendation.

I’m particularly touched that you consider that I invented a new paradigm. Thank you! If there’s anything that you think I can rephrase or expand upon — for yours or anyone else’s benefit — please let me know. I’m happy to help anyone!

A hint system is probably a great idea as a workaround until I can fix the root of the problem, which is related to the library I’m going to amend. So, thank you again, for your solution.

In the meantime, if you — or anyone else reading this — can please post a list of rejected words, I will make them available to you, in both this present demo and for all future works. No pressure to do so, but just want to let others know that that option is available.

I’ve tried to separate concerns (in a software engineering sense), so any words that I append to the core tech stack will not affect any stateful writing. In other words, and in terms of a popular aphorism, “a rising tide lifts all boats”, where the tide is my word library and the boats are my current and prior works.

As I said in the other thread, thanks for posting this – your game is definitely trying some new stuff, so it’s super helpful to see some of the thinking behind it! I don’t want to clutter up this thread replying in too much detail to your response to my review, since as you mentioned I already had 2,000 words to lay out some of my thoughts and I’m more curious to see other folks’ takes, but there are a couple of things I wanted to comment on:

(Oh, and per your note in the other thread re spoilers, I assume this is a free-fire zone since this thread seems pitched at folks who’ve played the game – if anyone hasn’t yet done so, be aware I talk about the details of the plot, including the ending, in what’s below)

1: On suspension of disbelief: this is definitely an Achilles heel of parser IF, because the promise of “natural language” and being able to type anything you want is so easily shattered (I recently read a review of Inform 7 where the reviewer thought it was worthless because you couldn’t like feed in a random paragraph and have the language generate a game out of it – people’s expectations are weird!) In a lot of ways, the history of the development of parser IF since its exception, including the progress Amanda noted in the other thread, is the history of smoothing out those expectations, on the parser/language side by making the tools more robust and able to better understand input, and on the design side by managing players’ expectations. What balances the risk of players’ suspension of disbelief getting punctured is, of course, the magic of typing something in and having the game respond in unexpected ways.

Given that, I think your approach makes a lot of sense – you’re trying to limit the scope of agency to one particular area, and go deep on that. While as you say, the fact that the clearly- relevant word “disaffected” was rejected was frustrating, the fact that just a minute later the game understood that “enthusiastic” was an inappropriate piece of input and cleverly came up with a diegetic way to accept that input without derailing the story was definitely an instance of that magic I referred to above, and got me invested again.

Really, what makes a difference here – and what maybe distinguishes the jam/demo paradigm from the comp/full game one – is just testing. Even the best system, and the best author, in the world is not going to be able to catch even half of the off-the-wall stuff players will try, so success often just comes down to how many monkeys with how many typewriters the author is able to throw at the thing before doing a full release. Like, looking at the games I expect to do best in the Comp, all of them use well-established languages, and have like 8-12 testers credited. For a first time author working in a new framework, you’d expect the number of testers to get reasonable coverage would be higher. So just to say, I think this is a problem that takes a bit of work, but it’s not insurmountable by any means. This forum is actually a great place to recruit testers, by the way – there’s a Beta Testing forum where folks regularly look for testers, and usually get good results.

I’d also say, there’s probably a lot of value in looking at other attempts to grapple with similar design issues. Have you played Computerfriend, from this year’s Spring Thing? It also has a bit of an Eliza/chatbot vibe, but embedded in a choice-based framework.

2: I think your label of “narrational” agency is a good one, since it distinguishes from the more conventional “narrative” agency most other works of IF focus on and helps make clear what the creative agenda is. I do think that renouncing plot-focused engagement is a pretty tough challenge, though – our brains are wired to identify with the protagonists and dilemmas in stories on a very deep level, and the second-order engagements at the “narrational” level I think are comparatively weaker and secondary. For example, part of the reason I didn’t feel the game was that successful is that the foreshadowing loop that played out in the interactive frame felt redundant with the foreshadowing techniques Sheckley was already deploying – like, when you read fiction, your brain is usually processing what’s going on and trying to intuit what comes next. And this focus also means that it’s hard for the interactive bits to hit a climax that complements the climax from the stateless story, rather than being supplanted by it, since all the narrative tension is happening at the stateless level and the stateful level is just providing an additional external reflection of it.

It’s hard to say that definitively, though, because the issue here could just be the story chosen, which doesn’t have an especially convoluted or dramatic plot – it might be interesting to try similar techniques in a mystery story, for example, where part of the fun for a reader is trying to solve things before the characters do. You also mention exploring different narrative dynamics, so I’d also be curious to see how things play out when foreshadowing isn’t the one you pick.

3: On the question of why Miller commits suicide – I mean, to a certain degree the answer is impossible to determine, and kind of irrelevant anyway, since for purposes of the story what’s important is the impact of the suicide on Carrin, and what he thinks the reason might be? Again, this isn’t a mystery story, so I at least didn’t find myself on tenterhooks waiting for the mystery to resolve.

With that said, it seems like there’s an obvious rationale that both fits the story’s theme and makes sense of Carrin’s reaction, which is that Miller, who had all the consumer goods the company could supply (he’s fat too, gilding the lily), realized that he lived a hollow, meaningless life, with no prospect of that ever changing? I mean that’s certainly how I would feel if I was thrust into that circumstance, and it sure seems like most of Carrin’s mental energy is taken up by preventing himself from consciously realizing that, since materialistic consumption is all his society has to offer (I thought a clever bit of the story is how much of Carrin’s family life is mediated through consumer goods, like the automatic lingerie (?) and his son’s toys).

This is what I mean by saying many of the issues I had with the game felt due to a mismatch between the interactive bits and the static story; this isn’t a narrative with a lot of mystery, ambiguity, or external conflict, so the attempts to create engagement around foreshadowing, sussing out things that aren’t spelled out, and proposing an unvoiced conflict about bad drugs feel like the interactive bits talking past what the story is actually doing.

4: This is just a question, but your reference to works that are puzzleless and autobiographical is interesting to me, if only because the last game I wrote was a puzzleless memoir. I’d be interested to hear you say a little more about your thinking on how your engine/narrational approach would work with that subgenre!

3 Likes

You may bribe me with this(1): :grin:

However, I’m still working at being a great writer. Technical and world building is no problem for me. But as an autistic ESL, I admit having trouble creating relatable characters.

I ordered Fiasco box because I think it’s a great character study, and the kit is perfect for stories in the format of half hour episodic script. That and StoryCubes are my current go-to writer’s block busting tools.

(1) Or a chrome book. My current traveller setup involves RPi ZeroW with VNC. My chromebooks are so old, the batteries are failing and no longer hold any charge.

1 Like

Glad you think these are cool, too! But soo pricey, right?

Fiasco and StoryCubes look like fun ways to get out of a writers rut! Sometimes, I like to use a Pomodoro timer. Personally, I find that everything about writing is very hard. I’m happy you developed some strengths and are working on more.

Have you had a chance to write any IF? I hope one day that you might be interested in writing something with this new approach.

1 Like

This is absolutely amazing! This is exactly the type of discussion I wanted to open up! I’m definitely excited to keep discussing this with you, but I’m busy today. Just wanted to say thanks right now and that I’ll return tomorrow to continue.

Oh, and I was just ribbing you when I mentioned the word count. I do apologize if I made you worry about that. I definitely share the same affinity if I don’t actively fight against the urge. Please write as much as you want, I love it! And now that I’m in my containment zone, I’ll cut back on the theatrics and stick to a healthy exploration of this topic. :wink:

I feel like this has struck a chord somewhere with both of us. For myself, it looks like your excited to explore beyond review-style writing and more towards whatever you’re doing here. I wish I was more familiar with all of your writings about IF, but since I’m not yet, I hope you don’t mind if I ask if you are doing something different here with this discussion. Either way, I feel lucky for your influence, so thanks again!

I published a message about this game and post in the Spanish Text Adventures forum, CAAD (not too many activity there, but alive since the stone age or so).

I have been told there (by a mythical user “n_n”), that there was a similar experimental Spanish game, created at 2010, that won the “Freshness” category in the " Premios Hispanos 2010 (2010 Spanish Awards)"

I proudly present you the Spanish game “Soy Anüak” (“I’m Anüak”), created by the legendary user “dddddd”:

Game: http://www.caad.es/~dddddd/soyanuak/

Technical sheet: https://wiki.caad.es/Soy_Anüak

I just know now about this, so as soon as I play it or know more information, will share it with you.

2 Likes

Thank you, again, Mike, for this discussion! Despite writing about constructive feedback in my initial reply to your review, I know that I’m not entitled to anything from anyone. I want to say again that I’m deeply grateful for yours and everyone else’s feedback. And as I said, I’m very happy to have you as an influence!


Here’s a summary of the topics I’ll be discussing in this post:

  • some limits of story-based agency
  • my context-problem-solution model
  • my proxy-audience model
  • my noematic interaction model
  • cognitive dissonance in choice-based IF
  • engagement of narration-based agency
  • foreshadow loop and the detective genre
  • abduction to bond the stateful with the stateless
  • autobiographical stateful narrations

But first I’ll start with this topic:

I assume this is a free-fire zone

Yes, this post is freely open for all discussions. And apologies for the uncouth tone when I requested a spoiler-alert warning in your excellent long-form analysis of Cost of Living. I was under a misunderstanding earlier, so thanks for explaining your reasoning.

In case anyone has not read Mike’s long-form analysis, please do so when you can.
Mike Russo Reviews Cost of Living


I recently read a review of Inform 7 where the reviewer thought it was worthless because you couldn’t like feed in a random paragraph and have the language generate a game out of it

If this Inform 7 review wasn’t from 2006, I’d swear it was guerilla marketing for AI Dungeon! This is exactly how AI Dungeon works. If you’re not familiar, here’s Reed’s article on AI Dungeon. At this point in time, AI Dungeon the ultimate implementation of story-based agency. I think it’s the closest we have to Murray’s Holodeck. And here is an article about a cautionary tale against AI Dungeon (and story-based agency).


In a lot of ways, the history of the development of parser IF since its [inception], including the progress Amanda noted in the other thread, is the history of smoothing out […] expectations.

For me, designing IF is a subset of designing software. In software, there is the happy path, which is a designer’s intended flow through a process. There is also an unhappy path: “in contrast to a single happy path, there are a lot of different ways in which things can go wrong”. This statement is especially true in parser-based IF. These unhappy paths have a low ROI for the extra effort to design them. Seems like in the best case scenario, an audience perfectly follows the happy path, making that storyteller’s effort have zero ROI. Worst case scenario, the audience hits all the unhappy paths that are perfectly designed to the point that the audience thinks they are being railroaded into a stateless story with extra steps, and, again, making that storyteller have zero ROI. I’m open to this being an oversimplification, but I do see some truth here. Over the decades, IF has had several great minds try to smooth out these expectations. Is it reasonable that maybe there is a hard limit to smoothing out expectations within story-based agency?

As AI Dungeon shows, generative approaches to story-based agency can sometimes fail. I have a more extreme position and state that generative approaches to story-based agency will always fail. This stems from how I model plot, which I loosely conceptualize as a context, a problem, and a solution. (This patterns show up in several theories, but here are a few. Academically, with Todorov, this is an equilibrium, dis-equilibrium, re-equilibrium; with Herman, it’s part of his Basic Elements of Narrative. In practice, with Mythcreats, this is a fractal plot.) So what does this context-problem-solution model have to do with AI Dungeon? First, we have to take a stance on Searle’s Chinese Room Argument. I don’t think that a computer will ever achieve strong artificial intelligence. Second, we have to take a stance on Todorov’s What is Literature For?, where he observes,

Literature can do a lot. It can hold out a helping hand when we are profoundly depressed, guide us toward the other human beings around us, make us better understand the world, and help us to live. […] Literature allows us to better understand the human condition and transforms each of its readers inwardly.

I think that literature is for “self-acceptance and societal acceptance” (where “acceptance” isn’t necessarily positive or negative). I refer to “self-acceptance and societal acceptance” as the “human element”. Every book I’ve ever read — regardless of where it lands on the Dewey decimal system — has given me a mix of both. Now we return to the context-problem-solution model with Todorov’s question in mind, what is literature for? For learning about the “human element” via the solution of the context-problem-solution. With the Chinese Room Argument in mind, it’s easy to conclude that a computer cannot provide a “solution”, a.k.a. “human element”, a.k.a. “self-acceptance and societal acceptance”. I think a generative approach to story-based solution has an upper limit.

To recap, with story-based agency, there is either a low ROI with human-generated unhappy paths or there is a missing “human element” with computer-generated solutions. Whew! That was a lot, sorry about that. Hopefully, this isn’t too abstruse.


the fact that the clearly-relevant word “disaffected” was rejected was frustrating, the fact that just a minute later the game understood that “enthusiastic” was an inappropriate piece of input […] was definitely an instance of […] magic

I was so excited when you pointed this out, and I’m very happy that you mention this again. I was very surprised when I discovered this about sarcasm. But here’s the neat part. The “game” didn’t understand anything — that was me! Since my system works on affective input via sentiment analysis, as a stateful author this means that I reply to the connotations of an imagined audience. In this moment that you bring up, I asked myself what it meant if an audience provided me with a positive connotation to this dour circumstance? I thought it was sarcasm, and responded accordingly. This might be a stretch to some people, but it feels like I’m communicating with a proxy-audience when I’m writing. While writing this part, the audience truly came alive. You know how every medium has their own “language”? I’m sure there’s a robust “language” for speaking to a proxy-audience similar to me speaking towards sarcasm.


This proxy-audience idea came from my exploration of the term “interactive”. I’d like to take a moment to share my thoughts about this. When I reframed “interactive” in terms of a state change, I realized I could partition entities into stateful and stateless entities. A person is a stateful entity, right? The state of a human can change. A printed book is a stateless entity; nothing can change the state of a printed book without damaging it. With this framing, I saw an insight that a stateless entity (e.g., printed book) can change the state of a stateful entity (e.g., human reader), which I labeled as noematic interaction. This is why I feel uncomfortable labeling stateless writing as “static” writing; there is a state change occurring to a human reader from a printed book. A process that causes a state change doesn’t intuitively feel static.


Really, what makes a difference here – and what maybe distinguishes the jam/demo paradigm from the comp/full game one – is just testing.

I’m starting to see that now. And thank you for the tip to request beta tester from this forum. I will definitely ask for help next time. As an aside, I’ve seen ParserComp referred to as a jam on several occasions, such as here with the initial ParserComp 2015. I jumped into this competition with little context, and by the time I had doubts about the format, it was too late. Instead, I employed the most exhausting of arguments — the technically-correct argument. I apologize to everyone that had to suffer through it. After the precipitous drop in viewership as a consequence from being removed from the competition’s submission list, I was desperate to draw attention. My viewership never really recovered, and now I’m worried about the fallout I caused.


Have you played Computerfriend

Thanks for the link to Computerfriend; I’ll try to study how it develops its themes. I don’t think it handles an audience’s input in the same manner as my approach, i.e., in service to a proxy-audience; instead, it’s collecting input so that it can slot words into a template à la Mad Libs. Another difference is that I’m trying to explore grammatical persons other than second person. I know this has been tried before, but I’d like to try again with this new approach. To the credit of Computerfriend, it does have lower levels of cognitive dissonance than is typical for a choice-based stateful medium. Here I use the term “cognitive dissonance” to mean a set of choices that are, well, cognitively dissonant. For example, 1) laugh and give a hug and 2) scream and throw a punch; typically, people do not simultaneously hold opposite considerations when deliberating a course of action. Such cognitive dissonance reduces a suspension of disbelief. Further, choice lists can place an audience into an optimization mindset, which further reduces a literary suspension of disbelief.


I do think that renouncing plot-focused engagement is a pretty tough challenge

Renouncing story-based agency is definitely a tall order, but as I outlined earlier, I think it’s reasonable. In my terms, plot sits between story and narration, like those rungs connecting a double helix, but a double helix between story and narration. It’s just a technicality, because we’re talking about the same concept, but my intention is to abandon the story-plot, not the plot-narration. I actually planned out a plot sequence for the stateful characters, but ran out of time to implement it. Even so, I agree that there’s more work to do to successfully integrate stateful and stateless media, but I think it’s worth the effort. And this is why. There is a common refrain that blogs and social media killed hyptertext fiction. If this is true, it’s because social media is pure narration-based agency. And if that statement is true, then narration-based agency might be less weak and secondary than you predict.

like, when you read fiction, your brain is usually processing what’s going on and trying to intuit what comes next.

This is almost a description of noematic interaction (i.e., interacting with understanding). Inducing an audience to make a prediction is the primary skill of a stateless author. I tried to carry over this skill to stateful authorship. Up to now, I don’t see evidence that I can’t harmonize and complement a stateless storytelling with noematic interaction via stateful storytelling.


It’s hard to say that definitively, though, because the issue here could just be the story chosen

Yeah, there are so many variables to consider when integrating a stateful frame with a stateless frame. However, before publishing Cost of Living, I didn’t even think any of this was possible, so I think I’m off to a good start.

it might be interesting to try similar techniques in a mystery story

Edgar Allen Poe is in the public domain. Did you know he invented the detective genre? I haven’t read any of his detective works, but I think I remember reading that his reveals are impossible to figure out. Like you said, maybe my current foreshadow loop would work with something like a detective or mystery story.


On the question of why Miller commits suicide – I mean, to a certain degree the answer is impossible to determine

This impossible-to-determine motive is the reason I chose Sheckley’s short story. This question is extradiegetically relevant because it induces an abductive process in an audience. I admit that my own abductive conclusion is wonky. But for Cost of Living, it was important for my audience to engage in abduction themselves. If someone came up with an alternative abductive explanation for Miller, then I think that’s a good thing. Further, after your response about my request for a spoiler-alert, I was excited to realize that it was my abductive conclusion that bonded together the stateful and stateless stories so thoroughly that you could not separate the two for your long-form analysis.

With that said, it seems like there’s an obvious rationale that both fits the story’s theme and makes sense of Carrin’s reaction

I can definitely see your reasoning for Miller’s motivation. If you don’t mind, I’d like to dwell on this topic for just a bit — but not to be argumentative. I think abduction is fascinating, and for me, it is a major component of narration-based agency, so I’m glad you’ve picked up on this!


So, if I was in Carrin’s circumstance, I’d spend all my free time creating art and writing stateful stories! :wink: There’s nothing in Sheckley’s stateless story that prevents anyone from doing so. Creating most types of art and literature isn’t a huge investment, so it wouldn’t cause more debt. But instead, Carrin is sitting around and doing nothing. I guess I’m unsettled that Carrin is sleeping away all his extra free time that this alternate future affords. My crude abduction brought me to reason that bad drugs would cause this apathy and suicide. (Speaking of free time, that’s the one thing that Sheckley was very far off from predicting right. With more automation did not come more free time. What a sad outcome.)


This is what I mean by saying many of the issues I had with the game felt due to a mismatch between the interactive bits and the static story

On one hand, I definitely agree that this mismatch is a failure. On the other hard, I consider Cost of Living a wild success because we’re discussing deep literary mechanics instead of deep game mechanics. Really, I’m shocked that I’m even discussing “what is possible” instead of “if this is possible”.


I’d be interested to hear you say a little more about your thinking on how your engine/narrational approach would work with that subgenre!

I have a feeling that abductive reasoning, affective labeling, and communicating with a proxy-audience are a natural fit for an autobiographical work. A storyteller can invite an audience to help explore a reframing of a particular time in that storyteller’s life (i.e., introspection through abduction). I personally want to create something like this, but I’m too scared to open myself up like that. But even more so, I would LOVE to read an autobiographical work in this narrational style. I want to read such a work so badly that I would happily pay $50 or $60 to read it!

2 Likes

In the Introduction to Cost of Living, where I detail the medium’s affordances, a storyteller explains that an audience does not provide what to do (i.e., the unwritten rule of the medium), but instead provides what to think. My original phrasing was what emotion you feel, but I thought that that phrasing would turn people away. In hindsight, I regret this, and should have just been explicit about inputting an affective label (e.g., a positive/negative connotation word). If I had done so, then maybe an audience might have inputted an affective label like “worried” instead of “thinking”.

2 Likes

Thanks, AZ (@parsercommander), for posting about this on CAAD!

I see some similarities between Cost of Living and Soy Anüak. I liked that Soy Anüak did not break a suspension of disbelief or have cognitively dissonant choices.

But I think that the input boxes are broken for me. Pressing the enter key or clicking outside an input box did nothing. What worked was clicking a button to continue reading. Anytime throughout the work, even after reaching the end, I could still edit the input boxes without any effect. However, if the input boxes were not broken, then Soy Anüak read like a stateless story with extra steps.

I have been thinking about “Cost of Living”, “Soy Anüak”, and “AI Dungeon”, and I have reached a conclusion: They would probably be candidates to be disqualified from Parser Comp 2022, for the same reason if we stay legalist.

Let me first say that this is only an attempt to objectively study them regarding to ParserComp 2022 rules and is not necessarily my opinion that those games should be disqualified if they were submitted to ParserComp 2022.

I think that in the grey zones perhaps the decision of disqualifying should be “conservative” and could be left to votes on people, giving the minimum punctuation possible to games they don’t consider matching the rules of the comp.

Soy Anüak

“Soy Anüak” is an HTML development that shows the story of a scientific navigating through the mind of a psychopathic person using a hypothetical machine that allows that. You can click some buttons to choose which areas of the brain visit first, and in them you have some textboxes interspersed by the description text, when you can type.

You can play it in English with the Google automatic translation here:

https://www-caad-es.translate.goog/~dddddd/soyanuak/?_x_tr_sch=http&_x_tr_sl=es&_x_tr_tl=en&_x_tr_hl=es&_x_tr_pto=wapp

The reason that you can play it in English with the automatic translation is because the textboxes are free, without making further processing in the input. So having a prompt (in fact more than one), this is not a “Parser”. This would be perhaps enough to not allow this game in ParserComp 2022, but there is another reason that we are going to see.

AI Dungeon

You for sure will know about this piece of art and its innovative approach to interactive fiction. You are presented a text with a prompt under it, where you type whatever plain English sentence you like, no matter how crazy it could be, and the system will show you the response text telling you how the story continues (sometimes also crazy ones).

The input text is obviously parsed, although not in the usual way, for an AI language engine (I think that in the first versions it uses GPT2, but perhaps now is using GPT3 Open AI engine). This kind of engines works in a very clever way, trying to “guess the next word” given the previous text, to generate text with sense (and sometimes also with sensibility).

So as long as I can think, this is a parser. Perhaps you can argue that this is not using “text commands controlling a world model”, but I think that if it is not doing it in the usual way, it is doing it, remembering previous things written (perhaps not to accurately and polished according to what you can expect, but I think it is doing it.

So if I thing this is a “Parser”, why someone could defend that this is not a valid entry for ParserComp? Let see it now.

Cost of Living

Well, at this moment I think that everybody reading this knows about “Cost of Living”.

As “Soy Anuäk”, it uses some textboxes interspersed with the description text, but here the input is processed by the software. This process is related with dictionaries, but not exactly parsered in relation with the surrounding text, and in fact, you can advance in the story filling all the textboxes with the “true” literal.

The content of these textboxes could be parsered in a more traditional way to accept only content related with the surrounding text. And it could take impact in the story flow as a classical “story-based agency” that could make this kind of software more recognizable as a “Parser Game”.

So here, the input text is “processed”, not sure if exactly parsered, but let’s left it in a gray area, and let’s say it’s a “parser”. Also, with this, I could say it lacks the same thing than the other two previous pieces of software that make them not eligible as a valid “Parser Game”: They are not games.

Why not?

What? Well, according to the theories exposed by “Greg Costikyan” in its essay “I Have No Words & I Must Design: Toward a Critical Vocabulary for Games”, I would say that this is not a game, but a toy. These software pieces are nearer to the concept of a ball (the toy) than to the concept of basketball (the game).

Regarding to the qualities necessary for something being a game according to that author, I would say that these pieces of software are unquestionably interactive.

I would also say that perhaps they are weak in the side of having rules (the simple ball vs basketball game), but we can see this saying that their rules are so simple as typing in textboxes, and so hard as adapt to language.

In the side of “emotional appeal”, Cost of living seems to have its strong point, although perhaps this is not a quality that defines a game but only a desirable one for it.

A big lack they have for being considered games is in the side of objectives: They are weak in “Cost of living” and “Soy Arnäk”, where the objective would be “end the story” (the same objective as in a book), and are mainly nonexistent in “AI Dungeon”, unless you consider the “emerging objectives” that rises from each player will as the story develops as in a sandbox.

But the main problem here is the lack of “struggle” and the “no victory feeling” if there are no difficulties in the road.

There is nothing bad in things not being games and being just toys. And perhaps these “interactive fictions” fall in some category still without name, between literature, toys, and games.

If you are planning to earn money with that, not being a game is for sure a handicap, as unfortunately being literature.

With that said, when I first saw “Cost of living” entry in ParserComp 2022 I said to myself: Hey, that’s the rival to beat.

Anyway, don’t take too seriously all that I have said here.

1 Like

I see you’ve noticed that I don’t use the term game to describe my approach. :wink:

Aaron Reed’s article on Lafore’s His Majesty’s Ship “Impetuous” makes me too embarrassed to say out loud what you say here. :sweat_smile:


But seriously, thank you so much for the well-reasoned response! I’m so happy and thrilled that you mention “game”, because (of course) I have a lot to say about “play versus game versus literature”. I’ll come back here with a reply later on, because today and tomorrow I’m trying to review some ParserComp games.


P.S. When I first saw Gent Stickman vs Evil Meat Hand, I thought: Nice, at least this person will understand what I’m trying to do. Ha!

1 Like

Don’t hurry up! This thread has a lot of information and is a long-distance race. I’m intrigued by that review system, so I will make some questions there Ö.Ö

XD Not so sure about understanding it, but is very interesting. And I’m learning a lot of new words! : D

1 Like