MMORPG-Client-组队

序言

在MMORPG中组队系统是社交向玩法中,重要的一个系统。游戏设计师通常会鼓励玩家进行社交玩法,以提高玩家的“黏度”,于是便诞生出了各式各样的“组队”。组队的玩家往往会比单人获得更好的奖励,且有些玩法可能必须要求组队。而在程序的眼中,组队系统就是一个玩家的集合,维护此集合的状态以及他们关联的业务。

特征

  • 队长/队员:队长比队员有更多的查看/操作等权限
  • 状态同步:一般的状态同步是走视野的(通过视野的EntityID列表去拉取对应Entity信息),队友是需要同步视野外的信息的,如:Hp,位置,死亡/复活等。
  • 表现:显示队员列表中队员的Hp/Buff/状态(眩晕、吟唱等)
  • 沟通:聊天频道/语音房间等
  • 投票:一些重大的决定如:副本内踢人、退出副本等,全由队长决定不太好,则全体队员投票决定
  • Roll奖励:获取优质奖励的时候,可以参与Roll点(掷色子),点数大玩家获取奖励。经典的会有一个类似掷色子的特效表现。
  • 招募:一些玩法如副本需要组队时,可以通过招募向更多人发送组队信息
  • 不同玩法队伍的差别:在不同的玩法中,可能同时存在多个不同的队伍(如匹配到的副本队伍和你野外所在的队伍可能同时存在)

模块

表现模块

image
依赖:

  • 角色信息(这里包含buf)
  • 组队模块
  • 组队后台同步(一些前台获取不到的信息,如对方正在看过场动画的状态同步)
  • 前台的事件同步,如角色的死亡/复活等等

消息同步模块

队员的一些信息在视野之外也需要同步(如队友的位置),此时需要后台的组队模块需要推送给前台队友的视野外的信息,前台的组队模块在将信息同步给角色信息管理模块。

投票模块

在一些重大的决定(如退出副本,副本内踢人)等需要投票决定

posted @ 2023-12-11 11:27  寡人正在Coding  阅读(30)  评论(0编辑  收藏  举报