关卡可视化流程思考
目录
一:项目的关卡流程
主要两部分组成:
一:编辑器(云图编辑器):
1.云图编辑器是一个流程向功能的可视化编辑器,它可以将一些由流程驱动的游戏功能配置,
通过拖拽图形、创建连线的可视化方式来表示,并自动生成对应的excel数据。
2.让使用者只关心数值向的配置,无需在excel中填写流程控制方面的配置,也可以将excel数据导出流程图,
策划无需参与任何excel表格的处理,方便策划和程序维护,一切都是所见即所得。
二:代码层
1.程序角度看,策划编辑好的流程最终还是落地到excel表里。
根据表里的规则,生成对应的代码逻辑。
2.代码上就是一个个触发器(trigger)和一个个行为(action),串连形成的场景流程。
例如:怪物的血量低于30%,释放一个技能。
监听怪物的血量是否低于30%是用一个监听怪物血量百分比的触发器,
当怪物血量低于30%则满足条件,触发器触发,开始执行配置的行为。
这里释放一个技能,就是一个行为。
二:对于流程的一些思考
当前设计上有待优化的点:
1.目前流程是和场景绑定的,例如:302场景对应一个流程,有时候和场景绑定限制太死了,
不利于场景的复用。
理论上应该可以更抽象一层,一套流程对应的是一个唯一的主键,而不是场景。
目前项目为了改动较小,取了巧,和场景绑定也支持场景流程服用。
2.这一套流程在编辑器上使用的话,流程和数据是统一在一个场景下编辑的,也就是流程和数据
是耦合的。而策划在实际上使用时,确实出现了流程都一样,但是数据需要不一样。这时候没法
实现复用只能再次手动编辑数据。
例如:天山剑阵副本(爬塔),所有流程都基本一样,就是一个重复流程的副本,关卡数量特别多,
有一百多个副本。
但是就是某些关卡有一些特殊属性是定制的,假设每个关卡,其中有一个怪物名字不一样,其它都一样。
就无法实现关卡复用了,策划本来可以配置一个副本,但是现在没办法了,只能配置100多个副本。
针对这种,我想了个临时办法,流程还是只配置一套,但是在设置怪物名字时,单独实现了一个行为类型。
这个行为类型是动态去读取另一张表的数据,这张表数据是策划拉表配置的,每个怪物的名字根据关卡不同名字不同。
这样确实取巧暂时解决了问题,策划还是只需要配置一个关卡流程,然后进行复用就行,不用维护过多的关卡流程。
只是额外多了一张名字表维护,但是还好能接受,比维护一百多个流程还是好很多。
综上所述:
这是目前这套关卡流程遇到的最大问题,目前还没很好的想法怎么解决流程和数据解耦。
又怕真的实现了流程和数据解耦后,策划需要额外的维护数据表,成本又上来了。
未来需要好好考虑下,需要怎么解决这方面的问题。