จากในตอนแรก ผมได้อธิบายถึงพื้นฐาน Mechanic ต่างๆ ของระบบต่อสู้ในเกม Baldur’s Gate 3 ไปแล้ว ในตอนนี้เราจะเริ่มมาคำนวณเรื่องความน่าจะเป็นกันครับ ซึ่งผมจะทำให้เห็นภาพชัดขึ้นด้วยการทำใน Excel ให้ดู
มาดูเรื่องความน่าจะเป็นเรื่อง Attack Roll vs Armor Class ของ ศัตรูกันดีกว่า เพราะเป็นสิ่งที่พบได้ปกติและบ่อยที่สุดเลย
จุดประสงค์ของบทความนี้เดี๋ยวสุดท้ายจะมาวิเคราะห์เรื่อง Feat. Great Weapon Master All-in กับ Sharpshooter กัน ว่าตกลงเปิดใช้ Passive หรือไม่เปิด Passive ตอนไหนดี??
สารบัญ
กรณีตีธรรมดา ไม่มี Advantage/Disadvantage
สมมติผมเอา Lae’zel มาตีตัวละครผม (Sira) ที่มี AC17
กรณีนี้จริงๆ คิดในใจก็ได้แหละ มันไม่ยาก แต่ว่าผมจะเขียนออกมาชัดๆ ใน Excel ให้เห็นภาพก่อน เวลาไปดูเรื่อง Advantage จะได้เข้าใจมากขึ้น
ตอนแรกยังไม่เปิด Passive มันขึ้นว่าโอกาสโจมตีโดนคือ 65 % ดังนี้
ซึ่ง รายละเอียดของ Attack Roll ใน Log หลังจากลองโจมตีดูคือแบบนี้
คำถามคือ ความน่าจะเป็น 65% คำนวณมายังไง? มาดูกันครับ
หลักการคือ จะตีโดนหรือไม่? มี 3 กรณี ดังนี้
- ลูกเต๋า 1d20 ได้ 1 = Critical Miss เสมอ
- ลูกเต๋า 1d20 ได้ระดับ Critical Hits (ในที่นี้คือ 20) = โดนเสมอ
- ลูกเต๋า 1d20 ที่ระดับอื่นๆ เมื่อ + ค่า Bonus/Penalty ทุกอย่าง ต้อง >= AC ศัตรูถึงโดน
หรือในกรณีนี้- ลูกเต๋า 1d20 + 9 >= AC 17 ถึงโดน
- ลูกเต๋า 1d20 >=8 ถึงโดน
เรียกว่า “ค่าส่วนต่างของลูกเต๋าที่เราต้องการทอยให้ได้” ในกรณีนี้ คือเลข 8
ถ้าสรุปเป็นภาพให้ดูชัดๆ คือแบบนี้
โอกาสโดน คือ
= กรณีได้เลข 8 ถึง 20 / ทั้งหมด
=13/20 = 65%
หรือจะเขียนสูตร Excel ไปเลยเพื่อใช้รองรับกรณีอื่นๆ ไปด้วยเลยก็ได้ แบบนี้
ช่อง C9 เขียนสูตรนี้ แล้ว Copy ลงไป
=IF($B9=1,"N (Critical Miss)",
IF($B9>=$B$6,"Y (Critical Hits)",
IF($B9>=C$8,"Y","N")))
แล้วใส่ Conditional Formatting ให้เรียบร้อย
ช่อง C29 เขียนสูตรนี้ เพื่อคำนวณความน่าจะเป็น
=COUNTIFS(C9:C28,"Y*")/COUNTA(C9:C28)
- “Y*” ใน COUNTIFS แปลว่า สนใจที่ขึ้นด้วยด้วย Y
- COUNTA คือ นับทุกอย่างที่ไม่ใช่ค่าว่าง
ลองทำให้ค่าส่วนต่างเปลี่ยนไป
ทีนี้ถ้าเราเปิด Great Weapon Master All-in จะทำให้เราต้องการส่วนต่างมากขึ้นอีก 5 หน่วย คือ 13 ก็จะได้ผลแบบนี้ ว่าโอกาสตีโดนคือ 40%
ซึ่งก็ตรงกับที่โปรแกรมบอกมาครับ
ทีนี้ถ้าเราลองเปลี่ยนค่าส่วนต่างที่ต้องการไปเรื่อยๆ (ไล่ตั้งแต่ไม่ต้องการส่วนต่างเลย ไปถึงต้องการมากกว่า20) แล้วดูผลลัพธ์ จะได้แบบนี้ จะเห็นว่าโอกาสโดนคือ 5%-95% ดังรูป
ถ้าระดับคริที่ต้องการเปลี่ยนไป
ถ้าระดับคริที่ต้องการเปลี่ยนไปอาจจะไม่ส่งผลต่อโอกาสโดนในกรณีปกติทั่วไป
เช่น ใส่ของคริแล้วโอกาสตีโดนยังคงเท่าเดิม กรณนี้ คือ 65%
นั่นคือ ถ้าค่าส่วนต่างปกติทั่วไป อาจไม่เห็นผลแต่จะส่งผลต่อโอกาสโดนขั้นต่ำซะมากกว่า เช่นแบบนี้ คือ ยังไงโอกาสโดนจะไม่มีทางต่ำกว่า 20% (ถ้าเกณฑ์คริเหลือ 17)
กรณีมี Advantage/Disadvantage
กรณี Advantage
ทีนี้มาดูกรณีที่มีเรื่องของการมี Advantage กันบ้างครับ ซึ่งจะมีการโยนเต๋า 2 ลูก เอาค่ามากกว่า ดังนั้นจะโอกาสตีโดนจะเยอะขึ้นเป็นแบบนี้
ถ้าใช้ Math ปกติเลย
วิธีคิดง่ายสุดคือ หาโอกาสตีไม่โดนก่อน ซึ่งแปลว่า ทั้ง 2 ลูก ต้องโยนได้ไม่เกิน 7 ดังนั้นมีทั้งหมด =7*7 = 49 แบบ จากทั้งหมด 20*20 = 400 แบบ
พบว่าโอกาสที่ตีไม่โดน คือ 49/400 = 12% (จริงๆ คือ 12.25%)
ดังนั้นที่ตีโดนคือ 100%-12% = 88% (จริงๆ คือ 87.75%)
แต่ถ้าจะเขียนด้วย Excel ให้เห็นภาพก็จะเป็นแบบนี้
ซึ่งใน Excel ผมจะทำเป็นตาราง Matrix Crosstab ระหว่างลูกเต๋า 2 ลูก แล้วเอาค่าที่มากกว่ามาใช้ โดยคงค่าส่วนต่างเป็น 8 ไว้ก่อน แบบนี้
สูตรของ C12 (แล้ว Copy ไปทั้งตาราง)
=IF(MAX($B12,C$11)=1,"N (Critical Miss)",
IF(MAX($B12,C$11)>=$B$6,"Y (Critical Hits)",
IF(MAX($B12,C$11)>=$C$8,"Y","N")))
สูตรของ C32
=COUNTIFS(C12:V31,"Y*")/COUNTA(C12:V31)
กรณี Disadvantage
ถ้ากรณี Disadvantage ก็จะใช้ค่า Min ระหว่าง 2 ลูกเต๋า
ดังนั้นโอกาสตีโดนคือ ต้องโยนได้ตั้งแต่ 8 ขึ้นไปทั้ง 2 ลูก = 13*13 = 169 แบบ
จากทั้งหมด 400 แบบ ดังนั้นโอกาสโดนคือ = 169/400 = 42% (จริงๆ คือ 42.25%)
สรุปความน่าจะเป็นทั้ง 3 กรณี
ทีนี้ถ้าจะเปลี่ยนค่าส่วนต่างไปเรื่อยๆ แล้วดูเลขความน่าจะเป็นที่ตีโดนในแต่ละกรณีไปเลย โดยผมใช้ Excel Data Table เพื่อทำ Sensitivity Analysis แบบนี้
กรณี Critical เกณฑ์ปกติที่ 20
ถ้าทำเป็นกราฟจะได้แบบนี้
กรณี Critical เกณฑ์เลขอื่นๆ
ตัวอย่างการตัดสินใจ
สมมติเราจะคิดว่า เราควรเปิด Passive : Great Weapon Master All in (GWM) หรือ Sharpshooter หรือไม่?
ซึ่งจะทำให้เกิด Penalty คือ -5 Attack Roll แต่จะได้ +10 Damage
ซึ่งจะทำให้โอกาสตีโดนต่ำลงเป็นแบบนี้
ทีนี้จะคิดยังไงว่าคุ้มหรือไม่คุ้ม?
Assumption แรกคือ ศัตรูมี HP เยอะต้องสู้นาน (เราเลยจะคิดแบบ Dmg เฉลี่ยในระยะยาว)
Damage เฉลี่ยต่อ Hit = %ความน่าจะเป็นที่ตีโดน * Damage ที่ได้
ดังนั้น เราจะสามารถคิด % ความคุ้มค่าของ Damage ที่เพิ่มขึ้นจากการเปิด Passive ดังนี้
สมมติ Damage เฉลี่ยเดิมเป็น 8
ลองใช้ Data Table ทำ Sensitivity Analysis โดยคงส่วนต่างที่ต้องการไว้ เป็น 5,10,15 แล้วลองเปลี่ยน Damage เฉลี่ยเดิม (สีเขียว = คุ้ม เลขมากคุ้มมาก)
จะเห็นว่าจะเปิดแล้วคุ้ม เมื่อเกิดเหตุการณ์ต่อไปนี้
- เมื่อ Advantage (แล้วศัตรูไม่โหดเกินไป)
- เมื่อ Damage พื้นฐานเราค่อนข้างห่วย
- เมื่อ ค่าส่วนต่างที่ต้องการต่ำ (โอกาสโจมตีโดนสูงอยู่แล้ว)
เช่น ถ้าค่าส่วนต่างที่ต้องการต่ำ ประมาณ 5 ถ้าเปิดแล้ว Passive จะคุ้มทั้งสถานการณ์ปกติ, Advantage (และ Disadvantage บางกรณี) เลย
แล้ว Damage เฉลี่ยคิดยังไง?
อย่างที่บอกไปในบทความก่อนหน้านี้ ว่าการคิด Damage นั้นขึ้นอยู่กับ
Weapon Damage Dice + ค่า Damage อื่นๆ
ดังนั้น Range ของ Damage ที่จะเกิดขึ้นนั้นจึงขึ้นกับ Weapon Damage Dice ว่าจะ Roll ได้เท่าไหร่ด้วย เช่น
สมมติอาวุธเป็น 1d6 แล้ว+ค่าอื่นๆ อีก 5
ค่า Damage ที่เป็นไปได้คือ (1ถึง6) +5 หรือ 6 ถึง11 Damage
เวลาโจมตีจริง จะได้ Damage เท่าไหร่ไม่รู้ แต่อยู่ระหว่าง 6-11 ซึ่งสมมติได้ 9 ดังนี้ (ถ้าเป้าหมายมี Vulnerable ก็โดน 2 เท่า ซึ่งนั่นอีกเรื่องนึง)
ถ้าตีอีกที ก็อาจจะไม่เท่าเดิมใช่มะ?
แล้วโดยเฉลี่ยแล้วมันได้ Damage เท่าไหร่? เราสามารถรู้ได้ เพราะ การ Random เต๋า มันคือ Discrete Uniform Distribution ระหว่างค่า 1- หน้าเต๋า นั่นเอง
การหาค่า Expected Value
E(X) = μ = ∑ x * P(x)
แต่ละค่ามีโอกาส P(x) = 1/หน้าเต๋า เช่น ถ้าเต๋า 6 หน้า โอกาสแต่ละอันคือ 1/6 หรือ 16.67% ทำให้คำนวณได้ดังนี้
หรือเอาสูตรง่ายๆ กรณีเลขต่อเนื่องกันแบบโยนเต๋า คือ ใช้สูตรนี้ไปเลย
Expected Value = (1+หน้าเต๋า)/2 + ค่าบวก
Expected Value = (a+b)/2 : a = min damage, b=max damage
เช่น
- 1d6 ก็มี Expected Value = (1+6)/2 = 3.5
- 1d6 + 5 มี Expected Value = 3.5+5=8.5
- หรือ (6+11)/2 = 8.5 เช่นกัน
เช่น อาวุธที่เขียนว่ามี Damage ดังนี้ จะมี Damage เฉลี่ย ตามนี้ ง่ายๆ เลย
- 5-12 = 8.5
- 6-11 = 8.5 (แต่ค่าไม่แกว่งเท่าตัวบน)
- 6-18 = 12
- 8-21 = 14.5
- 9-22 = 15.5
แนวทางการตัดสินใจ
ดังนั้นถ้าผมใช้อาวุธ SoulBreaker ที่เขียนว่ามีดาเมจ 8-21 ก็จะมีดาเมจเฉลี่ย 14.5 ซึ่ง
ถ้า Focus ที่ Damage เฉลี่ยประมาณ 15 ไปเลย เพื่อให้ดูง่าย จะเป็นแบบนี้
- ถ้า Disadvantage : อย่าเปิด Passive ถ้าดาเมจเฉลี่ยระดับนี้แล้ว
- ถ้าค่าส่วนต่างที่ต้องการประมาณ 5-8 : ก็คุ้มที่จะเปิด Passive GWM ได้ไม่ว่าจะ Advantage หรือไม่
- แต่ถ้าค่าส่วนต่างประมาณ 9-10 ขึ้นไป : นี่จะคุ้มก็ต่อเมื่อได้ Advantage เท่านั้น (แต่ก็เกือบไม่คุ้มแล้ว)
สรุปการใช้งานจริงแบบง่ายๆ
เวลาใช้งานจริง ก็ดูที่ %โอกาสโดนที่เกมคำนวณให้ไปเลย
ถ้าดาเมจเฉลี่ยประมาณ 15 ผมทำตารางสรุปให้แล้ว ว่าดาเมจเฉลี่ยคุ้มหรือไม่?
(TRUE = เปิดแล้วคุ้ม)
- ถ้ากรณีปกติ ไม่มี Advantage :
- ถ้าก่อนเปิด Passive โอกาสโดน 65% Up ก็เปิดใช้ Passive เลยครับ
- ถ้ากรณี Advantage :
- ถ้าก่อนเปิด Passive โอกาสโดน 80% Up ก็เปิดใช้ Passive ได้เลย
ตอนต่อไป
ในตอนต่อไป เราจะมาดูแนวทางในการ Up Level รวมถึงการ Change Class เลือก Feat ต่างๆ กัน ว่าเลือกแบบไหนน่าจะคุ้มกับสิ่งที่ต้องการครับ