BOUNDARY PROTOCOL / APPENDIX
模型与交付目录
配置、算法、账本和文章相互对应,所有结果都能回到具体规则。
按实现状态阅读
| 模块 | 状态 | 范围 | 所需支持 |
|---|---|---|---|
| 产品边界 | 设计完成 | 目标、团队、失败代价、付费与持久化边界 | 制作人/系统 |
| 货币与实物账本 | 已实现 | 13类实物;每轮守恒与事件导出 | 服务器/数据 |
| 仓库与整备 | 已实现 | 留用、采购、维修、装载;重量上限 | 系统/程序 |
| 地图与掉落 | 抽象实现 | 3区有限物资池、距离和守卫压力;无3D空间 | 关卡/AI |
| PvE/PvP交火 | 抽象实现 | 射速、命中、弹甲、装填、持续血量;无真实输入 | 战斗/程序 |
| 团队技能与救援 | 部分实现 | 被动分工及医疗消耗;主动技能与救援窗口待实现 | 战斗/动画 |
| 交易 | 部分实现 | 材料双边订单;装备自由挂牌与跨服清算待实现 | 系统/服务器 |
| 成长与制造 | 已实现 | 研究配方、重复制造、携带扩容 | 系统/经济 |
| 后备与援助 | 已实现 | 失败整备转委托;有限援助次数 | 经济/运营 |
| 版本与运营 | 设计完成 | 指标、隔离分组、配置回退;没有真实上线数据 | 数据/运营 |
| 资产事务与安全 | 接口设计 | 幂等键、归属与审计;未做实际并发服务 | 服务器/安全 |
| 商业化 | 边界设计 | 外观付费不接入战力经济;未模拟收入 | 商业化/美术 |
“接口设计”不代表已经开发。这里把尚未进入计算的机制显式列出,避免设计愿景与模拟能力混为一谈。
配置、原始结果与复现
node test.mjs node run.mjs # 修改 config.mjs 后重跑;浏览器与命令行使用同一 engine.mjs。
Excel的经济验算与逐发伤害使用原生公式。生态结果和账本是导出的固定快照;修改Excel不会自动运行随机仿真,需要同步修改模型配置并重新生成。
一次改动怎样追到实现与验收
| 设计意图 | 配置 | 执行位置 | 输出证据 |
|---|---|---|---|
| 提高穿甲弹价值 | goods.ap.penetration | damagePacket → fight → fire扣弹 | 逐发Excel、combat.csv、ledger.csv |
| 提高材料供给 | economy.lootScale | world_spawn → loot_pickup → extracted | rounds.csv、market.csv、cashIn |
| 减少无法入场等待 | economy.workContract | entry_blocked → work_contract | 出击率、委托新增、代理净资产 |
| 控制研究材料门槛 | researchScrap / researchCost | blueprint_unlock条件 | 解锁率、研究材料退出、现金退出 |
生产事件契约
| 字段 | 类型 | 业务含义 | 当前实现与生产要求 |
|---|---|---|---|
| event_id | string | 全局唯一事件ID | 生产服务要求;原型使用递增seq |
| config_version | string | 对局使用的不可变配置版本 | 结果文件version,事件按本次运行归属 |
| match_id / round | integer | 房间与决策机会 | 每个房间有独立世界物资池 |
| player_id / counterparty | integer | 行为主体与对手方 | 交易和掉落须能追到两个归属 |
| op | enum | 事件原因 | 采购、开火、治疗、交易、研究、撤离等 |
| item / quantity | string / integer | 物品ID与增减量 | 不同物品不得按价格混账 |
| cash / tax | number | 现金增减与税 | 负数为退出或转出;真实服务使用最小整数货币单位 |
| settlement_key | string | round:match唯一键 | 原型检查重复;生产应在数据库事务内幂等 |
| before / after | snapshot | 前后资产版本 | 当前原型以完整事件和期末账本复核,生产需CAS/事务快照 |
在线服务应由服务器裁定库存、消耗和结算,客户端只请求动作。版本固定、幂等键和库存事务要同时生效。原型的单进程事件顺序不能替代这些工程保障。
0号账户的真实模拟事件
以下由基线日志按“机会×事件类型”聚合,保留扣费、耗弹、掉落、撤离和补给;不另写一段虚构故事解释结果。
| 机会 | 事件 | 次数 | 现金变化 | 物品净数 |
|---|---|---|---|---|
| 1 | NPC采购 | 1 | -1080.0 | 0 |
| 1 | 入场扣费 | 1 | -25.0 | 0 |
| 1 | 成功撤离 | 1 | 0.0 | 0 |
| 1 | NPC收购付款 | 1 | 0.0 | 0 |
| 2 | 入场扣费 | 1 | -25.0 | 0 |
| 2 | 开火耗弹 | 23 | 0.0 | -23 |
| 2 | 成功撤离 | 1 | 0.0 | 0 |
| 2 | NPC收购付款 | 2 | 1028.5 | 0 |
| 3 | NPC采购 | 2 | -1230.0 | 0 |
| 3 | 护甲维修 | 1 | -78.0 | 0 |
| 3 | 入场扣费 | 1 | -25.0 | 0 |
| 3 | 开火耗弹 | 26 | 0.0 | -26 |
| 3 | 成功撤离 | 1 | 0.0 | 0 |
| 3 | NPC收购付款 | 2 | 594.0 | 0 |
| 4 | 护甲维修 | 1 | -61.1 | 0 |
| 4 | 入场扣费 | 1 | -25.0 | 0 |
| 4 | 开火耗弹 | 19 | 0.0 | -19 |
| 4 | 成功撤离 | 1 | 0.0 | 0 |
| 4 | NPC收购付款 | 3 | 1881.0 | 0 |
| 5 | NPC采购 | 2 | -1730.0 | 0 |
| 5 | 入场扣费 | 1 | -25.0 | 0 |
| 5 | 开火耗弹 | 7 | 0.0 | -7 |
| 5 | 死亡掉落 | 4 | 0.0 | 97 |
| 5 | NPC收购付款 | 1 | 0.0 | 0 |
| 6 | 护甲维修 | 1 | -71.1 | 0 |
| 6 | NPC采购 | 1 | -166.0 | 0 |
| 6 | 入场扣费 | 1 | -25.0 | 0 |
| 6 | 开火耗弹 | 10 | 0.0 | -10 |
| 6 | 死亡掉落 | 4 | 0.0 | 94 |
| 6 | NPC收购付款 | 1 | 0.0 | 0 |
| 7 | NPC采购 | 2 | -480.0 | 0 |
| 7 | 入场扣费 | 1 | -25.0 | 0 |
| 7 | 开火耗弹 | 14 | 0.0 | -14 |
| 7 | 被队友救援 | 1 | 0.0 | 0 |
| 7 | 死亡掉落 | 7 | 0.0 | 95 |
| 7 | NPC收购付款 | 1 | 0.0 | 0 |
| 8 | NPC采购 | 2 | -480.0 | 0 |
| 8 | 入场扣费 | 1 | -25.0 | 0 |
| 8 | 开火耗弹 | 7 | 0.0 | -7 |
| 8 | 死亡掉落 | 4 | 0.0 | 97 |
| 8 | NPC收购付款 | 1 | 0.0 | 0 |
| 9 | NPC采购 | 3 | -960.0 | 0 |
| 9 | 入场扣费 | 1 | -25.0 | 0 |
| 9 | 开火耗弹 | 21 | 0.0 | -21 |
| 9 | 成功撤离 | 1 | 0.0 | 0 |
| 9 | NPC收购付款 | 4 | 709.5 | 0 |
| 10 | 护甲维修 | 1 | -46.4 | 0 |
| 10 | NPC采购 | 1 | -34.0 | 0 |
| 10 | 入场扣费 | 1 | -25.0 | 0 |
| 10 | 开火耗弹 | 60 | 0.0 | -60 |
| 10 | 死亡掉落 | 5 | 0.0 | 45 |
| 10 | NPC收购付款 | 1 | 0.0 | 0 |
| 11 | NPC采购 | 3 | -960.0 | 0 |
| 11 | 入场扣费 | 1 | -25.0 | 0 |
| 11 | 开火耗弹 | 62 | 0.0 | -62 |
| 11 | 成功撤离 | 1 | 0.0 | 0 |
| 11 | NPC收购付款 | 3 | 577.5 | 0 |
| 12 | 护甲维修 | 1 | -70.4 | 0 |
| 12 | 入场扣费 | 1 | -25.0 | 0 |
| 12 | 开火耗弹 | 60 | 0.0 | -60 |
| 12 | 成功撤离 | 1 | 0.0 | 0 |
| 12 | NPC收购付款 | 2 | 346.5 | 0 |
| 13 | 护甲维修 | 1 | -51.7 | 0 |
| 13 | NPC采购 | 1 | -42.0 | 0 |
| 13 | 入场扣费 | 1 | -25.0 | 0 |
| 13 | 开火耗弹 | 19 | 0.0 | -19 |
| 13 | 成功撤离 | 1 | 0.0 | 0 |
| 13 | NPC收购付款 | 2 | 47.6 | 0 |
| 14 | 护甲维修 | 1 | -132.0 | 0 |
| 14 | NPC采购 | 1 | -38.0 | 0 |
| 14 | 入场扣费 | 1 | -25.0 | 0 |
| 14 | 开火耗弹 | 20 | 0.0 | -20 |
| 14 | 成功撤离 | 1 | 0.0 | 0 |
| 14 | NPC收购付款 | 3 | 1694.0 | 0 |
| 15 | NPC采购 | 2 | -1094.0 | 0 |
| 15 | 护甲维修 | 1 | -111.5 | 0 |
| 15 | 入场扣费 | 1 | -25.0 | 0 |
| 15 | 开火耗弹 | 8 | 0.0 | -8 |
| 15 | 成功撤离 | 1 | 0.0 | 0 |
| 15 | NPC收购付款 | 3 | 1408.0 | 0 |
| 16 | NPC采购 | 1 | -1080.0 | 0 |
| 16 | 入场扣费 | 1 | -25.0 | 0 |
| 16 | 开火耗弹 | 8 | 0.0 | -8 |
| 16 | 死亡掉落 | 5 | 0.0 | 97 |
| 16 | NPC收购付款 | 1 | 0.0 | 0 |
| 17 | 护甲维修 | 1 | -78.0 | 0 |
| 17 | NPC采购 | 1 | -188.0 | 0 |
| 17 | 入场扣费 | 1 | -25.0 | 0 |
| 17 | 开火耗弹 | 7 | 0.0 | -7 |
| 17 | 成功撤离 | 1 | 0.0 | 0 |
| 17 | NPC收购付款 | 2 | 340.1 | 0 |
| 18 | 护甲维修 | 1 | -78.0 | 0 |
| 18 | 入场扣费 | 1 | -25.0 | 0 |
| 18 | 开火耗弹 | 22 | 0.0 | -22 |
| 18 | 死亡掉落 | 5 | 0.0 | 83 |
| 18 | NPC收购付款 | 1 | 0.0 | 0 |
| 19 | NPC采购 | 1 | -280.0 | 0 |
| 19 | 入场扣费 | 1 | -25.0 | 0 |
| 19 | 成功撤离 | 1 | 0.0 | 0 |
| 19 | NPC收购付款 | 1 | 0.0 | 0 |
此处为前100条聚合记录。完整账户轨迹见 trace.csv,全部账户见源码ZIP中的output/ledger.csv。数量跨物品相加仅用于提示事件规模,正式守恒按物品ID核对。
规则变体如何复用框架
| 变体 | 保留 | 必须重做 |
|---|---|---|
| 双主武器搜打撤 | 命中与弹甲、物资守恒、资产结算 | 副枪选装与切枪策略、重量、容量及掉落价值 |
| 纯合作PvE | 装备构筑、制造、成长与任务 | 对手供给、战利品归属与失败回收;不能直接删除PvP后沿用同样掉落 |
| 回合爆破 | 武器参数、命中结算与角色接口 | 胜负目标、回合收入、局内购买、连败规则;不沿用持久资产循环 |
这些是接口适配方案,尚未运行对应变体。复用框架的价值是知道哪些规则可以保留,哪些必须按玩法重建。