Interactive Fiction with cryptocurrencies

Hey all,

I’m new to this forum, but have always been a fan of IF, story-based games, and writing poetry/stories. I’ve also read up on cryptocurrencies and blockchain use-cases on the side, and have been bouncing around an idea where IF and facets of cryptocurrencies could intersect and hopefully make some neat stuff.

IMO, one of the neatest things about IF is how a person is able to make choices, and how those choices are reflected further down the narrative. With one of the cryptocurrencies called Ethereum, there’s another thing called a non-fungible token (NFT), where you can make a token and give it specific characteristics that reflect either deliberate actions or random variables. One (silly but neat) example is the app called CryptoKitties, where you are able to buy, sell, and breed cats. While it’s one company that’s issued the CryptoKitties, there are other groups of people building on top of it, in that they’re writing games/applications that give additional assets (hats, racing, combat stats for Pokemon-esque battles) to the CryptoKitties. Since blockchains are supposed to be immutable, decentralized, censorship-resistant ledgers, there are some risks but interesting rewards if things line up.

While I recognize that a lot of use cases for cryptocurrencies are arguably vaporware, I’m really interested in trying to suss out if immutable tokens reflecting player-made choices would suit IF.

With these non-fungible tokens, one could make it so that the data on the token isn’t random, and instead reflects things like player-made choices. So I see them as having the potential to act as a memory card on a blockchain How I’ve been seeing this working out is as follows:

  • Author writes a narrative, with branching storylines
  • Players go through the narrative, making choices and solidifying the choices at the end of a section with the minting of an NFT that reflects those choices
  • Players don’t have to pay to play through the narrative, but since minting an NFT that reflects specific choices costs money on a blockchain, the Author would have the ability to make a version that’s free to navigate through, and one where you pay so that you can offset the cost of generating the NFT
  • When the Author makes another installment, the Author writes the narrative such that the choices are carried over from one installment to another
  • Since the choices are reflected on a blockchain that other programs/applications can read, other Authors can check to see if a specific Player has a token tied to another story, and build off of those choices as well (this is the main reason why I think this could be neat!)

With the ability to see choices that other players have made (without seeing who exactly the player is) is made available, Authors could potentially do things like chart/document how many people are making certain decisions, build out their narrative to adjust/play into that, and hopefully write stories that people love more as a result. Past that, things like voting and other forms of interactive story-telling could be built off of this.

Since I’ve done none of the work to make this possible, I’d love to hear if this idea is useful/valuable, or if anyone else is already doing it!
I’m not trying to sell a token for this, so I’m trying to gain feedback and some direction so that I can build this out, write a cool narrative that people enjoy, and give this project its own two feet to stand on.

[Thread Subject clarified by Mod]

Since the main function of a blockchain is to ensure security and to thwart tampering and denial-of-service, I’m not sure what IF can get from it.

Good points.

To be fair, if there were other ways that people could signal participation in unrelated stories and build off of those signals, I’d like that too.

While blockchains do add a cost and finality to projects, my primary line of logic was that since with wallet addresses, one can build out a program that reads your address, sees that you have a token reflecting going through other stories/games/activities, and surface more within the story based on it. Since a lot of people are already building non-fungible tokens from other games/art/media, I’d like to be able to make a call/reference to that and make the narrative feel that much more engaging!

So, let us imagine someone sets up an ordinary database, on a web site, where authors can register games. As you’re playing a game, it interacts with the database to update your game state and the state of your items (or whatever). This is trivial to set up once you’ve figured out the data model you want.

The blockchain version of this behaves exactly the same way, except there’s no central database or web site. But that’s not an interesting difference from the game-design point of view.

So, from the game-design point of view, is this interesting? Sure. MUDs were a primitive implementation of this: many authors building IF-style areas adjacent to each other, and you could (at minimum) carry items between areas. The Eamon system (on Apple 2) was another example.

However, designing interesting interactions between areas requires some thought. Lugging the Elvish sword into the Dunbar mansion is just a gimmick – the mansion is a murder-mystery scenario, there’s no monsters to kill. If there were monsters, you’d immediately run into the munchkin problem: “My sword is plus one million to hit!” Sure kid.

I’d say that collaborative game mechanics only work when the authors are, in fact, collaborating. That is, when the authors get together behind the scenes and decide how their stuff will interact. Or when one author invents a system and then delimits how other authors will interact with it. The shared database (whether traditional or blockchainy) is just a way to facilitate this.

I thought about these issues a bit with Seltani, and set up an opt-in sharing model between “worlds”; an author can decide which data attributes in their world are readable or writable by other authors. (Or particular other authors.) I was imagining, perhaps, a trophy cabinet that fills up with trophies as you solve puzzles in other people’s worlds. I don’t think anybody ever used that feature, though.

2 Likes

Speaking of Eamon, I found out it’s still alive and kicking. There are modern versions of it that run on Linux, Mac, and Windows as well O.O Crazy.

eamonag.org/pages/Play_today.htm

1 Like

It’s an intriguing idea, but there are definitely easier ways of getting anonymised metrics for what choices people make. You just need to host your game on a website or get the game to communicate back to a server and have some kind of tracker. Even the IFComp website does (did?) this.

I thought this video had some interesting things to say about blockchain in gaming: https://www.youtube.com/watch?v=ywvTIM_eOVI

Thanks for the recommendation!

While I recognize there may be easier ways, I’m interested/hopeful that I can learn more about what people value through executing this project, and if creating prose/poetry around other tokens is something that people are interested in. At the end of the day, it seems as though the people consuming/taking the content in the form of the token dictate the value; OTOH I’m definitely trying to steer clear of shoehorning a coin into this in order to fund a speculative cash grab. From there, I’m trying to explore whether or not IF has any net-positive effects if one weaves it into a blockchain.

Hey, did anyone pick up on this? I’m hoping to build a text-based metaverse using cryptocurrencies and crypto-native collectibles. There’s a whole world of creatives issuing assets on a blockchain, and I’m hoping to build an open source protocol that allows creators to monetize on their work.

To this point, there’s a lot of good literature on generative works, and the way I’m trying to write this would make it so that the creator of the murder-mystery scenario would have the choice to:

  • specifically describe properties of the Elvish sword
  • Classify it as a “sword” with “adjective” properties
  • ignore it, and come up with some narrative reason for why your avatar walked into a mansion and wasn’t able to bring their inventory from the last raid.
    In addition, I want to make it so that the stories are responsive to things happening on-chain, which opens a wellspring of potential narrative branches, don’t you think?

I envision a collaborative forum like Discourse where certain threads are only viewable by the creator and their collaborators (assuming they couldn’t just use other comms methods) so that they can collaborate. That way, the authors are able to strengthen the cohesion of their works and the experience of the community.

Also, I thunk that the people in the crypto community need the narrative prowess of the IF community, because right now, they’re making a lot of assets, characters, and items, but there isn’t something to connect the dots. I’d like to take advantage of my experiences and build the bridge that makes that happen!

If anyone’s interested in that, please DM me. I’m to finagle a way to use Inform7 despite it not being open source yet, but if anyone has any other ideas, I’m all ears!

If your first idea when you see something is to monetize it, then you have skipped past the fact that it already has value to those who are making it and using it. That value accrues in a currency which you have not created. That currency is reputation, trust, and character. The market in that currency existed before you arrived. It was the market of gift-giving.

Superficially, it’s an interesting idea that playing a game could be proof-of-work, and therefore represent value in itself.

The trouble is, that computer-based interactive fiction, being software, would not be a satisfying experience if it were full of bugs. Consequently, an author needs ways of detecting such bugs.

Since we’re in the digital domain, that gives rise to automated testing and fuzzing tools to identify defects.
Those tools tend to defeat the idea of gameplay as proof-of-work.

2 Likes

Here is Adam Thornton (who I don’t know, and apologise if he wouldn’t want his words taken this way) talking about how IF could end up being a closed community of 200 authors only writing for each other. Ignore the screenshot, the actual clip begins with him speaking:

But isn’t Bitcoin exactly 20 million authors writing for each other?

The difference is you can share your IF with a friend, and your social value may benefit. But Bitcoin cannot be shared. It is entirely property.

1 Like

I’ve come round to the position that cryptocurrencies are not just a silly fad, but actively evil. Bitcoin now requires more electricity than Argentina, the Netherlands, or the UAE. It also generates over 80 grams of e-waste per transaction. The other cryptocurrencies aren’t as bad right now, but they could be in the future.

So while there could be uses of blockchains in IF, stay out of the existing cryptocurrency networks please.

3 Likes

Not sure I said that immediately monetizing was my first thought, and I apologizing for not making an account on this forum as soon as I started exploring the industry. Hoping to continue enjoying the space now that I’ve found this place!

I agree, the plan wasn’t necessarily to swap out the number guessing that computers perform with people (or bots) entering commands. Totally agree with the point about fuzzing tools, and the benefit of collaborative, open source tooling would make it so that creators don’t have to build tools that someone else has already built, and can focus on writing a great story!

To the Get Lamp clip (that really inspired me to think hard on how to make this work), I think that a blockchain could be viewed as a large number of people writing for each other. I’m treating the database layer as just a shared database layer, and trying to optimize for:

  • Speed (so that writers don’t have to create scenarios that overly control for lack of uptime)
  • Cost/Energy (I don’t think anyone wants their story to be the carbon equivalent of 10 Alexandria burnings)
  • Access (it’s a failure if the protocol is built such that only a few rich people can actually use it!)

AGREED! I’m hoping that some of the newer networks that focus on speed and not verbosely keeping track of every state change can alleviate some of the issues with carbon. I also recognize that it’s more advantageous to advocate for greener networks with leverage, and want to get the proof of concept out there on a cheaper, greener, already existing chain for now.

I’m readint through Inform 6 documentation, and also noticed Guncho could be useful for MUDs, and I’m actively searching for others that’ll make for an engaging proof of concept; would you have any other recommendations for an IF tool that can take in and send out data through an API?

Hey, please don’t apologise, I’m just one person here.

This forum is full of people who write digital stories, and (sometimes the same) people who like to play those stories.

Subject to some inevitable technical friction, access to those stories is fairly easy.
Rent-seeking intermediation of that story-telling isn’t something I personally would welcome though.

1 Like

Thanks, that tracks! In a way, I can see how this sounds super accelerationist, and don’t want to necessarily do that that. The way that I want this to happen would be so that there’s minimal changes to the way that authors have published their stories. That way, any and all stories that an author wants to be free can be, and are. I think that treating the token as a sort of “memory card” or wallet full of coupons allows for that. If an author wanted to charge for their work, this protocol wouldn’t be the first, last, or only way to do so. Moreover, anyone paywalling all access to their work runs the risk of writing something that suffers because of sunk cost.

All I know is that I love writing, love collaborating with other people, and want to push myself to make a beautiful work that’ll outlive me. I don’t plan (or think I have the talent) to write a work that would be paywalled, so I wholeheartedly agree with the downsides of adding toll gates to art.

1 Like

Depending on your goals, you could probably use Inform 7:

1 Like