保全派驻功能实现逻辑
#1227
Replies: 1 comment
-
更新了战斗文件逻辑树 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
需求分析
是否已经有现成的方案:
是的
目前已知的是有脚本实现了
泥岩
+菲亚梅塔
/澄闪
的前三层通关策略,但相关脚本的对应功能依旧存在较多的问题:保全派驻自动战斗的功能需求分析:
什么人需要保全派驻自动战斗功能:
这个功能应该如何实现?
首先,不应该是集成战略模式
集成战略的游戏内容随机性过强,固定作业的方案虽然目前拥有最稳定的深层潜力,但是玩家间不同的配置都需要独立的作业设计,推广性相对较弱。
如果采用玩家共建作业的形式,因集成战略的复杂性,每一套作业的设计难度都非常之大,一般玩家制作作业的正向反馈过小,可以预见地不会有太多人会热衷于创造作业。
因此,集成战略当前采用的是一部分受邀请的开发者研究通用决策方式的形式来设计完全没有玩家参与的全自动作战流程。
保全派驻存在一定的随机性,但没有高到这种程度
其次,常规的作业形式无法满足保全派驻的战斗需求
保全派驻除了常规的战斗之外,还存在选牌、抽牌、选装置等多种操作需求,战斗中的内容可以为普通的战斗逻辑增加一个抽牌行动的方式来解决,但其他的区别对传统自动战斗的逻辑需求增加的内容过多,而自动战斗的部分逻辑对于保全派驻而言需求不高,可以被优化掉。设计一套新的方案在开发成本上可能还会更低一些。
现有的自动战斗为有序执行逻辑模式,这种模式相对于保全派驻的战斗需求而言是一种拖累,保全派驻的战斗更适合进行无序执行列表中的内容,准确点说,使用动态顺序的形式执行。
这样可以降低作业的编写难度,同时大幅提升战斗操作的兼容性。
另外还有一个稳定性噩梦的地方在于,保全派驻的地图具备一定的随机性,这意味着会干废目前的自动战斗逻辑,或者需要为此额外重写一个检测项,而这个检测项对于普通的自动战斗是完全没必要存在的。
理想的保全派驻自动战斗,应当可以做到除了选择作业并点击开始之后,所有流程由 MAA 进行接管
这意味着所有的随机事件选择逻辑都需要在作业配置中得到定义
需要有一套相对完善的衔接逻辑完成楼层的选择
需要有相对稳定的作业实现和失效反馈逻辑
实现方式
配置文件
与战斗文件
分离配置文件
core.json
仅记录适用于全局需求的一些选项,比如干员的选择,战术装备的选择,每层强制塞人的选择逻辑等。也可以记录少量的通用战斗选择,比如 核心的战术装备配置情况,但不记录任何与具体地图相关的实际战斗逻辑
战斗文件
LT[n].json
仅包含具体地图的战斗逻辑,包括刷开局、每个波次的叠层需求,以及特殊环境下的应变(这个功能根据实际情况再考虑如何实现,以及支持的程度如何吧,但设计阶段肯定要提出来),战斗文件需要依赖配置文件进行执行,自身不保存任何与具体干员除识别ID外的相关的配置信息。在这一机制上,作业分为三个类型:
将作业文件拆分的方式有几个优点:
用户界面设计
简单模式
用户选择加载一份
执行列表
,MAA 会自动寻找列表中的配置文件并加载,并顺序执行列表中的战斗文件。有三种情况 MAA 会结束当前的保全派驻:
Max
,或者出现其他表明材料刷满的情形连续战斗
的选项为关闭时简单模式下,MAA 提供三个选项开关:
如果加上记录执行列表的功能,那么理论上每个月用户只需要点两次就能刷完保全派驻了。
高级模式
在这一模式下,用户仍然可以选择加载执行列表,但配置文件和战斗文件都将可以独立选择。
基础执行逻辑和简单模式一致,但是允许玩家覆写其中的部分配置项:
用户在高级模式下完成战斗后,可以将当前的配置打包成执行列表并发布,执行列表的可行性是否需要经过使用测试后面可以再讨论。
文件逻辑
配置文件
core.json
具体文档等到时候再写
战斗文件
LT[n].json
简单说一下,战斗文件包括三个部分:
战斗流程部分简单概括就是:
文档格式
待更新
代码实现逻辑
待更新与讨论
Beta Was this translation helpful? Give feedback.
All reactions