做数值的痛点
1.通过描述之类的告诉普通用户什么是数值,这样只会形成一个懵懂的概念,我们需要一个可视化,使用简单,逻辑清晰的工具,帮助大家入门,学习,体验数值变动带来的效果
2.已经在游戏中做出的数值模块,不能很方便的与其它模块联调看效果,导致花费很多时间
a.修改算法,需要多次启动游戏测试
b.为了灵活调整数据,需要制作GM工具修改等级等等,也是要花时间的
c.测试过程可能受其他事件影响(如游戏BUG)
d.追加一个暴击功能,之前的体验就全乱了,普通用户没有那么强大的修改数值的能力,再加上测试麻烦,为了省事儿可能就只能给算法打补丁
在论坛认识了一位创作者哥哥,他跟我分享了一些案例(感谢子弹次元的布哥哥)
5级BOSS战斗,攻击血量模拟,通过洋葱数值模拟血量和攻击速率(0.2秒射速)来调整
(游戏实际效果)
(工具模拟效果)
更换为狙击枪,攻速设定为2秒
(游戏实际效果)
(工具模拟效果)
这里附上一个B站视频,反推其他游戏的操作,有一定借鉴意义 https://www.bilibili.com/video/BV1vW4y1z7WB/?spm_id_from=333.999.0.0 学习洋葱数值的痛点
1.如果没有教程(B站上的视频没讲的,很多坑要踩,还有bug),对于会用excel做数值的典型用户来说,相对收益不是特别大,并且有一定学习成本
2.如果有较为详实的教程帮助用户快速掌握该工具,则其快速修改看板数值,从而在实例中实时看到推图刷怪速度变化,效率上是有所提升的(不用频繁修改代码,启动编辑器,一次次的去确认数据正确与否)
对象类型元数值最基础的数值单位
运算层公式实例的所在,可以通过 公式体,把计算的数据在战斗实例里添加进入 血量公式和 战斗公式里(运算层 数据公式修改后,需要在 实例库中点击 更新数据, 名字修改后,还需要重新 给实例选择公式)
宏预设一些数学库表现,使用的是 JavaScript语言
函数体https://www.bilibili.com/video/BV1h3411C7aj/?spm_id_from=333.999.0.0&vd_source=8b544d20ddfbfc6412d780597e1bfd59
看板创建看板模版,战斗实例中可以双击实例,修改 看板库里的看板参数,随时查看实际数据表现
图表层编辑器里快速生成类似excel预览数值列表,帮助快速看清楚数值成长结果
参数列表创建参数库快速模版,快速选择对应数值的模版用于展示
小技巧宏的部分使用细节关联运算层图宏1中宏代码的 下标[1]指的是 图宏2中名为 攻击的 运算层, 图宏3是攻击的具体逻辑
记得一定要将图宏3左下角的绿色圈圈与运算体链接,否则计算出来的值无法传到到图宏2中
(图宏 1)
(图宏 2)
(图宏 3:该图是一个运算层,,即图宏2里的攻击)
作为常量(图宏 4)
图宏 4:
红点1:向下取整实际代码,获取符号函数体链接的数值为a,向下取整为b,返回b(点击右侧函数列表能快速为宏命令输入框添加逻辑内容)
红点2:宏可以作为临时常量使用,很方便
右键运算体函数类型
常用函数 常用函数包含了常见的数学计算方法在里边,向上向下取整、平方开方、绝对值、四舍五入等等
(常用函数概览)
通过右键创建了常用函数pow,鼠标移动到红点1上,红点2处提示请输入[值,值],则下边需要拖入2个值
(鼠标移动到红点1上)
拖入了名为y1的值在第一个位置,名为常量的值在第二个位置,得到的结果是100,相当于宏里边执行了Math.pow(10, 2)
(通过常用函数得到的结果)
(通过宏得到的结果与常用函数运算结果一致)
算法函数
常用函数包含了5个几何函数- distance:计算两个点之间的距离,通常用于计算欧几里得距离。- length:计算向量的长度或模,也可以称为向量的大小或幅度。- dot:计算两个向量的点积,也称为内积或数量积。点积可以用于计算向量的夹角或投影。- cross:计算两个向量的叉积,也称为外积或向量积。叉积可以用于计算平面上两个向量所在平面的法向量,或者计算三维空间中两个向量所在平面的法向量。- mix:将两个向量按照一定比例进行线性组合,通常用于进行插值计算。
(算法函数概览)
(算法函数)
上图中当我们指向红点1时,红点2位置会提示我们该函数需要几个值,此处为4个
处理函数 处理函数包含了一些常见计算方法 (处理函数概览)
(50除以2)
三角函数三角函数包含了一些常见计算方法
(三角函数概览) (50乘以pi)
逻辑处理逻辑处理提供了一些常用比较,循环判断,数组方法
(逻辑处理概览)
(如果 常量大于 x1则返回 y1否则返回 x2)
(常用公式概览)
(攻击-防御)
游戏公式游戏公式提供了相对于常用公式更复杂,更偏向游戏实际算法的一些公式
权重
通过权重来设置概率,模拟开箱子一类玩法爆出道具的概率,运用范围很广,抽奖之类的功能都能用它
强化强化功能用于模拟游戏升级武器,到达某个等级时的概率,下图中红色箭头为设置的升级失败下降等级(-1是武器破了,0是不掉级,1是降1级。),绿色为升级成功提升等级
左侧累计次数模拟的是真实跑了多少次可能强化成功 比如3级的强化概率是0.0001%。。你设定1次。程序就会自动去跑强化,强化到3级之后,程序就会停止,实际上呢,你强化了几万次才强化到了3级。
实例(模可视化拟战斗) 实例数据更新修改基础参数,所有使用到该参数的公式都会受到影响
当原数据或公式参数改变后,想要应用到 实例里,则需要点击右下角的 更新数据按钮,此时 实例部分的数据将立刻应用
实例库数据更新 为单个实例对象修改其临时参数,只影响该对象的设定
在实例界面右侧找到创建的实例对象
第一步:双击实例对象,打开实例的看板库
第二部:双击看板库,打开看板的具体参数
第三部:修改此对象的临时数据
回到实例主界面,点击战斗指令集的第三个按钮刷新,即可为当前对象应用新的参数使其生效
|