作为虚拟世界的创造者,我们的目标是为用户创造充满活力和趣味的环境。这意味着要在设计数字物理法则时,要考虑到允许复杂和意外行为的同时,确保基础设施能够支持这些行为。为了实现这一目标,我们必须平衡数字物理法则的三个关键方面:时间、定律形式和适用范围。
我们将虚拟世界中时间的流逝称为虚拟世界物理法则的迭代应用。每个离散的应用都代表世界时间流中的一个瞬间。设计世界时间的一种方法是让它与外部时间一起不断前进。在基于区块链的虚拟世界中,每个区块对应着世界中经过的一定数量的瞬间,而不管区块中包含了什么样的交易。这被称为“同步”时间。这种方法可以增加用户对世界的兴趣,因为他们可以实时看到他们行为的影响。此外,它还会导致世界内的时间流逝,从而促进有趣的行为。
然而,这种方法也有一些缺点。更长的时间跨度通常需要更多的计算资源,这很快就会超出链或服务器的容量。在常规区块链上实现此系统也可能很困难,因为所有链上的更改都必须由外部用户的交易发起。
非同步时间是同步时间的替代方案。在非同步时间下,世界中的时间流逝不一定随着外部时间的推进而推进。相反,时间会根据某些事件(通常是用户操作)向前移动。不涉及计时器的传统棋盘游戏就属于这种类别。非同步时间更容易在链上实现,因为它符合区块链设计支持的模型。然而,它也会牺牲一些可以让世界更有趣的功能。
世界构建者还必须决定控制虚拟世界的数学定律是遵循开放形式还是封闭形式。封闭形式表达式具有固定数量的运算。但是,对于开放形式(或递归)表达式,运算数量会根据给定变量而增加。在开放形式表达式下,只能通过将世界定律反复应用于已知状态来计算世界的未来状态。复杂的实时环境通常属于这种情况。另一方面,封闭形式表达式允许根据过去状态和它们之间经过的时间计算出任何未来状态,假设没有未来的用户操作会改变状态,就像俄罗斯方块游戏中掉落的方块一样。
开放式表达可以让虚拟世界变得更有趣,因为它们更像现实世界,都是有限可预测的。预测世界的未来状态需要越来越多的时间和计算资源。此外,意想不到的宏观行为可能从简单的微观互动中产生。在由封闭式表达控制的世界中,这些突发行为通常只在外部发生,通过用户的行为来实现,而不是在世界本身的物理范围内发生。
在平衡开放和封闭形式表达式之间的权衡中,时间也起着重要的作用。封闭形式表达式可能会降低世界的潜在趣味性,但它们在计算上更高效。封闭式表达式可以与同步或非同步时间一起使用。当在区块链上实施时,它们比开放式表达式具有显着优势。由于任何长度的时间的成本是恒定的,因此可以设计世界,仅在用户发送交易时更新链上状态,而将其设置为自上次更新以来的状态。
在现实世界中,时间在可能无限的宇宙中同时流逝,具有一些相对论的复杂性。但在虚拟世界中,情况并非如此。
首先,虚拟世界可能是明显有限的。随着规模的扩大,趣味性的可能性往往会增加。在一个由20亿个星系组成的世界中,趣味性会比在一个由两个原子组成的世界中更多,但计算成本也会增加。这两种关系都与前面提到的两种权衡密切相关:时间的流逝和物理定律的形式。
其次,虚拟世界中的时间不必无处不在。为了减轻世界的计算负担,可以将世界划分为离散区域,这些区域的时间流逝方式不同。例如,在有用户活动的区域可以使用更复杂、更昂贵的物理法则,而在无活动的区域可以使用更简单的物理法则。这种方法的缺点是双重的:它会使世界看起来不一致且缺乏完整性,这也限制了世界法则的设计空间,并给世界构建者带来了避免混淆用户的负担;它还限制了因果关系在世界中的传播方式,因为如果一个区域和另一个区域之间的空间在时间上冻结,那么它们之间的行动就不会对另一个区域产生影响。物理法则适用的区域的大小是一个主要的设计考虑因素,它将影响世界所需的资源以及它所能达到的趣味性水平。
要创建一个充满活力和引人入胜的虚拟世界,我们必须仔细平衡计算效率和趣味性。这包括决定使用的时间类型(同步或非同步)以及评估将要控制世界的物理定律的形式。物理适用区域的大小也是一个关键因素。通过仔细做出这些选择,世界构建者不仅可以在保持世界的计算负担可控的同时实现趣味性,还可以为其他开发人员创造一个极其丰富的创意基础。