网易首页 > 网易号 > 正文 申请入驻

《王者荣耀》MOBA类型游戏-技能系统设计思路

0
分享至

随着网络游戏开发的完整度提升,技能系统的设计复杂性也越来越高,导致了用模板方式的配置方法和处理方法会导致以下几个问题:

  1. 1. 代码冗余
  2. 2. 排错困难
  3. 3. 配置项冗余
  4. 4. 熟悉业务流程时间长
  5. 5. 扩展性低


经过我思考决定重写之。分析以下几个观点,由于早期设计上的局限,和实际开发预期的不符,技能系统也必然会成为策划脑洞大开的一个点,并且也会成为MOBA游戏体验的深度核心项之一。于是一个成熟的MOBA技能系统应该包含一下几点:

  1. 1. 代码流程清晰
  2. 2. 错误定位精确
  3. 3. 配置项定位精确
  4. 4. 熟悉业务流程时间短
  5. 5. 扩展性强


应该还有一些我没有想到或者没有记录到的点,在此就说明以上几个。
有一些程序在设计一些高扩展性同时又是核心要素的系统时,不出意外的也会遇到以上的几个问题。
这里的核心关键就是:
在设计之初对未来的需求是未知且不可预测的。
那么我是怎么解决以上的几个问题的呢?
因为我一直在使用 Unity 做前端开发。深知Unity的ECS (实体组件系统) 架构体系带来的便利。
于是我打算根据ECS的架构方式的模子去设计,但不完全根据ECS的架构来,保持对具体项目需求的贴切。
于是我设计了如下三个层:

  1. 1. 流程控制层
  2. 2. 原子函数层(技能)
  3. 3. 逻辑层(技能)


有时候我认为这个设计很像行为树。好吧确实有点像,但又不是那么像。这里不深究,留疑。核心还是留在解决需求上。
流程控制层具备以下几个组件:

  • CtrlBase -> 作为所有流程控制的基类
  • CtrlBreak -> 用于中断所有流程控制组件
  • CtrlCondition -> 用于流程控制中的分支操作
  • CtrlDelayTime -> 用于流程控制中的延时执行操作
  • CtrlDuration -> 用于在一段时间内执行一组动作
  • CtrlSequence -> 用于序列执行一组动作
  • CtrlTimeLine 组件 -> 用于创建一个时间轴,让所有流程组件在这个时间轴上执行


原子函数层(技能)具备以下几个组件:

  • SkillCondition -> 提供技能条件的判定
  • SkillEntity -> 提供技能实体的操作
  • SkillFightObjMap -> 提供战斗对象查询获取等操作
  • SkillInOutValueToPlayer -> 提供对战斗对象角色的数值输入输出
  • SkillPlayuerCtrl -> 提供对角色的控制操作
  • SkillTarget -> 提供技能对象的具体信息


逻辑层(技能):

  • SkillBase -> 所有逻辑层的基类 定义所有的技能逻辑层数据
  • Hero1/skill_1 -> 英雄1的技能1逻辑对象
  • Hero2/skill_2 -> 英雄2的技能2逻辑对象


类推
从以上的结构中可以直接看出目前的冗余层在逻辑层,而逻辑层的支撑在控制层和原子函数层,随着开发深度的越来越高,控制层和原子函数层的操作组件会越来越多或功能性越来越强。则为逻辑层提供的操作/组合方式更为丰富,则可实现的动作会更为强大。
并且从排错来说只要控制层和原子层确保无误(实际也必须无误),基本错误定位能直接找到对应技能的逻辑层,且逻辑层没有多余代码,每一句都和技能的具体逻辑有所关联,线性排错。难度低。如若错误出在原子或控制层则是一批技能同时出现问题,也好定位。
所以这里已经做到代码流程清晰,错误定位精确。
同时因为每个技能有独立逻辑层则配置的定义也可以独立,这里也做到了配置项定位精确。
基于以上几点精确定位的特性导致熟悉业务的时间就因此变短了。
又因为原子函数层/控制层的支持性可扩展,具体技能的业务逻辑可定制,所以扩展性强了。
给予这种设计模式,带来的好处可见是非常大的,但是同时也导致了必须要让程序长期来维护或定制具体的技能模块。所以我一直认为策划是可以具备一些脚本功底的,只要我们保证原子函数层和控制层提供的是安全接口。则可以对策划放开脚本编写,甚至可以用弱类型解析类脚本语言来提供具体的技能逻辑定制。
还有一种方案是开发一款能够生成逻辑层的流程编辑器,将原子函数层和控制层反射导入。生成逻辑层代码。不过这个成本太高而且规则不好定制。有可能还没程序直接编程性价比更高。所以我没有选择开发流程编辑器的方式。
这个架构在我实际运用中,感觉还是非常好的,因为大多的技能其实相似性还是蛮高的,如果技能难度不高,原子函数不需要迭代添加,则进行逻辑组合的时候实际效率很高。我刚刚开发完这套系统,重构现有的技能(10个左右)也就花了3个小时左右吧。相比模板开发的方式我认为在定制和排错扩展的方面效率要高的多,而且对开发者的友好度更高。
总结下来我认为所有的设计都应该建立在更贴切实际开发需求上,我认为所有的系统设计都应该建立在需求的不可预知和灵活性扩展上,同时也需要衡量它的性价比,不做过度设计,不墨守成规。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
拒绝霍启山,嫁给普通人,如今手握7枚奖牌,儿女双全住上海豪宅

拒绝霍启山,嫁给普通人,如今手握7枚奖牌,儿女双全住上海豪宅

白面书誏
2026-06-29 21:16:38
70后政法高官蔡朝晖转岗中央政法委

70后政法高官蔡朝晖转岗中央政法委

新浪财经
2026-06-29 21:06:08
比亚迪CEO警告:新款电机一旦投放市场,汽车行业恐迎结构性洗牌

比亚迪CEO警告:新款电机一旦投放市场,汽车行业恐迎结构性洗牌

沙雕小琳琳
2026-06-30 01:48:23
半路截胡!巴萨突袭 1 亿英超妖锋,阿森纳补强计划或将泡汤

半路截胡!巴萨突袭 1 亿英超妖锋,阿森纳补强计划或将泡汤

澜归序
2026-06-29 06:23:56
原来他俩已离婚,如今一个在新加坡孤独终老,一个另娶她人秀恩爱

原来他俩已离婚,如今一个在新加坡孤独终老,一个另娶她人秀恩爱

胡一舸南游y
2026-06-29 21:17:22
突发!南充一批学校暂时不建了!

突发!南充一批学校暂时不建了!

今日搞笑分享
2026-06-29 18:27:59
托伊沃宁:法国踢我们100次也许会赢99次,但唯一输也许就是这次

托伊沃宁:法国踢我们100次也许会赢99次,但唯一输也许就是这次

懂球帝
2026-06-30 01:45:12
林诗栋3-0朴康贤不可怕,可怕的是他的赛后发言,我还可以更好

林诗栋3-0朴康贤不可怕,可怕的是他的赛后发言,我还可以更好

曦言说
2026-06-29 13:43:29
世界杯日记(十八) 从9到2,亚洲还是那个弱鸡亚洲?

世界杯日记(十八) 从9到2,亚洲还是那个弱鸡亚洲?

白国华
2026-06-29 11:43:10
世界杯淘汰赛最弱半区!卫冕冠军直通8强 日本地狱级夺冠路线曝光

世界杯淘汰赛最弱半区!卫冕冠军直通8强 日本地狱级夺冠路线曝光

侃球熊弟
2026-06-29 04:09:14
月捐扣款失败会上征信?韩红基金会再起波澜,有捐赠人称陷入恐慌

月捐扣款失败会上征信?韩红基金会再起波澜,有捐赠人称陷入恐慌

火山詩话
2026-06-29 06:01:27
预警!密密麻麻!今年“大爆发”

预警!密密麻麻!今年“大爆发”

常州大喇叭
2026-06-29 09:51:57
Falcon 9一次24颗,Starship一次600颗,SpaceX星链今年能打3000颗卫星上天

Falcon 9一次24颗,Starship一次600颗,SpaceX星链今年能打3000颗卫星上天

全栈遛狗员
2026-06-29 02:52:13
中国出手,菲亲华派绝地翻盘!憋了17天,菲防长送中方一句狠话!

中国出手,菲亲华派绝地翻盘!憋了17天,菲防长送中方一句狠话!

共工之锚
2026-06-30 00:13:07
前天和男友约会,在接吻的过程中,突然有一股热流进了我嘴里

前天和男友约会,在接吻的过程中,突然有一股热流进了我嘴里

千秋文化
2026-06-24 19:51:09
WTT美国大满贯6月30日+国乒8场比赛,孙颖莎一日双赛,体能受考验

WTT美国大满贯6月30日+国乒8场比赛,孙颖莎一日双赛,体能受考验

开成运动会
2026-06-30 00:23:09
异性一旦开始做这5件小事,出轨只是时间问题,别装不懂

异性一旦开始做这5件小事,出轨只是时间问题,别装不懂

阿凯销售场
2026-06-30 00:39:32
沙特找中国,要签1.1万亿美元大单!中国基建将再度打造沙漠奇迹

沙特找中国,要签1.1万亿美元大单!中国基建将再度打造沙漠奇迹

有范又有料
2026-06-27 12:55:26
核心基地近乎全灭,美军苦心经营了20年,被伊朗8000发弹炸回原形

核心基地近乎全灭,美军苦心经营了20年,被伊朗8000发弹炸回原形

墨兰史书
2026-06-30 02:00:03
李谷一道出实情,揭晓宋祖英走上高位的真相,观众:原来如此!

李谷一道出实情,揭晓宋祖英走上高位的真相,观众:原来如此!

动物奇奇怪怪
2026-06-29 18:46:04
2026-06-30 04:15:00
锐亚教育
锐亚教育
游戏制造专家
82文章数 252947关注度
往期回顾 全部

游戏要闻

魔兽世界:玩家吐槽,为什么会有人纠结DPS考核?原因很简单

头条要闻

巴西2-1逆转日本 卡塞米罗头槌马丁内利96分钟绝杀

头条要闻

巴西2-1逆转日本 卡塞米罗头槌马丁内利96分钟绝杀

体育要闻

他和伊朗队,再次赢得全世界的尊重

娱乐要闻

跟风电影《给阿公的牛肉丸》开机

财经要闻

万达广场批量易主 多位投资人正式入局

科技要闻

杀疯了!深圳一天出两家200亿具身智能公司

汽车要闻

全新宝马iX3长轴版将于成都车展预售 四季度交付

态度原创

本地
健康
时尚
旅游
军事航空

本地新闻

贵州小城的新目标:举办“村超”世界杯!

狂吃“糯叽叽”小心肠梗阻!

好特别的白色造型,太高级了

旅游要闻

不用远赴川西!昆明家门口的雪山秘境,藏着云南最纯粹的山野浪漫

军事要闻

普京最新发声:俄罗斯正处于命运攸关之际

无障碍浏览 进入关怀版