- [2023 TGDF 台北遊戲開發者論壇](https://2023.tgdf.tw/) - [共筆目錄](https://hackmd.io/@bogay/TGDF-2023) ## 講者介紹 [Vishnu 卓](https://2023.tgdf.tw/speakers/vishnu) 在博弈產業工作超過五年的機率與後端工程師。 對各種關於遊戲的數學方法,如:博弈論、排列組合、條件機率與數值分析有深刻的理解,且精通演算法、資料結構與遊戲核心邏輯實作。 Vishnu 是我的靈性名字,守護與維持之神。人生目標是擁有自己的事業「永恆遊戲」。 Blog: https://www.forevergame.org。 ## 議程介紹 最近丁特與遊戲橘子的法律糾紛,丁特利用不斐的新台幣去測試某件事情的中獎率,藉由統計上我們可以認定遊戲橘子有高度可疑調控機率作法,然而玩家或者說是消費者要如何去保證自己玩得遊戲是公正的呢? 講者 Vishnu 卓 會介紹一個玩家或消費者可以檢驗且完全不可能造假的機制,此機制是藉由哈希函數的雜湊不可逆完成此機制。 希望未來遊戲公司可以多導入一些這種驗證機制,與玩家之間就不用靠信任或大數檢驗,利用此方式即可有雙方都有檢驗的手段,而遊戲公司更可以專心在開發遊戲數值設計,而不是靠這種改機率的手段獲利。 對象:遊戲公司的企劃,數值與程式和玩家。 基礎知識:不太需要基本知識,只是會簡單介紹一下這個機制的原理。 主要收穫:哈希函數的雜湊概念,了解一種公正的隨機機制。 # 內容筆記 <!-- 在這裡之下寫筆記。 --> ## 講者介紹 - 曾任遊戲產業後端 & 機率工程師 - 現任 騰雲運算 RD Team Lead - linkedin.com/in/vishnucho - 神祕學推廣 (?) ## 大綱 - 機率與隨機的討論 - 丁特紫布事件 - 單個隨機敘述的多種定義 - 期望值與選擇心態 - 選擇與機率 - 公正機制的設計 - 某遊戲商提供公正機制的範例 - 針對公正機制仍存漏洞修復 ![](https://hackmd.io/_uploads/r1J9FZFq2.png) [議程VOD](https://www.youtube.com/playlist?list=PLDKy4y-stltLM1A-70pws-LmIM59IeNmL) ## 丁特與遊戲橘子紫布事件 實況主花費數百萬抽道具,發現牌告機率與實際獲取機率相差甚大。 ### 轉蛋法 2022/12/29 發佈。 - 要求揭露機率:公開頁面顯示中獎率 - 明定中獎機率的定義:是否有設定條件 - 明定中獎機率揭露的範圍:消費者付費直接或間接取得 - 明定中獎機率接露的方式:機率應以數字百分比(%)顯示 ### 丁特的中獎率驗證 - 丁特抽 475 次中獎 11 次 - TL;DR:丁特只抽到 11 張以下的機率是 0.25% ### 假設檢定 - 虛無假設:假設一個要被推翻的東西 - 對立假設:拒絕虛無假設時,會成立的一個假設 - 統計學:顯著水準 (P) 0.05. 當 P 低於 5% 通常我們會接受對立假設 > 聊天室補充:3Blue1Brown 有一個 Youtube 影片也在講這個主題,用小樣本就可以推估有沒有逼近官方數據,可以搜尋: [Binomial distributions | Probabilities of probabilities, part 1](https://www.youtube.com/watch?v=8idr1WZ1A7Q) > [name=soymilkmusic] ### 伯特蘭悖論 - 考慮一內接於圓的等邊三角形,隨機選圓上的弦,則弦長大於三角形邊長的機率? - 隨機端點: 1/3 - 隨機半徑: 1/2 - 隨機中點: 1/4 根據不同敘述,得出不同結論 ### 降雨機率:機率隨不同的人為定義 - A: 面積 - B: 機會 現在台灣從 A 改成 B 了 1. 預測技術提升 2. 觀測數據增加 3. 導入 AI ### 期望值與選心態的討論 - 選擇期望值最大的就是理性? - 不同心理狀態對選擇的差異 #### 見好就收 vs. 賭一把 ![](https://hackmd.io/_uploads/BkmFhWY92.png) - 收益時,大多人更厭惡風險(更傾向直接獲取) - 虧損時,大多人更願意承擔風險 ### 聖彼得堡悖論 「翻硬幣直到正面」的賭局:若反面則加倍。 1. 第 1 次翻到正面:收益 1 元 1. 第 2 次翻到正面:收益 2 元 1. 第 3 次翻到正面:收益 4 元 1. 第 4 次翻到正面:收益 8 元 1. 第 5 次翻到正面:收益 16 元 1. ...... -> - 計算期望值會得到無限大! - 然而研究發現,受試者通常只會願意拿 500 ~ 1000 去賭 ## 所以隨機是什麼? > 可參閱講者 blog,有幾篇相關文章 ### 機率是魔鬼 - 全知者悖論:知道所有粒子的動量跟位置,就能知曉過去跟未來 - 在現代被相對論跟量子力學推翻 - 不確定性原理(測不準原理) - 沒有無窮的計算粒 - 沒有無窮的儲存空間 ### 隨機的浪漫 - 機率真的測不準還是命中注定? [文章連結](https://www.forevergame.org/math/2023-01-13/) - 隨機亂數產生器是偽隨機數 - 會被 seed 決定 - 可信任的前提 - 初始值 & 演算法安全 - 週期夠長 & 隨機性夠高 - 講者的一些哲學思辨:目前一些真正的隨機,或許等到有一天人類對他們有更深刻的理解時,就會發現也是一種偽隨機 ### 隨機這件小事 - 魔鬼藏在細節裡 - iPod shuffle 小故事 - 透過演算法刻意控制亂度,e.g. 相同曲風避免重複播放 - 初始值的輕微擾動會造成結果極大的差異 - 三體問題 - 混沌擺 - 雜湊函式 - 不對稱性可用於公正性事前檢驗 ### 一般遊戲流程 1. 請求轉蛋結果 2. 回應是否中獎 當有足夠多數據時,可以用統計證明廠商是否作弊,但仍然有機低機率冤枉遊戲公司(以丁特的案例來說,25 / 10000) ### 公正機制 #### 初始化 ![](https://hackmd.io/_uploads/ByWYzGK9n.png) #### client-side 驗證 1. 檢查種子 hash 值與 server 原本的回應時否一致 2. 拿到的原本的種子來檢查之前拿到的結果是否正確 ### 上述公正機制的漏洞 - 種子可被 server 端刻意挑選 - 玩家重用幸運碼提高 server 挑選難度 #### another approach ![](https://hackmd.io/_uploads/BJc9mfF92.png) - 使用兩組幸運碼 - server 沒辦法事先偽造幸運碼 [Slido提問區](https://sli.do/8537146)