多人游戏后台需求分析及设计

Zard-1996 2022-01-08 17:49:00

1 项目概述

        随着网络技术的发展,多人游戏的玩家人数急剧增长。要想服务器能支撑巨量的玩家,采用分布式服务器的架构是必然的。本项目利用分布式服务器框架,建立一个多人游戏的后台。

2 用例建模

2.1 整体结构

        后台服务器采用分布式框架,分为DB服务器,登录服务器,center服务器,game服务器和gate服务器。

服务器结构图如下

 

2.2 用例图

主要包含模块有登录模块,注册模块,角色模块,聊天模块等,满足多人游戏的基本需求。在此基础上可以添加其他模块丰富项目内容。

 

2.3 用例分析

项目为小组合作,所以只对部分用例进行分析。

2.3.1 用户注册登录模块

用户服务器
用户点击注册并输入信息服务器保存用户数据并生成账号及数据库内容
用户登录根据输入内容服务器找到用户信息并发送给客户端
用户删除服务器删除数据库内有关内容
用户退出登录服务器保存相关信息

2.3.2 用户角色系统模块

用户服务器
用户首次注册并选择服务器center服务器生成数据,DB服务器自动注册游戏,生成默认角色
用户创建角色gate/center/DB服务器创建角色
用户删除角色gate/center/DB服务器删除角色
用户选择角色进入游戏center服务器加入队列,game服务器加载玩家数据

2.3.3 聊天系统模块

用户服务器
用户发送消息服务器保存消息数据
用户收到数据服务器根据发送者与玩家的位置判断是否进行消息转发

2.4 时序分析

2.5 UML类图

 

3 设计

项目采用Linux epoll服务器,服务器的搭建采用现有框架,数据库使用mysql。

对于角色模块,可以采用工厂模式。在父类中实现创建角色的方法,当需要创建角色时由子类决定实例化的具体数值。

服务器之间可以采用中介者模式。center服务器可以当做一个中介者,center服务器了解各个服务器之间的关系,并且可以连接到各个服务器。当客户端发送请求时,center服务器会处理请求并觉得将消息发送给哪个服务器,也可以觉得是否自行处理。但是此模式下服务器之间不能自主通信,会增加center服务器的压力。 

 

作者:331 

...全文
421 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧