मैं एक शास्त्रीय 2d आरपीजी विकसित कर रहा हूं (अंतिम फंतासी के समान नस में) और मैं सोच रहा था कि क्या किसी को संसाधनों / उदाहरणों के लिए नुकसान के सूत्र / लिंक करने के बारे में कुछ सलाह थी? मैं अपना वर्तमान सेटअप समझाता हूँ। उम्मीद है कि मैं इस प्रश्न के साथ अति नहीं कर रहा हूं, और यदि मेरे प्रश्न बहुत बड़े / व्यापक हैं तो मैं माफी चाहता हूं
मेरे वर्ण आँकड़े निम्नलिखित से बने हैं:
enum Stat
{
HP = 0,
MP = 1,
SP = 2,
Strength = 3,
Vitality = 4,
Magic = 5,
Spirit = 6,
Skill = 7,
Speed = 8, //Speed/Agility are the same thing
Agility = 8,
Evasion = 9,
MgEvasion = 10,
Accuracy = 11,
Luck = 12,
};
जीवन शक्ति मूल रूप से शारीरिक हमलों की रक्षा है और आत्मा जादू के हमलों की रक्षा है।
सभी आँकड़े अधिकतम तय किए हैं (HP के लिए 9999, MP / SP के लिए 999 और बाकी के लिए 255)। क्षमताओं के साथ, अधिकतम वृद्धि की जा सकती है (एचपी / एसपी के लिए ९९९९, एचपी / एसपी के लिए ९९९९, बाकी के लिए ९९९) विशिष्ट मूल्यों के साथ (स्तर १००) से पहले / बाद में क्षमता + उपकरण + आदि ,००० / २०,००० एचपी, im०० / के लिए होंगे। एसपी / एमपी के लिए 2000, अन्य आँकड़ों के लिए 180/350
लेट गेम शत्रु एचपी आमतौर पर निचले लाखों में होगा (एक सुपर बॉस जिसमें अधिकतम ~ 12 मिलियन होंगे)।
मैं सोच रहा था कि लोग वास्तव में उचित पैमाने पर नुकसान के फार्मूले कैसे विकसित करते हैं? उदाहरण के लिए, इस डेटा के आधार पर, फ़ाइनल फ़ंतासी X के लिए फ़ार्मुलों के नुकसान का उपयोग आधार के रूप में बहुत आशाजनक लगा। यहाँ एक पूरा संदर्भ http://www.gamefaqs.com/ps2/197344-final-fantasy-x/faqs/31381 है, लेकिन एक त्वरित उदाहरण के रूप में: Str = 127, 'Attack' कमांड का उपयोग, दुश्मन Def = 34।
1. Physical Damage Calculation:
Step 1 ------------------------------------- [{(Stat^3 ÷ 32) + 32} x DmCon ÷16]
Step 2 ---------------------------------------- [{(127^3 ÷ 32) + 32} x 16 ÷ 16]
Step 3 -------------------------------------- [{(2048383 ÷ 32) + 32} x 16 ÷ 16]
Step 4 --------------------------------------------------- [{(64011) + 32} x 1]
Step 5 -------------------------------------------------------- [{(64043 x 1)}]
Step 6 ---------------------------------------------------- Base Damage = 64043
Step 7 ----------------------------------------- [{(Def - 280.4)^2} ÷ 110] + 16
Step 8 ------------------------------------------ [{(34 - 280.4)^2} ÷ 110] + 16
Step 9 ------------------------------------------------- [(-246)^2) ÷ 110] + 16
Step 10 ---------------------------------------------------- [60516 ÷ 110] + 16
Step 11 ------------------------------------------------------------ [550] + 16
Step 12 ---------------------------------------------------------- DefNum = 566
Step 13 ---------------------------------------------- [BaseDmg * DefNum ÷ 730]
Step 14 --------------------------------------------------- [64043 * 566 ÷ 730]
Step 15 ------------------------------------------------------ [36248338 ÷ 730]
Step 16 ------------------------------------------------- Base Damage 2 = 49655
Step 17 ------------ Base Damage 2 * {730 - (Def * 51 - Def^2 ÷ 11) ÷ 10} ÷ 730
Step 18 ---------------------- 49655 * {730 - (34 * 51 - 34^2 ÷ 11) ÷ 10} ÷ 730
Step 19 ------------------------- 49655 * {730 - (1734 - 1156 ÷ 11) ÷ 10} ÷ 730
Step 20 ------------------------------- 49655 * {730 - (1734 - 105) ÷ 10} ÷ 730
Step 21 ------------------------------------- 49655 * {730 - (1629) ÷ 10} ÷ 730
Step 22 --------------------------------------------- 49655 * {730 - 162} ÷ 730
Step 23 ----------------------------------------------------- 49655 * 568 ÷ 730
Step 24 -------------------------------------------------- Final Damage = 38635
मैंने हथियारों के हमले की रेटिंग और कवच की कवच रेटिंग को शामिल करने के लिए बस डिवाइडर को संशोधित किया।
मैजिक डैमेज की गणना निम्नानुसार की जाती है: Mag = 255, अल्टिमा का उपयोग किया जाता है, दुश्मन MDef = 1
Step 1 ----------------------------------- [DmCon * ([Stat^2 ÷ 6] + DmCon) ÷ 4]
Step 2 ------------------------------------------ [70 * ([255^2 ÷ 6] + 70) ÷ 4]
Step 3 ------------------------------------------ [70 * ([65025 ÷ 6] + 70) ÷ 4]
Step 4 ------------------------------------------------ [70 * (10837 + 70) ÷ 4]
Step 5 ----------------------------------------------------- [70 * (10907) ÷ 4]
Step 6 ------------------------------------ Base Damage = 190872 [cut to 99999]
Step 7 ---------------------------------------- [{(MDef - 280.4)^2} ÷ 110] + 16
Step 8 ------------------------------------------- [{(1 - 280.4)^2} ÷ 110] + 16
Step 9 ---------------------------------------------- [{(-279.4)^2} ÷ 110] + 16
Step 10 -------------------------------------------------- [(78064) ÷ 110] + 16
Step 11 ------------------------------------------------------------ [709] + 16
Step 12 --------------------------------------------------------- MDefNum = 725
Step 13 --------------------------------------------- [BaseDmg * MDefNum ÷ 730]
Step 14 --------------------------------------------------- [99999 * 725 ÷ 730]
Step 15 ------------------------------------------------- Base Damage 2 = 99314
Step 16 ---------- Base Damage 2 * {730 - (MDef * 51 - MDef^2 ÷ 11) ÷ 10} ÷ 730
Step 17 ------------------------ 99314 * {730 - (1 * 51 - 1^2 ÷ 11) ÷ 10} ÷ 730
Step 18 ------------------------------ 99314 * {730 - (51 - 1 ÷ 11) ÷ 10} ÷ 730
Step 19 --------------------------------------- 99314 * {730 - (49) ÷ 10} ÷ 730
Step 20 ----------------------------------------------------- 99314 * 725 ÷ 730
Step 21 -------------------------------------------------- Final Damage = 98633
समस्या यह है कि एक बार आँकड़े 255 से ऊपर जाने लगते हैं, तो फॉर्मूले पूरी तरह से अलग हो जाते हैं। विशेष रूप से 300 या अधिक रक्षा मूल्यों में, वास्तव में अजीब व्यवहार उत्पन्न करना शुरू कर देता है। उच्च शक्ति + रक्षा आँकड़े उदाहरण के लिए बड़े पैमाने पर नकारात्मक मूल्यों को जन्म देते हैं। हालांकि मैं अपने उपयोग के मामले के लिए सही ढंग से काम करने के लिए सूत्रों को संशोधित करने में सक्षम हो सकता हूं, यह शायद पूरी तरह से नए फॉर्मूले का उपयोग करना आसान होगा। लोग वास्तव में क्षति सूत्र कैसे विकसित करते हैं? मैं एक्सेल खोलने पर विचार कर रहा था और उस तरह से सूत्र बनाने की कोशिश कर रहा था (उदाहरण के लिए अटैक स्टैट्स बनाम डिफेंस स्टैट्स का मानचित्रण) लेकिन मैं सोच रहा था कि क्या कोई आसान तरीका है? हालांकि मैं अपने खेल के पूर्ण खेल यांत्रिकी को यहाँ व्यक्त नहीं कर सकता, क्या कोई क्षति सूत्र के निर्माण के लिए एक अच्छी शुरुआत का सुझाव दे सकता है?
धन्यवाद