Making a Nostr RPG.

Making a Nostr RPG.

Stay a while, and listen

For a long time, a notion haunted me. I came up with a theoretical ‘Open Ladder’ system, which would allow you to have something like a decentralized ELO-score using Nostr and open timestamps. From there, i figured i could leverage the same technique to build a massive multiplayer open online RPG….atleast, on paper.

I started playing around with AI, to see if i could make some mock demo’s of what my grand vision was. I ended up with this Demo app written in HTML that is absolutely wild. You should check it out some time, nothing really works, but there is combat and for some reason a very extensive weather engine. Why it decided to put so much effort into the weather thing i don’t know, but every few minutes it changes.

HTML here:
https://cdn.satellite.earth/6f3dcee286b9b579c716ef39a45811a7a6cf0f2f9301d11cf9c668fc585110f7.html

As you can see from this preview its raining :)

To bolster my vision, i let the AI make some artwork and even made a demo trailer.

The AI went wild on this one, adding this bit into the script by itself:
“trade rune-etched weapons via floating runic tablets that pulse with Schnorr-signature glyphs.’’

Ultimately all this stuff goes nowhere, so i decided to just look for the simplest thing that I myself could make. I figured that i could use Nostr profiles to present a scene, using its Avatar, description, banner picture, and an interaction between posts that would allow you to hop from profile to profile.

It is a terrible way to construct things, but it was all i had. After testing the basic idea i know it would sort of it; i also realized doing it by hand via some existing client would take ages.

That is why i made this!
https://npub1ekr8357dy74xqe4fe9h77nmlmxw9jljqrahe36f9wypdsk42jpyqs6rr3g.shakespeare.to/

It allows me to create the entire story inside a spreadsheet, and upload that into this little programm that would publish all the events and spit an updated file back out.

This is the final spreadsheet for the Questr-Basic demo story for example:

I tested it out with this try and it seemed to work:
A Hero Born

It would still take some time to generate all the images, and get an AI to write me a story in the precise format that i wanted. This is where things went south. First i tried to create a client using https://shakespeare.diy/ that would show all the elements (the kind 0 info, the post and the replies) in a way that would fit the system i was going for. Nothing really worked and i wasted A LOT of money on this.
Second i tried to create some framework which i could apply to an AI over and over again, to iteratively generate stories and branches for me, that i could simply put into the spreadsheet. This, was also a disaster.

The fact that stories could branch, would simply explode the amount of work i would have to do given the stupid way i construct these stories, so i figured i would scratch branching and just create 1 linear story first, and see if i could add branches later. Because i thought i simplified things, i tried to create something compelling. A Kingdom called Nostria, and its Capital Nostrdom; a rugged terrain that did not allow for many roads. Only carrier-Ostriches were viable means of communication. The Brotherhood of Schnorr, a recluse guild of monks created magical stamps with which messages could be signed and later locally verified by the recipients. To distribute these messages, that covered all communication, commerce and administration, they used special hubs. The League of Relays, a merchant guild was in charge running most of the hubs and taking care of the ostriches. An evil sorceres, Lady Mirage, threatened the realm with her Sybil Syndicate, faking messages, spamming hubs and stealing identities; all to undermine the decentralized system and force people onto her master plan ‘The Platfom’. To do this, she wanted controll over the Crown’s stamp, a 5 out of 3 threshhold multi-signaturestamp. Having already stolen two, she only needs to kidnapp the King and seize controll. Via various quests, our hero would eventually defeat Lady Mirage and safe the kindom.

Early on, the addition ‘medieval fantasy pixelated heavy shaders’ to my image prompts was just something that came up. And it really worked well with the Open AI model.
I am in love with this artstyle, and frankly is the only reason that kept me motivated to continue...i had this vision and it needed to manifest.

All of this was still too complicated. Frustrated, I figured I would dumb things down as much as possible. That was also when I realized I can still add choises and therefor branches, but simply leading them to death instantly. This way, it would not explode into my face.

I got to work, handwrote the basic straightforward script: Storm the castle, kill the dark lord, these are the 7 locations etc.
The AI spit out something usefull that only needed minor touch ups. The language is a bit too fancy to my liking, but trying to get that right is a nightmare I was not going to try out.

A bunch of image generation, copy and pasting, later I finaly ended up with Questr-Basic Start Questr-Basic.

Because Questr-Basic was even more straightforward than what I originally imagined, and I had some money left on Shakespeare, I picked the best looking of all my failed attempts and tried to fix it. My final Skakespeare balance is now $ -0.01, and the app works (on desktop browsers)!

https://npub1at46t0djpq0u23hvr0lp5mrqgq7gt7pm4w7w7tng03922uwvhwqqzz5emu.shakespeare.to/npub1kqqv8afngq9nam723vpm6e772hjcyw4ll7y32ueytln7p759e7rqxwream

It will be obvious from your experience that it won’t just load the original intended content, but also comments other people made, perhaps sometimes it wont load anything at all.
This was actually the meta-aspect to the ‘Nostria Sybill Syndicate carrier-Ostrich’ story, and it would open up questions on data availability, relays, clients, spam and filtering.

Such tie-in does not exists in Questr-Basic’s plot, but the same issues still exist.

You see, the point is that it is open, that anyone at any time can simply add a reply and fork the story. It is not a bug, its a feature, a feature that needs some consideration in how to deal with it.

With that, I will leave it be for now. If anyone is interested in discussing expanding this Nostr RPG stuff, perhaps an attempt at some actual game; I have loads of ideas to share.

PS:
I tried to make an epic final cutscene for Questr-Basic, but creating video is expensive, and the output was terrible haha.

PPS:
I made screenshots of a clean, total Questr-Basic experience. For archive sake:

Start:

Stage 1:
The Fields:

Dying at the Fields:

Stage 2:
The Gate:

Captured at The Gate:

Stage 3:
The Courtyard:

Getting hung at the Courtyard:

Stage 4:
Hall:

Getting burned by the dragon at The Hall:

Stage 5:
Spiral Stairs:

Killed on the stairs:

Stage 6:
Hallway:

Getting absolutely REKT in the Hallway:

Stage 7:
Throne Room:

Getting zapped to death by the Dark Lord in the Throne Room:

Killing the Dark Lord:

This post and comments are published on Nostr.