An adventure game where players' wallets transform into characters and encounter past Ethereum projects. ChatGPT acts as the dungeon master, giving voice to crypto's rich history. Player actions shape the in-game world and incentivize collective storytelling & infinite games.
MythWeaver is an immersive adventure game that leverages the unique capabilities of blockchain and AI to breathe life into the rich history of Ethereum. Players' wallets serve as the foundation for their unique characters, and the game's world is populated by the "ghosts" of failed Ethereum projects, waiting to share their stories and wisdom. Our aim is to foster a culture of community building and collective myth-making, encouraging positive-sum behaviors so we can thrive in this infinite game.
Our project was inspired by the book "Autonomous World" by 0xParc, leading us to incorporate AI into the game as a method of weaving our collective memories into interactive narratives.
The primary objective of this project is to construct an innovative game rendering engine, leveraging the capabilities of Large Language Models (LLMs) like ChatGPT, and text-to-image models such as Midjourney. The inherent unpredictability introduced by the LLM and text-to-image model enriches the gaming experience, offering endless possibilities, particularly in a rogue-like game scenario.
All game logic and assets are stored on-chain, ensuring that every game status update or state alteration is synchronized with the blockchain through secure transactions. This methodology effectively divides the entire game into two distinct parts that operate independently without any interference.
In this hackathon, our focus is on developing a captivating text-based adventure game, that showcases the power of integrating AI with blockchain technology for an immersive gaming experience.
This project comprises three main components: the frontend client, a backend relayer that integrates with the ChatGPT and Midjourney service, and a smart contract developed with MUD. The game logic is encoded within the smart contract, with all assets and global variables stored securely in the https://mud.dev/store
The backend serves a dual purpose. Firstly, it functions as a bridge between the on-chain contract and off-chain rendering services (ChatGPT and Midjourney). Secondly, it operates as a relayer between users and all rendered elements, receiving inputs from users to interact with ChatGPT, while also dispatching elements to narrate the game on the client side.
The front end serves as the nexus between the players and the game logic, crafting the game interface with the aid of ChatGPT and Midjourney, facilitated by the backend server. Players, on the front end, are required to connect their wallet, which serves as a persistent identity. An ephemeral key is generated for each session and stored in the browser's storage to eliminate the need for players to sign every individual transaction, thereby enhancing the user experience.
Our project incorporates two significant innovations. The first is a novel approach to game rendering, wherein the rendering services are distinctly separated from the game itself. These services span across a variety of platforms, including centralized services such as ChatGPT and Midjourney, as well as self-hosted servers, offering a unique level of flexibility and scalability.
The second innovation pertains to enhancing the identity system within the game. Players can use their existing key as a universal "master" key to maintain their game status and assets persistently. An ephemeral key is generated for each session, which signs transactions during gameplay, thereby eliminating the need for players to manually sign each one.
During the initial session, players need to sign once with their wallet to establish a bidirectional link with the session key, thus initiating their character. In subsequent sessions, a new key is generated, and the player must sign again to bind the new key and migrate the character to the new address. This system ensures that the game status and assets are securely linked to a persistent wallet, with minimal additional steps.
Records of these binding actions are stored securely on https://next.id/, providing a seamless and safe gaming experience.