एक लड़ाई के बाद अर्जित अनुभव अंक की गणना


9

मैं एक साधारण टेक्स्ट बैटल गेम विकसित कर रहा हूं और कुछ मुद्दों की गणना कर रहा हूं कि एक लड़ाई के बाद कितना एक्सपी अर्जित किया जाना चाहिए, कुछ कारकों पर विचार करता है जिन्हें मैं विचार करना चाहता हूं:

1) खिलाड़ियों को निश्चित रूप से अच्छा XP अर्जित करना चाहिए यदि वे समान स्तर के किसी व्यक्ति को हराते हैं

2) खिलाड़ियों को महान XP अर्जित करना चाहिए यदि वे उच्च स्तर के किसी व्यक्ति को हराते हैं

3) खिलाड़ियों को खराब XP अर्जित करना चाहिए यदि वे किसी निचले स्तर के व्यक्ति को हराते हैं

४) ऊपर वाले को अच्छी तरह से स्केल करना चाहिए, यानी अगर खिलाड़ी A १० के स्तर का है और खिलाड़ी B का स्तर ९ या ११ है, तो अंतर बहुत बड़ा नहीं होना चाहिए (वे निश्चित रूप से स्तर ११ के चरित्र को हराने के लिए अधिक XP हासिल करेंगे, लेकिन हम नहीं करेंगे। उम्मीद है कि यह बहुत बड़ा होगा), लेकिन अगर वह 5 या 15 के स्तर पर युद्ध करना चाहता था तो यह अंतर बहुत बड़ा होना चाहिए।

बस सभी परिदृश्यों में अच्छी तरह से काम करने वाली किसी चीज़ की गणना करने में परेशानी हो रही है, वर्तमान में मेरी XP तालिका नीचे की तरह दिखती है:

Current Level   XP Needed   Increase from Last Level
1   30  0
2   65  35
3   106 41
4   154 48
5   210 56
...
10  672 123

PHP में मेरा कोड XP की आवश्यकता की गणना करने के लिए नीचे की तरह दिखता है:

$offset = 30;
$multiplier = 1.17;
$base = $prevXp * $multiplier;

$xp = $base + $offset;

मैंने कुछ अलग चीजों की कोशिश की है, लेकिन मैं उनमें से किसी के साथ प्रभावित नहीं हुआ हूं, मैं XP में अंतर की गणना करने और फिर कुछ प्रकार के गुणक का उपयोग करने के साथ काम करना चाहूंगा लेकिन मैं परिणामों से प्रभावित नहीं हुआ हूं।

किसी भी मदद / इनपुट की सराहना की जाएगी।


2
मैं पढ़ भी नहीं रहा हूँ, बस वहाँ जाऊँ -> gamebalanceconcepts.wordpress.com/2010/07/07/… <-
'।

पहले सोचा था कि आपको अपने आप को दूसरे या तीसरे संस्करण से डी एंड डी कालकोठरी मास्टर्स गाइड की एक प्रति मिलनी चाहिए। पहले से ही परीक्षण किए गए / संतुलित XP पुरस्कार प्रणालियों के लिए अच्छे संसाधन।
रिचर्ड फैबियन

जवाबों:


13

दो सुझाव:

घातांक! प्रत्येक स्तर के लिए कुछ "बेस xp इनाम" की गणना करें। फिर एक मार का सूत्र है base_xp_reward * pow (1.1, target_level - player_level)। आप अधिकतम लाभ हासिल करना चाहते हैं, कुछ हद तक शोषण को कम करने के लिए, और आप एक निश्चित अंतर से नीचे शून्य XP देना चाह सकते हैं, जिससे कि कमियों की खेती को रोका जा सके।

(बेस XP इनाम एक साधारण घातीय प्रगति भी हो सकता है, अगर आपको पसंद है - निरंतर_फैक्टर * पाव (1.25, स्तर), शायद। तब आप आधार एक्सपी इनाम के कई के संदर्भ में "एक्सपेल टू लेवल" को परिभाषित कर सकते हैं। इस तरह से संतुलन बनाना आसान है।)

वैकल्पिक रूप से, इसे वास्तव में सरल बनाते हैं। एक ही बेस-एक्सपी-रिवॉर्ड चीज़ करें। फिर विभिन्न स्तरों के अंतर से आप जो बोनस चाहते हैं, उसके लिए एक तालिका तैयार करें। इसे अनुपात-आधारित बनाएं, ताकि आपके ऊपर हमेशा किसी एक स्तर को मारना, कहना, आधार पुरस्कार पर 10% बोनस एक्सपी। और अब आपको किसी फॉर्मूले के बारे में चिंता करने की जरूरत नहीं है - आप सिर्फ वही कर सकते हैं जो आप चाहते हैं।

सूत्र ओवररेटेड हैं, कभी-कभी आपको बस कुछ नंबरों को जाम करने और इसे कान से बजाने की आवश्यकता होती है।


1
+1 के लिएFormulas are overrated, sometimes you just need to jam some numbers in and play it by ear.
RCIX

2

मैं कुछ ऐसा कहूंगा कि "नुकसान डेल्ट / रिकेड द्वारा एक्सपी हासिल करें"। तो अगर 100hp वाला लेवल 10 200 hp वाला लेवल 15 लड़ता है। यह अनुचित लगता है, लेकिन अगर स्तर 10 स्तर 15 को मारने में सक्षम होगा, तो वह केवल 100hp के साथ 10 के स्तर से लड़ने पर उसे दो गुना मिलेगा।

इस तरह से आपको सामान के बारे में चिंता करने की ज़रूरत नहीं है जैसे कि दो लोग अलग-अलग उपकरणों के साथ एक ही दुश्मन से लड़ेंगे। उदाहरण के लिए, यदि एक स्तर 8 और एक स्तर 10 एक स्तर 13 से लड़ते हैं। यदि स्तर 8 में बेहतर उपकरण / कवच हैं, तो उसे अधिक xp मिलेगा तो स्तर 10 बस उस स्तर 13 में अधिक नुकसान पहुंचाता है।

लेकिन सबसे महत्वपूर्ण बात: सेट नियम, नाटक, सेट नियम, नाटक, सेट नियम, बहुवचन, आदि, आदि।

यहां तक ​​कि सर्वश्रेष्ठ डेवलपर्स से सबसे अच्छे MMOs अपने xp वितरण प्रणाली को तब तक समायोजित करते हैं जब तक कि खेल रहता है।


0

बस IMHO, सही पाने के लिए सबसे महत्वपूर्ण बात यह है कि XP ​​की स्केलिंग राशि को ऊपर स्तर की आवश्यकता है। मेरे एक दोस्त ने अपने ब्राउज़र Rogue-like, उदाहरण के लिए 100XP, 100XP, 200XP, 300XP, 500XP, 800XP इत्यादि के लिए एक रिटायरमेंट वेरिएशन का इस्तेमाल किया।

मैंने कुछ खेलों में एक मैकेनिक के बारे में भी सुना है जहाँ प्रत्येक लड़ाई द्वारा अर्जित XP से स्तर घटाया जाता है। उदाहरण के लिए, यदि कोई विशेष लड़ाई 50XP कमाती है, और वे 20 के स्तर पर हैं, तो वे केवल 30XP प्राप्त करते हैं। यदि वे 50 या उससे अधिक के स्तर पर थे, तो वे कुछ भी नहीं कमाते थे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.