जैसे-जैसे आपके खिलाड़ी आपके खेल में आगे बढ़ें, उन्हें सीखने के लिए कुछ न कुछ दें।
पावर-अप और संग्रहणीय वस्तुएं आवश्यक गेम तत्व हैं जो गेमप्ले अनुभव को बढ़ा सकते हैं और आर्केड गेम में उत्साह जोड़ सकते हैं। वे खिलाड़ियों को अतिरिक्त योग्यताएँ, पुरस्कार और चुनौतियाँ प्रदान करते हैं। आर्केड लाइब्रेरी के साथ, आप कुछ ही समय में पावर-अप और संग्रहणीय वस्तुओं के साथ आकर्षक गेम बनाने में सक्षम होंगे।
एक सरल गेम बनाएं
एक बुनियादी सेटअप से प्रारंभ करें जहां खिलाड़ी चार दिशाओं में घूम सकता है (बाएँ, दाएँ, ऊपर और नीचे) कीबोर्ड इनपुट का उपयोग करके। इसके अतिरिक्त, खेल के वातावरण में सहभागिता प्रदान करने के लिए एक शत्रु वस्तु का परिचय दें।
इस आलेख में प्रयुक्त कोड इसमें उपलब्ध है गिटहब रिपॉजिटरी और यह आपके लिए एमआईटी लाइसेंस के तहत उपयोग करने के लिए निःशुल्क है।
नामक एक नई फ़ाइल बनाएँ Simple-game.py और नीचे दिया गया कोड जोड़ें:
आयात आर्केड
नीला = आर्केड.रंग. नीला
लाल = आर्केड.रंग. लाल
काला = आर्केड.रंग. काला
सफ़ेद = आर्केड.रंग. सफ़ेद
पीला = आर्केड.रंग. पीला
हरा = आर्केड.रंग. हरा
नारंगी = आर्केड.रंग. नारंगीकक्षाखेल(आर्केड. खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर().__init__(चौड़ाई, ऊंचाई)
आर्केड.सेट_बैकग्राउंड_रंग (काला)स्व.खिलाड़ी = आर्केड. स्प्राइटसर्कल(20, नीला)
self.player.center_x = चौड़ाई // 2
self.player.center_y = ऊंचाई // 2स्व.शत्रु = आर्केड. स्प्राइटसॉलिड कलर(20, 20, लाल)
self.enemy.center_x = चौड़ाई // 4
स्वयं.दुश्मन.केंद्र_य = ऊंचाई // 4डीईएफ़on_draw(खुद):
आर्केड.स्टार्ट_रेंडर()
self.player.draw()
स्वयं.दुश्मन.खींचना()डीईएफ़अद्यतन(स्वयं, डेल्टा_समय):
उत्तीर्णडीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.कुंजी। बाएं:
self.player.center_x -= 10
एलिफ़ कुंजी == आर्केड.कुंजी। सही:
self.player.center_x += 10
एलिफ़ कुंजी == आर्केड.कुंजी। ऊपर:
self.player.center_y += 10
एलिफ़ कुंजी == आर्केड.कुंजी। नीचे:
self.player.center_y -= 10डीईएफ़मुख्य():
खेल = खेल(800, 600)
आर्केड.रन()
अगर __नाम__ == "__मुख्य__":
मुख्य()
इस कोड को चलाएँ, और आपके पास खिलाड़ी की गतिविधि और एक दुश्मन वस्तु के साथ एक बुनियादी गेम होगा।
गेम स्टेट्स बनाना
पावर-अप और संग्रहणीय वस्तुओं को शामिल करने के लिए, आपको स्कोर और स्वास्थ्य जैसी गेम स्थितियाँ स्थापित करने की आवश्यकता है। तुम कर सकते हो स्कोर प्रबंधित करें और स्वास्थ्य एक अलग चर का उपयोग कर रहा है। इन सुविधाओं को शामिल करने के लिए कोड को संशोधित करें। दुश्मन की वस्तु से टकराने पर खिलाड़ी का स्वास्थ्य कम हो जाएगा।
कक्षाखेल(आर्केड. खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर().__init__(चौड़ाई, ऊंचाई)स्व.स्कोर = 0
स्व.स्वास्थ्य= 100डीईएफ़on_draw(खुद):
आर्केड.ड्रॉ_टेक्स्ट(च"स्कोर: {स्वयं.स्कोर}", 10, 10, सफ़ेद)
आर्केड.ड्रॉ_टेक्स्ट(च"स्वास्थ्य: {स्वयं.स्वास्थ्य}", 10, 30, सफ़ेद)डीईएफ़अद्यतन(स्वयं, डेल्टा_समय):
अगर आर्केड.चेक_फॉर_कोलिजन (स्वयं.खिलाड़ी, स्वयं.दुश्मन):
स्व.स्वास्थ्य-= 10अगर स्व.स्वास्थ्य <= 0:
self.game_over()
डीईएफ़खेल खत्म(खुद):
# यहां लॉजिक के बजाय गेम जोड़ें
उत्तीर्ण
अब, दुश्मन से टकराने पर खिलाड़ी का स्वास्थ्य 10 तक कम हो जाता है, और स्कोर और स्वास्थ्य मान स्क्रीन पर प्रदर्शित होते हैं।
संग्रहणीय वस्तुएं जोड़ना
इसके बाद, संग्रहणीय वस्तुएँ बनाएँ, जिन्हें एकत्रित करने पर खिलाड़ी का स्कोर 10 बढ़ जाएगा। इन संग्रहणीय वस्तुओं में दृश्य विविधता के लिए अलग-अलग आकार होंगे। नामक एक नई फ़ाइल बनाएँ संग्रहणीय.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:
कक्षाखेल(आर्केड. खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर().__init__(चौड़ाई, ऊंचाई)स्व.संग्रहणीय = आर्केड। स्प्राइटलिस्ट()
के लिए _ में श्रेणी(5):
संग्रहणीय = आर्केड. स्प्राइटसॉलिड कलर(20, 40, पीला)
संग्रहणीय.केंद्र_x = यादृच्छिक.randint(0, चौड़ाई)
संग्रहणीय.केंद्र_y = यादृच्छिक.randint(0, ऊंचाई)
स्वयं.संग्रहणीय.जोड़ें (संग्रहणीय)डीईएफ़on_draw(खुद):
आर्केड.स्टार्ट_रेंडर()
self.player.draw()
स्वयं.दुश्मन.खींचना()
self.collectibles.draw()
आर्केड.ड्रॉ_टेक्स्ट(च"स्कोर: {स्वयं.स्कोर}", 10, 10, सफ़ेद)
आर्केड.ड्रॉ_टेक्स्ट(च"स्वास्थ्य: {स्वयं.स्वास्थ्य}", 10, 30, सफ़ेद)
डीईएफ़अद्यतन(स्वयं, डेल्टा_समय):
के लिए संग्रहणीय में स्व.संग्रहणीय वस्तुएँ:
अगर आर्केड.चेक_फॉर_कोलिजन (स्वयं.खिलाड़ी, संग्रहणीय):
स्व.स्कोर += 10
संग्रहणीय.remove_from_sprite_lists()
पांच उदाहरणों के साथ संग्रहणीय वस्तुओं की एक सूची बनाएं, प्रत्येक को एक पीले आयत द्वारा दर्शाया गया है। जब खिलाड़ी किसी संग्रहणीय वस्तु से टकराता है, तो उसका स्कोर 10 बढ़ जाता है, और संग्रहणीय वस्तु को स्प्राइट सूची से हटा दिया जाता है।
पावर-अप जोड़ना
अब, आप अपने गेम में पावर-अप जोड़ सकते हैं। जब खिलाड़ी पावर-अप एकत्र करता है, तो 10 सेकंड के लिए उनके चारों ओर एक ढाल दिखाई देगी। इस दौरान यदि खिलाड़ी दुश्मन से टकराता है, वे शत्रु का नाश करेंगे। नामक एक नई फ़ाइल बनाएँ Power-ups.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:
कक्षाखेल(आर्केड. खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर().__init__(चौड़ाई, ऊंचाई)self.power_up = आर्केड. स्प्राइटसॉलिड कलर(50, 20, हरा)
self.power_up.center_x = यादृच्छिक.randint(0, चौड़ाई)
self.power_up.center_y = यादृच्छिक.randint(0, ऊंचाई)स्व.शील्ड_सक्रिय = असत्य
स्व.शील्ड_अवधि= 10
सेल्फ.शील्ड_टाइमर = 0डीईएफ़on_draw(खुद):
आर्केड.स्टार्ट_रेंडर()
self.player.draw()
स्वयं.दुश्मन.खींचना()
self.collectibles.draw()
self.power_up.draw()
आर्केड.ड्रॉ_टेक्स्ट(च"स्कोर: {स्वयं.स्कोर}", 10, 10, सफ़ेद)
आर्केड.ड्रॉ_टेक्स्ट(च"स्वास्थ्य: {स्वयं.स्वास्थ्य}", 10, 30, सफ़ेद)डीईएफ़अद्यतन(स्वयं, डेल्टा_समय):
अगर आर्केड.चेक_फॉर_कोलिजन (स्वयं.खिलाड़ी, स्वयं.दुश्मन):
अगरनहीं स्व.शील्ड_सक्रिय:
स्व.स्वास्थ्य-= 10
अगर स्व.स्वास्थ्य <= 0:
self.game_over()
अन्य:
स्वयं.दुश्मन.निकालें_from_sprite_lists()अगर स्व.शील्ड_सक्रिय:
सेल्फ.शील्ड_टाइमर += डेल्टा_टाइमअगर सेल्फ.शील्ड_टाइमर >= सेल्फ.शील्ड_अवधि:
स्व.शील्ड_सक्रिय = असत्य
सेल्फ.शील्ड_टाइमर = 0के लिए संग्रहणीय में स्व.संग्रहणीय वस्तुएँ:
अगर आर्केड.चेक_फॉर_कोलिजन (स्वयं.खिलाड़ी, संग्रहणीय):
स्व.स्कोर += 10
संग्रहणीय.remove_from_sprite_lists()
अगर आर्केड.चेक_फॉर_कोलिजन (स्वयं.खिलाड़ी, स्व.शक्ति_अप):
स्व.शील्ड_सक्रिय = सत्य
self.power_up.remove_from_sprite_lists()
नीचे आउटपुट है:
अतिरिक्त सुविधाओं सहित
आप अतिरिक्त सुविधाएँ जोड़कर पावर-अप और संग्रहणीय प्रणाली को और बेहतर बना सकते हैं। उदाहरण के लिए, आप एक टाइमर पावर-अप बना सकते हैं जो एकत्रित होने पर गेमप्ले का समय बढ़ा देता है। नामक एक नई फ़ाइल बनाएँ टाइमर-पावर-up.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:
कक्षाखेल(आर्केड. खिड़की):
डीईएफ़__इस में__(स्वयं, चौड़ाई, ऊंचाई):
सुपर().__init__(चौड़ाई, ऊंचाई)
आर्केड.सेट_बैकग्राउंड_रंग (काला)स्व.खिलाड़ी = आर्केड. स्प्राइटसर्कल(20, नीला)
# ...self.timer_power_up = आर्केड. स्प्राइटसॉलिड कलर(40, 20, नारंगी)
self.timer_power_up.center_x = यादृच्छिक.randint(0, चौड़ाई)
self.timer_power_up.center_y = यादृच्छिक.randint(0, ऊंचाई)स्व.खेल_समय= 60# प्रारंभिक खेल का समय सेकंड में
self.timer_power_up_duration = 10# ...
डीईएफ़अद्यतन(स्वयं, डेल्टा_समय):
# ...अगर आर्केड.चेक_फॉर_कोलिजन (सेल्फ.प्लेयर, सेल्फ.टाइमर_पॉवर_अप):
self.game_time += self.timer_power_up_duration
self.timer_power_up.remove_from_sprite_lists()# ...
डीईएफ़मुख्य():
खेल = खेल(800, 600)
आर्केड.रन()
अगर __नाम__ == "__मुख्य__":
मुख्य()
पावर-अप और संग्रहणीय वस्तुओं के लिए सर्वोत्तम अभ्यास
आर्केड गेम के गेमप्ले अनुभव को बढ़ाने में पावर-अप और संग्रहणीय वस्तुएं महत्वपूर्ण भूमिका निभाती हैं। यह सुनिश्चित करने के लिए कि ये तत्व मनोरंजक हैं और खेल में अच्छी तरह से एकीकृत हैं, कुछ सर्वोत्तम प्रथाओं का पालन करना आवश्यक है:
दृश्य स्पष्टता और संगति
पावर-अप और संग्रहणीय वस्तुओं को अन्य गेम तत्वों से अलग दिखाने के लिए विशिष्ट और देखने में आकर्षक स्प्राइट का उपयोग करें। सुनिश्चित करें कि पावर-अप और संग्रहणीय वस्तुओं की उपस्थिति खेल में उनके प्रभाव और उद्देश्य के साथ संरेखित हो।
पूरे खेल के दौरान पावर-अप और संग्रहणीय वस्तुओं के डिज़ाइन, रंग योजनाओं और आकार में एकरूपता बनाए रखें।
संतुलन और चुनौती
खिलाड़ियों के लिए चुनौती और इनाम की भावना बनाए रखने के लिए पावर-अप और संग्रहणीय वस्तुओं की दुर्लभता और वितरण को समायोजित करें। बहुत अधिक पावर-अप या संग्रहणीय वस्तुओं से खिलाड़ियों पर दबाव डालने से बचें, क्योंकि इससे उन्हें ढूंढने का प्रभाव और उत्साह कम हो सकता है।
पावर-अप की प्रभावशीलता और अवधि को सावधानीपूर्वक संतुलित करें ताकि उन्हें अत्यधिक शक्तिशाली या कम दबाव में होने से रोका जा सके।
स्पष्ट संकेतक और फीडबैक
जब खिलाड़ी पावर-अप या संग्रहणीय वस्तु एकत्र करता है तो स्पष्ट दृश्य और ऑडियो संकेतक प्रदान करें। पावर-अप की सक्रियता और उनकी अवधि को दर्शाने के लिए एनिमेशन या कण जैसे अस्थायी दृश्य प्रभाव प्रदर्शित करें।
चुनौती-पुरस्कार संबंध
सुनिश्चित करें कि पावर-अप और संग्रहणीय वस्तुएं खिलाड़ी को सार्थक पुरस्कार प्रदान करती हैं, जैसे बढ़ा हुआ स्कोर, अतिरिक्त क्षमताएं, या विस्तारित गेमप्ले समय। पावर-अप और संग्रहणीय वस्तुएं प्राप्त करने की कठिनाई को उनके द्वारा प्रदान किए जाने वाले लाभों के साथ संरेखित करें। अधिक चुनौतीपूर्ण कार्यों से अधिक मूल्यवान पुरस्कार मिलना चाहिए।
खेल परीक्षण और संतुलन
यह देखने के लिए गेम का व्यापक परीक्षण करें कि खिलाड़ी पावर-अप और संग्रहणीय वस्तुओं के साथ कैसे इंटरैक्ट करते हैं। एक संतुलित और आनंददायक अनुभव बनाने के लिए पावर-अप और संग्रहणीय वस्तुओं के वितरण, अवधि और प्रभावों को ठीक करने के लिए प्लेयर फीडबैक का उपयोग करें।
इन सर्वोत्तम प्रथाओं का पालन करके, आप एक मनोरम और अच्छी तरह से संतुलित पावर-अप और संग्रहणीय प्रणाली बना सकते हैं जो गेमप्ले अनुभव को बढ़ाती है और खिलाड़ियों को आपके आर्केड गेम में व्यस्त रखती है।
पावर-अप और संग्रहणीय वस्तुओं के साथ गेम को और अधिक मज़ेदार बनाएं
पावर-अप और संग्रहणीय वस्तुएं आर्केड गेम में उत्साह और जुड़ाव की एक अतिरिक्त परत जोड़ती हैं। वे न केवल खिलाड़ियों को नई क्षमताएं और पुरस्कार प्रदान करते हैं बल्कि दिलचस्प चुनौतियां और रणनीतिक विकल्प भी बनाते हैं।
पायथन आर्केड लाइब्रेरी का उपयोग करके इन सुविधाओं को शामिल करके, आप अपने गेम को अधिक मनोरंजक बना सकते हैं और अपने खिलाड़ियों के लिए समग्र गेमिंग अनुभव को बढ़ा सकते हैं। अद्वितीय और मनोरम पावर-अप और संग्रहणीय वस्तुएं बनाने के लिए प्रयोग करना, दोहराना और अपनी रचनात्मकता को उजागर करना याद रखें जो आपके गेम की थीम और यांत्रिकी के साथ संरेखित हों।