unity ARPG游戏架构设计之通用

作者:雨辰 发布于:2016-10-30 9:44 Sunday 分类:Unity3D

unity ARPG游戏架构设计之通用

炸弹人管理器

<>炸弹人全局数据管理

BombDataManager

1:单例(进入炸弹游戏后初始化,离开游戏回收清理)

2:进入游戏负责初始化玩家player数据

<1>Skill技能

....

3:进入游戏初始化load 策划配置数据并做处理

<>战斗场景数据管理器

BombFightSceneManager 

1单例 (进入炸弹战斗游戏初始化,退出战斗回收清理)

2:初始化战场玩家数据OtherPlayer

3:初始化战斗场景GameObject 管理由  BombFightSceneControl负责创建生成和销毁提供对外接口

4::负责提供战斗伤害等判定

<>战斗场景管理器

BombFightSceneControl

1单例 (进入炸弹战斗游戏初始化,退出战斗回收清理)

2:提供初始化战斗场景工作 根据服务器数据和配置数据生成战斗场景对象

3:根据服务数据 创建 玩家和敌人玩家游戏GameObject 对象并管理其行为

<>战斗场景网络数据处理

BombFightSceneNetwork

1单例 (进入炸弹战斗游戏初始化,退出战斗回收清理)

2: 处理网络数据更新战斗场景内玩家行为共享分发(主要显示服务器其他玩家状态的数据同步显示,部分也涉及玩家自己的校验)(AI玩家是否要同步,考虑性能)

3:序列化和反序列化玩家通信数据

4:封装玩家通信接口

3:处理网络异常情况

战斗场景 物品 玩家 技能 对象挂带脚本

<>玩家对象 玩家自己 和 其他敌对玩家

BombPlayerState

负责玩家 行为状态管理(行走,攻击等),可能有自动游戏行为AI

BombPlayerUI

负责玩家 实时数据UI显示

(通过事件通知ui数据更新)

BombPlayer

战场玩家对象 管理玩家状态BombPlayerState,玩家UI显示

摇杆控制器管理

BombPlayerControl

在玩家行为发生变化的时候分发信息给服务器

<.>场景物品 道具(附带buff

<>玩家炸弹

BombBase

炸弹的基类

负责实现炸弹基本功能 :定时爆炸, 伤害判定,爆炸产生效果。

IgniteBomb

引线炸弹

实现引线炸弹业务

TelecontrolBomb

遥控炸弹

StickBomb

粘性炸弹

FollowBomb

跟随炸弹

ReductionBomb

减速炸弹

......

<>地形 和 场景内饰 模型对象

实体对象

Player

playerID      玩家ID

playerName   玩家名

hp          玩家当前生命(初始生命值为配置)    

position     玩家位置  

rotation     玩家角度

 actionState   玩家行为状态(移动 ,攻击等)

playerProID  角色配置信息(通过配置信息查找对应配置)

bombID    玩家投掷炸弹类型

 groupID    玩家所属阵营,(混战中玩家阵营都不相同,团战中同阵营玩家Id相同)     

PlayerPro

playerProID    id

hp            血量

model  角色使用模型

maxMoveSpeed 最大移动速度

moveSpeed     初始速度

 addSpeedTime   加速时间  

 beginAddSpeed   启动时加速

 speedCutTime   减速时间

 endSpeedCut   停止减速度

 shootSpeed     击飞速度

 quality         角色质量

 

Bomb

bombID     id

bombName  炸弹名称

bombModel   炸弹使用模型

bombType   炸弹类型

skillCD      技能时间

Ps:策划要求还有炸弹的多投掷距离等  。。。

Item

itemID    道具Id

itemName  道具名称

itemModel  道具显示模型

itemType   道具类型(效果:恢复生命值加速护盾连炸黏黏炸弹追踪炸弹减速炸弹)

destroyTime  道具自动销毁时间

destroyHp  道具被伤害血量大于等于 时候销毁

游戏流程图

启动游戏加载lua和 配置信息,初始化网络

登录游戏——

获取玩家游戏对象信息 ——

进入战场 ——

获取战场玩家对象信息——

创建战场——

控制玩家自己对象——

操作状态更新给服务器——

接受服务器分发数据——

更新本地其他玩家行为——

退出战斗场景——

清理战斗场景数据——

清理战斗UI显示——

标签: Unity3D

« | 冬雪»

发表评论:

雨辰 joyimp|@2011-2018 京ICP备16030765号