惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
量子位
博客园 - 司徒正美
IT之家
IT之家
V
Visual Studio Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
Google DeepMind News
Google DeepMind News
Last Week in AI
Last Week in AI
Microsoft Security Blog
Microsoft Security Blog
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
Vercel News
Vercel News
B
Blog
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
小众软件
小众软件
罗磊的独立博客
博客园 - 叶小钗
雷峰网
雷峰网
Martin Fowler
Martin Fowler
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学

机核

游戏性能旗舰最强之选,一加 Ace 6 至尊版国补到手价2999元起 6元钱自己更换电动车刹车线 《生化危机9:安魂曲》编剧Haris Orkin专访 摸金游戏?音乐游戏!暗区新赛季这把能弹的琴有何来历? 好评国产武侠SRPG《息风谷战略》免费DLC现已推出 | 机核 GCORES 碎片 《生化危机:安魂曲》将于5月实装首个免费更新内容 | 机核 GCORES 新锐东方游戏,谱写世界新章! 沉浸式恋爱视觉小说游戏《心象演算》免费试玩版现已正式上线 | 机核 GCORES 互动影游《代号三国:龙起》上线!穿越三国与曹操并肩、与佳人同行、与权谋博弈! 《老头收集梦想生活》,游戏酒桌会6,录音笔VOL.689 | 机核 GCORES 破界·共生——《白日梦:无限世界》五大核心游戏特点解析 价格已到史低,锐龙5 9600X/锐龙7 9700X正适合抄底 时间循环之旅即刻启程!《归环》一周目测试今日开启 热门在线韩游变魂游,洛奇衍生作能否打破“花瓶”魔咒? LG UltraGear evo 全新高端显示器系列:当“5K”遇见“AI”,不止强大,更懂热爱 反套路三国互动影游《代号三国:龙起》今日上线! 愿望单登记人数突破10万!备受瞩目的“女儿养成游戏” 《梦幻魔法公主》今日于Steam平台上线!限时八折优惠中 《黑神话:悟空》全球音乐会2026巡演将于4月29日12时开票 | 机核 GCORES “Snowguelike”生存肉鸽挖矿新作《蛙穿雪境》公布发售日期,5月7日正式上线 | 机核 GCORES 重塑移动办公、AI创作新境!全新华硕灵耀Air系列、ProArt 骁龙版震撼首发,创芯未来 均分88:《Saros》媒体评分汇总 | 机核 GCORES 上海烛龙公布合作遗迹探险游戏《吉时已到》首支预告片 | 机核 GCORES 首个独立游戏《萝薇日记》已上线Steam! 烛龙新IP《吉时已到》首曝,打造国内首款中式合作遗迹探险游戏 喜加一:《暗黑破坏神Ⅳ》国服现已开启限时免费领取本体活动 | 机核 GCORES 新版《生化危机》电影定于9月18日上映,官方网站现已上线 | 机核 GCORES 《冲就完事模拟器2》“星球大战”联动DLC正式宣布 | 机核 GCORES SteamController将于5月4日发售,售价99美元 | 机核 GCORES 事已至此,内存这么用也算省钱了,“2+1”非对称双通道应用实测
从零开始道诡异仙MUD:客户端玩家体验,创建账号角色
我是北风 · 2025-02-04 · via 机核

大傩MUD客户端

之前文章一直是从开发者和设计者的视角介绍“大傩世界”游戏,本文试图从玩家的视角,介绍一个基于Nodejs的大傩MUD实验客户端,代码详见项目开源地址。这个客户端本身很简单,主要是通过一个taiyi-js库来和太乙网络节点交互。

由于太乙网络没有定义客户端的形态,仅仅规定了连接的协议,所以原理上可以做出任何形态的客户端来游玩大傩世界。出于实验和演示的目的,这里仅仅是使用TypeScript写出一个MUD形态的Node客户端。

这个客户端默认连接太乙网络的测试节点,因此是和太乙测试网络交互,当然,也可以修改设置接入正式大傩世界的太乙网络(现在还没有😭)。

玩家体验初试

我们从创建一个新的账号开始来实际截屏,通过截屏来演示这个客户端的使用。演示中包含了账号的创建、角色的创建过程,也包括一些操作法宝的方式,涉及到一种游戏中开发游戏的新体验。

启动程序后,我们通过signup命令创建一个新的账号,账号名为dage

  • 需要说明的是,为了方便测试,signup命令直接通过账号名和新密码的方式从一个微服务创建新的测试账号。这个“账号创建微服务”实际上也是一个taiyi-js库的开发示例,可以在taiyi-js的项目代码中看到,它本身是一个利用taiyi-js库开发的很简单nodejs应用。

  • 在正式环境中,你的密码只能由你自己保留。可以在本地生成满足太乙网络协议的账号私钥,然后直接连接太乙网络,用公钥创建账号。你是不需要把密码或者私钥传输到任何服务器上来完成这个账号创建过程的。有很多开源的工具和方法可以本地来做这件事情,例如太乙网络项目的xuanpin(玄牝)程序,就是一个基于C++语言编写的连接工具,这个工具有很多直接的命令来和太乙网络的白玉京api交互;另外,taiyi-js库本身也实现了各种密码学的方法以及和白玉京api交互的方法,可以开发基于JS/TS的各种工具和网站,上面说的“测试账号创建微服务”就是一个例子。在未来,可能还有python的库来提供python程序的支持。

  • signup这个命令中,微服务拿到你申请的账号名和密码后,直接生成太乙网络格式的私钥和公钥(由于根据账号名和密码按特定规则可以生成相同的私钥,所以微服务不缓存你的任何密码和私钥,以后要使用时就直接生成即可,参考客户端代码实现)。然后,在sifu账号(我们的测试水龙头账号,由他来提供测试的阳寿和真气)的帮助下,自动创建你的账号并绑定你的公钥。同时,sifu账号创建了一个新的“衍童石”法宝并赠送给你,这个法宝后面会被你用来创建角色。接着,sifu账号再传给你一些真气,满足你初期的一些活动,毕竟,体内没有真气运转,不论你是凡人还是修真者,都寸步难行,甚至一个法宝本身的运转,也是需要灌注真气的,这部分理论支持详见真气守恒定律

测试账号创建成功后,就可以使用login命令登录了

  • 技术上,这里的“登录”,不是传统网络游戏那种连接上服务器并且握手验证密码成功的意思。这里密码只有你本地才有,这里的登录也仅仅是按规则在本地根据账号密码生成私钥,缓存在本地供后面使用而已,这个过程无需和网络做任何交互。

  • 实验客户端代码中,这一步对节点服务器上多做了一次“查询”,帮你确保一下你的密码生成的公钥是匹配你这个账号的。

创建一个名叫“大哥”的角色

  • “登录”完成后,就可以凭借太乙网络的协议来和大傩世界交互了。然而从游戏的角度来说,我们这个客户端面对的是“玩家”,因此需要有大傩世界的“角色”来操作。

  • new命令来创建角色,第一个参数是姓氏,第二个参数是名讳。角色在太乙网络仅仅是一个实体的概念(NFA),这里创建的新角色默认并没有任何有意思的操作方法和逻辑,甚至都没有出生,因此我们需要一个特殊的系列操作来先把这个角色做成一个“凡人”的样子。

扮演一个实体——衍童石,在游戏中开发游戏。

  • 根据太乙宇宙观,账号,对应的就是元神,是没有具体形态的。无论是司命、凡人还是修真者,甚至普通花草树木又或者地点城市和法宝,他们自身虽然含有天道逻辑,但都需要元神来操作。

  • 换句话说,账号可以接入到大傩世界的任何角色或者任何实体,能接入的范围之大,从法宝本身,一直到司命。这也是某种意义上的“角色扮演”,一旦账号接入这个“角色”,你就是在扮演它,你可以操作它对应的命令来运转它的天道(SGS脚本)。

  • 从这个角度出发,整个大傩世界,并非像传统游戏一样,先开发好代码,再把内容建设好,之后玩家才能来玩,玩家也只是玩一个成品,游戏的内容开发、世界的重大历史进展、人物物品的所有权,都和玩家无关。这里不是,这里从一开始,整个世界只有一些基本的规则(因果规则这些),世界是没有“内容”的,维护因果天道的司命也好,天道逻辑脚本开发人员也好,还是普通的玩家、凡人和修真者,都是从一开始就可以进入这个世界,从一开始就一边通过操作不同实体来建设这个世界,这个世界也在越来越多的天道支撑下进行丰富复杂的运转和演化。所以说,所有接入的账号,既是在玩游戏,也是开发游戏,也是在建设游戏世界。

直接操作“衍童石”来让“大哥”出生并注入人类的天道逻辑

  • 未来的游戏中,玩家遇到这些原始操作的情况会越来越少,因为世界已经被我们初期进来的接入者建设得很完善了。

  • 这里先操作“衍童石”的命令设置“牛心村”为其驻地,然后用它的born_actor命令来出生“大哥”这个角色,后面的参数是这个角色的性别性取向什么的,还有各种初始属性值,这个客户端目前很简单,都是直接敲复杂命令,未来的一些客户端特别是图形化客户端,会方便这些操作(甚至可能是自动化的)。

  • 其后一个命令是upgrade_actor,这个命令是“衍童石”本身的一个特殊功能,就是将指定角色内禀的天道逻辑,升级到我们实践项目中实验的“凡人”逻辑。我们实验的“凡人”,就是一个具有基本的能看(look)、能走(go)、能感受(hp、resource、inventory、map)、能探索(exploit)和能修真(cultivation)的普通人。

  • 运行衍童石的这两个命令,都会对世界造成因果影响,因此需要天道司命的确认,命令发出后的响应时间需要等待至少一息(约为三秒钟)。而且,由于要推动因果天道运转,造成因果影响的任何命令,都需要消耗一定的真气。如果你真气不足,则不会成功,这也是“测试账号生成服务”为啥会给你赠送一些初始真气便于体验的原因了。

让我们夺舍“大哥”吧

  • 这就比较像MUD游戏了对吧,play命令参数填入角色名称,你就开始以这个角色的视角来进行扮演了。

  • 可以看到我们在角色身上使用了一个叫deposit_qi命令,这个命令很简单,主要是把元神(账号)中的真气转存一些到“大哥”体内,否则“大哥”生出来体内没有什么真气,做不了什么事情。未来会有像衍童石一样的法宝来专门从事元神和实体之间的交流,这个命令就不会在角色中出现了,这里纯粹是方便快速演示。

让我“看一看”

  • 按照传统,MUD游戏一般都有look指令的,就是看一下四周,或者看一下某人,或者查看一个事物。

  • look命令对太乙世界没有任何影响,用技术的话说,就是只读的,这个操作可以通过任何太乙网络节点完成。你自己甚至可以从太乙网络项目编译taiyin(太阴)程序,本地来启动一个天道节点,然后从这个节点同步大傩世界完成访问。从太乙宇宙世界观来讲,这类操作是不产生因果的,因此不需要通过司命的网络,响应速度就会非常快。由于这类命令不会消耗真气,所以可以重复执行也没有什么问题。

看下地图

  • 之前操作衍童石的时候,最开始有个set_zone,参数是7,7是当前测试网络上牛心村的区域NFA序号,因此你这个衍童石就是被设定到了牛心村,从它生出来的人,就都是在牛心村。

走一走

  • 写这篇文章的时候,测试网络由其他元神创建了“牛心村”和“大梁”两个区域并将它们连通了,虽然这些区域具体没有什么内容,但是可以根据地图往南或者往北走走看。

  • 往南走的话,就到达大梁城,触发了大梁城的天道逻辑。作为初期实验,设置了一个发放“路引”(早期实验NFA)的逻辑。注意,未来大梁城的情况随着建设,会变化很大。

  • 往北走的话,又回到牛心村,触发的逻辑会给你叙述牛心村的介绍以及当前村里的一些情况,可以看到有两位普通人在,那两个实体是之前北风创建并持续建设的角色。注意,未来牛心村的情况随着建设,会变化很大。

……待续