बारी आधारित JRPG युद्ध प्रणाली वास्तुकला संसाधन


9

पिछले महीनों मैं एसडीएल पुस्तकालय का उपयोग करके सी ++ में एक 2 डी जेआरपीजी (जापानी-शैली आरपीजी) प्रोग्रामिंग करने में व्यस्त रहा हूं। अन्वेषण मोड कम या ज्यादा किया जाता है। अब मैं युद्ध विधा से निपट रहा हूं।

मैं किसी भी संसाधन को खोजने में असमर्थ रहा हूं कि एक क्लासिक टर्न-आधारित जेआरपीजी युद्ध प्रणाली कैसे संरचित है। मुझे लगता है कि सभी नुकसान फार्मूले के बारे में चर्चा कर रहे हैं। मैंने googling की कोशिश की है, gamedev.net के संदेश बोर्ड की खोज कर रहा हूं, और स्टैक एक्सचेंज पर C ++ से संबंधित प्रश्नों के माध्यम से क्रॉल कर रहा हूं। मैंने मौजूदा ओपन सोर्स आरपीजी के सोर्स कोड को पढ़ने की भी कोशिश की है, लेकिन कुछ प्रकार के गाइड के बिना यह एक हैस्टैक में सुई खोजने की कोशिश करना है।

मैं D & D या कुछ इसी तरह के नियमों का एक सेट नहीं देख रहा हूँ। मैं शुद्ध रूप से कोड और ऑब्जेक्ट संरचना डिज़ाइन के बारे में बात कर रहा हूं। एक युद्ध प्रणाली मेनू का उपयोग करके इनपुट के लिए खिलाड़ी से पूछती है। अगले युद्ध की बारी को वीरों के रूप में निष्पादित किया जाता है और दुश्मन अपने कार्यों को अंजाम देते हैं।

क्या कोई मुझे सही दिशा दिखा सकता है? अग्रिम में धन्यवाद।


4
कोई सामान्य हार्ड-सेट नियम नहीं हैं। सभी खेलों का अपना तरीका है, जब तक कि हम डुनगेन और ड्रेगन से व्युत्पन्न नियमों की बात नहीं करते। मुझे कहना होगा, मुझे यकीन नहीं है कि अगर आपका मतलब है। विस्तार से बताएं।
टोनी

JRPG का वास्तव में क्या मतलब है?
ashes999

2
आप पहले यह क्यों नहीं परिभाषित करते हैं कि आप खिलाड़ी को क्या अनुभव देना चाहते हैं, फिर उस पर आधारित कार्यान्वयन कल्पना लिखें?
तेतराड

1
@ ashes999 सबसे प्रभावशाली क्लासिक उदाहरण शायद अल्टिमा सीरीज़ है। अन्य हालिया और लोकप्रिय उदाहरण: बाल्डुरस गेट सीरीज़ (BG2 को अक्सर सभी समय का सबसे अच्छा CRPG माना जाता है) या द एल्डर स्क्रॉल सीरीज़ (Morrowind, Oblivion, Skyrim विशेष रूप से उनकी प्रसिद्धि के लिए)।
डेविड गौवेया

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

जवाबों:


9

मैंने इस विषय पर कभी भी बहुत अधिक संसाधन नहीं देखे हैं, लेकिन मैंने जो सबसे अच्छा पाया है वह है:

यह इस तरह दुश्मनों एअर इंडिया में अंतर्दृष्टि प्रदान करता है:

AI: Setup
{
   TempVar:TurnsUntilGrenade = 3
   TempVar:GrenadeAmmo = 4
}
AI: Main
{
   If (Stage == 0) Then
   {
      If (TempVar:TurnsUntilGrenade == 0) Then
      {
         If (TempVar:GrenadeAmmo > 0) Then
         {
            Choose Random Opponent with Lowest HP
            Use Hand Grenade on Target
            TempVar:GrenadeAmmo = TempVar:GrenadeAmmo - 1
            TempVar:TurnsUntilGrenade = 3
         } Else {
            Choose Random Opponent with Lowest HP
            Use <Machine Gun> on Target
         }
      } Else {
         Choose Random Opponent
         Use <Machine Gun> on Target
         TempVar:TurnsUntilGrenade = TempVar:TurnsUntilGrenade - 1
      }
   } Else {
      If (TempVar:GrenadeAmmo > 0) Then
      {
         Choose Random Opponent with Lowest HP
         Use Hand Grenade on Target
         TempVar:GrenadeAmmo = TempVar:GrenadeAmmo - 1
      } Else {
         Choose Random Opponent
         Use <Machine Gun> on Target
      }
   }
}
AI: Counter - General
{
   If (Grenade Combatant's HP <= 3 * [Grenade Combatant's Max HP / 4]) Then
   {
      Stage = 1
   } Else {
      Stage = 0
   }
}

इसके साथ ही आप देख सकते हैं कि आपके दुश्मनों को शायद अलग-अलग राज्यों का प्रबंधन करने के लिए एक राज्य मशीन की आवश्यकता होगी और वे प्रत्येक राज्य में प्रत्येक मोड़ पर अमल करने के लिए अपना स्वयं का व्यवहार करेंगे, या तो दुश्मन में हार्डकोड किया जाएगा, या डेटा-स्क्रिप्टिंग द्वारा संचालित किया जाएगा। भाषा: हिन्दी।

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

लेकिन उदाहरण के लिए, मान लें कि आपके पास विशुद्ध रूप से टर्न-आधारित युद्ध प्रणाली है, जहां आप सभी पार्टी कमांड को पहले जारी करते हैं, और फिर सभी कार्रवाई मोड़ के अंत में होती है। आप इसे पसंद कर सकते हैं:

  • एक सूची में लड़ाई में भाग लेने वाले सभी संस्थाओं (खिलाड़ियों + दुश्मनों) को स्टोर करें।
  • सूची में प्रत्येक खिलाड़ी के लिए इनपुट प्राप्त करें और उसे संग्रहीत करें।
  • स्पीड विशेषता द्वारा इकाई सूची को सॉर्ट करें।
  • सूची में प्रत्येक इकाई के लिए, यदि यह एक खिलाड़ी संग्रहीत कार्रवाई को निष्पादित करता है, अन्यथा वर्तमान स्थिति के लिए एआई स्क्रिप्ट चलाएं।
  • एडवांस टर्न और रिपीट।

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

EDIT I ने हाल ही में इस वेबसाइट को भी पाया है जो FF7 के कार्यान्वयन के बारे में बहुत सारी तकनीकी जानकारी प्रदान करता है। दुर्भाग्य से युद्ध के मॉड्यूल खंड अभी तक पूरी तरह से लिखे नहीं गए हैं।

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