隨機掉寶,對玩家來講真的隨機嗎?

2022-02-02 16:56:55 字數 1295 閱讀 7384

一般我們處理隨機率,使用random.range(min,max),如果返回值在我們設定的範圍內,則隨機命中成功。

打個比方:牛魔王掉裁決的概率為0.1%,也就是說,搞死牛魔王1000次(默哀),會掉一把裁決。

我們來模擬下,10組玩家擊殺牛魔王1000次的結果:

可以看出,大部分結果還是比較真實的反應了概率,但是值得注意的是第6組打了1000次,還是沒有出裁決,這玩家肯定要罵娘了,為什麼?還是思想「不患寡而患不均」在作祟,「你承諾了千分之一掉寶率,為什麼我起早摸黑打下來毛都沒有,第三組爆了三把?」

同樣的,比如鑲嵌寶石成功率為20%,也就是理論上5次成功一次,那麼鑲嵌5次全部失敗的概率是多少?0.8*0.8*0.8*0.8*0.8=32.768%,如果我們還加上鑲嵌失敗,裝備爆掉的懲罰,估計玩家能鬱悶很久。

這個時候,光靠計算機那雙「看不見的手」來控制隨機率已經不夠了,我們需要加入自己「看得見的手」

那麼我們如何修改呢?

每次失敗,隨機值累加一次!成功之後,隨機值還原。

拿鑲嵌寶石來說

次數

成功率

120%

240%

360%

480%

5100%

那麼**需要怎麼修改呢?

裁決掉寶率為千分之一:random.range(0,1001),我們設定命中值為最大的1000

每次掉寶失敗,隨機範圍的起始值+=掉寶率,這樣,隨著失敗的增加,隨機範圍的起始值越接近命中值; 掉寶成功,起始值還原

這樣修改,可以保證遊戲廠家對玩家做出的千分之一的掉寶率是有效的。

但是我們也可以看出,由於我們的干預,在隨機的過程中,隨機範圍是在不斷縮減的,這導致掉寶的命中率不斷提高。模擬的結果也證實了我們的猜測,掉寶的實際結果會比千分之一要高

玩家是不會抱怨掉寶率的增加的。

這個機制適用於各種用到隨機值得地方,比如暈眩機率、任務觸發機率、暴擊機率等等。

在比如boss掉寶、裝備合成成功率的地方,將累加值儲存起來,在玩家上下線之後,累加計數的影響依然存在。(一般在資料庫設計的時候,在掉寶率所在的表裡,把隨機累加值作為字段新增進該表就好了)

在頻繁的實時戰鬥模組(比如暈眩、暴擊),進入當前場景後,初始化累加值就好了。

如何對玩家付費潛力,進行深度挖掘

費場景是否合理,是影響玩家付費的最直接因素 對於案例遊戲而言,玩家隨時隨地都有可能收到來自系統的付費彈窗,玩家消費破產時首先提示的不是破產補助資訊,而是充值資訊,再加之首充禮包的 不足,很容易讓遊戲的新手玩家產生出一些反感的情緒,對留存和活躍的相關指標也是不利的。玩家在遊戲無法繼續進行的時候需要補充...

玩家的分類和對遊戲的期望

特點 會花大量的時間來玩,研究遊戲,評價乙個遊戲的重點是乙個遊戲是否提供了艱鉅的挑戰,這項挑戰是對細節的持久注意,認真準備所花費時間或高難度的手眼配合。對數字特別在意,如果遊戲沒有遵從自然界的普遍規律,也會非常惱怒。但是市面上看,普通玩家才是決定性因素。1.挑戰與自我證明 例如跑跑裡的高難度跑道,連...

對查詢結果隨機排序

為了對行進行隨機排序,或者返回隨機選擇的x行資料,你可以在select語句中使用rand函式。但是rand函式在整個查詢中只被計算一次,所以所有的行都具有相同的值。你可以使用order by子句根據從newid函式返回的結果來排序行,如以下 所示 select from northwind.orde...