遊戲數值:概率/隨機性 概述


3樓貓 發佈時間:2025-02-08 13:33:18 作者:MeowMeowRanger Language

前言

一些遊戲設計的數學基礎,無 AI。但有自信這篇文章可能比真的AI寫的還無聊哦~{・ω -*}
V哥3代青年才俊是真的帥!以及3代獨有的背後收刀動作

V哥3代青年才俊是真的帥!以及3代獨有的背後收刀動作

基礎數學

  • 階乘 Factorial: 3! = 3 x 2 x 1 常用於各種概率計算中
  • 排列Permutation: 常寫作 nPr 代表 n個樣本中取 r 個 有多少種排列,排列在乎順序
  • 組合Combination: 常寫作 nCr 代表 n個樣本中取 r 個 有多少種組合,組合不在乎順序
  • 條件概率Conditional Probability: P(A|B) 代表 已知B隨機事件已經發生的情況下,A隨機事件發生的概率
  • 期望 Expectation: 用於衡量隨機事件的平均收益
  • 方差 Variance: 用於衡量隨機事件的離散度 方差越大 隨機事件的結果越離散,給人感覺越“隨機”
  • 隨機方程 Random Equation: 用於生成隨機數/隨機數列的特殊方程,具有[確定性 deterministic]的特質,即 如果輸入同樣的隨機種子時,會生成固定的隨機數。
  • 隨機種子(簡稱“種子”): 隨機方程開始生成隨機數的必要初始條件,一般可以為任意數字。如 1 / 3.1415926 / 888888888 等
  • 熱噪音 Thermal Noise : 指計算機電路中不可控的細小電壓變化,在一些較新的芯片中可以被用來生成真隨機數。
  • RNG (Random Number Generator) 隨機數生成器: 熱噪音 和 隨機方程 都屬於RNG的一種實現方式。
  • 信息熵 Shannon Entropy: 信息學/密碼學概念 可以用來衡量任意一串數據帶有的信息量,主要用來衡量數據更可能是隨機噪音還是人工編寫的信息,也用於 Frequency Analysis詞頻分析 用來破譯密碼。
基礎版本的排列/組合/概率

基礎版本的排列/組合/概率

做遊戲設計時,設計一個隨機事件 該事件單次的發生概率 反而是比較次要的。
  • 期望 = 玩家觸發後的收益
  • 方差 ≈ 玩家實際感受到的概率(隨機性)
  • 觸發頻率 ≈ 實際概率 + 時間成本
這3者都比一個單次觸發概率重要的多。
滾5這把魔神武器 改成 2%概率造成50%最大血量傷害 都是不是這個味道

滾5這把魔神武器 改成 2%概率造成50%最大血量傷害 都是不是這個味道

計算機硬件實現:基於隨機方程 vs 基於噪音/熱噪音
現在主流遊戲引擎還是在使用隨機方程生成隨機數,這樣 1.可以使用固定隨機種子 重現一些bug 更方便排bug 2.可以操控觸發頻率低事件的實際發生概率
現在主流的做法把這一刻的時間戳作為基數,做一些簡單的修改後作為隨機種子。被逆向/被利用的可能性也已經低到可以忽略不記了。
基於熱噪音則是可以做到真正的不可預測。大部分現代CPU都是有這個功能的,但是不是所有的編程語言都做了對應的適配。有些研究認為熱噪音雖然不可預測,但是產出的數列分佈不夠隨機,可能還是需要通過傳統的隨機方程去除偏向性(debias)。
真隨機 vs 偽隨機
上述的隨機方程熱噪音其實都算是真隨機分佈,但是電子遊戲特別電子競技為了保證是一場技術之間的較量 而不是單純一方運氣好,會採用一種特殊的偽隨機分佈。
自Dota2 Wiki : 25%概率觸發的事件 需要幾次攻擊才能觸發(下方橫軸)

自Dota2 Wiki : 25%概率觸發的事件 需要幾次攻擊才能觸發(下方橫軸)

如果使用偽隨機分佈,一個25%概率觸發的攻擊特效在第一次攻擊時觸發的概率更低了(圖中7%)左右,但是在第3次 第4次攻擊時觸發的概率則要高上不少。這樣實際結果會更接近 每4次攻擊觸發1次攻擊特效。
偽隨機 vs 真隨機 還是個還在爭論的議題,像 Dota2 PA的暴擊也經歷了 真隨機->偽隨機->固定攻擊次數後必定觸發 等多次改動。
做拆解 / 反推: 1.利用信息熵(又名 香農熵 Shannon Entropy)在不知道概率(假設所有可能結果概率相等)的情況下,反向去推測這一系列事件/樣本 更可能是隨機事件 還是 更可能是人為操控的事件。例如:一個公平的6面骰(D6)的信息熵(此時為最大信息熵)約為 2.85單位,一個做過手腳的骰子(如 50%概率投中1)的信息熵會只有2.1單位左右,小於最大信息熵。 2.利用 標準差(Standard Deviation) + 百分位數(Percentile)也可以在正態分佈樣本中去反推這個樣本是否符合正態分佈。例如:約 95%的數據應該集中在 平均數± 2個標準差的範圍內。 *總之有一個足夠大的樣本集了就什麼多好說。難點是怎麼收集樣本。

非理性的概率

現實生活中的人和經濟學中“理性經濟人”相差甚遠 這個現象已經不新鮮了。心理學 金融行業 遊戲行業 都重新“發現”過這個現象。
先列一些相關概念
  • 損失收益分析 Risk and Return Analysis / Pros & Cons 在做決策前,先把做這個決定帶來的收益 損失 成本 等要素列出來,然後再權衡利弊。有助於避免邏輯諺誤。
  • 利益相關者分析 Stakeholder Analysis 在做決策前,先把和這個決定決定相關的所有利益相關者 和 他們對應的利益列出來,然後再權衡利弊。有助於從多個角度思考問題。
  • 阿爾法 貝塔收益 Alpha return vs Beta return 阿爾法:超額收益 比市場價 市場平均收益高不少(可參考為一個標準差)以上的收益 貝塔收益:循規蹈矩情況下能拿到的平均收益
  • 邏輯謬誤 Logical Fallacy 因為人腦的生理性本能 容易出現的邏輯錯誤
  • 決策模型 Decision Making Model 為了避免人腦出bug 總結出來的一些常見邏輯思維模型
  • 獨立的批判性思考 Independent Critical Thinking 俗稱“實事求是”,人類個人能達到的理想理性狀態
價值並不等價:損失厭惡RiskAversion / 展望理論ProspectTheory
人類對於 價值 或者說是 資源的感知是分方向性的,而且對損失 情緒上的反應要更大。
假設有這麼一個場景
一天走在街上,一個陌生人想你靠近 禮貌地問好後,詢問你 “你願意和我賭一次拋硬幣嗎?您賭對了 我給您50元,您賭錯了您給我50元。”
此時大多數人是會拒絕的。(類似的實驗做了很多次 跨越多個文化區域 有60%~80%人都拒絕了
選項1:拒絕 = 100%期望收益為0 選項2:接受賭約 = 50%概率收益為+50 / 50%概率為-50% / 總期望依然為 0
數學上來說兩個選項是完全相同的 也應該有50%左右的選擇[選項2],但是對於人來說不一樣。所以更多人會拒絕。
用戶的心理錨點 / Framing Effect 邊框效應
人類對於收益和風險的認知還很容易被環境/上下文/說話方式 給影響。
一天走在街上,你發現你丟失了100元。 一個陌生人想你靠近 禮貌地問好後,詢問你 陌生人:“你願意和我賭一次拋硬幣嗎?您賭對了 這100元我原樣奉還,您賭錯了 我就笑納這100元了。” 你:“那麼我拒絕這場賭約呢?” 陌生人:“那麼我只還給您50元”
一個比較理想化的奇怪情況,但是如果說是已經丟失了部分錢財,為了取回這部分錢財時 人們會更願意冒風險(參考股民心理)。雖然這次兩個選項的期望值也是一樣的,但是比上場實驗更多的人會選擇接受賭約。
遊戲設計中的物資囤積問題(Horading)
正因為人們對損失/風險更加敏感,遊戲中哪怕物資的獲取正好趕得上消耗,玩家也更習慣於囤積大量的物資來應對“可能”的超級大戰。而不是選擇在日常戰鬥中適時使用來讓遊戲體驗更好。
可能的一些解決方案 1.讓物品產出 > 1.3倍投入了的物品消耗:個人觀察就遊戲來說 20%~30%的額外收益足夠讓玩家選擇克服50/50概率所帶來的不安 去選擇搏一把。 2.降低物品存儲上限(撿到新的同類物品自動使用):最終幻想16使用的設計,本身數值壓力不大的情況下,玩家為了避免[在不合適的時機自動使用掉貴重道具]的損失,反而會自己考慮讓庫存不要滿。
在 遊戲變現/Monetization 的應用
各類遊戲的每日任務 每週任務 / SeaonPass 通行證 WarFrame 星際戰甲的每日登入可能會拿到限時的充值折扣 無畏契約 Valorant 的黑市折扣
都是先“免費”給玩家一些(超額)收益(的假象),玩家為了獲得這部分收益 也就很多時候會選擇在自己沒有真正需求的時候購買了。

基於時間成本的收益/成本計算

一個事件的成本實際上是基於時間/情緒成本等多方面的概率計算
如果有一個需要玩家主動挑戰的可選挑戰,例如魔物獵人的老山龍或者其他古龍任務來說。
3種成本 1.遇到這個機會的時間成本:只對特別想要挑戰這個挑戰的玩家來說是成本 = 等待老山龍出現 參加其他狩獵任務的時間 (可以通過合理規劃任務 減低) 2.參與的直接成本:玩家可以選擇參加或者不參加 = 參加老山龍任務的契約金 (可以視為 一旦選擇參加就瞬間沉沒)
3.玩家參與過程中的時間成本:玩家可以靠終止挑戰來減少這部分成本 玩家實際嘗試擊退老山龍任務中消耗的藥品 玩家自己操作的時間 (已付出的部分已經沉沒 但玩家隨時都可以做止損決定)
玩家自己感受到的成本 和 設計時考慮到的成本 往往差距很大。 就像工作沒事也強制加班一樣,只是獲得了加班的金錢收益,失去的是用來自我提升/好好休息的機會成本。情緒成本/機會成本也是成本。
比較好的的補償/收益不是 直接給玩家 +30%的價值原有東西,而是 原有的東西如數奉還 再搭一點其他等值30%的東西一起。追加 30%補償 在玩家眼裡 可能因為是不需要的部分 實際價值未必有 30%。
同時比如說[遇到這個機會的時間成本]較高的情況會讓機會一些收益被高估。這也是為什麼 FearOfMissingOut 星際戰甲和無畏契約的策略很有效。

設計目的:加入隨機元素是 需要/想要提供什麼樣的遊戲體驗?

人類不是喜歡隨機性本身而是喜歡 1.逐步掌握和消除隨機性 ( 中性的+對自己不利的) 2.隨機性站著自己這邊 自己在劣勢的時候以小博大 突然翻盤
不同種類的隨機設計元素
  1. 結果隨機 各類RPG中常見的設計 諸如:暴擊 / 命中 / 傷害浮動 等設計
  2. 問題場景隨機 肉鴿遊戲中常見的設計 諸如:場景中的敵人種類 / 數量
  3. 可選解決手段隨機 諸如:肉鴿中的各類成長 / 傳統牌類遊戲 手中的卡牌 / CS中的Arm Race軍備競賽模式
  4. 純表現 / 不顯著改變收益期望的事件 諸如:暗黑破壞神的的奶牛關+寶藏哥布林 鬼泣的隨機挑釁動作 *老滾5的處決 因為不像鬼泣那樣可以隨時取消 收益很不穩定 難分類
一些隨機元素的設計目的
  • 延長遊戲時間 為了體驗服務 太過隨機會出現完全無法克服的問題 = 拖時間
  • 提供更多變的遊戲體驗 前提你需要有那麼多內容/ 樂趣 不會因為你增加了隨機性就上去
  • 只是“建議”玩家嘗試一些其他選項 鼓勵玩家嚐遍遊戲所有內容
  • 縮小一些極端情況 縮小體驗上下限差距 參考 Skill Based Match Making vs Random Match Making 團隊競技中隨機性縮小了 遊戲技術差距可能導致的完全一邊倒情況

好的設計案例

  • 黑魂1:不死教區的黑騎士布怪 和 黑騎士裝備掉落 | 巴德騎士裝備
  • 口袋妖怪:概率遇到閃光神奇寶貝 / 紅藍寶石的幻之島(Mirage Island)
  • 雨中冒險2:57葉草
  • 魔物獵人P2代:貓飯的結果也帶有一定隨機性,玩家可能出現利於採集/利於狩獵的不同技能 - 》需要去採集任務洗掉效果 (鼓勵玩家進行狩獵生活 而不是一味清任務趕進度
  • 彩虹島:在特定地圖使用[挖掘]動作概率開啟特殊副本 貝希摩斯肚子
  • 我的世界:唱片和生物頭顱的獲取方式 1.概率獲取 2.引導怪物之間互相擊殺 穩定獲取
  • 生化危機4/5代:黃金雞蛋
一些可以遵循的普遍性規律
  • 多人和單人要分開談 所有人都很幸運 等於 沒有人幸運
  • pve pvp 隨機性設計要分開談
  • 隨機性搏上限 技巧+資源 保下限 是個不錯的思路
  • 最好有多條路徑都可以達到玩家想要的結果,有 隨機但低成本的 和 穩定但是成本更好的 多種方式達到目的。
  • 好的操作 好的事件就該是正向的結果 隨機性不應該使好的事件帶來負面結果,或者說隨機性也不應該讓玩家直接從劣勢中瞬間翻盤拿下勝利 最多讓幸運的劣勢玩家重新回到均勢對抗狀態。
  • 期望上給玩家帶來負面收益的事件 無論什麼遊戲 慎重投放

非要有隨機性嗎?:TRPG -> CRPG->現代電子遊戲的一點回顧

TRPG 桌面遊戲 / 跑團 時代 是一個熟人愛好者為主的遊戲形式,有很強的社交屬性。且不同於象棋等標準1v1棋類那種參加雙方都有一定關於輸贏勝負的心理準備的情況,大家更多就是為了圖個樂子 一起插科打諢消磨時間,利用【隨機性】決定反而是最公平的。
真為了過力量判定,直接趴在地上做20~30個俯臥撐還計時 那也確實挺魔怔的。同時 高手vs高手 菜鳥vs菜鳥 的勝率也都是 50%,可以粉飾一些人與人之間的實力差距,熟人之間因為遊戲爭個你強我弱也傷感情。
同時因為遊戲形式的限制,也不太能引入複雜的數學運算如累乘/指數
CRPG / 早期電子遊戲 (2000年前後) 此時對於3D即時戰鬥的 圖形技術 物理碰撞檢測,都沒有那麼成熟。大部分遊戲還是在2D到3D的過渡階段。很少遊戲能真正做出 玩家在陰影了敵人就看不見,書架上的燭臺有些許微小的不對勁其實有暗門 這類設計。所以還留下了很多隨機要素。暗黑系列 算是當時設計思路的經典。
這個時期開始引入一些 基於物理判定 或者 基於美術表現(畫面/音效)的一些遊戲機制。
3D電子遊戲時代 電子遊戲模擬現實的能力成熟後,比如敏捷/閃避/命中 機制,都可以被實時戰鬥中迴避 Just迴避 彈反等機制給模擬了,比起概率命中提供了玩家更有控制權的體驗。
個人思考: 對於一個複雜即時戰鬥的3D遊戲 有必要採用隨機機制嗎 ?比如只狼?比如星際爭霸?比如戰地風雲/CS?不需要吧。
玩家自己的行為就是一個很大的隨機因素了,不同玩家對於不同要素(強度 / 探索感 / 故事 / 風景)等很多要素的響應強度也不盡相同。只在晚上特定區域 龍之信條晚上按照固定路線巡邏的無頭騎士 幽靈牛車 / 黑魂的結晶蜥蜴,這些不是隨機 但是感覺隨機,能帶來探索驚喜的設計比起隨機來說好得多。
同時如果有大量 1點 2點 的蹭傷(比如CS的手雷 燃燒彈),用來打破一些特別關鍵的 34 x 3=102 25x4=100 這種斬殺公式(又稱 斷點值 break point value)。整個數值系統偏向模擬連續 continuous 數值,而不是離散 discrete 數值。那麼就更加沒有必要引入隨機概率事件了。
那戰地3/4/1代來說 或者 CS來說,玩家根本沒有辦法預測自己這個距離 需要多少槍才能擊殺對手。只能說是儘量壓槍瞄準,沒有功夫過度思考 破壞沉浸感。
但是單純拼技術也帶來很多問題,技術上一些微小的差距會在電子競技中被放很大。 比如 星際爭霸2 Serral 就因為他的有效Apm 很高,蟲族雖然吃Apm 但是戰術選擇上在虛空之遺現在版本前中後期又是沒有弱點,造就了 Serral 極其驚人的 70%+勝率。Serral 強嗎?確實比其他職業選手操作上強上不少 他勝率應該大於 50%,但是應該在多少合適呢?70%的勝率 也意味比賽基本不用看了,最後大概率就是Serral贏。

美術表現相關

一堆戰利品 / 金幣突然炸出來是真的很有快感的一個設計。

雨中冒險 2 RiskOfRain2:高等級怪物掉落大額金幣時,噴出的也不會是一大堆金幣,而是多個大大的金塊/金幣袋子。既直觀 又節省了渲染資源。

無主之地系列特色:擊殺Boss後戰利品真的會“滿天”

龍之信條1代:根據怪物掉落的金幣數量不同,會出現不同大小的金幣袋子。

雨中冒險 2 RiskOfRain2:高等級怪物掉落大額金幣時,噴出的也不會是一大堆金幣,而是多個大大的金塊/金幣袋子。既直觀 又節省了渲染資源。

無主之地系列特色:擊殺Boss後戰利品真的會“滿天”

龍之信條1代:根據怪物掉落的金幣數量不同,會出現不同大小的金幣袋子。

雨中冒險 2 RiskOfRain2:高等級怪物掉落大額金幣時,噴出的也不會是一大堆金幣,而是多個大大的金塊/金幣袋子。既直觀 又節省了渲染資源。

1 / 3

賭博成癮 和 變現/付費 相關

賭博陷進去的成癮者很多還是社會支持出現了問題,如果一個家庭幸福美滿 人際關係和睦 事業有建樹 且 對賭博背後的概率有一些基礎瞭解的人是幾乎不可能賭博成癮的。要麼是想證明自己 要麼是想麻醉自己 要麼想翻盤。。。。該死的麻繩總是專挑細處斷啊。。。
彈子機(帕青哥) / 超休閒遊戲 很多都是靠誇張的感官刺激去喚起過去美好的記憶 屏蔽當下的痛苦。卷的是美術/音效 和概率關係小很多了,日本也對於每小時可以走得彈子數量 / 賠率等做了很詳細的規定。
熱更新 Hot Fix + 大小月卡 + 概率抽卡 + 保底設計,這些本質還是說在遊戲內容和品質一定的情況下 通過模糊定價 儘可能把遊戲賣得更貴。和早年MMO的積累貨幣 概率強化 等設計是很相似的原理和目的。我個人覺得在這些上面做技術投資 風險較高,沒做很多研究 還請大神補充。

結語

本來想用《上帝不會擲骰子》作為標題的,但是 Alea iacta est / 骰子已經被擲下!所以!
所行正義之人 理應無所畏懼 !
出處:Netflix 劇集《隱藏關 Secret Level》中戰錘40K部分

出處:Netflix 劇集《隱藏關 Secret Level》中戰錘40K部分

中二病犯了。。。別管我。。。吃好 睡好 保持好心情 其實人自然對於一些牛鬼蛇神抵抗力就高了 別內耗 好好生活。
引申閱讀 / 參考資料:
  1. What Makes A Good Luck Mechanic? - By Design Doc
  2. The Two Types of Random in Game Design - By Game Maker's Toolkit
  3. The Delta of Randomness - Can You Balance for RNG? The Price of Randomness - Balancing RNG More Ways to Use Randomness - What is the Goal of RNG? - By Extra Credits
  4. Behavioral Economics - By Edward Cartwright
  5. The Game Rules of the Game - By Neil Strauss
  6. Edward Bernays 的一些著作
  7. 任意大學入門級別 統計學 / 概率論 教材
  8. Dota2 Wiki:Dota2中的偽隨機 中文版本
  9. 血條進化史v2.0.0:數字與公式
  10. 明牌暗打:遊戲中戰術博弈相關的二三事
  11. 遊戲數值設計:上限/體驗邊界的確立
  12. 決策模式
  13. 邏輯諺誤

JACKPOT!


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com