My vision for this project is an innovative text-based RPG powered by artificial intelligence. It's designed to be adaptable and distinctive, set in a world where generative AI facilitates dynamic changes and variations. These changes are guided by the collective decisions of the player base. That was a tad top level, breaking it down a little more…
At its core, the genRPG project is a text-based RPG meant to run on the OpenAI GPT platform, supported by a companion website. It's more than just a basic text game. The AI Game Master Persona in genRPG will connect to various APIs, making the gameplay both dynamic and orderly. Player actions, such as completing quests and progressing through their stories, will influence aspects of the game like faction dynamics and monster populations. These influences extend beyond individual gameplay, fostering a sense of shared storytelling. This setup allows players to feel that their creative decisions genuinely shape the game world. This creates a pseudo-shared storytelling experience and allows the players to really feel like their own creative actions can affect the world in a meaningful way.
The game and its world are being crafted from the ground up, and they are in a state of continuous evolution. Working with AI at this stage of its development is a journey of surprises; sometimes it's astonishingly intelligent, and other times it appears less so. Consequently, the game's features are subject to fluctuation. This is the nature of working with such new technology—it's exciting, yet unpredictable. Therefore, features may be added, removed, or altered over time as they are developed, tested, and refined. One key feature players can expect is an interactive map. This map will not only display and track your progress as you embark on various quests, but it will also evolve with your journey. It begins with public information and expands as you uncover new knowledge, allowing you to explore the world and lore you’ve discovered. This information will also be accessible through the chat interface, but the companion map offers an additional, shareable dimension. You can share your travels and discoveries with others, enhancing the communal aspect of the gaming experience. Regarding further expansions, I'm considering the addition of a comprehensive Wiki. This would include detailed information on monsters, regional data, animals, lore, and more. However, there's a balance to strike between providing information and preserving the sense of mystery and exploration for players. I'm weighing how much to reveal upfront and how much to leave for players to discover on their own. This approach will help maintain an element of surprise and discovery integral to the gaming experience.
A comprehensive system for creating characters, including class selection, personalization, and backstory generation.
Ability for players to start new adventures or resume existing ones, each with a unique session ID for ongoing narratives.
SilverHolm, a richly detailed world, offers extensive lore, history, and a variety of locations for exploration.
Players can engage with diverse NPCs and explore multiple locations, each bringing unique stories and characteristics to the game.
A variety of quests are available, challenging players with specific objectives, rewards, and narrative impacts.
Detailed combat system encompassing melee, magic, and defense, tailored to character classes and attributes.
Strong emphasis on storytelling, where player choices significantly influence the outcomes and progress of the game.
An AI Game Master, designed to guide players through the dynamic world of SilverHolm, offering a unique blend of storytelling, and adherence to the game's mechanics.
An evolving map that dynamically displays your progress, revealing new areas and secrets as you explore the world of SilverHolm.
Stunning visuals and artwork created using Dall-E, offering a unique blend of low poly and fantasy styles to immerse players in a visually rich world.
I'm not the first to create a text-based game using GPT technology, as there are several impressive ones out there. Let's delve into a fundamental aspect of the game by examining a common player query: “Who is in the tavern?” At its core, it’s a straightforward question, but it reveals the uniqueness of genRPG. We leverage GPT actions to develop API endpoints where GPT sends data based on user prompts. They require an OpenAPI schema that describes server API endpoints, parameters, request bodies, and responses. This facilitates database manipulations like create, edit, delete, get, patch, and more, through OpenAI’s function calling. The GPT actions library in genRPG will contain hundreds of actions for varied use cases and database manipulations. The query triggers the "Who is" action, designed for questions fundamentally asking "who is". The schema's description fields, are uniquely designed to be read and understood by the AI and not the user. Writing these requires detailed refinement as individual prompt engineering to ge them to operate reliably and repeatedly. These The "Who is" action splits the input into two components: the full user input and the main query focus. In our case, "Who is in the tavern?" is the input, and "tavern" is the focus. These, along with the player's session ID, trigger the response process. The game server then examines the player’s character sheet, focusing on current location, known NPCs, and locations. A local area scan adjusts contextually based on factors like indoor or outdoor settings. The result includes names and descriptions of known NPCs in the tavern, physical descriptions of unknown NPCs nearby, and the interior description of the tavern. Additionally, two semantic searches are conducted: one for rules and another for guidance. Guidance comes from a database of example user inputs and relevant tooltips or advice for the GM. This is designed to be a list of example inputs and suggestions for how to handle the input. This something that will grow with refinement. The second search finds contextually relevant rules and lore. The resulting information, bundled in JSON, is returned to OpenAI, where the Game Master persona weaves it into a narrative. This complexity serves a purpose. Instead of relying on static knowledge files, this dynamic approach allows Non-Playable Characters (NPCs) to move around, ensuring that players encounter a consistent yet unique experience as they traverse the game world. My goal is to build a world within this system that is as complex and dynamic as possible, one that continuously evolves in response to player interactions. But the vision for genRPG extends beyond mere complexity and dynamism. At its heart, the project aspires to create a shared world, where players' actions don't just affect their own journey, but also the experiences of others in the same universe. This interconnectedness means that the narrative is not just a series of isolated adventures, but a living, breathing ecosystem where stories intertwine and evolve collectively. In this shared world, the actions of one player could influence the storyline of another, creating a rich tapestry of interwoven narratives. For instance, if one player resolves a conflict in a certain region, this could open up new storylines for other players who visit the same area later. This interconnected gameplay encourages a sense of community and collaboration, as players realize their actions contribute to a larger narrative. In essence, genRPG is not just a game; it's a continuously evolving narrative universe. It's a platform where stories are not pre-written but are crafted through the collective imagination and decisions of its players. This is the future of interactive storytelling - a boundless world where every decision matters, every player contributes to the overarching narrative, and the story is as limitless as our collective imagination.
The recent advancements in generative AI have been nothing short of astounding. It requires a moment of reflection to truly appreciate this fact: not long ago, this technology was predominantly employed for predictive searches and summarizations. Now, however, we're engaging in discussions about realistic timelines for achieving Artificial General Intelligence (AGI) within our lifetimes. The significance of this technology — in terms of its potential impacts on humanity, both positive and negative — cannot be overstated. It is poised to become, if it hasn't already, the next trillion-dollar industry. So, what is my point? In a somewhat roundabout way, I am expressing my awe and excitement: THIS TECHNOLOGY IS SO FREAKING COOL, AND I AM EAGER TO CREATE SOMETHING WITH IT.
In early November 2023, OpenAI unveiled their new GPTs platform, representing a significant shift from the traditional ChatGPT plugins. This move can be seen as OpenAI venturing into the realm of an app-store-like model, specifically tailored for GPT technology. In OpenAI's description, these are customized versions of ChatGPT designed for specific purposes. The GPTs platform enables the creation of custom actions, allowing these tailored GPTs to integrate external data or interact with the real world through APIs. This development marks a pivotal step in making AI more versatile and applicable in various real-world scenarios.
My initial venture into this project was through the creation of TavernBoard, a website featuring a simple GUI interface. This platform allowed players to accept quests from a quest board, with a bard narrating each quest. Players had the opportunity to shape the story, and a GM would determine the quest's outcome. The backend of TavernBoard was built using a series of LangChain Agents, each responsible for different game elements, passing function calls from one agent to another. However, incorporating generative AI into the system introduced a significant cost factor. Both inputs and outputs incurred expenses, and though the costs were minimal (cents per thousand tokens), a narrative-rich game inevitably led to substantial text generation, escalating the costs. It was a cool concept, but the more and more I started developing it I realized that I could not handle the server costs and ended up shelving it.
When OpenAI released the GPT platform it solved several problems for me all at once, but mostly it solved much of the issue of token cost offloading it to OpenAI. It also cuts down server costs and builds custom agents to handle gameplay elements. It also provided native and built-in access to Dalle-3 OpenAI’s powerful image generation. So while many others are leveraging the knowledge banks and retrieval augmented generation functions of the platform to create personalized assistance, I dedicated myself to see how far I could push the system. Originally, TavernBoard was powered by GPT-3.5, and the quality of the responses was reflective of that. With the advent of GPTs, powered by the more advanced GPT-4, the quality of content generation has improved markedly. GPTs are all powered by GPT4 and are a lot higher quality. By building my own backend server and connecting it with the GPTs platform. I can harness the power of GPT-4 to generate a wealth of high-quality fantasy game content, evolving organically as players interact with and expand the game world. Like I said before, any use of this technology means cost, but by leveraging it correctly I can benefit from the data generated just as much as my player is.
While OpenAI's GPT platform offers a unique opportunity to develop with cutting-edge technology, it also presents certain trade-offs. My original concept for TavernBoard was not limited to a text-based format. It included a basic isometric 2D interface, allowing players to move from room to room. This custom interface granted me a higher level of control over game inputs and outputs. The primary trade-off when moving to the GPT platform is control—not just in terms of system operations but also in the framework within which the game is played. Everything in the GPTs system operates within the ChatGPT text assistance interface. This means I cannot implement interactive elements like buttons or a GUI to display values.
Moreover, the shift to GPTs entails relinquishing control over how the game visualizes data. Although GPTs are powered by the advanced GPT-4, they do not offer the capability for fine-tuning. This limitation means that while you can instruct the AI, you cannot enhance its handling of specific situations. Consequently, even with explicit instructions, the AI might choose to represent data in an unexpected format, like displaying a table as a list or a paragraph.
Working with a complex GPT system is about navigating within a framework of guidelines and actions. The optimal output from a language model like ChatGPT is a human-like statement. The challenge then becomes taking these outputs and transforming them into something that is both repeatable and actionable. Accepting this new direction means being comfortable with the AI's autonomy in presentation and interaction, even if it occasionally deviates from explicit instructions.
This project is driven by a deep passion for both the exhilarating realm of new technology and the art of storytelling. As a hobbyist endeavor, my commitment to developing this project is steadfast, fueled by a genuine enthusiasm for what it represents. However, it's crucial to acknowledge the magnitude of this undertaking. Providing a glimpse into the complexity involved in just one game action offers a hint of the extensive intricacy required to create a full-fledged role-playing game. This leads to the reality of the development timeline: currently, there isn't a definitive one. As the sole creator behind this project, the scale of the task at hand is immense. While AI technology does provide significant assistance, the sheer scope of creating an entire game single-handedly is a colossal endeavor. It's important to manage expectations regarding the progress and completion of the project, given its complexity and the fact that it's a one-person operation. My dedication to seeing this project through remains unwavering, but the path to completion is open-ended and will evolve as the project progresses.
For those eager to stay abreast of the latest developments and updates in this exciting journey, I highly recommend following the development blog. This blog is your go-to resource for all the news, progress reports, and behind-the-scenes insights related to the game. Whether it's new features being tested, adjustments made based on AI behavior, or expansions in the game's lore and world, the dev blog will keep you informed and engaged.
Share your thoughts, experiences, and ideas with a growing community of like-minded individuals.
Get immediate notifications about the latest developments, straight from the development team.
Join in on various community-driven events, discussions, and collaborative projects.
Share your insights and suggestions directly with the development team, influencing the game's evolution.
Copyright © genRPG & Drew Teichman. All Rights Reserved