news 2026/9/20 22:27:02

OpenMMO交易系统详解:单一金币货币的经济设计分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenMMO交易系统详解:单一金币货币的经济设计分析

OpenMMO交易系统详解:单一金币货币的经济设计分析

【免费下载链接】OpenMMO项目地址: https://gitcode.com/GitHub_Trending/open/OpenMMO

OpenMMO 是一款 AI 智能体与人类玩家平等共处的 3D MMORPG,其交易系统围绕"单一金币货币 + 买卖价差 + AI 商人砍价"构建了一套完整的经济设计。本文将从货币存储、商人流水、玩家互售到自动物价调控,带你完整读懂这套开放世界的经济引擎。

一、单一金币货币:为什么不用五种硬币?

很多回合制游戏采用 D&D 5e 式的多层货币(铂金/黄金/银/铜),但 OpenMMO 选择了 NetHack 与《魔兽世界》的路线:服务器端只用一个 64 位整数存"最小单位"(铜币),金/银/铜纯粹是客户端的显示格式

1 金 (g) = 100 银 (s) = 10,000 铜 (c)
  • 存储层:整个游戏世界只有一个数字gold,64 位整数避免大额交易溢出,换算、累加、持久化全部无精度损失。
  • 显示层:客户端按1g 20s 30c的样式渲染,还支持1g20s30c2s这类自由输入格式,方便玩家快速敲入金额。
  • 不做硬币物品:没有可放入背包的实体硬币,省去了兑换、重量、交易 UI 的全部复杂度。

这套设计的核心收益:服务器权威、数值绝对可信。所有价格计算(价差、砍价区间、税率)都在服务端基于这个整数完成,客户端永远只是"画出来"的那一层。

实现位于 currency.ts,设计决策记录在 ECONOMY.md。

二、买卖价差:金币的"入口"与"出口"

OpenMMO 的金币流动遵循一套清晰的"水龙头 / 下水道"模型:

类型路径说明
💧 水龙头(发行)向商人出售、钓鱼硬币、地牢宝箱、NPC 薪资金币进入经济
🕳️ 下水道(回收)向商人购买、摊位销售税 5%金币离开经济
⚖️ 中性玩家间交易、打赏帽、居民 NPC 交易只是在钱包间转移

几个关键设计点:

  1. 购买按基准价,出售只回收 30%~50%。商人 Rica 的收购价是基准价的 40%——这是 D&D 与 NetHack 共用的"价差模式",彻底堵死"无限倒卖刷金币"的路径。
  2. 新角色从 0 金币起步。第一个铜币必须靠打怪掉落卖出来,防止"建号→转移价值→删号→重建"的刷金循环。
  3. 起始装备不可变现。新手剑使用专用定义worn_iron_sword(属性与普通铁剑相同,但没有basePrice),商人会直接拒收;玩家间交易则另有untradeable标记拦截。
  4. 误卖保护(Buyback):卖给商人的物品,最近 10 件可以按原价买回,方便手滑救急,且往返金额中性、不影响价差平衡。

三、AI 商人会"砍价":LLM 提议,服务器执行

OpenMMO 最大的差异点:NPC 由 LLM 驱动,你可以和商人 Rica 聊天、讲故事、套近乎,换来一次性的折扣。

但防作弊的原则只有一条:假设 LLM 最终一定会被绕穿,所有防线都建在服务器。具体机制:

  • 🎯价格区间:服务器按"基准价 × 价差 × 魅力修正"算出[最低价, 最高价]区间(约正价 ±20%),LLM 只能在区间内选择折扣幅度,越界即被钳制或拒绝;
  • 🛡️利润不变式:即使 LLM 给出最大折扣,"折后买价 > 最高卖价"永远成立——结构上不可能刷出套利循环
  • 💰预算与冷却:玩家每日折扣额度、Rica 的"钱包"日预算、30 秒砍价冷却,兼顾防滥用与 LLM 调用成本控制;
  • 📝全量日志:LLM 的每个定价决定都带理由落盘,既用于套利检测,也用于人设调优。

砍价因此变成了纯粹的社交内容:讲好故事有折扣,态度恶劣可能被加价,对称且符合人设。

四、居民 Karl 的心愿单:120% 溢价收购

除了正式商人,每个 LLM NPC 都可以交易,但供给模型完全不同:

商人(Rica)居民(Karl 等)
库存无限(数据目录定义)只有自己的真实背包
钱包实际上无限有限,靠服务器定期发薪(上限 3 金)
价格区间窄(±20%),充当价格锚宽——真正想要的东西付溢价
经济角色金币回收、基准价角色扮演、自然生成的跑腿任务

Karl 的心愿单(火把、匕首)按基准价 120% 收购——你可以"送货上门"赚差价,这本质上是不用写任务系统就能涌现的跑腿玩法。由于他的钱包被工资上限锁死,LLM 即使"被击穿",最大损失也只是它钱包里的余额。

五、玩家间交易:两步锁定 + 交易账本

玩家互售(/trade <名字>发起)是经济安全等级最高的模块,因为这里一个 bug 就是一次永久性的金币/物品增发。核心防线:

  • 近程条件:交易双方必须始终保持在可交互距离内,离开即取消——把交易变成看得见的物理行为;
  • 锁定 → 确认两段式:任何一方修改报价,双方确认全部重置,且确认包携带版本号(revision),杜绝"最后瞬间调包"的经典骗局;
  • 强化值外露+7 Iron Sword直接标在物品名上——因为 +0 和 +7 外观完全相同,是零成本的欺诈通道;
  • 软预留:报价中的物品留在背包里,但禁止再卖出/使用/丢弃,避免"escrow 卡物品"的灾难;
  • 原子提交:双方确认后任一校验失败(如超重),整笔交易回滚;提交时先落库、再广播成功;
  • 交易账本:每笔成功交易在数据库留一条永久记录(双方交易前后余额 + 物品明细),既是玩家自证材料,也是反滥用检测体系;
  • 起始装备不可交易untradeable标记),NPC 完全被排除在玩家交易之外。

六、玩家寄售摊位:5% 销售税的经济闭环

想要"摆摊赚差价"?从 Rica 处购买 2000 铜的peddler_stall,在野外展开摊位、给物品标价,路人直接买走——没有砍价环节,价格就是标价

这个设计的妙处在于税收闭环:玩家之间互相买卖会绕过商人的金币回收通道,所以成交时向卖家征收5% 销售税,把绕过的部分重新灌回经济下水道。其他细节:摊位上限 12 格、物品软预留、主人离开 10 米自动收摊(防止"离线挂机店")。

七、物价指数:服务器自动调节的"央行"

最后一层是全局调控(详见 PRICING.md):

  1. 度量:服务器每小时记录快照,核心指标M = 活跃角色人均金币(只统计 30 天内登录的角色);
  2. 调节:每 20 个游戏日(小月亮 Serin 全暗之日)自动开会,按公式P_new = P × (1 + k × (实际增速 − 目标增速))调整物价指数,单次会议最多 ±10%,全局范围 0.5~2.0;
  3. 定向生效:指数只作用于商人的消费品售价(药水、食物、磨刀石),装备与居民库存不受影响,且收购价不随指数上涨——保证套利永远无利可图;
  4. 演出:Rica 和 Wick 会在"会议"中用各自口吻讨论物价,玩家偷听能提前获知价格走向——"现在买还是等下次暗月?"本身就是玩法。

总结

OpenMMO 的交易系统是一个教科书级的分层设计:

  • 底层:单一 64 位整数货币,服务器权威,零精度问题;
  • 中层:买卖价差 + 金币回收 + 玩家交易账本 + 摊位税,保证经济不膨胀、不增发;
  • 顶层:AI 商人砍价、居民心愿单、自动物价会议,让经济系统本身成为可玩的内容。

想亲自体验或本地部署,可以克隆仓库后按 CONTRIBUTING.md 的说明构建:

git clone https://gitcode.com/GitHub_Trending/open/OpenMMO

更多设计背景可阅读 ECONOMY.md、TRADE.md 与 PRICING.md 三份核心文档。

【免费下载链接】OpenMMO项目地址: https://gitcode.com/GitHub_Trending/open/OpenMMO

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 22:25:45

PETS5口语备考全攻略:历年真题高效使用与评分规则详解

简介&#xff1a;这是一份面向PETS5&#xff08;全国外语水平考试英语五级&#xff09;考生的口语历年真题PDF&#xff0c;覆盖自我介绍、家庭背景、工作与学习经历、兴趣爱好、合作讨论等核心环节&#xff0c;并附有考官引导语与话题卡示例&#xff0c;可用于熟悉真实考场流程…

作者头像 李华
网站建设 2026/9/20 22:12:38

MMC多电平换流器NLM调制与电容均压控制仿真

1. 项目背景与核心价值多电平模块化多电平换流器&#xff08;MMC&#xff09;作为高压直流输电&#xff08;HVDC&#xff09;领域的核心装备&#xff0c;其仿真建模与控制策略验证一直是电力电子工程师的必修课。这次我们要探讨的是在DC 12kV系统电压、子模块数N12的典型工况下…

作者头像 李华