Universal Functionality of interoperable Metaverse assets.
If you haven’t, check out the previous articles in this series: The Universal Asset framework series.
Universal Functionality
Achieving Universal Functionality (UF), behavior, and properties, of virtual assets across any virtual world, might seem like a pipedream. And strictly speaking this is true. We will never achieve 100% of functionality preservation of a virtual asset across many virtual worlds. However, any degree of interoperability in functionality at all (>0%) is worth of merit.
Thanks to our Universal Asset (UA) framework, we might achieve a very high level of true interoperable functionality. The UA framework requires a public virtual-object classification system to work, which as a result gives us what in previous articles we called Universal Primitives (UPs). These UPs can now be leveraged to bring interoperable functionality to UAs.
A little recap
The Universal Asset framework we’ve discussed on previous articles serves the main purpose of separating two components of a virtual asset: the aesthetics of how it’s rendered in a virtual world, and its functionality inside a virtual world.
In a way that allows us to hand over the aesthetic component to users, and the functionality component to virtual-world builders. So that each party can decide independently and asynchronously how to define their component, and later on merge them together inside of a virtual world, to have a fully-defined asset. This merging is possible thanks to UPs, which are the result of having a public virtual-object classification system.
Since the purpose of UAs and UPs is already to facilitate a way to have a standardized library of interoperable virtual objects across the Metaverse, adding a bit more of data to these UPs is a natural way to achieve interoperable functionality. This additional information however will not be “mandatory”, unlike the basic restrictions imposed by the UP to make UAs work. It’ll be optional information world-builders can leverage or disregard. Although if UAs become popular, it would be expected for this Universal Functionality to become a standard across the Metaverse and hence be used in most virtual worlds.
Tell me the details!
Universal Functionality (UF) sets to provide a sort of plug-and-play balancing system for all the UAs used inside any virtual world. A way to help world-builders not only have more interoperability with other worlds, but also save themselves a lot of time and headaches. It’s a closed system, that defines some properties and behaviors of one UA, in relation to all other relevant UAs. Namely 3 things:
- A standardized set of parameters for any UA/UP of a certain type. For example, for a sword this could be: range, swing speed, cross-section, etc.
- A recommended starting point or default values for each of these parameters (which each world-builder can later change or tweak).
- A fixed relationship between the recommended values of the parameters of different UPs. For example, a UP belonging to a straight sword might do 1.0x damage to health. A UP belonging to a Greatsword 1.2x damage (20% more damage than a straight sword). A UP of a knife 0.8x damage (20% less than a straight sword). But, the swing speed for the knife could be 1.4x, 1.0x for the straight sword, and 0.8x for the Greatsword — later we’ll discuss why we’re using relative values instead of absolute ones for these parameters.
In the way we’ve defined this system, there’s no external influence to the balancing system UF provides, unless world-builders decide to manually introduce it. In a hypothetically “pure” virtual world, where only UAs are used for the type of virtual objects that makes sense to be UAs (this would be your weapons, armor, magic attacks…), the default values for the standardized parameters of the UAs offer a natural balancing system. This could even end up becoming a sort of plug-and-play combat system.
However, real virtual worlds will not be this “pure”, world-builders will introduce new assets that are not UAs, and potentially new parameters for these and the UA assets, further adjusting by world-builders to integrate UF into their own virtual worlds will be necessary. UF serves as a time-saving mechanism, a familiar set of behavior between UAs users can grow accustomed across several worlds. In essence, it makes balancing the functionality of all assets inside a virtual world easier, by providing a proven starting point, to which world-builders can add or substract. As long as they make sure any changes they make doesn’t conflict with the set of UAs they decide to allow users to import from other worlds.
Making it relative
We can make the value of some parameters (such as a damage multiplier), characteristic to a given UP, and relative to that of other UPs. This might be used as a balancing mechanism.
However, to implement these UAs inside of a game, we will likely need non-relative values. It doesn’t make sense to say a sword does 1.0x damage. 1,0x in relation to what? But this has an easy fix. We just need to set a base non-relative reference value for any parameter, let’s say 100 hit points of damage. And then the actual damage of any given UA/UP is simply calculated by multiplying this base damage by the relative value. So to follow on the examples pointed in 3. above, a virtual world with a reference damage for melee weapons of 100 hit points (hp), means a straight sword would do 1.0x100 = 100 hp of damage, while a Greatsword would do 1.2x100 = 120 hp of damage. And so on.
We’re describing UF here only in terms of the type of UAs we’ve discussed in previous articles, but new types of UPs might need to be introduced that are tied to characters and additional game mechanics, in order to make this all work. But these things our beyond the scope of this article. UF itself should be a living system, it’s not a set once and done kind of deal. Introducing new types of UPs or parameters into our framework might affect prior balancing work. Over time, the entire UF framework should get tuned better and better, as it is battle-tested in hundreds of different virtual worlds.
Final remarks
UF doesn’t give us the dream of having a virtual object that behaves exactly the same in every virtual world, but it gets us pretty close to this goal. It still gives world-builders flexibility to make sure UAs integrate well with the custom rules of their world, and it provides enough familiarity, so that users can expect relatively similar functionality of the same asset across different virtual worlds. And best of all, it integrates well with our UA framework.
The UA framework requires more coordination and work than any individual solution a world-builder might build for their custom virtual world, but we only have to do the work once, for potentially all virtual worlds to profit from it. And the features and possibilities of this UA framework only seem to get bigger and bigger the more we explore it.
So far, we’ve described a hypothetical framework where we might have truly interoperable Metaverse assets, where the looks of our assets is in complete control of the users, we can have almost universal functionality among interoperable assets, and it doesn’t impose most of the heavy restrictions a rigid universal standard would. Quite remarkable.