एक ट्यूटोरियल के रूप में एक खेल बनाना? [बन्द है]


19

मैं अपने स्कूल में एक गेम डेवलपमेंट क्लब का प्रभारी हूं और मैं इस गर्मी में एक प्रोजेक्ट पर काम करना चाहता हूं जिसे मैं अगले सेमेस्टर के ट्यूटोरियल के रूप में उपयोग कर सकता हूं। मैंने कभी भी ऐसा कुछ नहीं किया है, इसलिए मैं सोच रहा था कि किसी के पास कोई गाइड लाइन या विचार हो।

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

एक दुश्मन वर्ग होने की तरह सामान जहां व्यवहार के साथ खेलने के लिए आसान है, या बंदूक बनाने के लिए अलग तरह से गोली मारते हैं / नई बंदूकें, और नई लूट को जोड़ते हैं। यहां तक ​​कि खेल में नए तत्वों को जोड़ना। इस तरह की मॉलबिलिटी की अनुमति देने के लिए गेम बनाने का सबसे अच्छा तरीका क्या होगा?


1
स्टैक ओवरफ्लो पर इस जवाब पर एक नज़र डालें ।
एंड्रयू रसेल

जवाबों:


16

खेल के विकास में इस लक्ष्य को पूरा करने का एक पारंपरिक तरीका खेल प्रणालियों के लिए डेटा-संचालित वास्तुकला का उपयोग करना है।

संक्षेप में, इसका मतलब है कि कोड अपनी सीमा / क्षति / पैठ के लिए स्पष्ट रूप से परिभाषित मूल्यों के साथ एक विशेष प्रकार के हथियार (एक बंदूक) को लागू नहीं करता है, बल्कि यह एक हथियार (रेंज / क्षति / पैठ ...) की सामान्य अवधारणाओं को पॉप्युलेट करता है। बाह्य (कोड से) डेटा स्रोत से। यह बाहरी स्रोत पार्स-सक्षम (शायद एक्सएमएल) फ़ाइलों से डिस्क में पढ़ी जा सकती है, बाइनरी फ़ाइलों या डेटाबेस तत्वों से उत्पन्न हो सकता है जो कि खेल इंजन के आंतरिक या बाहरी उपकरणों के माध्यम से उत्पन्न होते हैं।

एक दुश्मन की तरह कुछ को परिभाषित करते हुए, AI सिस्टम को कुछ संख्या में जेनेरिक व्यवहार (आक्रामक, रक्षात्मक, समर्थन, कायर) का समर्थन करने के लिए डिज़ाइन किया जा सकता है, जिन्हें तब डेटा संचालित तत्वों द्वारा ट्वीक किया जाता है।

मेरा नया शत्रु, डेटा-चालित मानों के साथ आक्रामक आधार AI व्यवहार के साथ शुरू होता है: -ignore प्लेयर्स> मेरा स्तर + X -pursue खिलाड़ियों के लिए एक्स यूनिट्स तक स्पॉन पॉइंट -फली से परे जब स्वास्थ्य <-प्रेरित क्षमता प्राथमिकताएँ -मिली प्राथमिकताएँ (जब खिलाड़ी बहुत पास हो जाते हैं)

एक अधिक जटिल डेटा चालित योजना विशिष्ट डेटा बिंदुओं (घटनाओं) की परिभाषा की अनुमति दे सकती है जहां एक AI राज्य संक्रमण (दूसरे राज्य में परिमित मशीन) या (एन अन्य राज्यों में से एक में संक्रमण करने का मौका) आपके उपयोगकर्ताओं को परिभाषित करने की अनुमति देता है व्यवहार का जटिल पदानुक्रम।

यह सब निश्चित रूप से केवल स्पष्ट रूप से एक व्यवहार कोडिंग की तुलना में अधिक काम है, लेकिन इसकी एक मजेदार चुनौती उपयोगकर्ताओं को स्रोत के संशोधन के बिना सामग्री का उत्पादन करने में सक्षम करने के लिए है।

प्राप्त करने के लिए बोनस अंक हैं:

  • यदि आप डेटा को गतिशील रूप से अपडेट कर सकते हैं और एप्लिकेशन को पुनः आरंभ किए बिना गेम इंजन के भीतर परिवर्तन प्रतिबिंबित कर सकते हैं
  • यदि आप डेटा पर उपयोगकर्ता के अनुकूल UI बनाते हैं, तो उपयोगकर्ताओं को सीधे संपादन पाठ (xml, या जो भी) फ़ाइलों के बजाय डेटा के साथ बातचीत करने के लिए इंटरफ़ेस का उपयोग करने की अनुमति देता है

अधिक तकनीकी भीड़ के रूप में लक्षित एक ट्यूटोरियल गेम के लिए, अधिकांश कार्य इसके बजाय डिज़ाइन की गई कक्षाओं / ऑब्जेक्ट्स में होते हैं जो उपयोगकर्ताओं के लिए स्वच्छ इंटरफेस को उजागर करते हैं, जो बदले में डेटा-संचालित भी हो सकते हैं।


अच्छा उत्तर! +1
अटैकिंगहोबो

आपके सहयोग के लिए धन्यवाद :)! क्या आप ऐसी किसी भी साइट के बारे में जानेंगे जो मुझे दिखाएगी कि इस तरह का कोड कैसे लागू किया जाए? मैंने उस तरह के बाहरी स्रोतों के साथ खेल कभी नहीं किया है। हालांकि मैं निश्चित रूप से उन्हें XNA में क्लब में कोड करना चाहता हूं, इसलिए मैं संभवतः कक्षाओं और वस्तुओं की लाइनों के साथ कुछ और करूंगा जो वे आसानी से अपनी कक्षाओं में विरासत में प्राप्त कर सकते हैं। लेकिन मैं निश्चित रूप से इस पर गौर
करूंगा

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

खेलों में सबसे आम डेटा-संचालित पहलू स्तर हैं। यहां तक ​​कि अगर बाकी सब कुछ कठिन-कोडित है, तो स्तर के डिजाइन (यानी जहां दृश्यों को रखा जाता है, जहां दुश्मनों को रखा जाता है, आदि) लगभग हमेशा डेटा फ़ाइलों में परिभाषित होते हैं जो गेम लोड करते हैं। उनका दूसरा बोनस पॉइंट एक स्तर संपादन उपकरण का वर्णन करता है।
झॉकिंग

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

1

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


0

मैं www.thenewboston.com पर जावा गेम डेवलपमेंट ट्यूटोरियल को देखने का सुझाव दूंगा

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

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