翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 763|回复: 5

[战役制作] 地编里随机百分比的使用

[复制链接]

18

主题

3

精华

3万

积分

征服者

耕战
5612
鹰币
12990
天龙币
0
回帖
80
附庸关系1
 楼主| 发表于 2021-2-24 14:38:35 | 显示全部楼层 |阅读模式
本帖最后由 艾约bright 于 2021-4-18 10:33 编辑

决定版有一个条件叫“随机百分比”(打了新桶mod以后的翻译),可以用来制作一些随机事件。虽然已经有很多大佬了解了其机制,但我在踩坑后才发现了该如何使用这一条件,于是来分享一下~

“随机百分比”这个条件里,可以填写整数。直觉上看,这应该指的是概率值,比如填写10,就是有10%的概率触发效果。(如图1所示

然而,微软的程序员脑回路不同常人。给定一个初始值为0的test变量,我们将触发的效果设为改变test变量为1。经过测试我们发现,无论随机百分比的值如何设置,只要大于0,就一定会使得test变为1(如图2所示)。

这说明,不管触发本身是不是循环的,随机百分比这个条件都是循环执行的,因此无论随机百分比的值设为几,终究都会触发效果,区别只是触发时间的长短罢了(看脸)。就算我们想写个简单的效果,比如开场50%概率给500资源,单用这个条件都是无法实现的。

那么就只能用比较复杂的方法来实现效果了。举个例子,有时为了避免背板,我们希望地图上的盖亚单位能够随机出现,而不是在固定地点刷。比如,在地图上某个地方,随机出现步兵、步弓或骑兵,概率各为33%,要怎么写触发呢?

这时我们就需要建立三个触发,分别是:随机出现步兵随机出现步弓随机出现骑兵这三个触发的条件和效果如图3所示。


实际上这是一种妥协的写法。内部逻辑是,三个触发同时进行概率判断,谁先触发了,就关闭其它的触发器。这样做,如果要实现N分之1的概率,就得写N个触发器。而且,“随机百分比”条件里,数值究竟填多少已经不重要了,因为实际概率跟它没关系,一般填一个较小的数字即可,比如10。大概是因为触发器的先后顺序有延迟,所以这里也不是严格的等概率的。


在另外一种情况下,“随机百分比”里的数值还是有意义的,可以把它看成权重。比如,我们希望66%的概率给300黄金,33%的概率给300食物,这个时候两者概率不相等,那么我们可以仿照上面的写法,然后在给黄金的触发里,将随机百分比的值设为20,在给食物的触发里,将随机百分比的值设为10,这样两者同时执行概率的判断,触发“给黄金”的概率就会高一倍,即形成了66%和33%的概率。


总之,这个条件的使用不太直观,第一次用基本会被坑。我只学会了一些简单的用法,高级用法还有待大佬开发。楼下回复有大佬对该条件的深入讨论。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x

评分

参与人数 2耕战 +50 鹰币 +350 收起 理由
丧无人 + 20 + 50 分享交流
cxt + 30 + 300 分享交流

查看全部评分

回复

使用道具 举报

33

主题

2

精华

2万

积分

征服者

耕战
4681
鹰币
18616
天龙币
0
回帖
477
附庸关系2
发表于 2021-2-24 16:21:32 | 显示全部楼层
本帖最后由 焚风之爱莉琰 于 2021-2-24 16:47 编辑

决定版很多方面都是直接沿用了UP系列的设定,这个条件从1.5开始就是这样了,倒不如说这是照顾老玩家的习惯。该条件会持续随机判定直到成功为止。如果你想要只判定一次,再在它下面加一个触发关闭之就行了。

如果你想要做3选1,这么做的话可能有延迟,而且概率不是均等的。可以这样设置,第一种概率为33,第二种概率为50,第三种概率为100。

回复

使用道具 举报

117

主题

9

精华

9万

积分

教皇

Wolotine

耕战
17250
鹰币
546160
天龙币
0
回帖
1570

翔鹰建站十周年纪念章小评论家第十二届火箭筒杯最佳新人第十三届火箭筒杯亚军第十三届火箭筒杯亚军赌徒勋章第八届战鹰杯单人赛冠军

附庸关系11
发表于 2021-2-24 18:56:45 | 显示全部楼层
好!我想说的琰琰已经说过了,11
回复

使用道具 举报

183

主题

9

精华

2万

积分

教皇

耕战
3325
鹰币
15212
天龙币
0
回帖
1200

翔鹰建站十周年纪念章

附庸关系3
发表于 2021-4-12 10:17:58 | 显示全部楼层
(图片请压缩到2M以下,越小越好)

非常好的教程,我终于是搞懂了【机会 | 随机百分比】这个条件的用法。之前云里雾里的。
索引:
Userpatch 实用技术贴索引←点击进入
决定版精品贴大索引←点击进入

战役:
《 兔与豹》——柔弱奴隶公主  猛兽口中求生←点击进入
《敛由国的统一》←点击进入

殊途战役制作群 QQ: 616317226
翔鹰帝国Ⅱ:决定版交流群 QQ: 112822759
回复

使用道具 举报

22

主题

0

精华

135

积分

男爵

耕战
5
鹰币
185
天龙币
0
回帖
41
附庸关系0
发表于 2021-10-20 19:20:16 | 显示全部楼层
本帖最后由 c326679a 于 2021-10-20 21:03 编辑

剛好要做隨機相關的東西~順便分享一下我測試後的發現
1.機會不是立刻觸發~所以會占用"計時"

不太可能做出5秒機會成功"立刻"出兵這樣的觸發
機會是持續性條件~也就是你設定後他會不斷的"骰"骰到觸發結束
也就是一直等一直等觸發概率=100%
最簡單的驗證就是
條件=機會
效果=生產物件(十字軍)
你會發現十字軍"一定會產生"但隨著你給的機會值不同會在不同秒數產生目前測試"機會值越大概率越大"
2.機會的確是唯一百分比,但概念可能跟樓上說的不一樣
例如
計時器1 
機會11
效果生產物件(十字軍)
不斷循環 (只有單事件)

代表1秒後的 每1秒 骰動11%的骰子 直到發生~然後觸發效果十字軍
測試起來的結果是這樣
我知道以中文來看很智障~但效果上的確應該是這樣
因為這樣的觸發達到的效果是 十字軍不定時生產
但在100秒後 幾乎都固定生產10-11隻 也就是接近概率11%

"機會"條件的腦殘性就在於~他是"持續性的" 你把觸發關閉在打開他還是在上次的"骰次"裡面
"骰次"這個詞是我自己發明的~

簡單說就是假設這個觸發被關閉並重啟了10次那第11次幾乎會必中
結果類似"計時器"在DE版中
A觸發計時器倒數100
倒數到50時被B觸發關閉
過了一陣子被C觸發開啟~
(理論上大家會認為重啟後計時器是在100倒數)其實不對~是計算你上次被"關閉的值"
也就是在C觸發被打開後 計時器依然重50倒數


以頂樓3單位的文章來看最終效果大概會是

每一秒"同時骰動以下觸發"
1秒有10%機率發生步兵
1秒有10%機率發生騎兵
1秒有10%機率發生弓兵
某一隻在未來被骰中時關閉其他兩個觸發

經過測試後大概是這個意思

因為我們不能設定立刻骰出概率~但總概率值是一樣的
然後目前想要實現"當要觸發時立刻觸發可以使用幾個技巧"
("單位夾"觸發事件概率)例如遊戲剛開始~就讓以下觸發跑動
每一秒"同時骰動以下觸發"(直接設置機會不設置計時器)
1秒有25%機率發生步兵 生產後走到最前方指定位置(彈夾槽)
1秒有25%機率發生騎兵 生產後走到最前方指定位置(彈夾槽)
1秒有25%機率發生弓兵 生產後走到最前方指定位置(彈夾槽)
1秒有25%機率發生槍兵 生產後走到最前方指定位置(彈夾槽)
這樣子過了大概100秒後關閉所有觸發~理論上你會取得接近100隻單位平均25隻以隨機排列的方式分布在(彈夾槽)
然後根據最前方的彈夾巢來決定觸發什麼就好了
例如當是步兵時才觸發效果如果不是步兵則移除

但就是整體邏輯變得比較麻煩...
回复

使用道具 举报

91

主题

14

精华

2万

积分

都主教

耕战
3368
鹰币
20766
天龙币
0
回帖
1353
附庸关系1
发表于 2021-10-21 15:55:38 | 显示全部楼层
c326679a 发表于 2021-10-20 19:20
剛好要做隨機相關的東西~順便分享一下我測試後的發現
1.機會不是立刻觸發~所以會占用"計時"

这个可以参考我设计的抽奖系统,这是机会运用范围最广,实现最成功的设计,目前在大理,北条中有相应的应用
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-4-25 18:04 , Processed in 0.153198 second(s), 80 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表