Loot, Rarity, and Beyond

Thinking about the confluence of games and blockchain

Loot

One of the runaway success projects of 2021 was Loot. While hard to summarize the entire phenomenon briefly, the actual technicals of the project are indeed very concise: NFTs with on-chain metadata formed as an SVG image with a list of fantasy-themed gear. (You can check it out on OpenSea here.)

The reason why it took off, at least in my humble opinion, was the promise that it carried with it. It was an interesting primitive - fully on-chain metadata - and the items were designed with the mystique that hinted at an interesting story. I find it reminiscent of finding a really hype piece of character art, trying to figure out what series it’s from only to find out that it’s actually just a standalone piece. A community formed around it, and it seems clear a whole lore will form around them too. dhof managed to frame the creative seed of an idea, and hand it off to the community to nurture and grow.

While there have been a number of projects that have spun up around Loot (such as Lootloose, lootcharacter, AGLD, Realms), I personally have not seen a convincing game spring up around it. (The bottom of the Loot site says Quests are “Coming soon”.) This isn’t a criticism of Loot, but a subject I’d like to dive into a bit.

Rarity

Shortly after Loot, Andre Cronje developed Rarity. Rarity launched with a bit more framework than the absolute minimalism of Loot. There were characters (which could have their base stats rendered as on-chain SVGs a la Loot), and a basic stat framework which could and has been extended reminiscent of the D&D d20 system. Like Loot, an impressive community of builders has sprung up around the project, and have extended into skins and even adventures which allow “summoned” characters to accrue experience points (and by way of that levels) and items. For those interested in taking a look, Facu from Yearn maintains a frontend which aggregates much of the community building around the project called Rarity Extended.

While Rarity does have some game elements, I would personally call it barely a game at this point. Characters can level up by grinding a daily adventure, but there is no skill or variance involved in it. To be honest, the most convenient way to play would be to simply write a bot that could monitor when a character can adventure and send the daily txs. Again, this is not a criticism - Andre certainly never claimed that it was anything other than what it is.

I do believe there are teams in both ecosystems working on creating fuller games around both projects (and even some work on integrating the two with each other despite having been deployed on different chains - Loot is on Ethereum’s mainnet, and Rarity is on Fantom’s Opera mainnet).

On-chain Games

Looking at these two projects, and also dabbling a bit in other games such as Neon District, has led my thinking down a few different paths. One is that there is clearly a feeling that blockchain has something to give to RPG-style games. It is hard for me to imagine Loot and Rarity both striking the chord they did without that. That’s an arguable point, but the underlies the rest of my thoughts here. The others are an exploration of what that connection might be.

Just a warning: I might talk like I know what I’m talking about here. It’s just the way I think about things. Game dev is a field I do not know a large amount about, and some of the things I think I know about it may be flat out wrong. If you find something like that here, please do hit me up on Twitter and let me know.

One of the first thoughts I’ve had is around how hard it is to come up with something that can be made on chain for Rarity. Part of this is an issue with randomness on-chain, at least from where I see it. Randomness is often used in games, both tabletop (dice) and the computer kind. The current state of blockchain can be hard to get randomness out of, and even when there is limited randomness, there is generally a way to game the randomness, meaning that there inherently becomes a side-game of being able to game the engine.

(Computer games traditionally also use weak randomness, but are less transparent and permissionless that a blockchain. Blockchain gives a unique level of access to the game engine if the engine were to be on-chain.)

There’s nothing wrong with a side-game like that. Dark Forest has really embraced bots, and is turning into a game that can be played for fun manually, but is rapidly becoming a bot-creating game at higher levels. (There’s also a side-game of creating alliance DAOs there.) I saw to day that Max Wolff posted a really fascinating thread about the future of games like this. It’s still not what I’d like to focus on here - I’m more interested in exploring the intersection of narrative-motivated games and blockchain.

I think this is actually where a lot of the issues come up. The blockchain doesn’t have space or capacity for the breadth of a good narrative-driven RPG. For the computer versions of RPGs one of the issues would be decision trees - games with multiple endings or various relationships would need to somehow place these trees on-chain, where they would also be transparent, at least in a world where the whole engine would be on-chain. (Though I wonder if there’s something that can be done with either merkle trees or zero-knowledge proofs.) Another would be the actual dialogue and interaction - strings are expensive, and even if everything is represented as an IPFS link, it runs into all dialogue being freely viewable even without playing by virtue of being on a public, transparent network. Aside from that, there is the consistent issue of constant transactions to do anything. Imagining each move and attack as separate transactions, waiting for each to get mined, paying for tx fees on everything, is really unspeakable. Neon District gets around this by having an in-app wallet that auto-sends txs in the background, but I feel like that is a solution specific to more closed games, whereas I’m trying to focus on more open-ended projects.

When comparing to tabletop games such as D&D, the divide seems to great to bear imho. Not only are systems like the full d20 system from Wizards of the Coast terrifically complex (meaning large amounts of code on-chain), and also copyrighted, but in addition, at least in my opinion the real allure of tabletop is that the possibilities are quite endless. Whereas anyone who ever played an RPG has experienced the frustration of knowing the bartender has the item you need, or that the door you need to go through is right behind him, you can’t figure out how to get him to give it to you or move out of the way. Many have spent countless hours screaming at the screen and smashing their controllers into the furniture just wishing they could ask someone what the bartender means when they say “only if you bring the tooth will I move”. (Not me, though. I’ve just heard about this from others. Of course.) Tabletop solves this by not needing code for every kind of interaction. The game is limited by the creativity of the players and adaptability of the game runner. (Those can be large constraints, and both take a lot of skill to be done well, but that’s also true of those making and playing computer games.) If anything, at first glance blockchain offers only the worst of both worlds - an inadequate, clunky system that would mean narrowly defining possible actions without giving the immersive experience moving to the screen is supposed to offer.

So where could these two ideas meet?

A Proposal

I’d like to propose a different direction for blockchain RPGs, one that tries to enhance the tabletop medium as opposed to replace it with on-chain mechanics. I think that blockchain has some attractive things to offer for this paradigm, and I’ll try to list them.

First, let’s start with a challenge and limitation the tabletop world has faced when compared with MMORPGs: people enjoy being able to exist in the same world and interact with each other. Being part of a story together bonds people, even if it’s just watching an event in Fortnite at the same time. While many TTRPGs have settings and storylines, it is difficult to call this really playing in the same world. Even if I’m in a game set in Forgotten Realms and you’re in a different game in Forgotten Realms, it isn’t so much of a shared world. The different game runners may portray events and characters differently, make different global events happen, and more likely than not, will not make the actions of the other group ‘canon’ in their version of Forgotten Realms. In blockchain terms, it’s more like they each forked their own instance of Forgotten Realms than that they’re both playing in Forgotten Realms together. In other words, they can’t create a setting that is ultimately larger than the room it is played in.

There have been groups that try to transcend this. The D&D Adventurer’s League has a system which allows you to have a character you can play in any DDAL chapter, and can level up a character traditionally. I am not personally familiar with the group, but have my suspicions as to the limitations of the League. I doubt groups are, by default, aware of each other in-game, and I also doubt that these sessions can affect the overall Forgotten Realms storyline (“metaplot”). I am only somewhat aware of the Modern Enigma Society, though I suspect they have more of a chance at being able to do something like we’re describing here, especially since to the best of my knowledge there is no active metaplot in their setting, allowing them to easily be able to dictate their own metaplot.

While there would still be a high coordination cost, I believe there is space for blockchain to help with settings like these. While I debate if it can be useful as a mechanism for coordinating metaplot (perhaps by having a contract that stores pointers to IPFS write ups), it seems easy enough for it to serve as a database of characters (PC and NPC) and their stats. Approved game runners and maintainers will have access to updating stats on chain. This allows the character progression to be handled traditionally, and once finalized to be brought on chain. Rudimentary details like location could be useful in building a system that makes it easy to coordinate and understand which characters are in a region.

There would still be a great deal of effort needed to make a system such as this work. In addition, there are limitation to how much it could work. No one is going to take the time to commit every barkeep and weaponsmith to the chain. This obviously makes for a certain level of discontinuity between specific games. I think it’s still enough of a contribution as to be meaningful.

Another development in the TTRPG space that I find very relevant is the rise of remote sessions of RPGs held over services like Zoom. Whereas games used to be played around one table (hence the name), a number of advancements and a global pandemic locking us all up has moved the space of remote games greatly. One particular advancement that should be spotlighted is the virtual tabletop (VTT). These excel at bringing a battle maps (grids of areas, generally needed for combat) to life, allowing anyone connected to a server to easily see what their character is able to see, and often providing easy access to a number of in-game abilities (for example, seeing where your wizard would be able to cast Fireball and who it would affect). Foundry VTT (not to be confused with the smart contract framework), in general, has excellent ethos, including actively promoting user-created integrations. We could imagine a system that could read characters in from the chain, and also optionally write important information to it.

One of the reasons something like Foundry can be important is for allowing games to have a greater scope than their irl setting. If you know there is a super powerful mage (player character) who it makes sense for your group to talk with and ally with, the ability to coordinate them into the same game is necessary, even if the human playing the character is half a world away. As always, blockchains are good at creating an open ledger to coordinate around, and I could imagine it being a part of facilitating worlds such as these.

Something else worth mentioning about the VTT phenomenon is that it should allow for more complex systems. Things like the d20 system draw criticism for being overly complex, but systems built to leverage things like VTTs can work on placing the complexity in places where it is primarily abstracted away from the end user (players). Algorithms for accuracy and damage in ranged attacks that decay over distance, for example, could be fairly complex and handled by the VTT engine automatically.

Architecture

Talking about architecture might be helpful. I don’t mean to say this is the only possible architecture, but I think it helps illustrate the ideas here well. There are some assumptions made regarding the RPG system (for example, that there are experience points), but we’ve tried to be as minimal as possible.

Contracts

Characters: this could be something like Rarity’s ERC721 contract for players. Rarity bears similarities to the d20 system, which in its case means that there are also contracts for Skills and Feats. If necessary, a similar structure can be used here wherein there is one main NFT representing the character, and auxiliary contracts containing the other statistics. Coming up with a separate sub-architecture for characters may itself be a large part of structuring a project like this, though I suspect that as is generally the case with smart contracts, the more you could get onto one contract (or even into to one updating function) the better. This may push towards a game system that lends itself towards that.

In a system where characters can augment their base statistics through items, this may need to be reflected in the Characters contract, or alternatively through a special function with privileges in the Items contract. In the case of something like augmentations in a sci-fi setting, this may need a fair amount of thought, as the item providing the buff to stats may become destroyed or impaired. The easier solution would be having a function restricted to game runners that allows manipulating these stats, but an adequate solution not relying on manual input from game runners should be able to be implemented.

Items: Loot provides ample inspiration for an items contract. Loot itself is unique packs of items, which then lends itself well to ERC721. On the other hand, an actual game should imply the ability to separate and use items out of the pack and equip them. Also, individual items are not unique. In the Loot ecosystem itself this led to the creation of Lootloose, which can break the “packs” of Loot into individual items in an ERC1155 contract. If anything, an ERC1155 contract of individual items is likely more necessary.

Properties (like houses) might exist as a separate ERC721 contract.

Campaigns: Addresses whitelisted as game runners can initialize a Campaign in this contract. This might also be an ERC721 contract. A campaign should be able to accept characters, and perhaps also contain other details such as location. Campaigns should contain a function allowing a game runner to add Encounters. Successfully completed Encounters should give experience. This may necessitate a separate contract for antagonists or challenges. (Even though specific characters might be unique, an ERC1155 contract would likely work best for this.)

Using something like Auryn Macmillan’s Poster could give a lightweight method to index story details on-chain without having to store them(merely emitting them as events).

XP could be awarded on the completion of an encounter, and also at a Campaign’s close. This relies on game masters to run legitimate games and not just let players gain experience without doing anything. This would also be true in any distributed tabletop game, though.

DAO: Being that there is an entire system with a number of complex parameters, in addition to game masters possessing special permissions, it would make sense for there to be a central authority, which for some strange reason is usually called a DAO in this space. The DAO should have the ability to vote to remove and add game runners and take other actions to upgrade, tweak, and maintain the ecosystem.

An important note would be organizing this ecosystem so that it is narrative-first. This means eliminating certain vectors of pay-to-win. While I see no issue allowing someone to sell a character, allowing a different irl person to now control them, things attached to the character should happen organically in the story. This means that you shouldn’t be able to simply yield farm then buy Excalibur for your level-1 freshly minted summoner because you can afford it. Andre talks about this a bit in the blog post where he talks about the in-game gold in Rarity.

Foundry VTT

I have very limited exposure to Foundry, so this section might be more mistaken than not. That being said, here are the items I’d anticipate Foundry, or something like it, could be used for:

  • That being said, the ability to create maps both on a more macro level (world, continent, area, city) and more micro (specific house/installation, generally anything that needs a grid on it) as shared assets across all participants in the world. Permissioned parties should be able to list these assets as canonical by storing them on IPFS or similar and linking them either through Poster or a registry contract (or both).
  • A plugin that allows importing a Campaign and the characters participating from the Campaign contract, and a plugin that lets a certified game runner update the characters and Campaign through Foundry.
  • It would be amazing if there would be a plugin that could tell game runners relevant “news” about the locale the Campaign is in - who’s come to town, noteworthy events that have transpired either by other players or narrative developed about the setting (more on that in a minute).

Additional Elements and Challenges

This is just a general observation, but something like a Fandom wiki is most likely vital for organizing information about the setting, though I wish there was a more open platform that is as streamlined as they are. While Mirror is excellent, I don’t see it being able to handle a wiki-type format as neatly (yet).

An additional point and challenge to a large setting like this involves the development of the setting’s metaplot and the passage of time in general. It is unreasonable for 1 day irl to equal 1 day in game since people can’t game 24/7 (yet). This leads to some issues monitoring time. Let’s say there’s a game that meets once weekly, but another that meets monthly. Alternatively, a game that moves very slowly (perhaps bogged down by combat, character infighting, or even worse, player infighting) versus a game that moves more quickly (downtime while accomplishing a menial task such as building a shield commonly makes this happen). Games will not be in sync with each other. More than that, the general metaplot might not be in sync either, and the possibility also exists for details being retroactively added or changed. I don’t think there’s a simple answer to this, but I do think that it’s something that should be considered and worked with.

On that note, attention to the metaplot in general is a massive task. Looking at sprawling worlds like League of Legends or the MCU makes me wonder if they have people literally dedicated to keeping track of all the lore and making sure it more or less works. I don’t think they do, but they probably should. A job outside of the DAO, game runners, and players may be metaplot development. This itself might be two jobs - content creators, and overall lore “masters” who keep track of everything and work on preserving continuity. This brings me to what I think might actually be the last section in an article that is already an awful lot longer than I thought it would be.

Monetization

If a system like this is going to work, it will most likely need to be monetized, imho. Monetization allows for paid maintenance to the system. This includes the devs responsible for the contracts and plugins, the DAO members, the writers, and lore experts. Optimally I think it should also include game runners. Running a game well is a time-consuming task, and game runners I know can prepare for hours per session. Treating it as a job rewards those skilled at it for their labour, attracts talent, and makes it more sustainable for them to invest in it. The question is where the funds should come from. I don’t have a single answer, but some ideas:

  • I do not think that players should be obligated to pay per campaign, but I do think tipping the game runner should be made an easy part of the system, and encouraged.
  • Free-to-play often monetizes things like skins. An easy parallel here could be “seasons” of NFTs. If these NFTs can be partnered with other game oriented NFT sets in the space, perhaps as an airdrop target, that would increase their desirability. Imagine if Parallel would airdrop some of their new cards to NFT holders, for example.
  • Just to be clear, there is not a lot of room here for a valueless governance token, since there should be an expectation that the DAO is run by people who understand and actually care about the system. I suppose the system can literally release a valueless token with absolutely no utility and/or governance rights, and knowing this space, if it has hype it’ll probably work (that is pretty much what AGLD is), but I can’t say it feels right to recommend that.
  • A possibility that can be briefly detailed here is the possibility of additional games being set in the same world that are more clearly monetized. For example, if there is a separate 2D fighter game that leverages characters/settings from the world (but isn’t canon story), that games monetization (skins, price, defi integrations) can also help fund this ecosystem.

Conclusion

This has been a pretty long journey looking at the space, and detailing a proposal for one direction it could move forward. I’m very interested in seeing where this space moves, and the frontiers it moves to explore over time. We’re watching new game classes form around us, and an unprecedented ability to reach and coordinate global audiences and participants, and I hope that this helps you look at this space with more creativity.

While I would be interested in contributing to an ecosystem like this, and it, I certainly don’t have the time to code the entire thing, let alone maintain and run it. If this struck a vibe with you and you’d want to band together to build something like this, please reach out!

Subscribe to Will Schwab
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.