Non-Fungible Assets
Overview
Non-Fungible Assets (NFA) serve as unique or standalone game resources in FinalBiome. Unlike Fungible Assets (FA) where a resource such as "Coins" can exist in varying quantities, NFAs always exist as single, distinct entities.
First aid kit, earth tile, mine, sword are all examples of NFAs.
Even when NFAs share similar traits and NFA resources, operations involving these NFAs are always conducted separately.
The gameplay invariably involves the player interacting with NFAs in different ways: comparing them, creating new ones, destroying them, or even merging them.
Suppose a
Knight
NFA destroys anOrc
NFA, leading to the production ofGold
FA. In this example, two NFAs (the Knight and the Orc) interact using theDestroy
mechanic. The NFAOrc
is destroyed, given the predefined conditions are met, and FAGold
is produced.
To further illustrate, let's say the orc does not directly produce gold when destroyed. Instead, a
Chest
NFA is created, which is linked to theEarth tile
NFA where the orc was located. TheKnight
only receives theGold
when his NFA and theChest
NFA occupy the sameEarth tile
NFA. TheChest
is then destroyed, leading to the creation of the FAGold
.
All actions involving NFAs (creation, destruction, merging, etc.) are conducted via game Mechanics.
Please note that NFA characteristics are inherited from their respective NFA class, which defines these characteristics generally for the entire class. Thus, each instance of an NFA shares these inherited properties from the NFA class.
NFA Resources
NFA Resources are an important concept in defining how an NFA behaves and is utilized within the game environment.
NFA Resources are inherent properties that govern the functionality and behavior of an NFA. They form the ruleset for interacting with a specific NFA and also define the attributes that hold significance within the game's dynamics.
For instance, a
Worker
NFA might have aproductivity
resource, while aSword
NFA might possess astrike power
resource.
Each NFA's resources, and their default values, are predetermined in the NFA class definition during the game's configuration phase. These resources are then instantiated with their default values whenever a new NFA instance is created based on the NFA class.
During the game's configuration phase, game developers define an NFA Class along with its associated resources. These resources could include, but are not limited to, values for power, speed, range, durability, or any other attributes that are critical to the gameplay.
When an NFA instance is created, it inherits the resources from its NFA class. These values are instantiated as the default values for the NFA instance. As gameplay proceeds, these values could potentially change based on interactions with game mechanics.
NFA resources can be interacted with or manipulated using various game mechanics. These interactions can include increasing or decreasing a resource value, comparing resource values, or triggering specific actions when a resource hits a certain threshold. These mechanics, along with the NFA resources, drive the gameplay.
Как правило Ресурсы используются в механиках производства другого NFA
Typically, resources are employed in mechanics that produce another NFA. For instance, to attach a
Wheel
to aCar
, you need a Worker equipped with a workpower resource
.
NFA Traits
Similar to Fungible Assets (FA), NFA Traits determine the behavior and potential actions associated with an NFA during gameplay. These traits are predefined during the game's configuration phase for the NFA class, ensuring every instance derived from this class inherits the set traits.
A trait might possess properties referencing resources, giving quantitative specifics to a distinct NFA trait.
Resource
This trait indicates that an NFA serves as a necessary resource for the production of another NFA.
For example, in the process of affixing a wheel to a
car
, aworker
, who is a resource, is required.
The resource must mandatorily have properties that determine its efficiency, and the values of which are supplied (transferred) to the created NFA at a specific speed.
Continuation of the example about car assembly from the FA Characteristics article. To attach a wheel, it is required to spend work power = 100 (as defined in the NFA Class "Car"). A worker utilizes work power at a rate of 10 per unit of time. Thus, to attach a wheel (destroy NFA "Wheel" and transfer the wheel's properties to NFA "Car"), it takes 10 units of time while blocking one NFA "Worker".
Properties:
Production Property Indicates the ID attribute used for the production of the target NFA.
From the example above, this is the ID attribute of work power.
Production Rate Specifies the speed at which the Production Property value can be consumed.
Spending Property Defines the ID attribute that is expended during production.
For instance, a worker needs to eat donuts for work, 1 every 5 units of time.
Spending Rate Determines the rate at which expenditures are consumed during production.
Expenditures for production occur only when an NFA is directly used in the production process.
A worker does not consume donuts unless he is engaged in work.
The production speed of an NFA is always determined by the consumption rate of resources required for its creation.
Producible
Indicates that the NFA can be produced using certain assets.
The properties of the characteristic specify which resources, materials, and FA are required to produce this NFA.
For instance, to produce a tower, 100 units of wood and labor are needed. In this case, for the NFA class "tower" under the Producible characteristic, it's specified that FA wood = 100 is required, and NFA with Production Property = "labor". Based on this data, the NFA creation mechanic can determine which FA and NFA are needed for construction and at what speed the construction will be carried out.
Properties:
FA List of FAs and their quantities required to create an NFA.
Materials List of NFA classes with the Material characteristic that will be destroyed by the construction mechanic, and their key attributes will be transferred to the created NFA.
Locked Resources List of NFA classes that must be locked during the creation of the NFA.
For example, while a car is being built, the platform must be locked.
Production Properties List of production attributes and their required volume.
Destroyable
Indicates that the NFA can only be destroyed using certain assets.
The properties of the characteristic specify which resources, materials, and FA are required to destroy this NFA.
For instance, to destroy a fortress, 20 gold and military power are needed. In this case, for the NFA class "fortress" under the Destroyable characteristic, it's specified that FA gold = 20 is required, and NFA with Production Property = "military power". Based on this data, the NFA destruction mechanic can determine which FA and NFA are needed for the destruction and at what speed the destruction will be carried out.
Properties:
FA List of FAs and their quantities required to destroy an NFA.
Materials List of NFA classes with the Material characteristic that will be destroyed by the destruction mechanic.
Locked Resources List of NFA classes that must be locked during the destruction of the NFA.
For example, while a fortress is being destroyed, the field kitchen must be locked.
Production Properties List of production attributes and their required volume for the destruction of the current NFA.
Material
Indicates that this NFA serves as a material for the production of another NFA.
For example, a car wheel is required for assembling a car. Thus, the wheel is considered a Material.
Using a material leads to its destruction. All characteristics of the destroyed material are inherited by the NFA for which the destruction is carried out, as per the createNFA mechanic.
Locked
Indicates that this NFA cannot change ownership.
In certain scenarios, it's necessary to lock an NFA so the player cannot manage it (sell, transfer, destroy, etc.).
For instance, an assembly line has four spots which function as infrastructural NFA. These are solely for limiting the number of cars produced simultaneously.
Residual
Indicates that this NFA, upon destruction, produces an asset.
For example, if a zombie is killed, it might drop armor and award experience.
Properties:
Generated FA List of FA and their quantities produced upon NFA destruction.
Generated NFA List of NFA classes and parameters of distribution characteristics which determine the likelihood of the NFA drop.
Upgradable
Indicates that specific properties of an NFA can be upgraded using FA.
For example, the productivity of an excavator can be enhanced at a certain energy cost.
The properties of this characteristic store a list of attributes and their corresponding FA, as well as a Conversion Rate (the rate at which FA can be converted into the value of the characteristic).
The upgrade can occur either instantly or cumulatively (in cases where there's not enough FA for an upgrade according to the Conversion Rate, see Cupped). Therefore, the upgrade of NFA is carried out in two stages:
- Accumulation of the required FA (when the needed and/or available amount of FA is transferred to NFA) using the
topupNFA
mechanic. - Direct upgrade (when the mechanic checks that the accumulated FA is sufficient for upgrading a certain characteristic and performs the upgrade, reducing the accumulated FA by the required amount) through the
[upgradeNFA](mechanics)
mechanic.
Properties:
Upgradable Properties A list of attributes and their Conversion Rate to the required FA.
Funded FA A list of FA and their current accumulated amount.
Recoverable
Indicates that specific attributes of an NFA can be restored.
For instance, a warrior who lost some health after a battle can restore it using a first-aid kit.
The properties of this characteristic store a list of attributes and their corresponding FA and/or NFA, along with a Conversion Rate (the rate at which FA can be converted into the value of the characteristic).
Recovery is made to the value of a similarly-named property in the provided Material NFA, but not exceeding the maximum permissible value.
If the provided Material NFA has several similarly-named recoverable attributes, all matching ones will be restored.
For example, if a fighter has recoverable attributes like strength, health, and mood, and a first-aid kit has strength and health, only strength and health will be restored to the value present in the first-aid kit. Mood won't be restored.
Properties:
Recoverable Properties for FA A list of attributes and their Conversion Rate to the required FA. The storage structure of Conversion Rate is analogous to the Exchange Rate.
Recoverable Properties for NFA A list of attributes that can be restored by destroying the Material NFA.
Cupped
Indicates that the NFA has a limit in its overall quantity.
For instance, the number of spaceports per player should not exceed one.
Properties:
Cup Defines the maximum allowable quantity throughout the game.
Useful for creating globally limited assets.
Local Cup Specifies the maximum allowable quantity for a specific player. That is, a single player cannot possess more than the Local Cup number of a particular NFA.
For example, the NFA "assembly line" in the game should not exceed 4 in number.
Miner
Indicates that the NFA can generate FA.
For example, a windmill generates energy.
A Miner must mandatorily have properties that define its FA generation efficiency.
Multiple FAs can be generated simultaneously, each at a specified rate.
For example, a stadium not only generates money but also pleasure.
Properties:
Mined FA Contains a list of FAs that are mined and their respective mining rate (Mining Rate).
Costs Determines the list of FAs and their consumption rate (Costs Rate).
Generation will be halted if there's a shortage of any FAs.
Resource Costs Specifies the attributes that are consumed during production and their consumption rate (Spending Rate).
For instance, a windmill requires oil.
Costs for generation only occur when the NFA is directly involved in the production process.
A worker doesn't consume donuts unless he is working.
Materials Lists NFA classes with the Material characteristic, which will be destroyed by the mining mechanic. The material must have an attribute(s) identical to the Spending Property. Generation will be halted if the material is destroyed. During mining, the material gets destroyed when the property identical to the Spending Property reaches zero.
Locked Resources Lists NFA classes that need to be locked during the generation of this particular NFA.
For instance, a wizard needs to be in the tower to generate mana.
Bettor
Defines an NFA as an NFA used in mechanics where betting and guessing are required, or for dropping any assets with a given probability.
For such a class of NFA, it becomes possible to receive a reward, which is explicitly defined in the class based on predefined options. Each outcome option has its probability.
For example, the "Heads or Tails" game. When placing an NFA "Toss" in a compatible mechanic, the mechanic returns success or failure. This is reflected in the interface in accordance with the game setting. On success, a predetermined number of FA or NFA drops.
The main role of such NFAs is to generate a certain NFA or FA with a specified probability.
The current NFA is destroyed in the process.
Properties:
Outcomes
Contains a list of outcomes and the probability of each. The first outcome is winning.
A list of outcomes is required to resolve cases when there are more than two outcomes (won/lost).
For example, in bets on red and black, there is another option — Zero.
Winnings
Contains a list of FA (with an amount) and/or NFA that drop in case of a win. All assets defined here drop when winning.
Rounds
Determines the number of rounds that need to be played to get a win. The overall outcome of the game is considered successful if more rounds are won than lost.
For example, the Heads or Tails game may require three attempts to determine the winner.
Draw Outcome
In some cases, the result of a bet may be a draw, i.e., it cannot be clearly determined whether the bet won or lost. In this case, it is necessary to explicitly state what the outcome will be in this situation.
It is defined as one of three options — win
, lose
, keep
. For the keep
option, everything remains as it was; the bet does not work and returns to the player's use.
Purchased
Indicates that the NFA can be purchased (in-app purchase) for FA.
For example, buy a medkit.
Properties:
Offers
A list of possible offers to purchase an instance of NFA.
For example, for 100 coins you can buy a medkit with a heal of 10, or for 200 coins with a heal of 30.
Each offer contains the following parameters:
Price
The price in a given FA for which this NFA instance can be purchased.
Attributes
A list of Key Attributes and their values that are transferred to the created NFA instance. These values override the existing default key attributes in the class. All attributes not specified here are transferred as they are.
For example, the medkit has properties "power" and "endurance". If by default they are defined at 10, and in the offer, the property "power" = 20 is specified, then the final asset will have properties "power" = 20 and "endurance" = 10.