现在全链游戏来到了和DeFi同样的时刻:在一台极低性能的「世界计算机」上面如何运行一个游戏?这需要深入分析游戏和区块链的本质矛盾是什么。
传统的游戏是基于循环(loop-based)的,因为它们的核心运行机制是游戏循环。游戏循环是一个不断重复的过程,通常包含处理用户输入、更新游戏状态和渲染游戏世界这几个步骤。这个循环在游戏运行期间持续进行,通常每秒运行数十次到数百次,以保持游戏世界的流畅性。在这种架构中,游戏系统(如物理引擎、AI系统等)在每个循环中检查和处理它们关心的游戏实体和组件。
ApeCoin DAO猿岛
个无聊猿代币其实就是ApeCoin,它是最新的基于NFT的代币,是由著名的Bored Ape Yacht Club系列提供支持的,现在该代币将被一个秘密项目采用。ApeCoin是在3月16日被引入NFT社区的,它作为APE生态系统中使用的ERC-20治理和实用代币,是由ApeCoin DAO拥有和运营的,每个APE代币的持有者都可以对生态系统的治理和使用进行投票。
ApeCoin是以太坊区块链上的ERC-20治理和实用代币。这是一种ERC-20治理和实用代币。
猿岛作为ApeCoin DAO打造的游戏,汇聚了猿猴社区中最优秀的创作人才和热爱游戏的玩家。在猿岛游戏中,你不仅可以参与到充满刺激和挑战的冒险中,还可以通过创作和互动,共同打造一个充满创意和活力的游戏生态系统。
然而,区块链的架构是基于推送(push-based)的。区块链是一个分布式的数据库,它通过网络中的节点共享和存储信息。当一个节点产生一个新的交易(如转账、合约调用等)时,这个交易会被推送到网络中,其他的节点收到这个交易后会验证它并将它添加到区块链中。这是一个被动的过程,节点不会主动去查找新的交易,而是等待网络中的其他节点发送新的交易。因此,区块链的架构被称为是基于推送的。
其实这段话已经回答了上面的问题。游戏架构一般是loop-based,而区块链架构是push-based,这就是游戏和区块链的本质矛盾。那如何解决这个矛盾?可以说,只要解决了这个矛盾,就迎来了全链游戏的「AMM时刻」。
为了更深入的讨论,我们来看看游戏是如何实现游戏循环的。
每款游戏都包含一系列获取用户输入,更新游戏状态,处理AI,播放音乐和音效以及显示游戏的顺序。这个顺序通过游戏循环来处理。我们暂时不详细讨论上述任何任务,而是将注意力集中在游戏循环本身,所以可以将任务简化为仅更新和显示游戏两个函数。下面是游戏循环最简单形式的示例代码:
bool game_is_running=true;
while(game_is_running){
update_game();
display_game();
}
先引入三个术语:
Tick
Tick是game loop的同义词(拟声词),1 tick=1 game loop
FPS
FPS是每秒帧数(Frames Per Second)的缩写。在上述实现的上下文中,它是每秒调用display_game()的次数。
游戏速度
游戏速度是每秒更新游戏状态的次数,或者换句话说,每秒调用update_game()的次数。
总结一下,Tick/Game Loop是游戏的基本周期,决定了游戏逻辑如何更新。FPS是每秒渲染的帧数,决定了游戏的视觉流畅性。游戏速度是游戏逻辑如何进展,通常与tick速率相等。在理想情况下,tick速率、FPS和游戏速度应该都是相等的,这意味着每次逻辑更新后都会有一个对应的渲染。但在实际情况中,这三者可能会有所不同,特别是在性能受限或有其他技术限制的情况下。