The Magic Behind the Commons Simulator — Part 1: Game Flow

Lauren Luz
Commons Stack
Published in
11 min readMar 31, 2021

This is Part 1 of 3 of our “Deep Dive” into the inner workings of the Commons Simulator where we explore the simulator inputs, outputs and final score. Much credit to Vitor Marthendal for co-authoring this piece with dedication, attention-to-detail and epic laughs.

Simulating the Outcome of Your Regenerative Commons

The Commons Simulator is a gamified simulation tool powered by a cadCAD backend that was developed by the Commons Stack’s Decentralized Dev community. The original idea emerged from @sponnet & @sembrestels’ early Conviction Voting simulation. The intention was to expand on it while illustrating a core mission of the Commons Stack:

Empowering communities to design their own economies using open source simulation tools.

The Commons Stack is building products that will make it feasible for communities to design regenerative Commons economies. These economies have the potential to prevent the abysmal destruction of the planet and society that the economic systems we use today seem to be incentivizing.

The Commons Simulator story begins in a dystopian future where the world has been destroyed by the current economic paradigm. You, as the player, take the role of a solarpunk activist that travels back in time in order to help the RadicalxChange (RxC) community design a Commons that can save the future. This is the first version of the simulator and the first chapter in our story of how cadCAD can change the future, and we hope to create a second soon. To read more about why the Commons Simulator was created, check out Jeff Emmett’s amazing launch post.

In this 3-Part series, we will take a close look at the system dynamics of the cadCAD model and the “magic” behind how the player’s inputs are used as part of a complex system that determines the outputs, and therefore the outcome, of the RadicalxChange Commons.

In Part 1 (here!), we take a walk through the simulator to provide an overview of the inputs and outputs, the final score and how it is determined.

Part 2 will provide an explanation of some simulation basics, the states of key variables as they change throughout the computation, and the simulation initialization functions that are performed only once as part of the the Hatch phase.

In Part 3 we examine the mechanisms that are repeated in sequence iteratively throughout the simulation, affecting the states of key variables and finally producing the final results at the end of the simulation time period.

It’s going to be a long and wild ride, so hold on to your thinking caps, and let’s jump in!

Simulator Inputs

There are 6 inputs that must be chosen by the player to design the RadicalxChange Commons — one per level in the game. Those inputs are either: (i) initial states of the simulation, that will be considered only in the Simulation Initialization phase (described in Part 2), or (ii) system parameters, that will be used either as part of the Hatch phase or throughout the entire simulation. States can be thought of as the value of a variable at one “snapshot” in time. Parameters are constant values (that include model assumptions) that are used by the mechanisms during simulation. The simulator inputs are outlined in the following sections.

1. Number of Hatchers (Initial State)

In Level 1, the player must decide how many Hatchers (initial founders) will start the Commons. As an initial state, the number of Hatchers does not affect the system parameters, but rather helps determine the initial values for the RxC Reserve (the funds that back and provide value to the RxC community token), the Funding Pool (the funds available for community projects), the Augmented Bonding Curve design, and the social initialization.

2. Number of Initial Proposals (Initial State)

In Level 2, the player must determine how many initial proposals will be collected before the Hatch. These are projects proposed by RadicalxChange community members that are requesting funds from the Funding Pool. This input defines the number of initial proposals, but does not directly influence the stream of new proposals during the simulation. Each Hatcher is assigned an initial random affinity for each proposal, creating the base for determining which proposals they will vote for.

3. Commons Tribute (System Parameter)

In Level 3, the player decides what percentage of the Hatchers’ initial funds go to the Funding Pool (the “Commons Tribute”), and what percentage goes to back the RxC Token’s economy in the bonding curve. The Commons Tribute is a system parameter that directly affects the Simulation Initialization.

4. Max Spending (System Parameter)

In Level 4, the player sets the maximum percentage of the Funding Pool that can be withdrawn at any one time, or, the “Max Spending”. This is a Commons budgeting parameter that creates a relative cap on spending. The maximum amount of funds that can be withdrawn is dynamic and depends on the amount of funds that remain in the Funding Pool. This input is also a system parameter but unlike the Commons Tribute, it affects the post-Hatch period and has no influence on the Simulation Initialization.

5. Voting Speed (System Parameter)

The simulated RadicalxChange Commons use Conviction Voting as their decision process for funding proposals. Conviction Voting is a continuous voting process in which a participant’s voting power increases with time if they stake their tokens to a proposal and hold them there. In Level 5, the player decides the “Voting Speed”: the number of days required before an individual’s voting power (“conviction”) reaches 80% of its full power. This system parameter affects only the post-Hatch period.

6. Exit Tribute (System Parameter)

The Exit Tribute is also a system parameter that affects the post-Hatch period. This is set in Level 6, where the player decides what percentage of funds goes to the Funding Pool when a participant decides to exit the RadicalxChange Commons and burn their tokens for funds using the Augmented Bonding Curve.

There are many factors to consider when thoughtfully choosing the 6 inputs that help the community design their regenerative Commons. In the next section we will take a look at the simulator outputs and touch on some of the factors that affect the final results. As you read on, you will get a better idea of the interactions of these inputs with the model, and how to optimize your design to save the world!

Simulator Outputs

After the player has gone through all the levels and selected the inputs to help the community in the design of their Regenerative Commons, they hit “Run Simulation”, and wait for cadCAD to work its magic. The final results, described below, are graphical depictions of the Funding Pool, the Sentiment, and the Token Price.

1. Funding Pool

The Funding Pool graph shows the quantity of funds (y-axis) in the funding pool as a function of time in months (x-axis).

The Funding Pool contains funds available for approved RadicalxChange projects. As you recall, the Funding Pool is initialized by the starting investment of the Hatchers (the Commons Tribute). When projects are approved by the community, the funds required are withdrawn from the funding pool and the quantity of funds left decreases. The Funding Pool grows when members choose to sell their tokens because the portion of their withdrawal, called “the Exit Tribute”, is fed back into the Funding Pool.

An Example of Good Funding Pool Results

In a successful Commons, it is likely that many proposals will be passed that will add value to the community. In the early stages of the Commons it is helpful to have the quantity of funds in the Funding Pool increase. However, as time goes on, a successful Commons would expect to see funds in the Funding Pool steadily decline as projects are approved and funded, and value is added to the community qualitatively.

2. Sentiment

The Sentiment graph shows the average opinion of the community on a scale from 0 to 100 (y-axis) as a function of time in months (x-axis).

Sentiment grows when approved and funded projects are successful and add value to the community. Sentiment falls when funded proposals do not meet their intended goals. There is also generally a small decline in sentiment over time due to a loss of interest in the Commons.

An Example of Good Sentiment Results

When sentiment is high, people are prone to buying RxC tokens. When sentiment is low members are prone to burning RxC tokens and may even leave the community entirely. Keep in mind that this then affects both the token price and the Funding Pool. In a successful Commons, the sentiment will generally be steady and high throughout time, without any major drops.

3. Token Price

The Token Price graph shows the price of the token (y-axis) as a function of time in months (x-axis).

RxC tokens are backed by the RxC Reserve, ensuring that they always have monetary value. Token price, however, can fluctuate — decreasing if members burn their tokens (withdrawing value from the community), and increasing as members contribute time and resources (growing the Commons and adding value to the community).

The initial price of the token is always the same, independent of the amount of funds in the Funding Pool. At the launch of a Commons, it is generally expected that the token price will rise as people get excited about the community. In addition, Hatchers hold vested tokens for the first months — meaning that they are not able to sell their tokens for that period of time. This also contributes to an initial spike in token price.

An Example of Good Token Price Results

After this initial vesting period, it is likely that the token price will decrease somewhat. This can actually be good for the Commons because as RxC tokens are burned, the Exit Tribute goes into the Funding Pool to support approved projects. However, in a successful Commons, the price does not drop too low, but rather, the decrease in price is expected to taper and/or eventually plateau as the Commons gains stability.

In a successful Commons, the token price may continue to rise as people get excited and involved, buying into the community.

Phew! Congrats on making it this far! We hope that you’re starting to get a grasp of how the data inputted by the player is used as part of a complex modelling system to output unique results, and that this model has huge potential as a tool to help a community design their regenerative Commons!

Final Score

Art Used Depict Bad Future and Good Future Scores Screens, by Mark Henson

The last page of the Commons Simulator reveals the player’s final game score — a component of the gamification of the model. The final score is a number out of 1000 representing the success of the Commons. A score of 500 or greater indicates that they have selected inputs that, according to cadCAD, will Hatch a Commons that will save the world from ecosystem collapse! A score less than 500 indicates that the RadicalxChange Commons design falls short of what is needed for revolutionary global change.

Based on the inputs selected in each level, cadCAD builds the score using a series of equally weighted metrics. The score, therefore depends on the following:

  • Final Token Price compared to Token Price at Hatch
  • Average Token Price compared to the Token Price at Hatch
  • Final Sentiment
  • Average Sentiment
  • Number of Funded Proposals compared to number of Initial Proposals
  • Total spent by the Funding Pool compared to the amount in the Funding Pool at Hatch
  • Average amount in the Funding Pool compared to the amount in the Funding Pool at Hatch
  • Ratio of Successful Projects to Failed Projects
  • Number of Final Participants compared to the number of Hatchers

Points are gained if your Commons grows, gains popularity and positive sentiment, passes and completes value-adding projects, gains stability, etc., and points are lost for the opposite. Once reviewing their results and the score, the player can decide then to go “back in time” again to the beginning and change their inputs and try to produce improved results.

Disclaimer: The final game score and future “outcome” are byproducts of the fun and engaging “gamification” of the model and not true single-value or binary good/bad outputs of the simulator. The model itself is very complex and the final results in a real world application should be considered as a whole when applying these concepts.

The Commons Simulator was created to demonstrate the power of cadCAD as a tool for complex technical analysis, and its ability to be used as a means to empower communities to design their own economies and completely change the course of society and prevent the real potential destruction of the planet. The intention is to provide education about cadCAD simulation and “the Commons” in a way that is interactive, artistic and fun!

By now, you should have a good understanding of the game flow, the vocabulary, the inputs and outputs, and a little bit about how all of the states and parameters interact with each other and affect the potential of the Commons. In Part 2 of this Deep Dive Series, we will go deeper into the different states in the simulator and the ways in which each state impacts the system initialization, and you will start to get even a bigger idea of how all of these parts come together as a powerful prediction tool. Part 3 will go even further into the system mechanisms, diving even deeper down the rabbit hole.

Thanks for sticking with us! We hope you’ll join us next time for Part 2. If you liked Part 1, give us a hand (or 50) 👏 and follow Commons Stack for the next episode. Learn more by trying out the simulator yourself, joining our team or checking out our repo on GitHub.

Help support us directly by liking or 👉👉 donating to our project 👈👈 on Giveth.io!

Don’t forget to join the Trusted Seed so you are eligible to participate in the upcoming Hatch of the TE Commons!

Thanks to Vitor Marthendal, Griff Green, Danielle Gennety, Santiago Gonzalez Toral, Merlin Egalite, Marko Prljic, Chuy Garcia, and Jeff Emmett for content, edits, and suggestions on this piece.

--

--

Lauren Luz
Commons Stack

Mission specialist at Giveth.io | Passionate about using blockchain to evolve pubic goods funding.