好友是游戏的「粘合剂」——单排玩家会流失,但有好友的玩家会为「关系」回访。本 PRD 是《在线联机原型全集》的扩展篇之十四,聚焦双向好友关系、送礼与表情互动、亲密度成长、在线状态与消息投递,让「路人」沉淀为「常联系的人」。
1. 目标与验证点
| 编号 | 验证能力 | 说明 |
|---|---|---|
| F1 | 好友关系 | 双向申请/同意、黑名单、关系状态 |
| F2 | 互动玩法 | 送礼、表情气泡、点赞、邀请 |
| F3 | 亲密度 | 亲密度增长、等级、特权与礼物上限 |
| F4 | 在线状态 | 在线/对局中/离开,状态隐私开关 |
| F5 | 消息投递 | 私信、群发、离线信箱、防骚扰 |
一句话目标:让玩家「为关系回访」——好友在,游戏就在。
2. 系统架构
flowchart TD
A["Player"] -->|add friend| B["Friendship Service"]
B --> C["Relationship Store"]
C --> D["Friend List"]
B -->|invite| E["Interaction"]
E --> F["Gift / Emote"]
E --> G["Intimacy Level"]
A -->|presence| H["Presence Service"]
H --> D
A -->|message| I["Message Bus"]
I --> J["Inbox / Push"]
D --> K["Social Graph Query"]
说明:
- Friendship Service:双向好友、申请流、黑名单的权威
- Interaction:送礼/表情/点赞,消费货币与道具
- Presence Service:在线状态聚合,推送好友侧
- Message Bus:私信/邀请,离线进信箱、在线走推送
3. 好友关系模型:双向的「信任」
3.1 关系状态机
未认识 → 申请中(A 发起)→ 好友(B 同意)
→ 已拒绝 / 已过期(30 天)
好友 → 单方删除 → 解除
→ 屏蔽/拉黑 → 黑名单(互不打扰)
| 关系 | 可见性 | 互动 |
|---|---|---|
| 好友 | 互相可见在线/战绩 | 送礼、组队、私信 |
| 申请中 | 仅申请人可见 | 不可互动 |
| 黑名单 | 互相不可见 | 全部禁止 |
3.2 好友上限与隐私
好友上限:默认 200,付费/等级扩展至 1000
隐私开关:关闭「对局中」可见、关闭「战绩可见」
└── 好友申请附言:50 字内,防骚扰必须可拒绝
心法:好友是「双向确认」的关系——单方面关注只是「粉丝」,双向同意才是「好友」。黑名单要足够简单,才能守住体验底线。
4. 互动玩法:让「联系」有动作
4.1 互动类型
| 互动 | 成本 | 效果 |
|---|---|---|
| 点赞 | 免费 | 对方收到提示,亲密度 +1 |
| 表情气泡 | 免费 | 对局内弹气泡,破冰 |
| 送花/礼物 | 软货币/道具 | 亲密度大幅提升 |
| 组队邀请 | 免费 | 一键拉人入队 |
4.2 礼物系统
礼物 = 道具 + 亲密度值
├── 每日赠送上限(防刷亲密)
├── 礼物价值映射亲密度(价值高→亲密高)
└── 收礼回礼:回礼窗口 24h,回礼有额外加成
实践:礼物是「互动的货币化」——免费互动保底,付费礼物给「表达诚意」的通道,但每日上限防止亲密被金钱刷爆。
5. 亲密度:关系的「经验值」
5.1 成长曲线
亲密度 = Σ(互动事件 × 权重) − 衰减(离线时间)
├── 事件权重:组队 > 送礼 > 点赞 > 打招呼
├── 衰减:连续 N 天无互动,亲密度缓慢下降
└── 等级门槛:Lv5 解锁双人称号,Lv10 解锁专属特效
| 等级 | 亲密度区间 | 特权 |
|---|---|---|
| Lv1 | 0~99 | 基础互动 |
| Lv5 | 500+ | 双人称号、专属气泡 |
| Lv10 | 2000+ | 组队额外经验、专属名片 |
5.2 防止「刷亲密」
防刷策略:
- 单日互动计数上限
- 同设备/同 IP 多账号风险标记
- 组队时长加成需真实对局(开局 3 分钟以上才计)
心法:亲密度是「共同经历的记账」——真实对局才有分量,所以要绑定「一起玩」而不仅是「点按钮」。
6. 在线状态与消息投递
6.1 状态聚合
Presence = 离线 / 在线 / 对局中 / 观战中 / 离开
├── 好友列表订阅推送(WebSocket)
├── 对局中状态可「旁观」或「排队等」
└── 隐私开关:可设为「仅显示在线/离线」
6.2 消息投递
私信:在线走 WS 实时、离线进信箱(7 天保留)
群发:限 20 人/次、限频(防骚扰)
邀请:对局中禁邀、结束后可补邀
└── 举报入口:一键举报骚扰,自动静默
实践:消息系统最怕「骚扰」——限频 + 举报 + 黑名单三件套缺一不可,否则社交功能会变成「劝退功能」。
7. 数据模型与一致性
7.1 核心表
friendship(user_a, user_b, status, intimacy, created_at)
friend_request(from, to, note, status, expire_at)
interaction_log(player_id, target_id, type, value, at)
presence(player_id, state, room_id, updated_at)
message(id, from, to, payload, read_at, status)
7.2 一致性要点
好友关系:主键 (min(a,b), max(a,b)),双向一条记录
├── 并发添加:唯一约束兜底,重复申请合并
└── 亲密度:异步增量 + 定时快照,避免高频写
心法:好友是「图数据」——双向一条边而非两条记录,才能避免「我删了他但他还显示好友」的不一致。
8. 里程碑与验收
M1 好友关系(1 周)
✅ 申请/同意/删除/黑名单、好友上限、隐私开关
M2 互动玩法(1 周)
✅ 点赞/表情/送礼/回礼、每日上限
M3 亲密度(1 周)
✅ 成长曲线、衰减、等级特权、防刷
M4 状态与消息(1 周)
✅ Presence 推送、私信/群发/邀请、举报与静默
验收指标:好友申请响应率 > 70%;有好友玩家周留存高于单排 20%+;礼物日活渗透率 5~15%;骚扰举报率 < 1%。
9. 相关原型衔接
- 与#33 社交关系与好友推荐的关系图谱联动 → 好友推荐算法复用
- 与#30 平台大厅与游戏中心的大厅频道衔接 → 大厅好友在线亮灯
- 与扩展篇之十三公会与战队对接 → 战队邀请走好友列表
- 与扩展篇之八语音通信联动 → 好友一键发起语音
- 与扩展篇之九内容安全对接 → 私信内容安全审核接入
扩展篇定位:好友与互动是「关系的温度」——玩法决定「玩得爽不爽」,关系决定「走不走」。把陌生人变成常联系的人,是留存的最强引擎。
延伸阅读
- 「在线联机原型全集」目录(60 个原型全景) — 原型全景索引
- 语音聊天与实时通信 — 好友一键语音(扩展篇之八)
- 内容安全与社区治理 — 私信审核与举报(扩展篇之九)
- 「在线联机原型全集」第四章:开放世界与生态层(#31–#40) — 社交图谱与生态
- 游戏开发专题 — 社交系统设计
扩展篇全系列回顾:观战回放(被看见)→ 成就(被记住)→ AI 陪练(随时变强)→ 自定义房间(玩出花)→ 赛季段位(长期目标)→ 跨平台云存档(资产随行)→ 反作弊(生态底线)→ 语音通信(协作润滑)→ 内容安全(社区地基)→ 经济风控(繁荣保险丝)→ 本地化(出海桥)→ 赛季通行证(氧气)→ 公会战队(归属感)→ 好友互动(温度)→ 交易市场(繁荣)→ 装扮皮肤(个性)→ 新手引导(门槛)→ 离线挂机(回味)。十八篇共同补齐「玩法之外」的完整体验层。
扩展篇全系列速查
| 扩展篇 | 主题 | 一句话 |
|---|---|---|
| 之一 观战与回放 | 让对局被围观 | 每一局都可传播、可复盘 |
| 之二 成就与里程碑 | 让成长被记录 | 每一份努力都有进度条 |
| 之三 AI 陪练 | 让进步有人陪 | 随时能练、永远有人陪 |
| 之四 自定义房间 | 让玩法可定制 | 玩家把规则捏成自己的 |
| 之五 赛季与段位 | 让竞技有长期目标 | 每局爬升、每季回访 |
| 之六 跨平台与云存档 | 让资产随行 | 任何设备接着玩 |
| 之七 反作弊与公平竞技 | 让生态有底线 | 每一场竞技都干净 |
| 之八 语音聊天与实时通信 | 让协作有温度 | 喊一嗓子就位 |
| 之九 内容安全与社区治理 | 让社区有水质 | 管住底线,创作自由 |
| 之十 经济风控与反作弊 | 让繁荣有保险丝 | 每一枚币都真实 |
| 之十一 本地化与多语言 | 让出海有桥 | 各说各话,同场竞技 |
| 之十二 赛季通行证与商业化 | 让运营有氧气 | 免费玩得爽,付费买得值 |
| 之十三 公会与战队系统 | 让队友有归属 | 一起打、一起赢、一起被记住 |
| 之十四 好友与互动系统 | 让关系有温度 | 点个赞、送份礼、常来常往 |
| 之十五 游戏内交易市场 | 让价值可流转 | 你缺的我有,我缺的你换 |
| 之十六 装扮与皮肤系统 | 让角色有个性 | 好看不只是好看 |
| 之十七 新手引导与教程系统 | 让新人进得来 | 三步上手、首胜带路 |
| 之十八 离线收益与挂机系统 | 让回归有期待 | 下线也在变强 |
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。