[开发者心得] 【小工具】洋葱数值--帮助大家可视化调整数值(持续更新)

[复制链接]
1353 |4
纤纤公子 发表于 2023-8-6 14:35:05 | 显示全部楼层 |阅读模式
做数值的痛点
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.png
(图宏 1)


2.png
(图宏 2)

3.png
(图宏 3:该图是一个运算层,,即图宏2里的攻击


作为常量
4.PNG
(图宏 4)
图宏 4:
红点1:向下取整实际代码,获取符号函数体链接的数值为a,向下取整为b,返回b(点击右侧函数列表能快速为宏命令输入框添加逻辑内容)
5.PNG

红点2:宏可以作为临时常量使用,很方便

6.PNG

右键运算体函数类型
7.png

常用函数
常用函数包含了常见的数学计算方法在里边,向上向下取整、平方开方、绝对值、四舍五入等等
25.png
(常用函数概览)

通过右键创建了常用函数pow,鼠标移动到红点1上,红点2处提示请输入[值,值],则下边需要拖入2个值
8.png
(鼠标移动到红点1上)

拖入了名为y1的值在第一个位置,名为常量的值在第二个位置,得到的结果是100,相当于宏里边执行了Math.pow(10, 2)
9.png
(通过常用函数得到的结果)

10.png
(通过宏得到的结果与常用函数运算结果一致)
算法函数
常用函数包含了5个几何函数- distance:计算两个点之间的距离,通常用于计算欧几里得距离。- length:计算向量的长度或模,也可以称为向量的大小或幅度。- dot:计算两个向量的点积,也称为内积或数量积。点积可以用于计算向量的夹角或投影。- cross:计算两个向量的叉积,也称为外积或向量积。叉积可以用于计算平面上两个向量所在平面的法向量,或者计算三维空间中两个向量所在平面的法向量。- mix:将两个向量按照一定比例进行线性组合,通常用于进行插值计算。

11.png
(算法函数概览)

12.png
(算法函数)

上图中当我们指向红点1时,红点2位置会提示我们该函数需要几个值,此处为4个
13.png

处理函数
处理函数包含了一些常见计算方法
14.png
(处理函数概览)

15.png
(50除以2)

三角函数三角函数包含了一些常见计算方法
16.png
(三角函数概览)

17.png
(50乘以pi)
逻辑处理逻辑处理提供了一些常用比较,循环判断,数组方法
18.png
(逻辑处理概览)

19.png
(如果常量大于x1则返回y1否则返回x2)

常用公式

常用公式提供了最基础的一些攻防算法
20.png
(常用公式概览)

21.png
(攻击-防御)

游戏公式游戏公式提供了相对于常用公式更复杂,更偏向游戏实际算法的一些公式
22.png

23.png

权重

通过权重来设置概率,模拟开箱子一类玩法爆出道具的概率,运用范围很广,抽奖之类的功能都能用它

强化强化功能用于模拟游戏升级武器,到达某个等级时的概率,下图中红色箭头为设置的升级失败下降等级(-1是武器破了,0是不掉级,1是降1级。),绿色为升级成功提升等级
24.png

左侧累计次数模拟的是真实跑了多少次可能强化成功
比如3级的强化概率是0.0001%。。你设定1次。程序就会自动去跑强化,强化到3级之后,程序就会停止,实际上呢,你强化了几万次才强化到了3级。


实例(模可视化拟战斗)
实例数据更新修改基础参数,所有使用到该参数的公式都会受到影响

28.png

当原数据或公式参数改变后,想要应用到实例里,则需要点击右下角的更新数据按钮,此时实例部分的数据将立刻应用
27.png

实例库数据更新
为单个实例对象修改其临时参数,只影响该对象的设定
在实例界面右侧找到创建的实例对象
第一步:双击实例对象,打开实例的看板库
第二部:双击看板库,打开看板的具体参数
第三部:修改此对象的临时数据
26.png


回到实例主界面,点击战斗指令集的第三个按钮刷新,即可为当前对象应用新的参数使其生效






回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-8-6 14:37:00 | 显示全部楼层
入门数值策划小白的神器!! 很棒的分享
回复

使用道具 举报

纤纤公子楼主 发表于 2023-8-6 14:43:37 | 显示全部楼层
叽里咕噜小胡桃 发表于 2023-8-6 14:37
入门数值策划小白的神器!! 很棒的分享

是的,胡桃老师也请多多提供案例~大家一起来使用看看
回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-8-6 14:44:28 | 显示全部楼层
纤纤公子 发表于 2023-8-6 14:43
是的,胡桃老师也请多多提供案例~大家一起来使用看看

学习使用中!
回复

使用道具 举报

空伊伊 发表于 2023-8-6 15:22:03 | 显示全部楼层
干货啊!
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表