Enhancing role-playing in the Metaverse with a new UP, the Universal Attribute Matrix

When you’re finished here, make sure to check out the rest of the articles from: The Universal Asset Framework Series.

Fig.1 Example of an “Attribute Matrix” for hosts, as showcased in the TV show Westworld.

So far we’ve discussed how we might achieve interoperability of assets with Universal Assets (UAs), or a character’s history (with decentralized identifiers (DIDs). But what else could we make interoperable between virtual worlds? At this moment in time, I believe things like levelling, XP, and other types of functional character progression systems are unlikely to become interoperable, in the sense that one could for example level-up to “level 50” in one world, and show-up on another new one also at level 50, with the perks/benefits associated to that level unlocked, just as if they had leveled-up from scratch in this other virtual world.

It seems to easy to cheat your way around this, for example by creating a world of your own where leveling-up is super easy, and then trying to go into another world at a high level. There might be solutions, but I’m not sure how they would work for all potential virtual worlds, and not just a handful that may agree to a standard and can be monitored to make sure no one is cheating. I do think however, there’s something else related to progression and leveling systems that we could make easily interoperable. Something tightly related to role-playing.

The Universal Attribute Matrix (UAM)

We could create standards for groupings of universal attributes typically found in many videogames (usually role-playing games (RPGs)) that we tend to call stats (these could be strength, skill, charisma, intelligence, etc.) , in the form of what we’ll call a Universal Attribute Matrix (UAM). By Attribute Matrix here we mean a series of attributes any character might have and might be susceptible of progression or leveling in a given virtual world, with some “structure” that will become obvious later on.

However, as mentioned previously, we don’t want to make here any experience points, progress, or associated perks, etc. interoperable. Instead what we want to do is use the Attribute Matrix (UAM) to constrain how much progress players can make on any given attribute/stat described in the UAM. Meaning, instead of being able to level all attributes described in the UAM at their maximum possible level, the UAM puts a limitation on how good a player can get at any given attribute of the matrix, a cap of sorts.

This reflects real life, and can enhance the role-playing aspects of the Metaverse. It is meant to represent the potential or natural talent of a character in a given attribute, not their actual skill. In real life we can’t become masters at everything, we have limitations and natural talents, these could be physical, genetic, psychological… We can embrace this fact to allow our Metaverse characters to have specializations, making each character unique, and better at leveraging some attributes than others. In most videogames characters usually start at a minimum level across some stats or all stats, and progressively level them up as they play.

What we’re proposing is to standardize groupings of popular attributes, and use a UAM to encode into the character its theoretical maximum potential for any given attribute defined in the UAM, in the form of a specialization or “profile”. This is the information we’ll be carrying across different virtual worlds.

A new Universal Primitive for Metaverse characters

Basically what we’ll be asking players to do is to choose upon the creation of any new character (which might happen outside of any given virtual world), a new type of Universal Primitive (UP) to associate to their character — similar to how when we create a Universal Asset (UA) we ask players to choose a UP for that asset — but in this case that other UP will be a Universal Attribute Matrix (UAM). This of course will make the most sense for cases that involve roleplaying, such as with RPGs.

We’re going to use for the rest of this article a specific hypothetical example, of how one might achieve interoperability of a character’s natural potential or inherent skill in a series of attributes/stats, encoded in a UAM as a profile, across many RPG-like virtual worlds. We’re going to use as an example a fantasy-like setting, akin to Dungeons & Dragons (D&D). This is just meant to be an illustrative example of what might be possible, there’s a lot of different ways we could create and define these UAMs.

Defining our example Universal Attribute Matrix

Our example UAM will have 10 attributes. Also, we’ll give each attribute a hypothetical leveling, from a minimum level of 1, to a maximum level of 10. We’ll also give our character a series of “talent points”, 50, to allocate into these 10 attributes however they want, in order to create a specialization/profile for that character. As you might have noticed already, each UAM has a maximum of 100 potential slots (10x10) 10 per attribute, but we only have 50 talent points. This means we can’t level level all attributes at their maximum, we must choose to favor some over others.

As an example we’ve chosen here the following 10 attributes, which are typical across many RPGs: Strength (STR), Knowledge (KNO), Endurance (END), Dexterity (DEX), Intelligence (INT), Charisma (CHA), Defense (DEF), Willpower (WIL), Perception (PER), and Luck (LCK).

We’re also assuming that whatever world we import our character into, has decided to support the particular UAM we’re associating to our character. This means they must have the same attributes and levels per attribute encoded in their world. In our case this would be our 10 attributes, and 10 levels per attribute.

World-builders are free to define these 10 attributes and 10 levels however they want inside their worlds, what perks they unlock, how one earns XP and levels-up, etc. They also program their worlds as if all attributes could be leveled at their maximum; but upon importing or creating a new character, they use the UAM to cap or “lock” some of these levels from the player so they can’t use them (the levels that have no talent points allocated to them).

At any time the player can change the profile of the UAM for their character outside of any given world, and virtual worlds can change the perks being locked/unlocked accordingly, to reflect the updated profile. If a player unlocks a series of perks/skills during a playthrough and later on decides to change their UAM profile, resulting in previously unlocked levels, perks, abilities, etc. now becoming “locked”, that progress isn’t lost, the corresponding perks are only restricted/deactivated until they change to a new compatible UAM profile that re-activates them.

There’s a sense in which when someone creates a new playthrough in a given virtual world, from the beginning they know how far they can level-up each perk, skill, ability, etc. the world offers the player, according to the profile of their UAM. It’s important to remark that the UAM represents simply a character’s potential maximum level for any given attribute for a given profile, but they’ll likely start at minimum level, and still have to train, earn XP, and level-up in-game to unlock any gameplay benefits.

A visual example

As an example, we’ve chosen the following 10 attributes/stats, typical in many RPGs: Strength (STR), Knowledge (KNO), Endurance (END), Dexterity (DEX), Intelligence (INT), Charisma (CHA), Defense (DEF), Willpower (WIL), Perception (PER), and Luck (LCK).

Here’s a visual representation for a hypothetical UAM with these 10 attributes, and its corresponding profile after allocating the 50 “talent points”:

Fig.2 Depiction of a hypothetical UAM with 10 attributes, 10 levels per attribute, and 50 points allocated to create a specialization/profile for a character (in cyan). Each decagon represents a given level (1–10) for the attributes. The decagon highlighted in Red is how the profile in cyan would look like if all 50 points were distributed evenly across the 10 attributes.

We can create many different types of UAMs, for example, we could create another one for magic. Imagine for example 10 different types of magic. Now the corresponding UAM could represent the potential talent of our character in any of these 10 types of magic. In a sense, the UAM let’s us create interoperable specializations, that we can carry from world to world with our character. They define it, and become part of it. We also don’t need to limit ourselves to one single UAM, we could associate multiple UAMs, or similar new UPs to our character.

The main imposition we’re making is to structure any progression systems linked to these UAMs into the same number of fields and levels/sections per field, these UAMs have. Inside any particular virtual world we could have higher granularity, for example 100 levels for Dexterity. As long as its divided into 10 segments, and putting an additional talent point into the Dexterity attribute in the UAM now unlocks the next 10 levels of Dexterity inside our virtual world.

Building skill trees with the help of UAMs

In terms of building actual skill trees and specializations, it would be recommended to first associate each individual skill, perk, buff, etc. we want to have in the game — let’s call these nodes — to a particular UAM, attribute inside that UAM, and level for that attribute. And then afterwards decide how to link and group these different nodes together to create a proper skill tree. This way we can create skill trees where each node might have different unlock requirements (different attributes or combination thereof might unlock different nodes on the same tree). Or if we wish, we can go with a simpler route where all the nodes of a given tree are associated to a single attribute of a UAM, instead of many. Choice is yours.

A skill tree for combat specialization for example could be built purely out of Dexterity, or a combination of Dexterity + Strength. Usually it’s hard to pin down a specialization to a single attribute, some combat perks might require strength, while others dexterity. For more complicated specializations such as “bounty-hunter” different perks belonging to the same tree might require a diverse range of attributes, such as Perception for tracking, Charisma for inquiring the locals about the potential whereabouts of the bounty, Dexterity and Strength for combat and capturing the bounty, etc.

For this reason, it might be wise to divide each skill tree into several branches, where each branch pertains to a single attribute of a UAM, these branches perhaps could be viewed as sub-specializations inside a bigger skill tree. Usually in games you can’t activate higher skills in a tree until all the prior nodes it connects to are also unlocked and activated, and we want to avoid dependencies where for example you can’t unlock the next perk that requires Dexterity, because there’s a middle one first that requires Strength, but you didn’t specialize into Strength. For this reason, dividing a skill tree into single attribute branches might prove useful.

For thematically different progression systems, such as magic skill trees, it’s probably better to associate them to a different UAM than the one showcased above (which suits best the non-magical skills and perks of a player). This will be explored in another article where we’ll create a new UAM exclusively for magic. Where a different type of magic acts as one of the attributes/fields of our new UAM. For magic skill trees we usually don’t need to mix different attributes from the same matrix into the same tree, so we can simply place the entire tree for a given magic-type under a single attribute of the corresponding UAM.

Enhanced roleplaying

The information encoded in these UAM for stats, magic, etc. can be easily leveraged in an automated way by virtual worlds. For example, by importing a character with some UAMs, the world would see what type of playstyle, stats, magic types you favor, and in response update the game so that for example you have more chances to find a particular item or spell in a chest, or have an AI-NPC prioritize suggesting some types of missions over others.

For example, if you have maxed your Intelligence stat in your UAM, NPCs could choose dialogue to clue you in about potential missions to help you raise or use your intelligence. If instead you’ve maxed Dexterity, the same NPC might recommend you a different path or mission that’s related to that stat. By providing the game with 1 or more UAMs, we’re giving it in the background some information about what we want/expect from our playthrough.

This requires no user interaction and happens seamlessly in the background. Because these UAMs are standardized and universal, players may set them up just once and forget, yet every time they import their avatar into a new world, the world adapts to offer them a bespoke experience. Based off your magic UAM for example, the world you just entered can know you’re a pyromancer that favors Fire-type and Dark-type spells, and can adapt to this information.

Final Remarks

Rethinking traditional game mechanics into interoperable mechanics for the Metaverse is not only possible, but also opens new dynamics and possibilities we haven’t seen elsewhere. Now one could create a character and “role-play” with it for a decade or more. A character no longer has to end its journey once you finish one particular campaign on one particular game, it can be your ever-lasting Metaverse avatar. ‘Role-playing’ in the Metaverse will take on a completely new meaning.

--

--

Alfonso Spencer
Foundations for a truly interoperable Metaverse

🇺🇸 | 🇪🇸 Architecture Astronaut for the Metaverse. Scientist 🔬 | Cypherpunk 👨‍💻 | Modern Stoic🏺| Cardano ₳rmy 💙.