PROJECT 03DESIGN NOTES
魔塔战记 · Unity 版
一款让全队共享世界事实、同时保留个人 Build 的 LAN 合作魔塔 RPG。
- 平台
- Windows PC · Unity 2D · LAN Co-op
- 时间
- 2026.03 - Now
- 状态
- 内部 Beta
- 类型
- 合作程序化魔塔 RPG
- 职责
- 独立设计、联机规则与 Unity 实现
- 玩家做什么
- 选择四个职业之一,探索共享 seed 的魔塔楼层,揭开迷雾、收集团队钥匙、击败敌人与 Boss、构筑个人英雄,并在楼梯集结。
- 合作如何运作
- 一名 Host 推进共享楼层;Party HUD、战术 Ping、倒地救援与符合资格队员集结,避免一个人打开面板、倒地或提前到达楼梯就阻塞整局。
- 团队共享与个人所有
- 迷雾、团队钥匙、Ping、门、Boss 与楼层进度属于全队;金币、装备、消耗品、符文、天赋与 NPC 决策保持 owner-only。
- 当前边界
- 受机械守护的单机路径覆盖四个职业、九个战斗楼层加圣域,以及 25 级噩梦;战斗权威与真实进程 Host + Client 门禁尚未关闭,因此联机仍限内部。
项目概览
四个职业以 1–4 人目标队伍进入同一座共享 seed 魔塔。迷雾、钥匙、战术 Ping、Boss 与楼层切换属于全队,装备、金币、符文、天赋与 NPC 决策保持 owner-only;Host 提交公共结果,大厅、Party HUD、救援规则与符合资格队员集结则把边界呈现在游玩中。Server-Authoritative 战斗与真实进程 Host + Client 门禁关闭前,联机仍保持内部 Beta。
- 迷雾、钥匙、Ping、Boss 与楼梯全队共享;装备、经济、符文与天赋归个人
- 四种职业、倒地救援、本地面板与符合资格队员集结构成合作节奏
- 经济与切层由 Host 守护,战斗权威未关闭前保持内部发布边界
游戏功能与合作系统
Unity 版把四个英雄职业、共享 seed 的魔塔楼层、个人 Build 与 Host 主导的 LAN 会话放进同一套循环。当前构建已经呈现联机产品形态,但多人仍属于内部 Beta。
系统边界全队共享同一条路线及其推进条件;每位玩家保留塑造英雄的资源和选择;Host 负责提交公共结果。目前战斗权威尚未闭合。
目标合作循环的四个环节
循环在共享世界行动、个人 Build 决策与明确的团队承诺之间切换。
- 团队主动承诺
- 共享世界
- 个人 Build
-
01
组队
建立关闭的队伍
LAN 发现、职业、颜色与准备状态在 Host 发车前定义会话。
-
02
进入
Host 准备同一楼层
共享 seed 建立迷雾、门、危险、钥匙、Boss 与所有 Client 观察的路线。
-
03
协作
共享路线,保留 Build
全队协调 Ping、救援与推进,装备、经济、符文和天赋仍归个人。
-
04
切层
集结并只切换一次
所有符合条件的英雄在楼梯承诺,Host 准备、发布、传送,并按切层规则复活倒地英雄。
下一层 ↺ 一个公共世界继续推进,每位玩家的个人 Build 保持身份。
全队如何切层,又不把世界分裂
三名英雄符合推进条件,第四人已经倒地,因此不阻塞楼梯;从第一人占位到新层部署,占位、倒计时与结果提交都由 Server 持有。
- 需要参与
- 3 人存活 · 1 人倒地
- 共享条件
- Boss 已击败 · 楼梯已解锁
- 目标状态
- 当前层+1 · Host 持有 seed
-
01
统计
第一名英雄做出承诺
Server 记录权威占位,并计算哪些存活且符合资格的英雄必须参与。
-
02
等待
所有人看到同一个等待事实
Waiting 与可取消的三秒倒计时投影到每个 Client;离开楼梯会撤销承诺。
-
03
租约
全部符合条件的英雄到齐
Server 只获取一次单飞切层租约,重复调用不能再次结算或推进。
-
04
提交
先准备,再修改旧世界
新楼层先构造完成;随后 Host 才发布状态、清理旧层、传送英雄,并按切层规则复活倒地英雄。
同一份切层合同:权威占位 → 全部符合条件英雄 → 可取消倒计时 → 单飞租约 → 先准备后修改 → 唯一楼层状态提交。
主要合作系统
这些系统分别定义目标合作体验所需的所有权、权威与持续运行的团队流程。
01 团队共享 · 私有构筑 合作共享路线力量,不共享一个公共背包 迷雾、钥匙、Ping、门、Boss 与楼梯属于全队;Build 身份与购买力保持 owner-only。 部分完成 · 版本化快照
- 问题
- 全部共享会把四个英雄压缩成一张公共表格;全部私有又会让路线与每扇锁门变成四场并行单机。
- 选择
- Server 持有共享迷雾与团队钥匙;金币、材料、装备、消耗品、符文、天赋和 NPC 决策使用 owner-only 版本快照,转移必须通过明确事务。
- 代价
- 私有掉落可能增加总资源并减少可见合作,主动分享则会增加摩擦。首要改进应是信息与交换,而不是直接合并所有背包。
- 证据
- 快照与事务合同会拒绝旧版本、错误归属、公共 Pickup 缺失与通用修改 Command;owner 隐私、丢包和重连对账仍需真实双进程证据。
02 Host 权威 · 操作事务 Client 请求动作,而不是上报结果 具体 Server 用例、operation ID、ledger 与版本检查保护可重试的经济和切层路径。 部分完成 · 经济已守护
- 问题
- 允许 Client 提交价格、奖励、伤害、控制或最终状态,等于建立第二权威;合法重试也可能复制货币、物品或进度。
- 选择
- Server 将请求绑定到 actor、session、具体用例、payload 与 operation ID,读取权威配置和随机,把扣款与结果一次提交并记录。
- 代价
- 具体用例和 ledger 会增加入口、测试与保留成本。威胁模型仍信任 Host,未守护战斗 Command 继续关闭发布边界。
- 证据
- 同一请求重放返回原结果,同 ID 不同 payload 发生冲突;已守护路径覆盖余额不足、陈旧目标、容量、回滚与重复,但不证明修改 Client 的战斗安全。
03 救援 · 本地面板 · 集结 一个人的中断不能暂停或困住整支队伍 倒地救援、本地输入租约、Party HUD 与符合资格队员集结把失败和等待变成可见团队规则。 合同已实现 · 手感待验证
- 问题
- 永久死亡会制造旁观时间,全局暂停会让一个面板冻结所有人,第一人触发切层又会把队友拖出战斗或留下无效世界。
- 选择
- 倒地英雄留下可见灵魂标记并停止占格;联机面板只租用本地输入;所有符合条件英雄必须在楼梯承诺,Host 才能切层。
- 代价
- 瞬发救援可能削弱死亡,阅读面板仍有风险,符合资格者集结也会放大堵路;AFK 排除规则本身还可能被利用。这些是合作节奏问题,不只是网络细节。
- 证据
- 合同覆盖嵌套输入租约、反向释放、切层幂等与 1~10 层冒烟;真实延迟、同时救援、面板风险与多 Client 集结仍是 PlayMode 和真人门禁。
系统设计说明
Unity 版的定义不只是增加网络连接,而是决定哪些事实共享、哪些动作能够阻塞,以及哪些操作必须可安全重试。
哪些资源应该由团队共享?
路线信息与推进条件——迷雾、钥匙、Ping、门、Boss 和楼梯——归全队共有;构筑身份与购买力留在个人侧,装备、药瓶或金币只通过显式分享事务在玩家之间流动。
团队可以规划同一条路线,又不会把四个角色压缩成一个公共背包。
在持续运行的世界里,打开面板意味着什么?
联机面板只停止所属玩家的输入。楼梯推进要求所有存活且符合资格的玩家到场,任何人离开都会取消倒计时;倒地玩家停止占格,同时保留全队可见的救援点。
面板、倒地与切层都成为明确的团队规则,而不是隐藏的全局暂停。
跨网络边界的重试应该如何处理?
版本化 owner 快照拒绝旧状态;具体操作携带 ID,同一请求重放返回原结果,同 ID 不同 payload 则发生冲突;楼层切换使用单飞守卫避免重复结算。
已守护的经济与切层路径即使失败或重试,也不会静默复制奖励或覆盖较新状态。
为什么多人仍是内部 Beta?
合同测试与受守护的单机冒烟能够证明状态流转,不能证明修改 Client 的安全性或合作手感。若干战斗结果仍然信任 Client;重放、陈旧状态、丢响应、掉线与楼层不一致的真实 Host + Client 测试也尚未完成。
战斗权威与真实进程门禁关闭前,多人继续保持内部。
内部 Beta 范围
当前构建已经呈现产品形态,并覆盖受机械守护的单机主循环;战斗权威与真实进程 Host + Client 门禁关闭前,多人继续保持内部。
- 1–4
- 人目标队伍设计目标 · 尚未强制上限
- 4
- 个英雄职业剑客 · 学徒 · 刺客 · 圣骑
- 9+1
- 楼层结构单机路径 · 九个战斗楼层+圣域
- 25
- 级噩梦难度单机路径 · 持续难度轨道
- 联机外壳
- Mirror Host-Client · KCP · LAN 发现 · 大厅职业与准备
- 合作规则
- 共享迷雾与钥匙 · Party HUD · 战术 Ping · 灵魂标记救援 · 符合资格队员集结
- 发布边界
- 内部 Beta · 战斗权威与真实进程门禁未关 · 暂无 Steam P2P 与对外分发
- 仍待验证
- 修改 Client 安全性 · 重连对账 · 真实延迟 · 救援压力 · 面板风险 · 多 Client 集结手感


技术与工具
这是我的个人项目。我负责核心循环、合作规则、职业与战斗系统、程序化楼层、构筑系统、网络边界、Unity 实现、发布验证与文档维护。AI 编程工具用于辅助实现、测试和审计,产品范围以及最终设计与发布取舍由我确定。