GDD-34 好友与组队系统设计
文档类型:游戏设计文档(Game Design Document)
版本:1.3(术语澄清:无独立经验系统,"经验加成"改为"修炼加成")
日期:2026-07-06
关联文档:GDD-03(战斗系统)、GDD-06(经济系统)、GDD-08(大陆地图与区域开放)、GDD-16(社交系统与玩法扩展)、GDD-22(开放世界随机事件)、GDD-23(能量体系)、GDD-29(聊天与信息传递系统)、GDD-33(世界Boss与大型PVE协作机制)
本文档定位:在 GDD-16 社交关系链(师徒/道侣/结义)和 GDD-29 聊天系统的基础上,系统性地设计好友关系管理与组队协作的完整机制框架。好友系统提供轻量级社交关系载体,组队系统提供多人协作的基础设施。两者共同服务于「玩家互动优先」(✅97) 的设计哲学,与无任务系统、概率/机遇驱动的核心约束一致。
已确认决策记录(GDD-34 本地,跨文档引用写 GDD-34 ✅F0X)
| # |
决策 |
| ✅F01 |
好友关系单向确认制:A 添加 B 为好友,B 同意后双方互为好友;删除好友单向操作,对方无感(对齐 GDD-29 ✅C06 屏蔽双轨理念) |
| ✅F02 |
好友度五档体系:萍水相逢(0-99) / 相识(100-299) / 同道(300-599) / 莫逆(600-999) / 生死之交(1000+),影响组队BUFF、传送权限、好友数量上限 |
| ✅F03 |
好友组队BUFF叠加:好友度越高组队战斗增益越强,同队内多名好友叠加有递减(第二人 70%、第三人 50%、第四人 35%),防止纯好友队碾压 |
| ✅F04 |
组队人数上限 5 人:与 GDD-29 队伍频道上限一致、与 GDD-33 组队副本建议人数对齐 |
| ✅F05 |
跨层级组队受降维护佑约束:高境界带低境界组队时,高境界玩家触发降维护佑(GDD-08 ✅Q06),伤害大幅压制但获得声望/好友度额外加成作为"带新"补偿 |
| ✅F06 |
队伍掉落三模式:贡献分配(默认)/ 随机掷骰 / 队长分配,由队长在组队时选择,进入战斗后不可更改 |
| ✅F07 |
好友传送消耗道具:传送消耗「同行符」道具,同层 1 张、跨 1 层 3 张、跨 2 层 5 张(对齐 GDD-29 ✅C12 传音符消耗梯度);好友度 ≥ 莫逆可减免 50% |
| ✅F08 |
好友上限按境界扩展:炼气 30 人 / 筑基 50 人 / 金丹 80 人 / 元婴 120 人 / 化神 150 人 / 合体 200 人 / 大乘 250 人 / 渡劫 300 人 / 飞升 500 人 |
| ✅F09 |
组队匹配按目标分类:副本 / 世界Boss / 游历 / 委托 / 自由五类目标,匹配时综合境界、职业、好友度优先推荐好友 |
第一章 好友系统
1.1 好友关系总览
好友是洪荒大陆最轻量级的社交关系,介于「陌生人」与「同道/道侣/结义」之间。好友关系提供在线感知、快速组队、好友传送、组队加成等基础社交功能,不涉及深度绑定或共享资源。
| 维度 |
规则 |
| 关系类型 |
轻量级双向关系(确认制) |
| 好友上限 |
按境界递增(✅F08) |
| 好友度 |
共同行为累积,影响组队BUFF与传送权限 |
| 在线状态 |
实时推送好友上下线通知 |
| 与深层关系 |
好友是师徒/道侣/结义的前置条件(GDD-16 §1.1) |
1.2 好友添加与删除
1.2.1 添加好友
| 维度 |
规则 |
| 添加方式 |
① 面对面点击对方角色 → 「加为好友」;② 聊天消息中点击「加为好友」按钮(GDD-29 ✅C09);③ 好友推荐列表一键添加;④ 输入角色名精确搜索添加 |
| 确认机制 |
单向申请 → 对方收到通知 → 同意/拒绝;同意后双方互为好友 |
| 申请上限 |
每日最多发送 20 个好友申请(防刷,对齐 GDD-29 §9.3) |
| 待处理上限 |
未处理的好友申请最多保留 50 个,超出自动覆盖最旧申请 |
| 冷却 |
被拒绝后同一目标 24 小时内不可重复申请;被删除后 7 天内不可重复添加同一人 |
| 屏蔽冲突 |
若任一方已屏蔽对方,不可发起好友申请(对齐 GDD-29 ✅C06) |
1.2.2 删除好友
| 维度 |
规则 |
| 操作方式 |
好友列表中长按/右键 → 「删除好友」 |
| 确认 |
二次确认弹窗 |
| 对方感知 |
无感(对方好友列表中仍显示你,直到对方刷新或发现互动失败) |
| 好友度处理 |
删除后好友度归零;重新添加后好友度从零开始累积 |
| 深层关系 |
若存在师徒/道侣/结义关系,需先解除深层关系才可删除好友 |
1.2.3 好友黑名单联动
| 维度 |
规则 |
| 拉黑效果 |
与 GDD-29 §6.1 个人屏蔽一致:对方所有频道消息不可见、私聊不接收、不可查看位置分享 |
| 好友关系 |
拉黑后自动解除好友关系,好友度归零 |
| 解除拉黑 |
解除后不自动恢复好友关系,需重新添加 |
1.3 好友度系统
好友度是衡量两名玩家社交深度的量化指标,通过共同行为自然累积,体现「机遇/概率驱动」的设计哲学——没有任务式刷好友度的路径,只有自然互动中概率性增长。
1.3.1 好友度档位
| 档位 |
好友度区间 |
称号 |
解锁能力 |
| 萍水相逢 |
0 - 99 |
无 |
基础好友功能(在线查看、私聊) |
| 相识 |
100 - 299 |
初识 |
组队基础BUFF(+2%攻击/防御);好友位置查看(同层) |
| 同道 |
300 - 599 |
同道 |
组队进阶BUFF(+5%攻击/防御);好友传送解锁(同层);双修前置(GDD-16 §1.3) |
| 莫逆 |
600 - 999 |
莫逆之交 |
组队高级BUFF(+8%攻击/防御 + 3%掉落率);好友传送(跨层,消耗减免 50%);道侣/结义前置(GDD-16 §1.4) |
| 生死之交 |
1000+ |
生死之交 |
组队顶级BUFF(+12%攻击/防御 + 5%掉落率 + 2%暴击);传送消耗减免 50%;好友被击杀时收到复仇通知 |
1.3.2 好友度获取规则
好友度的获取遵循「自然互动、概率触发」原则,不可通过重复机械操作刷取。
| 行为 |
好友度增长 |
每日上限 |
说明 |
| 组队战斗胜利 |
+3 ~ +8(按战斗难度) |
+30 |
副本/世界Boss/区域Boss/游历战斗均计入 |
| 组队完成副本 |
+5 ~ +15(按副本难度) |
+40 |
难度越高增长越多 |
| 组队完成委托 |
+2 ~ +5 |
+20 |
佣兵委托/日常委托均计入 |
| 赠送礼物 |
+1 ~ +3(按礼物品质) |
+10 |
消耗道具「心意笺」或稀有材料,对方需在线接收 |
| 好友传送到达 |
+1 |
+5 |
传送到好友位置时双方各增 |
| 共同参与世界事件 |
+5 ~ +10 |
+30 |
世界Boss/妖潮/混沌裂隙等(GDD-33) |
| 护法/助战 |
+3 ~ +8 |
+20 |
好友渡劫时护法(GDD-16 §1.4)、好友被追杀时助战 |
| 道侣/结义前置 |
自动 |
— |
好友度达到「同道」是双修/道侣/结义的前置条件(GDD-16 §1.1) |
防滥用机制:
- 同一好友每日通过组队战斗获取的好友度有上限(+30),防止反复刷低难度战斗
- 赠送礼物需消耗道具,道具本身有获取成本
- 好友度增长存在边际递减:当日累计超过 50 点后,后续获取效率减半
- 系统检测异常模式(如短时间内反复添加/删除同一好友)自动冻结好友度增长
1.3.3 好友度衰减
| 维度 |
规则 |
| 衰减触发 |
连续 14 现实天无任何好友互动(组队/私聊/传送/赠送) |
| 衰减速率 |
每 7 现实天衰减当前好友度的 5%(最低降至 0) |
| 衰减保护 |
「生死之交」档位不衰减(已达最高档,象征永久羁绊) |
| 恢复 |
重新互动后好友度不再衰减,但已损失的不自动恢复 |
1.4 在线状态与好友信息
1.4.1 在线状态
| 状态 |
显示 |
推送通知 |
| 在线 |
绿色标识 |
— |
| 战斗中 |
红色标识 + 剑图标 |
— |
| 修炼中 |
蓝色标识 + 打坐图标 |
— |
| 挂机中 |
黄色标识 + 时钟图标 |
— |
| 离线 |
灰色标识 + 最后在线时间 |
上线时推送「你的好友 [名字] 已上线」 |
通知规则:
- 好友上线通知仅推送一次,不重复打扰
- 玩家可设置「免打扰模式」,关闭好友上线通知
- 好友度 ≥ 莫逆的好友上线时,通知带特殊标识(金边)
1.4.2 好友信息面板
点击好友列表中的好友,可查看以下信息:
| 信息 |
可见条件 |
| 角色名、种族、境界 |
始终可见 |
| 当前位置(区域名) |
好友度 ≥ 相识 |
| 当前坐标(地图标记) |
好友度 ≥ 同道 + 同层 |
| 当前状态(在线/战斗/修炼/挂机) |
始终可见 |
| 好友度数值与档位 |
始终可见 |
| 所属帮派/门派/家族 |
始终可见 |
| 装备评分(概要) |
好友度 ≥ 相识 |
| 最近成就/称号 |
好友度 ≥ 同道 |
1.5 好友传送
好友传送允许玩家消耗道具瞬间移动到好友所在位置,是社交互动的重要便利功能。
1.5.1 传送规则
| 维度 |
规则 |
| 解锁条件 |
好友度 ≥ 同道(300+) |
| 消耗道具 |
「同行符」(生活技能制作 / 商城购买 / 世界事件掉落 / 坊市交易) |
| 消耗数量 |
同层 1 张 / 跨 1 层 3 张 / 跨 2 层 5 张 / 跨 3 层 8 张(对齐 GDD-29 ✅C12 传音符梯度) |
| 莫逆减免 |
好友度 ≥ 莫逆时消耗减半(向下取整,最少 1 张) |
| 目标要求 |
目标好友必须在线且处于非战斗状态 |
| 区域限制 |
不可传送到禁区/副本内部/渡劫区域 |
| 冷却 |
每次传送后 30 游戏分钟冷却(约 10 现实分钟) |
| 同层限制 |
层级 1(凡界)玩家不可使用跨层传送 |
1.5.2 传送与道侣传送的区别
| 维度 |
好友传送 |
道侣传送(GDD-16 §1.4.1) |
| 前置关系 |
好友度 ≥ 同道 |
道侣关系 |
| 消耗 |
同行符(道具) |
少量内力或传送道具 |
| 冷却 |
30 游戏分钟 |
30~60 游戏分钟 |
| 跨层 |
可(消耗递增) |
可(消耗更低) |
| 特殊效果 |
无 |
到达后双方获短暂增益(道侣羁绊) |
1.6 好友推荐
| 维度 |
规则 |
| 推荐来源 |
① 同种族同层级活跃玩家;② 组队战斗过的非好友玩家;③ 帮派/门派/家族中的非好友成员;④ 师徒/道侣/结义关系链中的二度人脉 |
| 推荐数量 |
每日推荐 10 名玩家 |
| 推荐排序 |
优先推荐:同种族 > 同帮派 > 同区域 > 最近组队过的玩家 |
| 一键添加 |
推荐列表中可一键发送好友申请 |
| 刷新 |
每日 08:00 刷新推荐列表(现实时间,对齐项目每日刷新锚点) |
第二章 组队系统
2.1 组队总览
组队是洪荒大陆多人协作的核心基础设施,服务于副本挑战、世界Boss讨伐、委托完成、游历探索等场景。组队系统与 GDD-03 战斗系统、GDD-33 世界Boss机制、GDD-16 社交关系深度联动。
| 维度 |
规则 |
| 队伍人数 |
2 - 5 人(✅F04) |
| 组队方式 |
邀请组队 / 匹配组队 / 聊天组队 |
| 队伍频道 |
组队后自动创建队伍频道(GDD-29 §1.2.1) |
| 队伍存续 |
队长解散 / 全员离线超过 30 游戏分钟自动解散 |
| 跨层组队 |
允许,但受降维护佑约束(✅F05) |
2.2 组队创建与管理
2.2.1 创建队伍
| 维度 |
规则 |
| 创建方式 |
① 点击其他玩家 → 「邀请组队」;② 聊天消息中点击「邀请组队」按钮(GDD-29 ✅C09);③ 组队匹配面板中创建队伍并设置目标 |
| 创建者 |
自动成为队长 |
| 队伍目标 |
创建时可设置:副本 / 世界Boss / 游历 / 委托 / 自由(✅F09) |
| 队伍公告 |
队长可设置队伍公告(50 字以内),在匹配列表中展示 |
2.2.2 加入队伍
| 维度 |
规则 |
| 邀请加入 |
队长或队员邀请 → 目标收到弹窗通知 → 同意/拒绝 |
| 申请加入 |
匹配列表中选择队伍 → 申请 → 队长审批 |
| 自动匹配 |
设置目标后进入匹配队列,系统自动分配队伍(见 §2.4) |
| 邀请冷却 |
同一目标每 5 游戏分钟只能邀请 1 次(对齐 GDD-29 §9.3) |
| 战斗中限制 |
战斗中的玩家不可加入/退出队伍 |
| 境界限制 |
队伍成员境界差距超过 3 大境界时,系统提示「境界差距过大,高境界成员将受降维护佑约束」 |
2.2.3 队伍管理
| 操作 |
权限 |
说明 |
| 踢出队员 |
队长 |
被踢出者收到通知,3 游戏分钟内不可加入同一队伍 |
| 转让队长 |
队长 |
队长可将队长身份转让给任意队员 |
| 退出队伍 |
任意队员 |
退出后若为队长,队长自动转移给最早加入的队员;最后一名队员退出则队伍解散 |
| 设置掉落模式 |
队长 |
组队时选择,进入战斗后不可更改(✅F06) |
| 设置队伍目标 |
队长 |
可随时修改,影响匹配列表展示 |
| 队伍招募 |
队长 |
在区域频道/世界频道发布队伍招募信息,带「申请加入」按钮 |
2.3 队伍BUFF系统
组队本身提供战斗增益,好友度进一步增强增益效果,鼓励社交互动。
2.3.1 基础组队BUFF
| 队伍人数 |
攻击加成 |
防御加成 |
修炼加成 |
掉落率加成 |
| 2 人 |
+3% |
+3% |
+5% |
+2% |
| 3 人 |
+5% |
+5% |
+8% |
+3% |
| 4 人 |
+7% |
+7% |
+10% |
+4% |
| 5 人 |
+10% |
+10% |
+12% |
+5% |
基础组队BUFF仅与队伍人数相关,与成员境界/种族无关。
2.3.2 好友度加成(✅F03)
| 队伍中好友关系 |
攻击加成 |
防御加成 |
掉落率加成 |
备注 |
| 1 名相识好友 |
+2% |
+2% |
+1% |
基础好友加成 |
| 1 名同道好友 |
+5% |
+5% |
+2% |
— |
| 1 名莫逆好友 |
+8% |
+8% |
+3% |
— |
| 1 名生死之交好友 |
+12% |
+12% |
+5% |
含 2% 暴击加成 |
| 第 2 名好友(叠加) |
基础值 × 70% |
基础值 × 70% |
基础值 × 70% |
边际递减 |
| 第 3 名好友(叠加) |
基础值 × 50% |
基础值 × 50% |
基础值 × 50% |
边际递减 |
| 第 4 名好友(叠加) |
基础值 × 35% |
基础值 × 35% |
基础值 × 35% |
边际递减 |
叠加规则:
- 好友度加成按好友度档位取值,与基础组队BUFF加法叠加
- 多名好友的加成按递减系数叠加,防止纯好友队碾压
- 道侣/结义成员在队伍中时,额外触发关系专属加成(见 §3.3)
示例计算:
场景:5 人队伍,其中 3 名好友(莫逆/同道/相识)
基础组队BUFF = +10% 攻击 / +10% 防御 / +5% 掉落
好友加成 = 莫逆(+8%) + 同道(+5%)×70% + 相识(+2%)×50% = +8% + 3.5% + 1% = +12.5% 攻击
总计:+22.5% 攻击 / +22.5% 防御 / +8.5% 掉落(取整后)
2.3.3 义团/道侣队伍专属加成
当队伍中存在 GDD-16 定义的深层关系时,触发额外专属加成:
| 关系 |
加成条件 |
效果 |
| 道侣同队 |
2 名道侣在同一队伍 |
双方共享合体技冷却缩减 20%;双方受到致命伤害时有 10% 概率触发道侣护盾(吸收 30% 最大生命伤害) |
| 义团同队 |
≥ 2 名义团成员在同一队伍 |
全员获得 GDD-16 §1.4.2 定义的义团增益(5%~10% 非速度类战斗增益) |
| 师徒同队 |
师父与徒弟在同一队伍 |
徒弟经验获取 +15%;师父获得「尊师值」微量增长 |
| 道侣 + 义团同队 |
同时存在道侣和义团关系 |
两种加成独立生效,不互相覆盖 |
2.4 队伍匹配机制
2.4.1 匹配分类(✅F09)
| 匹配目标 |
匹配逻辑 |
优先级 |
| 副本 |
按副本推荐境界 + 职业搭配匹配 |
坦克/输出/辅助各至少 1 人(如适用) |
| 世界Boss |
按Boss推荐境界匹配 |
优先匹配同层玩家 |
| 游历 |
按当前区域 + 境界匹配 |
优先匹配同种族玩家 |
| 委托 |
按委托难度 + 境界匹配 |
优先匹配同帮派/门派玩家 |
| 自由 |
仅按境界范围匹配 |
无特殊优先级 |
2.4.2 匹配算法
匹配评分 = 境界匹配分 × 0.4
+ 职业互补分 × 0.2
+ 好友优先分 × 0.2
+ 等待时间分 × 0.2
境界匹配分:
- 相同大境界:100 分
- 差距 1 大境界:80 分
- 差距 2 大境界:50 分
- 差距 3 大境界:20 分(触发降维护佑提示)
职业互补分:
- 队伍缺少坦克/辅助时,对应职业玩家 +100 分
- 队伍职业齐全时,所有玩家 +50 分
好友优先分:
- 已有好友在队伍中:+80 分
- 已有同帮派成员:+40 分
- 已有同门派成员:+30 分
- 已有同种族成员:+20 分
等待时间分:
- 每等待 10 秒 +10 分(最高 100 分)
2.4.3 匹配规则
| 维度 |
规则 |
| 匹配范围 |
同世界层级内匹配;世界Boss匹配可跨层(但受降维护佑约束) |
| 匹配超时 |
120 秒未匹配成功,放宽境界限制(±1 大境界);240 秒仍未匹配,放宽至 ±2 大境界 |
| 匹配取消 |
匹配中可随时取消,无惩罚 |
| 拒绝惩罚 |
匹配成功后拒绝加入,30 秒冷却后可重新匹配 |
| AFK 惩罚 |
匹配成功加入队伍后 5 分钟内无操作,队长可踢出且该玩家 5 分钟内不可重新匹配 |
2.5 队伍掉落分配规则(✅F06)
2.5.1 三种分配模式
| 模式 |
说明 |
适用场景 |
| 贡献分配 |
按战斗贡献度比例分配掉落 |
默认模式;世界Boss、高难副本 |
| 随机掷骰 |
每件掉落全员掷骰(1-100),点数最高者获得 |
休闲组队、低价值掉落 |
| 队长分配 |
队长手动分配掉落给指定队员 |
固定团队、帮派副本、有明确分配规则的队伍 |
2.5.2 贡献分配算法
个人贡献度 = 伤害贡献 × 0.6 + 承受伤害 × 0.2 + 治疗量 × 0.15 + 辅助贡献 × 0.05
辅助贡献 = 控制技能命中次数 × 权重 + 增益技能施放次数 × 权重
掉落分配:
每件掉落物品按贡献度比例分配概率
贡献度最高的玩家获得最高概率,但不保证必得
最低贡献门槛:个人贡献度 ≥ 队伍总贡献度 × 5%(防止挂机蹭奖)
2.5.3 掷骰规则
| 维度 |
规则 |
| 骰子范围 |
1 - 100 |
| 掷骰时间 |
掉落后 30 秒内掷骰,超时自动弃权 |
| 需求/贪婪 |
掉落物品分为「需求」和「贪婪」两轮:需求轮仅对该物品有需求的队员开放;无人需求则进入贪婪轮全员掷骰 |
| 队长裁定 |
若出现相同点数,队长裁定归属 |
| 绑定规则 |
掷骰获得的物品按原绑定规则处理(绑定物品不可交易) |
2.5.4 队长分配规则
| 维度 |
规则 |
| 分配权 |
仅队长可操作,30 秒内完成分配 |
| 超时处理 |
30 秒未分配的物品自动进入随机掷骰 |
| 公示 |
队长分配结果在队伍频道公示 |
| 防滥用 |
队伍成员可对队长发起「分配不公」投票,超过 50% 成员同意则队长被罢免,分配权转移 |
第三章 跨层级组队规则
3.1 降维护佑约束(✅F05)
跨层级组队时,高境界玩家受 GDD-08 ✅Q06 降维护佑约束,防止高境界碾压低层内容。
3.1.1 伤害压制
对齐 GDD-33 §4.1 降维护佑公式:
有效伤害 = 原始伤害 × 降维系数
降维系数 = max(0.1, 1.0 - (玩家层级 - 队伍目标层级) × 0.25)
示例(高境界玩家带低境界队友刷低层副本):
- 层3玩家参与层2副本:系数 = 0.75(伤害降低 25%)
- 层4玩家参与层2副本:系数 = 0.50(伤害降低 50%)
- 层5玩家参与层1副本:系数 = 0.10(伤害降低 90%)
3.1.2 高境界带新补偿
高境界玩家在低层组队虽受伤害压制,但获得「带新」补偿:
| 补偿类型 |
条件 |
效果 |
| 好友度加成 |
队伍中有境界差距 ≥ 2 大境界的队友 |
好友度获取 +50%(鼓励高境界带新人) |
| 声望加成 |
同上 |
声望获取 +20%(GDD-16 ✅S05) |
| 尊师值 |
师徒关系同队 |
师父额外获得尊师值(GDD-16 §1.2) |
| 义气值 |
义团关系同队 |
义团成员额外获得义气值 |
3.1.3 低境界队友保护
| 保护机制 |
说明 |
| 伤害保底 |
低境界队友每次行动至少造成目标最大血量 × 0.001% 的伤害(对齐 GDD-33 §4.2) |
| 生存保底 |
低境界队友受到高境界区域怪物的伤害有额外减伤:减伤率 = min(50%, (怪物层级 - 玩家层级) × 15%) |
| 奖励保底 |
低境界队友获得不低于基准值 10% 的贡献度(对齐 GDD-33 ✅WB06) |
3.2 跨层级组队场景
| 场景 |
组队规则 |
降维护佑 |
| 低层副本 |
高境界队友参与低层副本时触发降维护佑 |
伤害压制 + 属性封印 |
| 高层副本 |
低境界队友参与高层副本时获生存保底 |
伤害保底 + 减伤保护 |
| 世界Boss |
按 GDD-33 §4 跨境界规则处理 |
降维护佑 + 境界分层奖励 |
| 游历探索 |
高境界队友可护送低境界队友穿越危险区域 |
伤害压制但可吸引仇恨 |
| 委托协作 |
按委托难度匹配,跨层委托需境界差 ≤ 2 大境界 |
视委托类型而定 |
3.3 跨层级队伍BUFF调整
| 维度 |
规则 |
| BUFF 等级 |
队伍BUFF按队伍中最低境界成员的境界等级计算基准值 |
| 好友度加成 |
好友度加成按实际好友度计算,不受境界差距影响 |
| 修炼加成分配 |
低境界队友获得的修炼加成(能量积累速度)按自身境界修正(不因高境界队友而降低) |
| 掉落分配 |
掉落品阶按各成员自身境界独立计算(对齐 GDD-33 §4.3 境界分层奖励) |
第四章 与其他系统的联动
4.1 与聊天系统的联动(GDD-29)
| 联动点 |
说明 |
| 队伍频道 |
组队后自动创建队伍频道(GDD-29 §1.2.1),队伍解散后清除 |
| 聊天发起组队 |
聊天消息中可直接点击「邀请组队」按钮(GDD-29 ✅C09) |
| 聊天发起好友申请 |
聊天消息中可直接点击「加为好友」按钮(GDD-29 ✅C09) |
| 队伍招募广播 |
队长可在区域频道/世界频道发布队伍招募信息,带「申请加入」按钮 |
| 好友私聊 |
好友间可使用私聊频道通信,不受区域限制(GDD-29 §1.2.8) |
| 跨层通信 |
好友跨层通信需消耗传音符(GDD-29 §1.2.9),好友度 ≥ 莫逆时消耗减半 |
| 好友上下线通知 |
通过 Nakama 实时推送,复用聊天系统的 WebSocket 连接(GDD-29 §10.7) |
| 位置分享 |
好友间可在聊天中分享位置,好友度 ≥ 同道时自动标记在小地图(GDD-29 §3.3.6) |
4.2 与世界Boss的联动(GDD-33)
| 联动点 |
说明 |
| 组队参与Boss战 |
玩家可组队参与世界Boss战,队伍成员的伤害贡献独立计算(GDD-33 ✅W03 伤害汇总制) |
| 队伍贡献排名 |
队伍成员的贡献度汇总为「队伍贡献」,参与帮派/种族排名(GDD-33 §3.1.2) |
| 掉落分配 |
组队参与Boss战时,队伍内部掉落按 §2.5 分配模式处理;个人奖励按 GDD-33 §3.2 独立发放 |
| 镜像实例 |
组队参与时,全队进入同一镜像实例(GDD-33 §3.4),不拆散队伍 |
| Boss战好友度 |
共同参与世界Boss战的好友获得好友度增长(§1.3.2) |
| 跨层Boss组队 |
低境界队友参与高层Boss时获生存保底(GDD-33 §4.2),高境界队友受降维护佑(GDD-33 §4.1) |
4.3 与社交系统的联动(GDD-16)
| 联动点 |
说明 |
| 师徒组队 |
师徒同队时,徒弟经验 +15%,师父获尊师值(GDD-16 §1.2) |
| 道侣组队 |
道侣同队触发合体技冷却缩减与护盾效果(§2.3.3) |
| 义团组队 |
义团同队触发义团增益(5%~10%),共享委托进度(GDD-16 §1.4.2) |
| 双修前置 |
好友度 ≥ 同道是双修的前置条件(GDD-16 §1.3) |
| 道侣前置 |
好友度 ≥ 莫逆是道侣结契的前置条件(GDD-16 §1.4.1) |
| 结义前置 |
好友度 ≥ 莫逆是结义的前置条件(GDD-16 §1.4.2) |
| 声望联动 |
组队战斗后可互评队友表现,累积声望值(GDD-16 ✅S05) |
| 好友度 → 深层关系 |
好友度自然累积为深层关系的前置条件,不设任务式刷取路径 |
4.4 与战斗系统的联动(GDD-03)
| 联动点 |
说明 |
| 组队副本战斗 |
组队副本中每位队员独立进行 ATB 战斗(复用 GDD-03 1v1 模型),与 GDD-33 ✅W03 伤害汇总制一致 |
| 队伍BUFF生效 |
组队BUFF在 ATB 战斗结算时叠加到角色属性(攻击/防御/暴击/掉落率) |
| 职业互补 |
组队副本按职业匹配,确保坦克/输出/辅助搭配(§2.4.1) |
| 战报分享 |
组队战斗结束后,可在队伍频道分享战报(GDD-29 §3.3.4) |
| 能量消耗 |
组队战斗消耗能量,与单人战斗一致(GDD-33 ✅W07) |
第五章 数据模型与接口
5.1 数据库表设计
5.1.1 friends 表(好友关系)
| 字段 |
类型 |
约束 |
说明 |
| id |
uuid |
PK |
关系记录 ID |
| character_id |
uuid |
FK → characters.id, IX |
发起者 |
| friend_id |
uuid |
FK → characters.id, IX |
被添加者 |
| friendship_score |
int |
|
好友度数值 |
| friendship_tier |
varchar(16) |
|
档位:STRANGER / ACQUAINTANCE / COMRADE / SWORN / LIFELINK |
| status |
varchar(16) |
IX |
PENDING / ACCEPTED / BLOCKED |
| created_at |
timestamptz |
|
申请时间 |
| accepted_at |
timestamptz |
|
确认时间 |
| last_interaction_at |
timestamptz |
IX |
最后互动时间(衰减计算用) |
唯一约束:(character_id, friend_id)
索引策略:
(character_id, status) — 查询某玩家的好友列表
(friend_id, status) — 查询谁添加了某玩家
(last_interaction_at) — 好友度衰减定时任务
5.1.2 friend_gift_log 表(好友赠送记录)
| 字段 |
类型 |
约束 |
说明 |
| id |
uuid |
PK |
记录 ID |
| sender_id |
uuid |
FK → characters.id, IX |
赠送者 |
| receiver_id |
uuid |
FK → characters.id, IX |
接收者 |
| item_id |
uuid |
|
赠送的道具 ID |
| item_count |
int |
|
赠送数量 |
| score_gained |
int |
|
获得的好友度 |
| created_at |
timestamptz |
IX |
赠送时间 |
5.1.3 teams 表(队伍)
| 字段 |
类型 |
约束 |
说明 |
| id |
uuid |
PK |
队伍 ID |
| leader_id |
uuid |
FK → characters.id, IX |
队长 |
| target_type |
varchar(16) |
|
DUNGEON / WORLD_BOSS / ADVENTURE / QUEST / FREE |
| target_id |
varchar(64) |
|
目标 ID(副本 ID / Boss ID / 委托 ID) |
| loot_mode |
varchar(16) |
|
CONTRIBUTION / ROLL / LEADER_ASSIGN |
| max_members |
int |
|
最大成员数(默认 5) |
| world_tier |
smallint |
|
队伍所在世界层级 |
| region_id |
varchar(64) |
|
队伍所在区域 |
| announcement |
varchar(100) |
|
队伍公告 |
| created_at |
timestamptz |
|
创建时间 |
| dissolved_at |
timestamptz |
|
解散时间 |
5.1.4 team_members 表(队伍成员)
| 字段 |
类型 |
约束 |
说明 |
| id |
uuid |
PK |
记录 ID |
| team_id |
uuid |
FK → teams.id, IX |
队伍 ID |
| character_id |
uuid |
FK → characters.id, IX |
成员角色 ID |
| role |
varchar(16) |
|
LEADER / MEMBER |
| joined_at |
timestamptz |
|
加入时间 |
| left_at |
timestamptz |
|
离开时间 |
唯一约束:(team_id, character_id) where left_at IS NULL
5.1.5 team_loot_distribution 表(队伍掉落分配记录)
| 字段 |
类型 |
约束 |
说明 |
| id |
uuid |
PK |
记录 ID |
| team_id |
uuid |
FK → teams.id, IX |
队伍 ID |
| item_id |
uuid |
|
掉落物品 ID |
| loot_mode |
varchar(16) |
|
分配模式 |
| winner_id |
uuid |
FK → characters.id |
获得者(掷骰/队长分配) |
| contribution_data |
jsonb |
|
贡献度数据(贡献分配模式) |
| roll_data |
jsonb |
|
掷骰数据(掷骰模式) |
| distributed_at |
timestamptz |
|
分配时间 |
5.1.6 friend_teleport_log 表(好友传送记录)
| 字段 |
类型 |
约束 |
说明 |
| id |
uuid |
PK |
记录 ID |
| teleporter_id |
uuid |
FK → characters.id, IX |
传送发起者 |
| target_friend_id |
uuid |
FK → characters.id, IX |
目标好友 |
| from_region |
varchar(64) |
|
出发区域 |
| to_region |
varchar(64) |
|
到达区域 |
| tier_diff |
smallint |
|
层级差距 |
| items_consumed |
int |
|
消耗的同行符数量 |
| created_at |
timestamptz |
IX |
传送时间 |
5.2 Valkey 缓存结构
# 好友列表缓存
friends:{character_id} → Set<friend_character_id>
# 好友度缓存
friendship:{char_id_1}:{char_id_2} → int(score)
# 好友在线状态
friend:online:{character_id} → Hash<status, last_active_at>
# 队伍信息缓存
team:{team_id} → Hash<leader_id, target_type, loot_mode, max_members, ...>
# 队伍成员缓存
team:members:{team_id} → Set<character_id>
# 匹配队列
match:queue:{target_type}:{world_tier} → Sorted Set<character_id, match_score>
5.3 核心接口(TDD-05 扩展)
| 接口 |
方法 |
路径 |
说明 |
| 发送好友申请 |
POST |
/api/v1/friends/apply |
发送好友申请 |
| 处理好友申请 |
POST |
/api/v1/friends/respond |
同意/拒绝好友申请 |
| 删除好友 |
DELETE |
/api/v1/friends/{friend_id} |
删除好友 |
| 获取好友列表 |
GET |
/api/v1/friends |
分页获取好友列表 |
| 获取好友详情 |
GET |
/api/v1/friends/{friend_id} |
获取好友详情与好友度 |
| 好友传送 |
POST |
/api/v1/friends/{friend_id}/teleport |
传送到好友位置 |
| 获取好友推荐 |
GET |
/api/v1/friends/recommendations |
获取每日推荐好友 |
| 创建队伍 |
POST |
/api/v1/teams |
创建队伍 |
| 加入队伍 |
POST |
/api/v1/teams/{team_id}/join |
申请加入队伍 |
| 退出队伍 |
DELETE |
/api/v1/teams/{team_id}/leave |
退出队伍 |
| 踢出队员 |
POST |
/api/v1/teams/{team_id}/kick |
踢出队员 |
| 转让队长 |
POST |
/api/v1/teams/{team_id}/transfer |
转让队长 |
| 设置队伍目标 |
PUT |
/api/v1/teams/{team_id}/target |
设置/修改队伍目标 |
| 设置掉落模式 |
PUT |
/api/v1/teams/{team_id}/loot-mode |
设置掉落分配模式 |
| 匹配队伍 |
POST |
/api/v1/teams/match |
进入匹配队列 |
| 取消匹配 |
DELETE |
/api/v1/teams/match |
取消匹配 |
| 获取队伍列表 |
GET |
/api/v1/teams |
获取可加入的队伍列表 |
| 赠送好友礼物 |
POST |
/api/v1/friends/{friend_id}/gift |
赠送礼物提升好友度 |
5.4 Nakama 实时消息协议
// 好友申请通知(服务端 → 客户端)
message FriendApplyNotify {
string applicant_id = 1;
string applicant_name = 2;
string applicant_race = 3;
int32 applicant_realm_tier = 4;
int64 timestamp = 5;
}
// 好友上下线通知(服务端 → 客户端)
message FriendStatusNotify {
string friend_id = 1;
string friend_name = 2;
string status = 3; // ONLINE / OFFLINE / IN_BATTLE / MEDITATING / AFK
int64 timestamp = 4;
}
// 组队邀请通知(服务端 → 客户端)
message TeamInviteNotify {
string team_id = 1;
string inviter_id = 2;
string inviter_name = 3;
string target_type = 4; // DUNGEON / WORLD_BOSS / ADVENTURE / QUEST / FREE
string target_name = 5;
int32 current_members = 6;
int32 max_members = 7;
int64 timestamp = 8;
}
// 队伍状态变更(服务端 → 客户端)
message TeamStatusNotify {
string team_id = 1;
string event_type = 2; // MEMBER_JOIN / MEMBER_LEAVE / LEADER_CHANGE / DISSOLVED / TARGET_CHANGE
string character_id = 3;
string character_name = 4;
int64 timestamp = 5;
}
// 匹配结果通知(服务端 → 客户端)
message MatchResultNotify {
string team_id = 1;
bool success = 2;
string message = 3;
int64 timestamp = 4;
}
第六章 Nacos 配置项
friend_team:
# 好友系统
friend:
max_friends_by_tier: # 各境界好友上限
refining: 30 # 炼气
foundation: 50 # 筑基
golden_core: 80 # 金丹
nascent_soul: 120 # 元婴
spirit_severing: 150 # 化神
body_integration: 200 # 合体
mahayana: 250 # 大乘
tribulation: 300 # 渡劫
ascension: 500 # 飞升
apply_daily_limit: 20 # 每日好友申请上限
apply_pending_max: 50 # 未处理申请上限
apply_reject_cooldown_hours: 24 # 被拒冷却时间(小时)
delete_readd_cooldown_days: 7 # 删除后重新添加冷却(天)
friendship:
daily_gain_cap: 50 # 每日好友度增长上限
decay_trigger_days: 14 # 衰减触发天数
decay_rate: 0.05 # 每周期衰减比例
decay_period_days: 7 # 衰减周期(天)
recommendation:
daily_count: 10 # 每日推荐数量
refresh_hour: 8 # 刷新时间(现实小时)
# 好友传送
teleport:
cooldown_minutes: 30 # 传送冷却(游戏分钟)
cost_same_tier: 1 # 同层消耗
cost_cross_1: 3 # 跨1层消耗
cost_cross_2: 5 # 跨2层消耗
cost_cross_3: 8 # 跨3层消耗
sworn_reduction: 0.5 # 莫逆减免比例
# 组队系统
team:
max_members: 5 # 队伍最大人数
auto_dissolve_minutes: 30 # 全员离线自动解散时间(游戏分钟)
invite_cooldown_minutes: 5 # 邀请冷却时间(游戏分钟)
match_timeout_seconds: 120 # 匹配超时时间
match_relax_seconds: 240 # 匹配放宽超时
afk_kick_minutes: 5 # AFK踢出时间
# 组队BUFF
buff:
attack_by_count: [3, 5, 7, 10] # 攻击加成(2/3/4/5人)
defense_by_count: [3, 5, 7, 10] # 防御加成
cultivation_by_count: [5, 8, 10, 12] # 修炼加成(能量积累速度)
drop_by_count: [2, 3, 4, 5] # 掉落率加成
# 好友度组队加成
friendship_buff:
acquaintance_attack: 2 # 相识攻击加成
comrade_attack: 5 # 同道攻击加成
sworn_attack: 8 # 莫逆攻击加成
lifelink_attack: 12 # 生死之交攻击加成
lifelink_crit: 2 # 生死之交暴击加成
# 叠加递减系数
stack_decay: [1.0, 0.7, 0.5, 0.35] # 第1/2/3/4名好友
# 跨层级
cross_realm:
max_tier_diff: 3 # 最大境界差距
damage_suppression_per_tier: 0.25 # 每层级伤害压制
min_damage_coefficient: 0.1 # 最低伤害系数
friendship_gain_bonus: 0.5 # 带新好友度加成
reputation_gain_bonus: 0.2 # 带新声望加成
第七章 已确认决策记录表
| 编号 |
决策 |
来源 |
| GDD-34 ✅F01 |
好友关系单向确认制(申请→同意→互为好友;删除单向无感) |
对齐 GDD-29 ✅C06 |
| GDD-34 ✅F02 |
好友度五档体系(萍水相逢/相识/同道/莫逆/生死之交) |
本文 |
| GDD-34 ✅F03 |
好友组队BUFF叠加递减(70%/50%/35%) |
本文 |
| GDD-34 ✅F04 |
组队人数上限 5 人 |
GDD-29 队伍频道、GDD-33 组队副本 |
| GDD-34 ✅F05 |
跨层级组队受降维护佑约束 |
GDD-08 ✅Q06、GDD-33 ✅WB06 |
| GDD-34 ✅F06 |
队伍掉落三模式(贡献/随机/队长分配) |
本文 |
| GDD-34 ✅F07 |
好友传送消耗同行符,梯度对齐传音符(GDD-29 ✅C12),莫逆减半 |
本文 |
| GDD-34 ✅F08 |
好友上限按境界递增(30→500) |
本文 |
| GDD-34 ✅F09 |
组队匹配按五类目标分类,好友优先 |
本文 |
第八章 验收标准
8.1 功能验收
| 编号 |
验收项 |
验收标准 |
| AC-01 |
好友申请 |
通过面对面/聊天/搜索/推荐四种方式均可发送好友申请,对方收到通知 |
| AC-02 |
好友确认 |
同意后双方互为好友,拒绝后 24 小时内不可重复申请 |
| AC-03 |
删除好友 |
单向删除,对方无感,好友度归零 |
| AC-04 |
好友度增长 |
组队战斗/副本/委托/赠送/传送/世界事件均可增长好友度,每日上限正确 |
| AC-05 |
好友度衰减 |
14 天无互动后开始衰减,每 7 天衰减 5%,生死之交不衰减 |
| AC-06 |
好友度档位 |
五档阈值正确,各档解锁能力正确生效 |
| AC-07 |
在线状态 |
好友上下线实时推送,状态标识正确(在线/战斗/修炼/挂机/离线) |
| AC-08 |
好友传送 |
消耗同行符数量按层级差距正确计算,莫逆减半,冷却正确 |
| AC-09 |
好友推荐 |
每日推荐 10 名玩家,排序逻辑正确 |
| AC-10 |
创建队伍 |
队长创建队伍,设置目标/公告/掉落模式 |
| AC-11 |
邀请/申请/匹配 |
三种入队方式均正常工作 |
| AC-12 |
队伍管理 |
踢人/转让队长/退出/解散均正确处理 |
| AC-13 |
基础组队BUFF |
2-5 人队伍的攻击/防御/经验/掉落加成正确 |
| AC-14 |
好友度组队加成 |
好友度档位加成正确,多人叠加递减正确 |
| AC-15 |
道侣/义团/师徒同队加成 |
深层关系同队时专属加成正确触发 |
| AC-16 |
匹配算法 |
境界/职业/好友/等待时间四维度评分正确,超时放宽逻辑正确 |
| AC-17 |
贡献分配 |
掉落按贡献度比例分配,最低门槛正确 |
| AC-18 |
随机掷骰 |
需求/贪婪两轮掷骰,超时弃权,同点数队长裁定 |
| AC-19 |
队长分配 |
队长手动分配,超时自动掷骰,分配不公投票正确 |
| AC-20 |
跨层降维护佑 |
高境界玩家伤害压制系数正确,低境界保底正确 |
| AC-21 |
带新补偿 |
高境界带新时好友度/声望加成正确 |
| AC-22 |
聊天联动 |
从聊天发起组队/好友申请正常工作 |
| AC-23 |
世界Boss联动 |
组队参与Boss战,队伍进入同一镜像实例 |
| AC-24 |
社交关系联动 |
好友度是师徒/道侣/结义的前置条件,阈值正确 |
8.2 性能验收
| 编号 |
验收项 |
验收标准 |
| PERF-01 |
好友列表加载 |
500 人好友列表加载 ≤ 1 秒 |
| PERF-02 |
在线状态推送 |
好友上下线通知延迟 ≤ 1 秒 |
| PERF-03 |
组队操作响应 |
创建/加入/退出队伍操作延迟 ≤ 500ms |
| PERF-04 |
匹配等待时间 |
平均匹配等待时间 ≤ 60 秒(活跃时段) |
| PERF-05 |
好友度计算 |
组队BUFF实时计算延迟 ≤ 100ms |
| PERF-06 |
好友度衰减任务 |
全服好友度衰减定时任务执行时间 ≤ 10 分钟 |
8.3 安全验收
| 编号 |
验收项 |
验收标准 |
| SEC-01 |
好友申请频率 |
服务端限制每日 20 个申请,客户端不可绕过 |
| SEC-02 |
好友度刷取 |
异常模式检测生效(反复添加/删除、重复低难度战斗) |
| SEC-03 |
组队防滥用 |
AFK 踢出、拒绝冷却、战斗中限制均正确执行 |
| SEC-04 |
掉落分配防滥用 |
队长分配不公投票机制正确,挂机贡献门槛正确 |
| SEC-05 |
传送防滥用 |
战斗中/禁区不可传送,冷却时间不可绕过 |
第九章 与核心系统的接口总表
| 系统 |
接口点 |
| GDD-03 战斗 |
组队副本复用 ATB 1v1 模型 + 伤害汇总制;队伍BUFF在战斗结算时叠加 |
| GDD-06 经济 |
好友赠送道具消耗;同行符消耗;组队掉落分配接入经济 faucet |
| GDD-08 地图 |
跨层级组队降维护佑(✅Q06);区域匹配范围;传送区域限制 |
| GDD-16 社交 |
好友度是师徒/道侣/结义前置条件;道侣/义团/师徒同队专属加成;声望互评 |
| GDD-22 世界事件 |
共同参与世界事件增长好友度;事件Boss组队参与 |
| GDD-23 能量 |
好友传送消耗能量/道具;组队战斗能量消耗与单人一致 |
| GDD-29 聊天 |
队伍频道自动创建;聊天发起组队/好友申请;好友私聊;跨层传音;上下线推送 |
| GDD-33 世界Boss |
组队参与Boss战;镜像实例不拆散队伍;贡献度排名汇总;跨境界规则对齐 |
| TDD-04 数据库 |
friends / teams / team_members 等表 |
| TDD-05 API |
好友与组队 RESTful + WebSocket 接口 |
第十章 待设计内容
| 内容 |
优先级 |
关联 |
| 好友赠送礼物完整道具列表(心意笺制作材料/商城价格) |
中 |
GDD-06 经济联调 |
| 同行符详细数值(制作材料/商城价格/掉落概率) |
中 |
GDD-06 经济联调 |
| 组队副本完整列表与推荐人数/职业搭配 |
中 |
GDD-03 战斗系统 + GDD-18 副本引擎 |
| 好友推荐算法详细权重调参 |
低 |
数据驱动,上线后 A/B 测试 |
| 组队UI/UX原型(组队面板/匹配界面/队伍信息栏) |
中 |
客户端 TDD |
| 好友度各行为增长数值平衡 |
低 |
GDD-21 数值平衡联调 |
| 跨服好友方案(若后续支持多服) |
低 |
架构评估 |
GDD-34 v1.1 | 2026-07-02 | 术语一致性修复:将"飞升"替换为"天启"(✅F08好友上限列表) | 前序:v1.0
GDD-34 v1.3 | 2026-07-06 | 术语澄清:游戏不存在独立"经验值"系统,能量积累本身即修炼进度(GDD-02/GDD-23权威);§2.3.1/§3.3表格及配置示例中"经验加成/经验分配"改为"修炼加成",exp_by_count改名cultivation_by_count | 前序:v1.2
GDD-34 v1.2 | 2026-07-06 | 第九境界名称修正:✅F08好友上限列表"天启"→"飞升"(v1.1误将飞升改为天启,但天启是世界解锁机制✅122,飞升才是第九大境界✅116);跨层组队引用修正:GDD-33 ✅W06→✅WB06(W前缀属GDD-18,WB前缀属GDD-33) | 前序:v1.1
GDD-34 v1.0 | 2026-07-02 | 初版:好友与组队系统完整设计,覆盖好友管理/好友度/在线状态/传送/组队创建/匹配/掉落分配/BUFF/跨层级规则/系统联动九大模块 | 前序:GDD-16 v1.6 社交系统 / GDD-29 v1.0 聊天系统 / GDD-33 v1.0 世界Boss