ฉันว่ามันขึ้นอยู่กับประเภทของประสบการณ์ที่คุณต้องการสร้างให้ผู้เล่น ลองพิจารณาสองตัวอย่างตัวแรกคือ RPG แบบเทิร์นเบสคลาสสิกอันดับที่สองคือปืนประเภทGradius IIIซึ่งคุณต้องการพลังของผู้เล่นในการปรับขนาดตามความก้าวหน้านับตั้งแต่เขาเสียชีวิตไม่ใช่ใน powerups (ไม่ใช่ จะบอกว่าเป็นระบบที่ดีเพียงตัวอย่าง)
ในกรณีของเกม RPG ระบบของคุณอาจทำงานบนสมมติฐานที่ว่าผู้เล่นไม่เคยสูญเสียประสบการณ์ ในทำนองเดียวกันมันอาจจะต้องการที่จะทำตามสมมติฐานที่ว่ามันค่อนข้างง่ายที่จะได้รับระดับความเชี่ยวชาญในบางสิ่งบางอย่าง แต่ยากที่จะเชี่ยวชาญมัน (เช่นสิ่งต่าง ๆ ในโลกแห่งความเป็นจริง) ในกรณีนี้คุณอาจต้องการพัฒนาสูตร (เช่น coderanger ที่แนะนำ) ที่มีการอธิบายในบางเรื่อง ในกรณีที่จำนวนประสบการณ์ที่จำเป็นในการไปถึงระดับต่อไปนั้นจะขึ้นอยู่กับระดับปัจจุบันของคุณ สำคัญที่ต้องพิจารณาอย่างไรก็ตามอัตราที่ผู้เล่นของคุณจะได้รับประสบการณ์ขณะเล่น ยกตัวอย่างเช่นผู้เล่นที่สังหารระดับ 63 Fire Demon จะคาดหวังว่าจะได้รับประสบการณ์การสังหารมากกว่าถ้าเขาฆ่า Lady Bug ระดับ 2 ดังนั้นเมื่อออกแบบสูตรของคุณ ต้องแน่ใจว่าคุณคำนึงถึงระบบ XP ของคุณด้วย โดยเฉพาะอย่างยิ่งถ้าคุณไม่ทำเช่นนั้นการฆ่าบั๊กของผู้หญิงจะได้ผลกำไรเท่ากับการฆ่าศัตรูที่ยากขึ้น
ตัวอย่างที่ 1 (อาจไม่ใช่แบบฟอร์มที่คุณจะใช้): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE
ตัวอย่างที่ 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE
โดยที่ XP_TO_LEVEL คือ XP ที่จำเป็นในการเข้าถึงระดับถัดไป CURRENT_LEVEL เป็นระดับปัจจุบันของผู้เล่น XP_BASE เป็นตัวเลขใด ๆ ที่จะตัดสินว่าแต่ละระดับมี "มูลค่า" ใน XP เท่าใด SCALE เป็นเลขชี้กำลังซึ่งกำหนดว่าจะต้องปรับขนาด XP เร็วแค่ไหนถึงระดับ หาก SCALE เป็น 1 ดังนั้นแต่ละระดับจะใช้ประสบการณ์ XP_BASE หาก SCALE น้อยกว่า 1 ดังนั้นแต่ละระดับจะใช้ประสบการณ์น้อยกว่าระดับสุดท้าย หาก SCALE มากกว่า 1 แต่ละระดับจะใช้ประสบการณ์มากกว่าระดับสุดท้าย
ตารางต่อไปนี้ถือว่า SCALE เป็น 1.1 และ XP_BASE 100 โดยใช้ตัวอย่างที่ 2
Current Level XP Needed Increase from Last Level
1 158 0
2 339 181
3 530 191
4 728 198
5 930 202
...
10 1995 218
ตัวอย่างที่ 3: XP_TO_LEVEL = ((CURRENT_LEVEL * SCALE) ^ 1.5) * XP_BASE
โดยที่ SCALE ยังคงพิจารณาว่าจะขยาย XP_TO_LEVEL อย่างรวดเร็วอย่างไร แต่มันทำงานแตกต่างกันเล็กน้อย
ตารางต่อไปนี้จะถือว่า SCALE เท่ากับ 22 และ XP_BASE 10 โดยใช้ตัวอย่าง 3
Current Level XP Needed Increase from Last Level
1 28 0
2 80 52
3 146 66
4 226 80
5 316 90
...
10 894 130
ในกรณีของ Gradius clone คุณอาจใช้กลยุทธ์อื่น คุณอาจต้องการให้ผู้เล่นเลเวลอัพสม่ำเสมอพูดทุก ๆ สองนาที นอกจากนี้หลังจากการเล่นเสียชีวิตและสูญเสียพลังที่ได้รับทั้งหมดของเขาคุณอาจต้องการช่วยเขาด้วยการปรับระดับเขา / เธอให้เร็วขึ้นจนกว่าเขาจะถึงระดับที่เหมาะสมสำหรับความคืบหน้าของเขาผ่านเกม ในกรณีนี้สูตรของคุณน่าจะเป็นเส้นตรงมากขึ้นโดยเฉพาะอย่างยิ่งเนื่องจากผู้ใช้ไม่ได้เห็นว่าเขาได้รับค่าประสบการณ์เท่าไรต่อการฆ่า คล้าย ๆ กันมันใช้เวลา 50 XP ในการก้าวสู่ระดับใหม่และศัตรูแต่ละคนมีค่า 1 XP วิธีนี้ใช้งานได้ดีหากคุณจัดหาศัตรูให้กับเขาอย่างต่อเนื่อง แต่เมื่อผู้เล่นเสียชีวิตเขาสูญเสียมันทั้งหมด! ตอนนี้คุณทำอะไร? ศัตรูแต่ละคนควรมีค่ามากกว่า 1 XP เพื่อให้บรรลุเป้าหมายของคุณในการจับเขาเพื่อให้เกมมีความยุติธรรมอีกครั้ง
ตัวอย่าง: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) โดยที่ XP_FROM_EACH_ENEMY คือจำนวน XP ที่ศัตรูจะให้รางวัลเมื่อถูกฆ่า BASE_XP คือค่า XP ที่ศัตรูมีค่าโดยปริยาย (อาจแตกต่างกันไปตามประเภทของศัตรู) CURRENT_LEVEL เป็นระดับของผู้เล่น DESIRED_LEVEL เป็นระดับที่คุณคิดว่าผู้เล่นควรจะอยู่ที่