project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

SOp (SpaceOpera)

SOp is a narrative engine that used MUD to generate a shared game state and Langchain to create new entities and a narrative thread for the infinite universe

SOp (SpaceOpera)

Created At

Autonomous Worlds

Project Description

The project aims to create a shared narrative experience and a vibrant story crafted by all participating players. To achieve this we started off with our AI-Universe nft collection which has a structured prompt system creating the base state for our game.

We implemented MUD to read these entities and create versions of them in the game state. THis allows L1 nfts to be used on a gas efficient game state without having to leave the base chain... additionally the entities created are ownable on their own. giving owners the ability to sell entities on the state if they wish to.

Once the entities are created in the state they are "unparsed" this means that they have not been seen by the AI yet. We created a function that queries all unparsed entities and puts them in a Langchain model. THe langchain is a set of AI models that take this array of entities and create "story entities" which are referenced to the original entities

All of these entities are then used to create a story vignette which must use all the entities created at least once. This story beat is stored in its own table which create a narrative thread that all players can query and update by setting their entities to be part of the next beat.

How it's Made

THe project uses a vite/ts app to query the eth nft metadata and interface with the MUD protocol through its defined methods. THe methods used were:

createCHaracter: this takes the NFT attributes and uses them as name fields for the new entities. Aditionally they get a unique world ID toggleParsed: this table keeps track of all the "unparsed" entities that will be processed in the next loop.

On the backend the application uses a node/express server to handle the Langchain. THe return of the methods here will be used to update the state from the client

background image mobile

Join the mailing list

Get the latest news and updates