《Kabletop:一款分布式回合制对战游戏框架》一、简介篇

[介绍]

Kabletop的拼写是“CKB”结合“Tabletop”的变形处理,意味着这是一款基于CKB打造的桌面卡牌对战游戏框架,它面向设计师打造,游戏设计师只需要基于这款框架并用游戏业界知名的脚本语言Lua做开发,就能轻松制作出一款面向CKB发行的回合制对战类游戏,设计师还可以基于Kabletop设计和发行NFT资产,并在游戏里为这些NFT资产创造独一无二的使用场景。

用Kabletop开发出来的游戏是没有服务器的,所有的游戏验证操作都交由CKB智能合约完成,有人可能会问,CKB智能合约的编程门槛那么高,这该怎么办呢?但其实不用担心,用Kabletop开发出来的游戏将自动生成基于Lua的CKB智能合约脚本,游戏设计师完全不用关心任何和智能合约相关的开发工作,甚至是连游戏服务器相关的开发工作也不用关心,用到Kabletop框架后,游戏设计师完全可以像开发单机游戏一样去开发一款纯正的区块链游戏。

这里罗列出Kabletop的几大特点:

  1. 完全面向游戏设计师设计,基于可视化的游戏引擎打造,开发语言采用业内广泛采用并且上手门槛极低的Lua脚本语言
  2. 完全不用关心游戏服务器和区块链智能合约的相关问题,Kabletop框架已全部做好,设计师只需要用Lua编写游戏逻辑即可
  3. 支持设计和发行NFT资产,NFT资产和游戏逻辑解耦,同一套NFT元数据可游走在多款游戏之间,为设计师创造的NFT艺术品赋予更加丰富的使用场景

至于Kabletop为何在游戏类型上选择MTG(集换式卡牌对战类游戏)方向,文章后面将会对分析过程进行详细说明。

[分析]

在设计这款区块链游戏框架之前,我问了自己下面几个问题:

  1. 我要如何界定一款游戏是区块链游戏?
  2. 区块链游戏与传统游戏相比,设计难点在哪些地方?
  3. 我为什么要设计一款区块链游戏框架?

#1 我要如何界定一款游戏是区块链游戏

区块链因为是个制造信任的机器而被大众所接受,其背后正是依赖于分布式的设计来实现去信任机制,而这种机制又能促成数字资产的快速流动,所以分布式流动性就是区块链在物理层面和应用层面上两个最重要的特征,如果一款游戏要冠以“区块链”的话,好像也必须具备这两个特征才行,对应于游戏中的设计则是以下两个约束:

  1. 没有或极少的中心化服务器做支撑,如登陆服、游戏服和世界服等
  2. 游戏内的部分或所有资产可以在游戏内部或外部自由流通,如装备、道具和资源等

一款游戏如果要同时满足上述两项约束才能称之为区块链游戏的话,那稍微上点规模的游戏,在技术上和策划上的设计难度无疑都是巨大的,尤其是对于一些具备复杂经济系统的MMORPG或SLG游戏来说,因为这完全颠覆了传统游戏的设计思路。

理性思考一下:

  1. 用极端原教旨主义去界定一款游戏是否是区块链游戏应该是不合理的,这会在一定程度上阻碍传统游戏的链改进程
  2. 但如果只是把“游戏还是传统游戏,只不过把充值渠道从原来的法币换成现在的数字货币”设定成区块链游戏的最低界定门槛又会显得过于简单粗暴,并且不利于区块链游戏的良性发展

所以一款能真正称得上是区块链游戏的游戏还是需要尽量满足分布式和流动性这两个约束,但不能简单的用0和1去界定,而用服务器的分布式程度和资产的流动性程度来评判游戏的链游化程度可能会更合适一些,0和1之间还是需要有一个过程的。

#2 区块链游戏与传统游戏相比,设计难点在哪些地方

传统游戏行业的服务器技术和策划套路经过多年的市场验证与迭代,已经具备相当程度上的可操作性,但与传统游戏相比,区块链游戏要更加强调分布式和流动性这两个特征一些,所以我们仅需要探讨这两个特征所带来的设计难点即可:

强调分布式所带来的难点

传统游戏目前较为流行的服务器架构为登录服、游戏服和世界服,复杂点的游戏还有聊天服、战斗服和跨服,为了应对游戏玩家数激增的情况,很多游戏服和世界服在设计的时候就支持动态水平扩展,但即便支持水平扩展,这种架构的去中心化程度还是很难达到区块链级别的要求,而完全点对点的分布式架构的响应速度又很难满足游戏应用的低延时要求。

所以强调分布式所带来的问题就是游戏的去中心化程度和游戏的响应速度之间很难两全,需要做一些取舍,比如为了满足高去中心化的要求,那么在选型的时候就需要选择一些对响应速度要求不那么高的游戏。

强调流动性所带来的难点

以一款具备一定复杂经济系统的MMORPG类型的游戏为例,整个游戏是一个价值孤岛,经济系统在游戏中基于策划设定的“游戏循环”自主运行,然后随着游戏生命周期的减少而逐渐通胀,这是一个不受外界打扰的闭环,在这样一个大的闭环当中,每个玩家的游戏体验都是这个闭环的实例,其中:

  1. 玩家的经济闭环和游戏官方商城关联
  2. 玩家和玩家之间的经济闭环在一定程度上互相关联(基于游戏内置交易系统)

这样,玩家在自己的经济闭环里逐步推进的过程中遇到阻碍的话,为了冲破这个阻碍所需要的资源要么从官方商城中获得,要么从交易系统中获得。所以,玩家能从交易系统中获得的资源越少,游戏官方就越能从商城中赚到钱,反之则会越难。综上,强调流动性给游戏设计带来的难点就显而易见了:

A) 强调外部流动性意味着游戏内的经济系统将脱离游戏内部的循环体系和游戏外部产生关联,游戏将不再是个价值孤岛,内在的价值体系将很容易被来自外部的不确定性因素所干扰,如果一个游戏的数值策划没有很扎实的金融背景和数学功底的话,游戏内的经济系统将很容易被外来资金冲垮。

B) 强调内部流动性意味着游戏内的交易系统将成为主导,如果游戏中的所有资源都能在交易系统中流通,那只要游戏资源从交易系统中获取的成本比从官方商城中获取的成本低,那玩家在需要资源的时候就只会从交易系统中去找,导致官方很难从游戏商城中赚钱。比如一款游戏有100位玩家,游戏官方本来可以把一个游戏道具卖100份出去,但由于交易系统的存在,极端情况下官方只能卖1份出去,而这1份又能在游戏的交易系统中自由流通,这样其他99位需要这个道具的玩家直接在二级市场上自由买卖即可,他们在游戏中贡献了GDP,但游戏官方却赔得连裤衩都不剩,即便向二级市场收取手续费也于事无补。

所以强调流动性所带来的问题主要与营收和经济体系相关,游戏经济体系设计的越复杂对游戏资产流动性的限制就会越大,不过如果一款游戏本身没有复杂的经济系统,那对资产流动性的限制就会相对小一些。

#3 我为什么要设计一款区块链游戏框架

随着近几年NFT(非同质化代币)概念爆火,NFT具备了很强的炒作价值,但如果只有炒作价值而没有使用价值则很撑起整个NFT市场,NFT作为一种特殊的不可分割的数字资产,与游戏中道具的概念极为相似,所以游戏领域无疑是实现NFT使用价值的一个重要场景,但游戏开发的门槛本就不低,再加上又和区块链技术结合,那门槛无疑将会更高,所以未来我们一定需要一款结合了区块链和游戏的框架来降低区块链游戏的制作门槛,让越来越多的游戏制作者能够享受到NFT热潮所带来的红利,大大降低项目的冷启动成本。

除了赶上NFT热潮外,区块链游戏还能为UGC(用户生产内容)方向上的游戏提供更好的实现范式。区块链技术在很大程度上降低了信任成本,这就使得基于大规模协作的应用成为可能,而基于UGC特性打造的游戏正好属于大规模协作应用的一种,并且还能加入更多的金融特性,让游戏行为和金融行为在同一个去中心化自治的游戏平台上各司其职、和谐共处。

最近元宇宙概念大火,我相信,区块链游戏也一定是实现元宇宙空间最好的沃土之一。

[思考]

要开发一款接近原教旨主义的区块链游戏,这款游戏的分布式特性和流动性特性就要做到尽可能的高。一款游戏要做到高分布式和高流动性的话,那这款游戏对操作实时性的要求就不能很高,并且也不能设计过于复杂的经济系统,所以基于这两点考虑,回合制对战类型的游戏就比较符合要求,典型的代表就是集换式卡牌对战类型的游戏,如万智牌、游戏王和炉石传说:

  1. 游戏的操作节奏是回合制而非实时,所以对响应较慢的情况有一定的容忍度,支持一定程度的分布式设计要求
  2. 游戏玩法以对战PK为主,所以也不需要加入复杂的经济系统做玩法支撑,游戏目标简单直接
  3. 每一张卡牌都可以代表一个NFT,并且这些NFT完全可以脱离游戏去交易流通,高流动性对这类游戏的游玩体验影响很有限。

这类游戏的游戏逻辑完全可以在对战双方的本地完成验证,不用每一步操作都要经过游戏服务器,而游戏服务器的职责就只是以自己的标准再次验证所有操作是否合法合规,所以完全可以用智能合约来替代游戏服务器,这样整个游戏网络就都以点对点的形式组织,再配合特定共识算法完成游戏的匹配逻辑,任意游戏节点都可自由进出游戏网络。

其实,采用这种设计的网络本质是一个二层网络(Layer2),游戏双方在链下验证对方的操作并签名确认最新的游戏状态,最后在游戏结束的时候将最终交易发送上链交由智能合约来验证交易的合法性并判断游戏赢家。游戏的计算逻辑和验证逻辑完全分离,Layer1部分只需要进行交易验证,而计算过程全部交由Layer2完成。所以更进一步的讲,这种网络是一个基于状态通道(StateChannel)技术实现的二层网络,游戏双方在开启对战之前需要发起多签交易开启状态通道,然后在游戏结束的时候由任意一方玩家发送经过双方链下共识后的交易来关闭这个通道。当然,这其中也需要设计一定的挑战机制来处理玩家故意拖延游戏的情况。

11 Likes

赞啊,什么时候可以体验到这个框架

小白就等着玩游戏了

1 Like

俺也一样

:+1:加油啊,期待

cool

等把游戏节点部分的框架弄完了后就基本可以出demo了,应该还要再等一段时间