Design for prototyping a Fallen London-like browser game

Thanks to @HanonO mentioning it on several topics I have posted, I have begun playing Fallen London about a month ago. I can confidently say I have been thoroughly enjoying it, and the Quality Based Narrative underpinnings solve several design problems I have struggled with. However, I realised it might be a fun challenge to build a browser based narrative game like it, put out a very barebones version initially, and then nourish it into a bigger game over time. Developing in Unity has felt very much like a grind until the product is done, whereas this might trick my brain into nourishing the game regularily.

To this end, I have some design pillars I wanted to set, and I would really appreciate some extra eyes on this.

1. Split mechanical outcome decisions from narrative outcome decisions
Ergo, if you complete a section of story, and you are prompted to make the final decision, split the decision into a decision about reward, and a decision about narrative direction. I find it very tempting, for me at least, to pick choices which I have available to me because of a high skill or stat to get a bigger payout for example.

I want to make sure that the narrative direction the story takes is a conscious narrative decision, not one informed by ‘potential future rewards’, unless those rewards are adressed in a narrative way. In other words, you may pick the option that has you betray a friend for a large payout, so long as the game then allows you to pick a roleplay option saying something like “I betrayed him for the money, but I regret doing so. I needed the money”.

2. Have a mechanical representation for characterisation, but lock these behind big character moments
I like how Fallen London has qualities such as Subtle, Hedonist and Austere. I also like how these can alter your decision space. What I did not like is the fact they later turned into a resource, rather than a representation of my character. So, I would very much like to include something like thus, but allow them to only be modified at set points in the story.

3. Recognise when the player does something frequently
A big part of being a citizen of the Neath is apparently doing crime. I have robbed so many houses to get the resources I need, and I can’t quite mesh that with the headcanon of my character. It might be nice for repeated activities to build a quality such as ‘Seen at the Factory’ or ‘Frequents University’, which then in turn allows you to tell the game why you keep doing this. Whether it’s out of desperation, enjoyment, or a true pillar of identity.

In this way, you could almost curate a game experience to offer more opportunities for characterisation to the player by feeding into their chosen identity. Kind of like a social media feed, really.

4. Prevent Skyrim syndrome
Fallen London has you explore every facet of its weird and wacky world, and come out as a paragon of that facet of Neath society. You find yourself raising all your core attributes to the maximum, turning you into the epitome of all of them. It works for Fallen London, but I don’t like that from a roleplaying perspective.

Instead, I intend to give players a ‘level’, and then attribute modifiers attached to that. These are also chosen at major points in the story, or consciously sought out. So, a character might be level 28, with a +8 modifier to intelligence from qualities such as ‘keen-minded’ and ‘scholarly’, but a -2 on Strength (example names) because they picked ‘frail’ near the start of the game.

Then, use level and modifiers to neatly scale the skill checks in some way without causing cognitive dissonance about the nature of your character.

Of course, include a method later in the game to change these decisions if the player regrets them, but lock that behind something big.

Little side note: for these qualities I was thinking of instead describing the activity, like Martial, Scholar, Subterfuge, Artisan, etc.

5. Announce the importance of a decision
When a decision is presented to the player, make sure the player is aware of the impact they make with the decision. Not the exact impact, just how much they need to make sure what they choose here and how much it affects their future experience. This puts more narrative agency in the player’s hands.

6. Make big item ‘grinds’ little events in and of themselves
This is a minor decign decision, but I really liked how Heists and other Carousel activities lock you out from the outside world for help. You need to prepare for an activity, and once you have done so, you commit to it. This allows me, as the designer, to introduce some tension into the activity. There is some greater leeway for me to throw curveballs at the player in these instances.

7. Have important decisions you made recur, or even haunt you
There is one story in Fallen London I love. The one about the Comtessa and the Clay Men. What this story does excellently is provide you an ambigious choice, and then throughout much of the early game occasionally reminds you of the choice you made. The choice has no mechanical benefit at all, but you keep being confronted with it. I want more story decisions to recur like this, if only in little acknowledgements. This is excellent feedback to attempts at roleplay.


That was it. What do you think? To end with, here are two sketches I made to try and find an aesthetic to work with.

3 Likes

It is tragic: Failbetter years ago offered a game engine called Storynexus (site is preserved, but new worlds cannot be created) which was an author-friendly version of the Fallen London engine to build similar worlds that included monetization. Unfortunately it was not financially viable and they shut it down.

Another similar engine was Varytale which was more story-focused. If you’ve played Emily Short’s BEE that was the one game that people knew about. Varytale shut down, and BEE was recreated using a built system called Dendry which I as I understand isn’t web/user friendly as the original Varytale, but can be used to create this type of story.

One other suggestion before building your own entire system: There is an extension called Hybrid Choices for Inform 7. This allows the author to switch from the parser world model of Inform into CYOA mode which displays “pages” and numbered choices which can affect and be affected by rules and the existing world model which many people are familiar with using. Theoretically a game could just use the choice mode and Inform rules. I was able to use it to change choice text with Inform text variation (which can include percentage chance of success or give an explanation what the choice does), and remove or enable choices based on world state, including any stats you create for the player.

Examples of Hybrid Choices in use: I used it for conversations and complex interactions in Fair and Steph Cherrywell uses it for dialogue in games such as Zozzled and Brain Guzzlers from Beyond.

5 Likes

I also am a big fan of Fallen London. I also wanted to build a game like it, but with all content being generated by the users (whom I refer to as “Player-Authors”). I have developed a beta-test of the game, called Scribarchy (see link at end of post). The game is choice-based and multi-player, with users able to create and author worlds and contribute to other worlds.

I am certainly no expert in any of this but I did want to comment on the design pillars you mention, if you forgive my lack of experience.

  1. Are you referring to what is called min-maxing? I’m not sure you have to split the mechanical and outcome decisions, but I think it is more work to combine them. In Scribarchy the awards are Things, which are a collection of qualities, (which I call Roles) where the sum of the qualities is 0. So for your example " *I betrayed him for the money, but I regret doing so. I needed the money” I might create a Thing called “The Betrayal Of So-And-So” which would have a value of +1 for the quality “Person of Means” and -1 for the quality of “Trustworthy Person”. When designing Things, I find I have to spend a lot of time thinking about what narratively makes sense to combine a certain positive quality and a certain negative quality.
  2. That’s sounds like a good idea, so that the changes to your character are in line with major turning points in your character’s narrative.
  3. This also sounds like a good idea to me. Have qualities for anything that has importance to the narrative.
  4. This a great idea. I don’t like the leveling I’ve encountered in various MMORPGs where you are always raising your stats (I believe it is called vertical progression). In Scribarchy, the use of yin-yangy Things means there is always a negative for each positive so players change as opposed to grow. I believe this is referred to as horizontal leveling.
  5. I also agree with this, the narrative that describes a decision should prime them for the result. I see this in screenplays where the audience is given little (or big) clues about things in the future so that when something happens the audience doesn’t think it came out of left field (The TV Trope I am thinking of is “Checkov’s Gun”).
  6. I hate grind in the classic sense of repeating an action over and over to raise a stat. But requiring the player to assemble the people and resources to accomplish some major decision sounds like a great idea.
  7. Absolutely! In Scribarchy you can design a Thing to be “droppable” or not. A non-droppable Thing is with the player forever. Like the example Thing above (“The Betrayal Of So-And-So”) the player now has a ding on his trustworthiness that may came up the future (perhaps at the most inopportune time!). Or he can seek out some other Thing to counteract the ding (a redemptive act?).

This is all good stuff and has made me think more about my own design! Keep posting as your game comes together, I for one and very interested how it will turn out!

1 Like

I had read about StoryNexus a while back while researching Quality Based Narrative. It’s a real shame. It als shows just how transient beautful tools like these can be. To be honest, it gives all the more incentive to try and tackle this on my own. Though I admit, I have far more experience with Unity than I do with web development. Thank you for the references to alternative options though, I might give them a look. Perhaps there’s something valuable to be gleamed from them!

1 Like

Yes, I am trying to create my own take on Storynexus! I love the idea! Other projects in this space are Written Realms and Zarf’s Solani (sp?).

2 Likes

This is fascinating! I had played with the idea of building a strong framework for player-generated content for a while, but noticed I couldn’t muster the energy to put serious design thought into it. I’m actually very happy to see you did!

I’m very happy with your feedback, and also with how you handle this in Scribarchy. It’s giving me some ideas to play around with.

Regarding your response to point number 1, it is about preventing min-maxing and roleplay from interfering with each other. The decisions you make narratively are eventually what the game is all about. By putting some kind of resource incentive alongside a decision means the decision, and thus outcome, can become corrupted.

Unless you flag very clearly that this decision is about more than just the reward, some type of resource reward ought to be disincentivised, and what is definitely taboo is putting unique items locked behind a narrative decision. Though, admittedly, I don’t mind it as much with the Ambitions in Fallen London, at that point you already have such a massive narrative investment, my guess is that you pick the outcome which feels right, rather than the one conferring the right allocation of stats.

Written Realms is an online MUD where you can create your own worlds. When I looked at it, it was keyed mostly for dungeon-crawl fantasy, but perhaps others have done things with it.

Seltani is Zarf’s experimental multi-user choice engine that grew out of community desire to create their own Myst Ages in text format after URU shuttered. From my recollection it does not employ persistent character qualities but there are states that can be set during a session - like “is this puzzle solved?”.

This all sounds pretty cool so far! You sound like you know what you’re doing and have thought hard about it, and if this comes to fruition I’d definitely try it.

As someone who’s made my own tech systems (nothing as advanced as this) and watched others promote theirs, I have to say that audiences will primarily focus on the game itself and not the system.

Even on this forum where a lot of people are technically-minded, it’s hard to get attention for tech advances until a game shows why it matters. People will post things with titles like “I updated Porkbiz to dynamically allocate Floochart signals” and I’ll be like “I’m not clicking on that,” then two years later someone will put out a parser phoneapp with integrated maps and I’m like “That’s amazing!”

Your sketches are great, and remind me of early Fallen London, so incorporating some art in your game will really boost it. But I would absolutely make sure you have an awesome game or game intro ready before doing your big platform launch, as otherwise it’ll be a lot harder to draw attention to it. You definitely already have your own story plans it sounds like, so that may be good enough; if not, you could adapt something open source (like how Inkle turned Frankenstein into an early gamebook).

4 Likes

You can define persistent character variables and persistent world variables. (There are no per-session variables; everything is persistent. Okay, except chat history – that’s completely transient.)

But it’s not designed to support Fallen-London-style or Story-Nexus-style games. There’s no concept of storylets. You could implement such a system, but you’d be building it with your own code, same as if you built storylets in Inform.

4 Likes

Thank you for the kind words! I wanted a reprieve from working on a Unity game for a while, and have an excuse to try out a slightly different medium. I might just put off a big launch, as you say, but I like the fact that, once the basic systems are in place, I can mostly update the game by adding config files, and develop the rest of it almost fully through JSON.

Honestly, right now it’s one big swirling mess of random ideas I’m considering. I actually do want to make another post about that somewhere, but I’m very much still trying to figure out the big themes and aesthetic elements I want to explore.

I might actually need some help figuring that out, which will likely come down to me posing the basic setting ideas as I have them, and then put out an open call for people on this forum, or elsewhere to tell me what kind of character they’d like to play in such a world. That should offer a lot of raw ideas to play around with.

I might also have been practicing with old FL art.

2 Likes

Actually, this is something I’ve been wondering. What is the best definition of a ‘Storylet’? I’ve been trying to figure out the data model for a game like this, but this is the only entity I have not as clear a definition for.

Oh! That’s you, then. I saw those on the Fallen London subreddit and upvoted them a few days ago. Nice!

1 Like

I am becoming increasingly omnipresent it seems :joy:

1 Like

Almost every system has a name for a piece of text that makes up the story. In Inform 7 a “room” holds the description for an area. In Choice-narrative you may refer to “pages” or “passages”. Storynexus called them “cards” and also “storylets”. I believe “storylets” usually refers to small pieces of description that are assembled into a larger description or situation in a choice narrative or QBN the same as scenery and props can be shifted onstage and offstage to control what the audience views.

You might have a room location, but an optional extra storylet paragraph that only displays if a fire has happened and appends that all of the described scenery is now fire-damaged. If the player is on a boat, the description would include a “dock” storylet that has a choice that allows a player to leave the boat only if they are next to land.

3 Likes

Yeah, it’s intentionally kind of broad and vague - Emily Short picked it to promote as an umbrella term to try and get people talking to each other about the craft and design around the similar things that they didn’t realize were similar because they were all using different terminology. A specific system may (and often does) have specific needs that shape the exact data model.

But it generally means a piece of story content, with conditions for when it could appear or be selected, and effects that change the story state when it is played.

Though it’s also possible to flip the conditions - do the storylets match against the game state, or do you have more of a database fiction model where the storylets have static properties and the narrative engine queries them?

If you want something more formal, Emily Short’s post (linked above by Hanon) also links to Max Kreminski’s survey paper where they talk about some aspects of the design space. Short and useful.

Bruno Dias has also talked about his disillusionment with trying to build a general-purpose quality-based narrative system though those are more about his personal skillset (he concludes that he isn’t the right one to do it) than theoretically unanswerable questions. Good considerations to think about though.

3 Likes

I’d also note that Sunless Sea uses basically the same data structures as StoryNexus/Fallen London and it writes out the data files to your home directory as JSON files when you run the game. So if you want to see all the warts that data model grew over a decade or whatever, you can.

And if you’re pulling those data files out to look at, I have a half-baked visualization experiment that hasn’t gotten to the point where I thought it was worth making the code public (and it’s not useful without the data), but feel free to drop me a message if you want to poke at it. Shows you all the storylets that depend on an individual quality, with a single-axis graph showing their condition ranges, like these collages:

https://joshgrams.com/2023/06/18/learning-about.png
https://joshgrams.com/2023/06/18/resources.png

1 Like

The metaphor that made QBN make sense to me is a card/board game: If you’ve played Magic: the Gathering or Munchkin you know how each individual card might have statistics, a bit a lore, and choice options that happen when you play the card which can affect or restrict individual other cards, the entire game-state, and even the rules of play. Magic has resources (qualities) that can be tapped to fuel what the cards do, so they all have their own requirements. The randomness of card-draw mechanics serves as the game engine/GM offering opportunities to the player(s).

I had a learning curve with the Hybrid Choices extension. It felt backwards at first. I kept wanting to define choices that led to other pages; option A, B, or C. Instead, you work from the destination page and basically say “Shocking Surprise is a page. It is for page A. It is for page B. The default choice text is “Would you like a surprise?” Here is what the choice reads from page B. It is for blue pages (a kind of page), here is what the choice text says if this page is accessible from a blue page…” (That is very not the actual source text but those are the kind of things you can define.) But it is freeing because instead of a flowchart, you have every “storylet” available to be linked to from any other storylet that qualifies, and that can vary based on variable/qualities and changing game state.

The way Storynexus worked

I'll hide this because it's the stream of consciousness blathering I do
  • The author creates storylet cards. Each has a title that’s usually the name of the card, body text, and an optional image. It also can be specified to live in a deck or out of play (can be presented by author rules but isn’t a card the player draws). Storylets can have choices. Cards/storylets could have effects instantly when drawn, or could be designated as a card the player can “hold” like their poker hand or inventory - representing abilities, attacks, spells, “a phone call you need to make” - each with it’s own rules and choices. depending on situation, a player could draw a card or use a card in their hand. Storylets could have base requirements that restrict them from being drawn or flipped - if your dexterity is above 5 you won’t ever flip or draw “You trip over your own feet and injure yourself, -1HP!”
  • Choices have a title, body text, an optional image, and qualification rules that could be set. Choices can be invisible if not qualified, visible but not selectable if not qualified (with or without an explanatory hover text), or freely choose-able. The UI could show choice requirements automatically with their images (“This choice requires 3 Desiccated Rat” and “You must have Rat Titan’s Quest”) or the requirements could be hidden.
  • Random chance choices could be created that had fail and success branches with separate quality manipulation equations and could also do the quality math and display “You have a 30% chance of succeeding…” The result branch might just twiddle qualities, or could trigger any card to be instantly played "You have lost a Hit Point! (Your HP has decreased to 5!) or offered (“Pick up the Strange Hinge”), or offer a deck to draw from “Collect 5gp” “Listen for rumors.” You could chain a narrative sequence of events with multiple storylets and choices.
  • Decks were collections of cards, but could be organized to represent many things - encounters in a side quest with grinding, a “draw a random loot card!” deck, a penalty deck. Decks could flip one card or up to 3 (5?) at once, offer a choice of one or all of them before vanishing or be persistently on the board. I created a ticking clock/time progression mechanic by setting that the main deck flips three cards and there were several “The Hour Advances” cards which the player could only dismiss from the table by playing it which would advance time. They could choose not to advance time, but one of their spaces to flip cards was blocked. If they turned three Hour Advances cards up, they couldn’t draw again until they activated one of the cards to advance the time (which cleared all of them from the table).
  • Locations weren’t quite what you’d think of in an adventure. They didn’t have to be a location, but “play spaces” like each one was a card table with different decks set up on it. If I had a location “Medieval Village” I could have multiple decks the player could choose to draw from: “Gossip with a Villager” “Search through the garbage for treasure” “Visit the trainer” “Visit the weapon shop” - or it could be conceptual with decks “Dream about the future” “Dream about the Past” “Dream about the Present”. Location basically offered configurations of multiple decks. The author could trigger a location change from any card.
3 Likes

So, I helped to develop DendryNexus as a way to replicate some of the original features of StoryNexus (and thus Fallen London), such as the card deck system. There’s a thread here.

Check out Social Democracy: An Alternate History or Petrograd 1917 to see examples of games within the system. These are… not really like Fallen London at all, but I hope they can serve as inspirations for games with a similar system? The main character is a political party as a whole, and overall I wanted to minimize grinding and build something like a political/economic simulation, where narrative and mechanics are one and the same. The cards represent government or party policies, and there’s a constantly advancing time variable and specific time-keyed events.

Regardless of the game’s genre, I definitely agree with points 5-7 - it’s important to have a clear relationship between the causes and consequences of actions.

10 Likes

Oh, this is VERY useful! This will give me an excuse to actually get the game. I did see some screenshots of it, and from what I did see it wasn’t necessarily very pretty. Or rather, it very much looks like they took the system for Fallen Londen, and ported it directly to Sunless Sea, setting irrelevant values to null.

Same with this, I’ll have to give it a good, thorough read. I’m already determined to build a data model from the ground up, just so I actually have the type of control I want (and need, frankly). It’s useful to see how the originator of QBN did it though, and adapt what works.

I will check these out, thank you! I can definitely use all possible inspiration right now. I do not intend to make a straight Fallen London clone, but without enough sources of inspiration, I do run that risk. Thank you for recommending this, and I’m fascinated by the fact you already adapted StoryNexus’ systems once.

Due to the fact the author of Interactive Fiction has so much control over what is and isn’t possible, compared to a medium like a TTRPm I think it’s only fair to offer the player that narrative agency to help them shape and steer the story, rather than obscuring it from them. Especially if they are to commit days, or even weeks to that narrative.