[开发者心得] 巧用MyClearAttrGo,动态调节线上能影响游戏平衡的数据,以达到不更新游戏调整平衡

[复制链接]
828 |5
叽里咕噜小胡桃 发表于 2024-1-12 16:37:42 | 显示全部楼层 |阅读模式
大家在调节游戏难度、游戏设定平衡时经常会遇到类似的情况
比如:调整某一关怪物的血量,调整玩家升级所需的经验
这些都需要反复调整、验证,才能找到比较平衡的值
而每次调整都要进行一次发版的话,就太折腾人了
所以这里安利一手MyClearAttrGo,把需要调整的参数加入到MyClearAttrGo里,可以在KV后台及时调整数据的平衡,再也不用调一次发一次版了~
用到的脚本:[单脚本][MyClearAttrGo] 玩家/全局属性管理器 口袋方舟论坛|面向全年龄的UGC互动内容平台与交流社区
演示案例:不发版的情况下调整枪械对僵尸的击退系数

其他可能的脑洞:
1. 可以把更新公告之类的UI显示的文本也接入全局存档,方便动态调整祝福语、公告等
2. 可以把经验倍率等参数也接入全局存档,方便开双倍经验之类的活动~


回复

使用道具 举报

复读机读复读机 发表于 2024-1-12 18:49:50 | 显示全部楼层
这个可以实现线上热更新吗
回复

使用道具 举报

叽里咕噜小胡桃楼主 发表于 2024-1-28 12:50:46 | 显示全部楼层
复读机读复读机 发表于 2024-1-12 18:49
这个可以实现线上热更新吗

是的 如果你的配置存在这里的话 随时可以热更 而不需要重新发游戏~
回复

使用道具 举报

躲猫猫作者_思想的鱼 发表于 2024-2-5 13:55:32 | 显示全部楼层
你好,我在制作打怪游戏过程中使用到了此脚本。其中部分代码偶发报错如下:

game.js定位位置:

let oldMap = new Map(MyClearAttrGo.instance.Map_playerState);


报错信息为:

function is not iterable (cannot read property Symbol(Symbol.iterator))



我试着修改,通过使用 Object.entries 将 Map 转换为一个包含键值对数组的可迭代对象:

let oldMap = new Map(Object.entries(MyClearAttrGo.instance.Map_playerState));


回复

使用道具 举报

叽里咕噜小胡桃楼主 发表于 2024-2-5 13:57:34 | 显示全部楼层
躲猫猫作者_思想的鱼 发表于 2024-2-5 13:55
你好,我在制作打怪游戏过程中使用到了此脚本。其中部分代码偶发报错如下:

game.js定位位置:

感谢尝试 后续有结果的话 欢迎反馈 考虑合入
回复

使用道具 举报

躲猫猫作者_思想的鱼 发表于 2024-2-19 15:05:48 | 显示全部楼层
报错内容:
TypeError: MyClearAttrGo.instance.Map_attrSettingNode.has is not a function

报错位置:

if (MyClearAttrGo.instance.Map_attrSettingNode.has(key)) { // 此行代码报错。
                        switch (MyClearAttrGo.instance.Map_attrSettingNode.get(key)
                            .attrInstanceType) {
                            case "string":
                                goVaule = obj[key];
                                break;
                            case "number":
                                goVaule = Number(obj[key]);
                                break;
                            case "boolean":
                                goVaule = Boolean(obj[key]);
                                break;
                        }
                        MyClearAttrGo.instance.Map_playerState.set(key, goVaule);
                    }


暂时没有解决方案。求大佬维护一下。(此问题偶发)
回复

使用道具 举报

72小时热榜
热门版块
快速回复 返回顶部 返回列表