As creators of virtual worlds, our goal is to create immersive and exciting environments for users. This requires finding a balance between designing digital physics laws that allow for complexity and unexpected behaviors, and ensuring that the underlying infrastructure can support these behaviors. To achieve this, we must consider three key dimensions of digital physics laws: time, the form of the laws, and their applicability.
In the virtual world, time can flow in two ways: synchronously and asynchronously, each with its own advantages and disadvantages that need to be weighed. When designing a virtual world, we need to balance open and closed expressions. Time and computational resources are limited, so we need to consider the trade-off between the fun factor and computational efficiency. In a world with two billion galaxies, increasing the fun factor comes at a computational cost. One option is to divide the world into discrete regions, but this can lead to inconsistencies and limitations in the propagation of cause and effect. Choosing the type of time and the form of physical laws is also important as it provides a creative foundation for other developers.
As creators of virtual worlds, our goal is to create immersive and engaging environments for users. This means finding a balance between designing digital physics laws that allow for complex and unexpected behaviors, and ensuring that the underlying infrastructure can support these behaviors. To do this, we must consider three major dimensions of digital physics laws: time, the form of the laws, and their applicability.
We refer to the passage of time in the virtual world as the application of the virtual world’s physical laws in its own iterative way. Each discrete application is a “moment” in the flow of world time. One approach to designing world time is to have it progress continuously alongside external time. In a virtual world implemented on a blockchain, each block corresponds to a certain number of moments that have passed in the world, regardless of the transactions contained in the block. This is known as “synced” time. This approach allows users to be more engaged with the world, as they can see the consequences of their actions in real time. It also leads to the flow of time within the world, constantly updating the world and facilitating the emergence of interesting behaviors.
However, this approach also has its drawbacks. Longer spans of time typically require more computational resources, which can quickly exceed the capacity of the chain or server. Implementing such a system on a regular blockchain can also be challenging, as all on-chain changes must be initiated by transactions from external users.
An alternative to synced time is unsynced time. In this approach, the passage of time in the world does not necessarily progress with the advancement of external time. Instead, time moves forward based on certain events, typically user actions. Traditional board games that do not involve timers fall into a similar category. Unsynced time is easier to implement on a blockchain, as it aligns with the model supported by blockchain design. However, it also sacrifices some features that can make the world more interesting.
World builders also have to decide whether the mathematical laws governing the virtual world should follow a closed or open form. Closed form expressions have a fixed number of operations. On the other hand, open (or recursive) form expressions increase the number of operations based on given variables. In open form expressions, the future state of the world can only be calculated by repeatedly applying the world laws to known states. Complex real-time environments, such as Dwarf Fortress, typically fall into this category. Closed form expressions, on the other hand, allow for the calculation of any future state within a constant amount of time based on past states and the time elapsed between them, assuming no future user actions will change the state, much like the falling tetrominoes in the game Tetris.
Open expressions can make the virtual world more interesting, as they are limited and unpredictable, much like the real world. Predicting the future state of the world requires increasing amounts of time and computational resources. Additionally, unexpected macro behaviors can emerge from simple micro interactions. In a world controlled by closed form expressions, these emergent behaviors typically occur externally, through user actions (which themselves act as open form expressions), rather than within the physical scope of the world itself.
The trade-off between open and closed form expressions involves a balance similar to that of time. Closed form expressions may diminish the potential fun factor of the world, but they also make it more computationally efficient. Closed form expressions can be used with both synced and unsynced time. When implemented on a blockchain, they have significant advantages when time is synced. As the cost of any length of time is constant, the world can be designed to update the on-chain state only when users send transactions, but it is set to the state that has elapsed since the last update.
In the real world, time flows simultaneously in a potentially infinite universe (with some complexities from relativity). But in the virtual world, this is not necessarily the case.
Firstly, virtual worlds can be significantly limited. As the scale increases, the possibilities for fun also tend to increase. In a world consisting of two billion galaxies, there are more possibilities for fun compared to a world consisting of only two atoms, but the computational cost also increases. Both of these relationships are closely related to the two trade-offs mentioned earlier: the flow of time and the form of physical laws.
Secondly, time in the virtual world does not have to be omnipresent. To alleviate the computational burden of the world, it can be divided into discrete regions, each with its own way of passing time. For example, more complex and expensive physical laws can be used in regions with user activity, while simpler laws can be used in inactive regions. The drawback of this approach is twofold: it makes the world appear inconsistent and lacking in completeness, which also limits the design space of the world laws and creates a burden for world builders to avoid confusing users; it also limits the propagation of causality in the world, as if a space between one region and another is frozen in time, actions in one region will not have an impact on the other. The size of the region to which physical laws apply is a major design consideration that will affect the resources required by the world and the level of fun it can achieve.
To create an engaging and immersive virtual world, careful balance must be struck between computational efficiency and fun. This includes determining the type of time used (synced or unsynced) and evaluating the form of physical laws that will govern the world. The size of the region to which physical laws apply is another key factor. By making these choices carefully, world builders can not only achieve fun while keeping the computational burden of the world under control, but also create an extremely rich creative foundation for other developers.