首頁 遊戲資訊 數值之美,from 熊碩《...

數值之美,from 熊碩《遊戲學導論》

今天的分享來自華中科技大學熊碩老師的《遊戲學導論》課程。其中,關於遊戲數值一些基礎概念、原則、常用公式、以及一些實踐經驗,給予了我很大的啟發。在這里,我並不打算做思維導圖或者類似大綱總結,僅節選部分簡單有趣或對我很有幫助的片段。

完整課程建議大家移步B站學習:【華中科技大學】《遊戲學導論》熊碩

數值之美,from 熊碩《遊戲學導論》

熊碩:華中科技大學新聞與信息傳播學院 碩士生導師、講師;教育部大數據與國家傳播戰略實驗室副研究員。

數值是什麼

遊戲過程中的各種問題,可以找到一種定量的方法,讓我們的遊戲過程的設計更加豐富,對平衡性的把握更加准確。而數值策劃,就是利用各種數學工具和方法,創造一系列可以表達遊戲意圖的數據模型以控制遊戲節奏。

基本能力:數學基礎、縝密思維、對數字及其敏銳、直接和經驗、工具、耐心。
數學基礎:四則運算,冪函數、正態分布、微積分、機率論。

戰鬥力

戰士vs野豬

  • 戰士:血量 hx=100,每秒傷害 dptx=20
  • 野豬:血量 hy=90,每秒傷害 dpty=10
  • 戰鬥結果:hx/dpty – hy/dptx > 0,則戰士贏野豬
    不等式可以變換為 hx * dptx – hy * dpty > 0

    將 hx * dptx 記為 FCx,即戰鬥力(Fighting Capacity),可以用來衡量單位的戰鬥能力。
    則戰鬥過程就是一個FC相減的過程,不僅可以用來判定勝負,還可以計算勝者剩餘的戰鬥力。

    使用戰鬥力做簡單職業平衡

  • 戰士:生命1000,輸出30,攻擊間隔3秒,FC=10000
  • 刺客:生命500,輸出20,攻擊間隔1秒,FC=10000
  • 多戰鬥單位戰鬥過程

    一方X0個單位,一方有Y0個單位(X0 > Y0),殺傷力為p(單位時間內輸出傷害與單位生命的比值)

    建立微分方程

    dx/dt = -py dy/dt = -px

    兩式相乘可得 x*dx/dt = y*dy/dt

    積分0-t,得到結論:X0平方-Y0平方 = xt平方 – yt平方

    蘭徹斯特平方定律:在任何時候,雙方人數平方的差距不變。如果單個單位戰鬥力為FC,則對於n個單位,其戰鬥力與FC*n平方成正比。

    案例:

  • 足球場上被紅牌罰一人帶來的實力對比變化
  • RTS/MOBA中微操和戰術的作用,局部以多打少
  • 基於攻-防的戰鬥方式

    傷害 = 攻方攻擊力 – 受擊方防禦力

    則 FCx = hx * (attx – defy) * fx,FCy = hy * (atty – defx) * fy

    案例:利用數值形成循環相剋

  • 單位A:hp = 1000, att = 50, def = 0, f = 1
  • 單位B:hp = 1000, att = 100, def = 20, f = 0.25
  • 單位C:hp = 1000, att = 25, def = 0, f = 3
  • 數字敏感

  • 星際爭霸:狂熱者vs跳蟲,由於存在傷害溢出,狂熱者優先升1級攻擊,輸出效率不是提高12.5%而是提高50%。
  • 三國殺:額外摸牌的武將血量應該<4或摸牌應付出代價,且有1血=2牌收益。
  • 三國殺:周瑜英姿多摸一張牌 vs 甄姬洛神判定為黑則保留,誰的數學期望高?
  • 劇本殺:6人本比5人本,遊戲時長和信息量不是增加20%,而是增加40%。
  • 原則

  • 數值需要在數學邏輯上是體系化(可以用公式描述),否則會造成系統崩潰和無限螺旋疊代。
  • 數據需要在規則和公式體系內解釋和操作,避免數據系統落雪疊代崩壞(策劃vs運營)。
  • 剛需元素盡可能採用線性模型,減少平衡性設置難度;非剛需元素可以採用非線性規則,性價比曲線採用冪函數,即越高級的東西性價比越低(但是提供額外附加值)。
  • 謹慎使用小數據和乘法公式,容易變成數據崩壞的大風暴。
  • 涉及機率問題,編程模擬比單純用數據攻擊計算效率高很多。
  • 遊戲洗練度理論

    Game Refinement Theory,將遊戲進程模擬成物理活動以描述其在大腦內的活動過程。用於宏觀把控遊戲節奏設置與可玩性評估。

    遊戲復雜度 = B的D次方,B是可能移動的平均數(博弈策略集),D是平均遊戲長度。

    洗練值 R(Refinement Value),成熟遊戲(象棋圍棋足球籃球)的R在固定范圍 0.073 – 0.078。

    來源:機核