วิธีที่ดีที่สุดที่จะได้ข้อสรุปในเรื่องนี้คือ - เหมือนกับสิ่งส่วนใหญ่ในการพัฒนาเกม - ก่อนอื่นให้คิดว่าคุณต้องการให้เกมเล่นอย่างไรจากนั้นทำการคำนวณทางคณิตศาสตร์
คุณต้องการให้ผู้เล่นเล่นนานแค่ไหนในแต่ละด่าน?
ในเกม RPG ที่เน้นเนื้อเรื่องผู้เล่นคนเดียวคุณอาจต้องการให้เลเวลอัพเป็นรางวัลที่คงที่และให้ผู้เล่นเลเวลอัพทุกๆสองสามนาทีระหว่างเกมทั้งหมด อัตราการเพิ่มระดับยังคงที่ดังนั้นฟังก์ชันนาทีต่อระดับของคุณจึงเป็นค่าคงที่ ( time = c
)
ในเกมที่เน้นความสำเร็จเช่น MMORPG คุณมักต้องการให้เลเวลอัพเพิ่มขึ้นสำหรับผู้เริ่มต้น แต่บ่อยครั้งที่ผู้เล่นดำเนินไปเรื่อย ๆ ในกรณีนั้นฟังก์ชันนาทีต่อระดับของคุณจะเป็นพหุนาม ( time = Level ^ c
) หรือเลขชี้กำลัง ( time = c ^ Level
) แทน อย่างไรก็ตามการใช้หมายเลขระดับตามที่เป็นอยู่ในสูตรเลขชี้กำลังมักจะมากเกินไป มันเป็นความคิดที่ดีที่จะหารด้วยค่าคงที่เพื่อทำให้การเพิ่มขึ้นช้าลงมากในขณะที่ยังคงเป็นเลขชี้กำลัง ( time = c1 ^ (1 + Level / c2)
)
ฉันอยากจะแนะนำให้คุณใช้สเปรดชีตเพื่อบีบตัวเลข สร้างตารางที่มีคอลัมน์ที่มีตัวเลขตั้งแต่ 1 ถึงระดับสูงสุดที่คุณคาดไว้และคอลัมน์ที่สองที่มีสูตรระดับ สิ่งนี้ช่วยให้คุณสามารถทดลองกับสูตรที่แตกต่างกันเพื่อค้นหาตัวเลขที่คุณชื่นชอบ บางทีคุณอาจได้ผลลัพธ์ที่ดีขึ้นเมื่อคุณรวมพหุนามกับองค์ประกอบเลขชี้กำลัง?
จำไว้ว่าคุณเห็นเวลาต่อสู้สุทธิที่นี่ เวลาของเกมที่ผู้เล่นรวบรวมคะแนนประสบการณ์ ไม่นับเวลาที่ผู้เล่นใช้พูดคุยกับ NPC เปรียบเทียบอุปกรณ์และทำงานอื่น ๆ ที่ไม่ทำให้เกิดความคืบหน้าโดยตรง
ในเกมปัจจุบันของฉัน (เป็น MMORPG) seconds(level) = 10 ^ (1 + Level / 20)
ฉันมากับสูตร ระดับแรก ๆ นั้นใช้เวลาเพียงไม่กี่วินาทีของการต่อสู้ที่เกิดขึ้นจริง (ความพึงพอใจอย่างฉับพลันในระหว่างขั้นตอนการสอน) ระดับ 20 - 40 ใช้เวลาไม่กี่นาทีในยุค 50 จะกลายเป็นชั่วโมงต่อระดับและเมื่อใกล้ระดับสูงสุด 100 จะใช้เวลาทั้งสัปดาห์ ความคืบหน้า
ประสบการณ์การให้รางวัลต่อศัตรูควรแตกต่างกันอย่างไร
แม้ในขณะที่ศัตรูของคุณไม่มีสถิติระดับชัดเจน (หรือมีความหมาย) คุณจะต้องออกแบบให้เป็นความท้าทายที่สมดุลสำหรับระดับตัวละครบางตัว แต่ถ้าศัตรูแนะนำให้ใช้เลเวล 40 จะได้รับค่าประสบการณ์มากกว่าที่แนะนำสำหรับเลเวล 30 หรือไม่
คำตอบสำหรับคำถามนี้มีความสัมพันธ์อย่างใกล้ชิดกับจำนวนตัวละครที่ทรงพลังและต่อระดับที่คุณต้องการให้พวกเขาอยู่ข้างหน้าหรือข้างหลังศัตรูปัจจุบันที่มีระดับตัวละครอยู่
ตัวอย่างเช่นระบบเกมบางอย่างเช่น World of Warcraft ทำให้ไม่มีประโยชน์ในการต่อสู้กับศัตรูเพียงเล็กน้อยหรือต่ำกว่าระดับของตัวละครของผู้เล่น อะไรก็ตามที่มีเพียงไม่กี่ระดับด้านบนจะทำลายผู้เล่นสิ่งที่ระดับไม่กี่ด้านล่างจะไม่ท้าทาย (และไม่มีรางวัล) เลย
ตัวอย่างเคาน์เตอร์จะเป็นชุด Disgaea ในเกมที่คุณสามารถเอาชนะศัตรูกับหลายครั้งระดับของตัวละครของคุณเองเมื่อคุณเล่นสมาร์ท
ยิ่งคุณต้องการอยู่ในระดับที่เข้มงวดยิ่งขึ้นซึ่งเป็นการต่อสู้ที่ยุติธรรมสำหรับผู้เล่นยิ่งคุณต้องทำให้แน่ใจว่าผู้เล่นจะไม่ล้าหลังหรือก้าวไปข้างหน้ากับศัตรูที่พวกเขากำลังต่อสู้อยู่ เมื่อผู้เล่นตกอยู่หลังศัตรูเกมจะกลายเป็นเรื่องยากอย่างน่าผิดหวังโดยไม่ต้องบด เมื่อผู้เล่นนำหน้าสัตว์ประหลาดเกมจะกลายเป็นเรื่องง่ายและน่าเบื่อ
วิธีที่ดีในการทำให้ผู้เล่นอยู่ในวงเล็บระดับคือการเพิ่มรางวัล EXP ต่อระดับ ในอีกด้านหนึ่งมันจะช่วยให้ผู้เล่นติดตามได้ง่ายเมื่ออยู่ต่ำกว่าระดับที่แนะนำเล็กน้อย ในอีกด้านหนึ่งมันจะไม่ยอมให้พวกเขาเลเวลอย่างมีประสิทธิภาพกับศัตรูที่อ่อนแอโดยไม่ต้องไปสู่พื้นที่ที่ยากขึ้น
เส้นโค้ง exp พหุนาม ( exp = Level ^ c
) มักจะทำงานได้ดี ที่มีขนาดใหญ่มูลค่าc
มากกว่าที่คุณจะบังคับให้ผู้เล่นเข้าไปในวงเล็บระดับปัจจุบันของมอนสเตอร์ที่พวกเขาต่อสู้
โปรดทราบว่าศัตรูที่ใช้เวลานานกว่าในการเอาชนะควรให้ประสบการณ์มากกว่าแบบสัดส่วน การต่อสู้ที่ใช้เวลา 20 วินาทีควรให้ค่าประสบการณ์มากเป็นสองเท่าเช่นเดียวกับที่ใช้เวลาเพียง 10 วินาที exp = (Level ^ c) * minutes_per_combat
เรื่องนี้ต้องขยายสูตรของคุณไป
สูตร exp-per-level สุดท้าย
สูตรสุดท้ายสามารถรับได้จากทั้งสอง experience per level
เป็นคูณกับtime per level in minutes
experience gained per minute
ดังนั้นเพียงแค่ใช้สูตรสองสูตรที่คุณคิดขึ้นมาในสองส่วนสุดท้ายแล้วคูณมัน นั่นคือ: สูตรประสบการณ์ต่อระดับของคุณ
ด้วยการเพิ่มเวลาพหุนามต่อระดับสูตรจะเป็น
exp(level) = (level ^ c1) * (level ^ c2)
ที่ไหน
c1
ขึ้นอยู่กับว่าคุณต้องการให้แต่ละด่านนานแค่ไหน
c2
ขึ้นอยู่กับว่าคุณต้องการให้ผู้เล่นใกล้ถึงระดับของศัตรูที่พวกเขาต่อสู้
มีอะไรผิดพลาด?
แม้แต่แนวคิดการคิดที่ดีที่สุดก็ไม่สามารถทดแทนการทดสอบที่เหมาะสมได้ หากการทดสอบของคุณกลายเป็นว่าผู้เล่นเฉลี่ยมีความคืบหน้าเร็วกว่าหรือช้ากว่าที่คุณต้องการมันเป็นสัญญาณที่แสดงว่าคุณได้ประเมินระดับที่แนะนำของศัตรูของคุณมากเกินไปหรือประเมินค่าต่ำเกินไปและใช้เวลานานเท่าใดในการฆ่าผู้เล่น ลองวิเคราะห์ร่วมกับ playtesters ของคุณว่าศัตรูฆ่ายากแค่ไหนในระดับตัวละครและปรับค่า exp หรือสถิติตามนั้น