Saturday, October 24, 2009

Loot and Reward Distribution

What is loot?

Loot is the reward given to players for performing actions in the game. All Mobs (Code blocks which controls the actions of objects within the world) have a loot table, a list of names and percentages headed by an integer that defines how many and what Candy (objects which take no actions but reward players when touched) drops upon death. Some Mobs have a second loot table of candy that drops upon being struck.

  max_items = loot_table(first element)
num_items = 0
distributed_loot = empty list
for item, chance in loot_table(all elements except first)
if random 0 to 100 is greater than chance
append item to distributed_loot
num_items = num_items + 1
if num_items > max_items
break loop

How is loot distributed?

When a Mob deals damage to another Mob that information is stored in four places. Once in each mobs hate list* (a list of all hated Mobs and the amount they are hated), and once in the damaged mobs contribution list (a list of all contributing Mobs and the amount they contributed). Other in game effects, such as buffs or debuffs, also add to a mobs contribution. When a Mob dies their loot table is queried and the resulting list is split randomly but fairly among contributing mobs within range.

  for item in distributed_loot
random_number = random 0 to 100
total_contribution = 0
for mob,contribution in dying_mobs_contribution_list:
total_contribution = total_contribution + contribution
if random_number less than total_contribution
give mob this item
break this loop and continue to next item

What does fair distribution of loot mean?

There are two elements at play in loot distribution, Skill and Chance. As the number of loot distributions increase the role of Chance (random 0 to 100) will decrease and the role of Skill (mob,contribution in dying_mobs_contribution_list) will increase. Over time players who contribute more to a fight will receive more of the rewards. This system is based on the idea of a meritocracy.

What about players who want to help others?

Verdant Shadows revolved around the idea of working together as a community. All dropped items can be traded, thus enabling charity between players.

How are non-damage contributions counted towards the whole?

The system for recording positive non-damage contributions is one of “siphoning.” When a players successfully heals or buffs another player they siphon off some of that players contribution. This encourages players to keep each other alive. Negative non-damage contributions are dealt with similarly to damage, except that each effect has a contribution value .

What kinds of penalties are levied against players when they die?

When a player dies they fall to the ground and must wait thirty seconds before they can revive at the nearest Shrine (large stones located throughout the world that act as revive points, enable experience allocation and allow players to transform into their bird form). If they are the recipient of a resurrection stone they will revive at their current location with a percentage of their max health. The most onerous penalty associated with death is the loss of reward. Players more than thirty meters away from a dying mob will receive no credit for their contribution.