Co-op World Building System for RPGs
I’ve been looking heavily into ruleset creation for Fantasy Grounds, the Cadillac of virtual tabletop applications. FG is an old application and relies on a lot of older conventions such as XML to define things like visual layouts. It also uses Lua which you might recognize as the scripting language of choice for many MMO add-ons.
FG is in the throes of a re-write in Unity, according to sources. I was discussing this with the Illustrious Talyn, who has translated several FG modules and is familiar with the FG team. I mentioned that even though it would be a pain in the ass for them to do, I’d like to see the Unity version support both the “classic” use of XML and Lua alongside the more up-to-date C#/Mono.
As a tangent, I wondered if it would be possible to extend a Unity version of FG with mods that do more than just add rules or content. One thing I was thinking about was the potential to have a data store other than files, which lead me to think about having an off-site database, which then led me to wonder about the feasibility of a system — not necessarily FG-based — of a shared world RPG system.
“Oh!” you say. “You mean an MMO, dumbass”. No, I don’t, for a few reasons. First, I’m talking about tabletop RPG. They removed the “RPG” from “MMORPG” many years ago so when we talk about RPGs we mean games like Dungeons & Dragons. Second, I was thinking about a system whereby many people can get into a database and define “a world” with “locations” and “monsters” and “lore”.
Consider your standard sourcebook. It defines the world/landmass/nation/region, pointing out geographical points of interest. It also talks a little bit about the land’s history. The book will then go into detail about the civilizations that you will find in these areas so that in the end, the GM/world builder can have resources at his or her disposal to make one-off adventures for a single group of players.
With the shared world system, people who connect are greeted with a living world which keeps track of the state of what everyone who connects has accomplished. Mobs can be generated by the GM and stored in the database. When the party decimates those enemies (hopefully), the location where the battle took place is recorded. Along comes another party and the GM receives a note on the area that this “looks like a significant battle took place here”. He or she could do with that as they wanted, or ignore it.
More importantly, important world figures would be significant in that any party who opts to include one in their adventure would layer that NPC with experience, and might even kill them. Once the NPC is dead, they are dead for everyone.
The idea, then, is to allow for collaboration among peers — even if those peers aren’t specifically working together — on a content system that has some level of intelligence, enough to know that 0 HP means “don’t show this NPC to anyone else unless the HP are set to something other than 0” and that once the treasure chest in the cavern has been looted, it stays looted until someone actively refills it somehow. Everything would need to be tagged with the creator, and the creator notified when the state changes significantly, so the creator can manage that item (resurrect the NPC, fill the chest, etc). So even if a gaming group moves into a corner of the map that no one ever visits, they will create their own concequences that maybe someone will find at some point in the future.
I have no idea if this is something that’s possible, even on a less powerful level — a shared set of documents that people can download, update, and re-upload to keep things kosher across the board for everyone.