自有项目 · 开发中
Rosmino
一款从零开始构建的在线竞技跨平台多米诺骨牌平台。这不是客户委托项目——它是我们自己的,以下是它的进展。
Rosmino是什么
Rosmino是一款多米诺骨牌平台,目标是让人感受到电子竞技的体验,而非休闲游戏:单挑与双人对战、竞技排名、带有升降级的联赛、单败淘汰赛,以及带有名人堂的官方锦标赛,此外还有从新手到特级大师不同难度的AI对战。同一个项目可编译到Android、iPhone/iPad、Windows、macOS和网页浏览器。
从零开始构建这样的引擎意味着什么?
这里的"引擎"不是我们在为其他工作室的游戏工作时那部分需要保密的内容——它就是我们正在一点点搭建的东西,因为它是我们自己的,所以我们可以详细谈论它。核心是一个纯C#编写的规则库,不依赖任何图形引擎或网络功能,会以完全相同的形式编译到三个不同的地方:客户端(用于本地预测和动画)、对局服务器(唯一的真相来源),以及未来的模拟器(将自动进行数百万场对局,在真实玩家发现平衡性问题之前先一步找出来)。一局游戏的状态从不会被直接修改:它是通过按顺序应用一系列不可变事件重建出来的——因此一局完整的对局理论上可以完全从其历史记录中复现,这正是回放、审计和处理争议所需要的能力。客户端可以在本地预测一次操作以带来即时反馈,但它从不决定结果:结果始终由服务器依据同一套规则进行校验——因此任何被修改过的客户端版本都无法在真正影响对局的事情上作弊。
多米诺骨牌本身的规则——骨牌数量、结束条件、计分方式、单挑还是双人模式——都被封装在一个可配置的"规则集"接口之后,所以新增一种玩法只需要新增一个类,而不需要重写整个引擎。在此之上,服务器从第一天起就通过WebSocket与每个客户端进行带版本号的消息通信,正是为了以后能够在不破坏某些用户仍在使用的旧版本应用的情况下升级协议。
目前进展如何,逐阶段来看
项目共规划了21个阶段,截至目前已完成12个——不是"在演示中能跑"的那种完成,而是每个阶段都通过实际从头到尾进行真实对局来验证过的。规则引擎拥有超过90个自动化测试,覆盖率接近100%。客户端已经能在全部五个平台上编译并运行。已经有一个真实的、具备权威性的对局服务器通过WebSocket通信,并支持真实的重连机制。自动匹配运行在真实的队列之上,等待时间越长,可接受的分差范围就越宽。账户系统是真实的,登录也是真实的。每局结束后都会通过真实的类Elo系统计算排名。联赛具备真实的升级、降级与保护机制。锦标赛会真正逐轮生成单败淘汰赛表,无需人工干预。而正式锦标赛——固定的四分之一决赛、半决赛与决赛阶段,按排名获得资格,并拥有真实的名人堂——构成了整个竞技系统的收尾。
最新完成的阶段加入了真正具备竞技水平的AI:从新手到特级大师共七档难度,能够真实推断对手手中可能持有的牌,并真实搜索最佳出牌——绝不随机出牌。在模拟对局中,特级大师对新手的战绩是17胜3负(20局中),中等难度对新手的战绩是48胜12负(60局中)——这是真实的实力梯度,而不是简单地"故意多犯错"。同一套AI还会在任何真人玩家掉线时自动接管,直到该玩家回来。
仍待完成的部分包括:社交系统、观战与回放功能、加固反作弊系统、管理后台、游戏的最终美术资源——目前还没有一张定稿的美术图,所以这个页面暂时还看不到任何截图——最后还有性能优化、真实的负载测试以及跨平台正式发布。以上这些都还没有公布日期。
目前已经真实存在的内容