RogueLike गेम्स में कार्यों की विभिन्न गति कैसे प्रबंधित करें?


14

RogueLike गेम्स में कार्यों की विभिन्न गति कैसे प्रबंधित करें?

मेरा मतलब है कि एक्शन और कुछ अन्य विशेषताओं के आधार पर, बारी आधारित खेलों में अलग-अलग "गति" पर काम करने वाले अभिनेता हो सकते हैं। अभिनेता तब प्रभावी रूप से दूसरों की तुलना में अधिक कार्य / मोड़ लेते हैं यदि उनके पास अधिक गति है, या नहीं।

यह कैसे निर्धारित किया जाए कि एक अभिनेता को अभिनय करने में सक्षम होना चाहिए (समय-निर्धारण?)

ऐसा लगता है कि इसे करने के लिए अलग-अलग तरीके हैं? क्या आप एल्गोरिदम के साथ कुछ समझा सकते हैं?


7
मुझे लगता है कि यदि आप अपनी इच्छा के बारे में विस्तार से वर्णन करना चाहते हैं, तो एक एल्गोरिथ्म स्पष्ट हो जाएगा।
तेतराद

जैसा कि टेट्राद ने कहा, "कार्यों की गति" से आपका क्या मतलब है? Roguelikes आमतौर पर बारी-आधारित हैं इसलिए मैं यह नहीं देख सकता कि यह उन पर कैसे लागू हो सकता है।
लॉरेंट कौविदो

2
यहां तक ​​कि बदले के खेल में, कुछ संस्थाएं तेजी से या धीमी गति से आगे बढ़ेंगी, फिर दूसरों की तुलना में कम या ज्यादा मोड़ होंगे। मैंने सवाल तय किया।
16:56 12

3
@Patrick ह्यूजेस नेथेक, जो सबसे पुराने और सबसे लोकप्रिय रॉगुलाइक में से एक है, में एक बहुत ही महत्वपूर्ण गति विशेषता है। nethackwiki.com/wiki/Speed
हैरी स्टर्न

1
@ हैरीस्टर्न मैं इस समय खराब खेल रहा हूं? यह कुछ बातें समझा सकता है ... =)
पैट्रिक ह्यूजेस

जवाबों:


12

अपने रोजगलाइक गेम टायरेंट में मैंने एक्शन पॉइंट और स्पीड रेटिंग की एक प्रणाली का उपयोग किया।

मूल रूप से:

  • अधिकांश कार्यों में एपी की लागत 100 थी
  • अधिकांश प्राणियों की गति 100 है

फिर गेम लूप इस प्रकार होगा।

  • हीरो एक्शन लेता है।
  • बीते हुए समय की गणना इस प्रकार की जाती है hero action AP cost * 100 / hero speed
  • सभी प्राणियों को समान रूप से एपी दिए जाते हैं creature speed * elapsed time / 100
  • जीव एक्शन लेते हैं और एपी को घटाते हैं जब तक कि उनके एपी <= 0 नहीं होते
  • दोहराना

इस प्रणाली ने बहुत अच्छी तरह से काम किया, उदाहरण के लिए अच्छी विशेषताएं:

  • यदि आपके पास बहुत तेज नायक है (शायद एक जादू की गति बोनस के कारण), तो आप व्यक्तिगत जीव को स्थानांतरित करने से पहले कई चालें प्राप्त कर सकते हैं (यह एपी कुछ मोड़ के लिए नकारात्मक होगा क्योंकि बीता हुआ समय छोटा होगा)
  • आप एपी लागत को अलग करके कुछ क्रियाओं को कम या ज्यादा महंगा बना सकते हैं
  • आप APs को घटाकर प्राणियों को देरी कर सकते हैं, या APs जोड़कर उन्हें अचानक एक बार बढ़ावा दे सकते हैं

मेरे सिर को इस के चारों ओर लपेटने की कोशिश कर रहा है। यदि आपके पास 1 खिलाड़ी और 4 खिलाड़ी हैं। यह अंतिम खिलाड़ी स्टैक इलास्टस टाइम को अधिक से अधिक नहीं बनाता है। उसे 4 क्रिया करने और दूसरी बार 8 के आसपास दूसरी पंक्ति में ले जाने की अनुमति देने के कारण ??
डॉ। डेनिस मैक्रैकजिज 16

4

क्रिया बिंदु। प्रत्येक इकाई को एक "गति" दें ताकि तेज़ अभिनेताओं को प्रत्येक मोड़ पर अधिक अंक मिलें। प्रत्येक क्रिया को पूरा करने के लिए एक विशिष्ट संख्या में अंक लें, और जब वह कोई क्रिया करे तो उस अंक के लिए खिलाड़ी के अंकों से घटाएं। यदि कोई क्रिया खिलाड़ी द्वारा छोड़े गए बिंदु से अधिक अंक लेती है, तो इसे "आंशिक रूप से पूर्ण" के रूप में चिह्नित करें, और उसे अगले मोड़ पर समाप्त करने दें।


2

क्या आपका मतलब है कि क्रियाओं में कई मोड़ आते हैं (यानी, 50 के लिए नींद सीधे आती है)?

मैं क्या करूँगा एक वस्तु, खिलाड़ी रखो। currentAction में हो सकता है कि कार्रवाई को कितने मोड़ की आवश्यकता होगी, कार्रवाई का संकल्प क्या है, और उन राज्यों की एक सूची है जो कार्रवाई को रद्द करते हैं (खतरे में, हमला किया जा रहा है, बहुत गर्म, आदि)। प्रत्येक मोड़, खिलाड़ी इनपुट के लिए जाँच करने से पहले, हम यह देखना चाहेंगे कि क्या खिलाड़ी इस समय किसी कार्रवाई के बीच में था, तो कुछ ऐसा करें ...

if(!player.currentAction.interrupted())
{
 if(player.currentAction.complete() == true)
   {
    player.currentAction.doAction(); //Some actions, like casting a spell, would have something happen here. Others, like sleeping, may or may not, depending on how you coded it.
    player.currentAction = null;
   }
else player.currentAction.decreaseTimer(); //Decrease our timer by one.
}
else 
{
 player.currentAction.interrupt(); //Let the player know he's been interrupted. Bungle the spell, cancel sleep, etc.
 player.currentAction = null;
}

2

आप एक्शन पॉइंट्स के साथ जा सकते हैं, लेकिन प्रति सेकेण्ड नहीं बल्कि टिक्स होते हैं, जो बहुत छोटे होते हैं। मान लीजिए कि प्रत्येक अभिनेता में एक्शन पॉइंट संचय की गति है (जैसे 2 एपी प्रति टिक)। यह एक कार्रवाई के लायक शुरू होता है, कहते हैं, 10 एपी। खेल 5 टिक्स को आगे बढ़ाता है (क्योंकि एक्टर के एक्शन प्राइस का भुगतान करने में यह कितना समय लेता है)।

जब कई कलाकार होते हैं। जब तक किसी ने इस कार्रवाई को अंजाम नहीं दिया जाता, तब तक टिक टिक से खेल आगे बढ़ता है, जब तक कि एपी मूल्य का भुगतान नहीं किया जाता।

दृष्टिकोण @ मिकेरा के समान है, केवल कोई नकारात्मक एपी नहीं हैं।


यह बहुत गड़बड़ है, क्योंकि आपको प्राणी की "इच्छित" कार्रवाई को संग्रहीत करने की आवश्यकता है। कुछ क्रियाएं राज्य पर निर्भर करती हैं जो भीड़ के पर्याप्त अंक जमा होने से पहले बदल सकती हैं।
वार्विक एलीसन

शायद यह सही नहीं है, लेकिन यह वास्तविक जीवन को दर्शाता है, जब आप हिट करने का निर्णय लेते हैं, तो आप पहले स्विंग करते हैं और फिर हिट करते हैं - इसलिए यह निर्णय-तैयारी-कार्रवाई है, जो इस प्रणाली को अनुमति देता है। इसके अलावा यह वास्तविक स्थिति के आधार पर ब्लॉक एक्शन चुनने की अनुमति देता है।
zzandy

मैं दूसरी दिशा में जाना पसंद करता हूं: भीड़ एन-टिक्स की लागत के साथ एक एक्शन चुनती है और फिर एन-टिक ऐलैप्स तक एक नई कार्रवाई नहीं कर सकती है। इसे एक एकल मान के रूप में लागू किया जा सकता है जो प्रत्येक टिक पर घटाया जाता है।
kitsu.eb

-1

उच्च संकल्प समय

यदि पंच 400 मोड़ लेता है, और किक 1000 मोड़ लेता है, तो आप मुझे लात मारने से पहले कम से कम दो बार पंच कर सकते हैं, और जब तक आप मुझे दो बार लात मारेंगे, तब तक मैं आपको 5 बार पंच कर सकता हूं।

चीजों को बहुत सारे मोड़ लेने से, आप पर नियंत्रण होता है कि चीजें कितनी लंबी हैं।

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