An autonomous world system for generating infinite, dynamic roleplaying challenges; no two the same. Quest encounters are powered by a sophisticated, behavioural AI storytelling engine that ensures narrative and stylistic consistency.
Endless Quest generates the metadata for each world using the AI storytelling engine, dynamically populating the world with rich, story-driven narrative experiences, one encounter at a time.
Each world is seeded with unique metadata, which influences all of the narrative experiences that emerge within it. Each experience is generated the first time that it is discovered by a player, then persisted permanently in MUD on Optimism. That NPC and chamber then become a permanent location in the world, but each play through is unique.
The map geography for every world is the same, built on top of Endless Crawler’s on-chain hyperstructure of chambers, on Ethereum. Each Endless Crawler chamber has composable metadata which is used by the AI storyteller to generate a unique experience for that chamber, based upon the thematic and generative guidelines of that world.
The NPCs in each world have their own personality, motivations, behavioural style and quirks, which help the AI experience to deliver distinctive and consistent experiences. Both the NPC experience and the metadata generation are powered by AI, opening up endless variations and possibilities for delightful and entertaining encounters.
This system is versatile and can be used to generate an infinite number of different worlds, each endless in their own right.
We had a lot of fun playtesting Endless Quest, and we think you will too.
Rob goes into some more detail in this Twitter thread during the hack: https://twitter.com/recipromancer/status/1660633969547968512?s=20
The game state and all metadata used to generate the experience are stored on-chain in MUD on Optimism, including the AI-generated metadata used to generate the world and run the AI experience. The client is built in phaser, based on the MUD phaser template.
When a player first approaches the entrance to an unexplored chamber, the metadata for the correlating Endless Crawler map is loaded using WAGMI and saved into MUD, and used to render the map for that chamber. Every tile on the map is an entity in MUD, so every movement of the player can be done on chain and checked for collisions or interactions.
At this point we also use an AI-operated system to dynamically generate the narrative engine metadata for that chamber, based upon the guidelines of the realm and the unique properties of that chamber. We also generate unique AI art for both the chamber and the NPC in the chamber, using a system that fits the art style based upon the realm’s configuration and the terrain type. All of this only happens the first time that a chamber is loaded.
We create an agents table and place those agents over the gem on each Endless Crawler map. When the player approaches the gem, we open a “narrative dialog” and initiate a chat session with a specially tuned roleplaying agent, that is fed the metadata for this chamber and NPC. This provides the roleplaying agent with the context that it needs to run a convincing experience.
There’s a fair amount of depth in the AI storytelling engine, and each NPC has its own backstory, motivation, behaviour type and quirk, including context about the player, chamber and world. The storytelling engine evaluates the responses from the player to determine if the player has successfully passed the encounter, and to give them a score out of 100 with each response. The player can complete the encounter at any time, but their current status and score will determine the reward that they get. We use a specially formatted status system that can be detected by the game to render state in the UI outside of the conversation.
We have many ideas on how to expand this experience, including introducing a more sophisticated storytelling management engine that can support NPC agent memory and interactions between NPCs, players and the world, and many other immersive techniques. It is also worth noting that, whilst we are using the ChatGPT and Dall-E APIs currently, we intend to introduce an architecture that would allow us to run the AI agents using open source LLaMA and stable diffusion models that can be self-sovereignly hosted and boostrapped “fromchain” using the approach pioneered in our ETHGlobal:Tokyo “HyperCartridge” hack.