अधिकांश प्लेटफ़ॉर्म गेम किसी प्रकार की छलांग का उपयोग करते हैं, जिसमें डबल-जंप और वैरिएबल-ऊंचाई जंप सहित विविधताएं होती हैं। इन चालों के पीछे की तकनीकों की खोज करें।

प्लेटफ़ॉर्मर गेम के गेमप्ले अनुभव को बढ़ाने में जंपिंग मैकेनिक्स महत्वपूर्ण भूमिका निभाते हैं। पायथन की आर्केड लाइब्रेरी के साथ विभिन्न जंपिंग मैकेनिक्स को लागू करके, आप अपने गेम में गहराई और उत्साह जोड़ सकते हैं।

आर्केड लाइब्रेरी गेम बनाने के लिए एक सहज और उपयोग में आसान ढांचा प्रदान करती है, जो इसे आपके प्लेटफ़ॉर्मर को बनाने के लिए एक आदर्श विकल्प बनाती है।

एक सरल गेम बनाएं

शुरू करने से पहले, अपने डिवाइस पर पिप इंस्टॉल करें और इंस्टॉल करने के लिए इस कमांड का उपयोग करें आर्केड मापांक:

पिप इंस्टाल आर्केड

यह जानने के लिए कि जंपिंग मैकेनिक्स कैसे काम करता है, एक सरल गेम बनाकर शुरुआत करें जहां खिलाड़ी गुरुत्वाकर्षण और एक स्थिर मंच के साथ बाएं और दाएं घूम सकता है।

इस आलेख में प्रयुक्त कोड इसमें उपलब्ध है गिटहब रिपॉजिटरी और यह आपके लिए एमआईटी लाइसेंस के तहत उपयोग करने के लिए निःशुल्क है।

गेम में खिलाड़ी प्लेटफॉर्म से टकराकर उसके ऊपर खड़ा हो जाएगा। नामक एक नई फ़ाइल बनाएँ Simple-game.py और नीचे दिया गया कोड जोड़ें:

आयात आर्केड

स्क्रीन_चौड़ाई = 800
स्क्रीन_ऊंचाई = 600
प्लेयर_रेडियस = 20
प्लेटफार्म_चौड़ाई = 200
प्लेटफार्म_ऊंचाई = 20
गुरुत्वाकर्षण = 0.5
नीला = आर्केड.रंग. नीला
हरा = आर्केड.रंग. हरा

कक्षागेमविंडो(आर्केड. खिड़की):
डीईएफ़__इस में__(खुद):
सुपर().__init__(स्क्रीन_चौड़ाई, स्क्रीन_ऊंचाई, "जंपिंग मैकेनिक्स")
self.player_x = SCREEN_WIDTH // 2
self.player_y = स्क्रीन_ऊंचाई // 2
self.player_dy = 0
self.platform_x = SCREEN_WIDTH // 2
self.platform_y = SCREEN_HEIGHT // 4

डीईएफ़on_draw(खुद):
आर्केड.स्टार्ट_रेंडर()

आर्केड.ड्रॉ_सर्कल_फिल्ड (सेल्फ़.प्लेयर_एक्स, सेल्फ.प्लेयर_वाई,
प्लेयर_RADIUS, नीला)

आर्केड.ड्रॉ_रेक्टेंगल_फिल्ड (सेल्फ़.प्लेटफ़ॉर्म_एक्स, सेल्फ.प्लेटफ़ॉर्म_वाई,
PLATFORM_WIDTH, PLATFORM_HEIGHT, हरा)

डीईएफ़on_update(स्वयं, डेल्टा_समय):
self.player_dy -=गुरुत्वाकर्षण
self.player_y += self.player_dy
जिला = PLAYER_RADIUS + self.platform_y + PLATFORM_HEIGHT / 2

अगर self.player_y < जिला:
self.player_y = जिला
self.player_dy = 0

गेम = गेमविंडो()
आर्केड.रन()

जब आप प्रोग्राम चलाते हैं, तो आप देखेंगे कि प्लेयर ऑब्जेक्ट तेज़ी से प्लेटफ़ॉर्म पर गिरता है, फिर उसके ऊपर आराम करता रहता है।

एक सरल जंप सुविधा जोड़ा जा रहा है

अब, गेम में एक सरल जंप सुविधा जोड़ें। खिलाड़ी और प्लेटफ़ॉर्म के बीच टकराव की जाँच करें और जब खिलाड़ी ऊपर तीर कुंजी दबाता है तो कूदने की क्रिया शुरू हो जाती है। इसे प्राप्त करने के लिए, नाम की एक नई फ़ाइल बनाएं जंप.पाइ और नीचे दिए गए अपडेट वाला कोड:

कक्षागेमविंडो(आर्केड. खिड़की):
डीईएफ़__इस में__(खुद):
# ...

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
on_ground = PLAYER_RADIUS + self.platform_y + PLATFORM_HEIGHT / 2

अगर कुंजी == आर्केड.कुंजी। ऊपर और self.player_y == on_ground:
self.player_dy = 10

डीईएफ़on_update(स्वयं, डेल्टा_समय):
self.player_dy -=गुरुत्वाकर्षण
self.player_y += self.player_dy
जिला = PLAYER_RADIUS + self.platform_y + PLATFORM_HEIGHT / 2

अगर self.player_y < जिला:
self.player_y = जिला
self.player_dy = 0
self.jump_count= 0

डबल जंप सुविधा जोड़ना

डबल जंप सुविधा जोड़ने के लिए, मौजूदा जंप लॉजिक का विस्तार करें। जब खिलाड़ी प्लेटफ़ॉर्म पर होता है और पहली बार ऊपर तीर कुंजी दबाता है, तो वह नियमित छलांग लगाएगा। हालाँकि, यदि वे मध्य हवा में फिर से ऊपर तीर कुंजी दबाते हैं, तो खिलाड़ी दोहरी छलांग लगाएगा।

नामक एक नई फ़ाइल बनाएँ डबल-कूद.py और नीचे दिए गए अपडेट वाला कोड:

कक्षागेमविंडो(आर्केड. खिड़की):
डीईएफ़__इस में__(खुद):
self.jump_count= 0# छलांग की संख्या को ट्रैक करें

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
on_ground = PLAYER_RADIUS + self.platform_y + PLATFORM_HEIGHT / 2

अगर कुंजी == आर्केड.कुंजी। ऊपर:
अगर self.player_y == on_ground या self.jump_count < 2:
self.player_dy = 10
self.jump_count += 1

अतिरिक्त सुविधाओं सहित

सरल और दोहरी छलांग के अलावा, ऐसी कई विशेषताएं हैं जिन्हें आप अपने गेम की जंपिंग यांत्रिकी को बढ़ाने के लिए जोड़ सकते हैं।

वैरिएबल जंप ऊंचाई को लागू करना

खिलाड़ी को जंप बटन को कितनी देर तक पकड़े रहने के आधार पर अपनी जंप की ऊंचाई को नियंत्रित करने की अनुमति देने से गेमप्ले में अधिक नियंत्रण और रणनीति जुड़ सकती है। यहां एक उदाहरण दिया गया है कि आप वैरिएबल जंप ऊंचाई को कैसे लागू कर सकते हैं। नामक एक नई फ़ाइल बनाएँ वेरिएबल-jump.py और नीचे दिए गए अपडेट वाला कोड:

गुरुत्वाकर्षण = 0.5
JUMP_POWER_INCREMENT = 0.2
MAX_JUMP_POWER = 100

कक्षागेमविंडो(आर्केड. खिड़की):
डीईएफ़__इस में__(खुद):
सुपर().__init__(स्क्रीन_चौड़ाई, स्क्रीन_ऊंचाई, "जंपिंग मैकेनिक्स")
self.jump_pressed = असत्य
स्वयं.कूद_शक्ति= 0

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
on_ground = PLAYER_RADIUS + self.platform_y + PLATFORM_HEIGHT / 2

अगर कुंजी == आर्केड.कुंजी। ऊपर और self.player_y == on_ground:
self.jump_pressed = सत्य

डीईएफ़on_key_release(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.कुंजी। ऊपर:
self.jump_pressed = असत्य

डीईएफ़अद्यतन_कूद_शक्ति(खुद):
# जंप बटन दबाए रखते हुए जंप पावर बढ़ाएं
अगर स्वयं.कूद_दबाया:
self.jump_power += JUMP_POWER_INCREMENT

अगर स्वयं.कूद_शक्ति > MAX_JUMP_POWER:
स्वयं.कूद_शक्ति = MAX_JUMP_POWER
अन्य:
अगर self.jump_power > 0:
स्वयं.कूद_शक्ति -= 1

डीईएफ़on_update(स्वयं, डेल्टा_समय):
self.player_dy -=गुरुत्वाकर्षण
जिला = PLAYER_RADIUS + self.platform_y + PLATFORM_HEIGHT / 2

अगर self.player_y == जिला और self.jump_power > 0:
self.player_dy = self.jump_power

self.player_y += self.player_dy
self.update_jump_power()

एयर डैश सुविधा का कार्यान्वयन

एयर डैश मैकेनिक जोड़ने से खिलाड़ी को मध्य हवा में अतिरिक्त गतिशीलता विकल्प मिल सकते हैं। नामक एक नई फ़ाइल बनाएँ Air-dash.py और नीचे दिए गए अपडेट वाला कोड:

AIR_DASH_DISTANCE = 100
MAX_AIR_DASHES = 2

कक्षागेमविंडो(आर्केड. खिड़की):
डीईएफ़__इस में__(खुद):
सुपर().__init__(स्क्रीन_चौड़ाई, स्क्रीन_ऊंचाई, "जंपिंग मैकेनिक्स")
self.on_ground= असत्य
self.air_dases = 0
self.can_air_dash = सत्य

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.कुंजी। ऊपर और स्वयं.ऑन_ग्राउंड:
self.player_dy = 10
एलिफ़ कुंजी == आर्केड.कुंजी। ऊपर और \
self.air_dashes < MAX_AIR_DASHES और \
स्व.कैन_एयर_डैश:
self.player_dx = AIR_DASH_DISTANCE
self.air_dases += 1
self.can_air_dash = असत्य

डीईएफ़on_update(स्वयं, डेल्टा_समय):
self.player_dy -=गुरुत्वाकर्षण
self.player_y += self.player_dy

जिला = PLAYER_RADIUS + self.platform_y + PLATFORM_HEIGHT / 2

अगर self.player_y <= जिला:
self.player_y = जिला
self.player_dy = 0
self.on_ground= सत्य
अन्य:
self.on_ground= असत्य

self.player_x += self.player_dx

अगर self.player_x < PLAYER_RADIUS:
self.player_x = PLAYER_RADIUS
self.player_dx = 0
एलिफ़ self.player_x > SCREEN_WIDTH - PLAYER_RADIUS:
self.player_x = SCREEN_WIDTH - PLAYER_RADIUS
self.player_dx = 0

अगर स्वयं.ऑन_ग्राउंड:
self.air_dases = 0
self.can_air_dash = सत्य

जब आप एयर डैश करते हैं, तो आपका खिलाड़ी चरित्र मंच से बहुत दूर चला जाएगा:

जंपिंग मैकेनिक्स के लिए सर्वोत्तम अभ्यास

एक सहज और आनंददायक गेमप्ले अनुभव सुनिश्चित करने के लिए गेम में जंपिंग मैकेनिक्स को लागू करने के लिए सावधानीपूर्वक विचार करने की आवश्यकता होती है। यहां ध्यान में रखने योग्य कुछ सर्वोत्तम प्रथाएं दी गई हैं:

बैलेंस जंप की ऊंचाई और अवधि

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

उपयुक्त छलांग यांत्रिकी का निर्धारण करते समय खेल की भौतिकी, चरित्र क्षमताओं और समग्र स्तर के डिजाइन पर विचार करें।

दृश्य और श्रव्य प्रतिक्रिया प्रदान करें

छलांग को संवेदनशील और संतोषजनक महसूस कराने के लिए दृश्य और श्रव्य प्रतिक्रिया महत्वपूर्ण है। खिलाड़ी की कूदने की गति और लैंडिंग को चित्रित करने के लिए एनिमेशन या कण प्रभावों का उपयोग करें।

इसके अतिरिक्त, विचार करें ध्वनि प्रभाव या पृष्ठभूमि संगीत जोड़ना जो कूदने के अनुभव को बढ़ाता है। ये दृश्य और श्रव्य संकेत खिलाड़ियों के विसर्जन और जुड़ाव में योगदान करते हैं।

फाइन-ट्यून टकराव का पता लगाना

सटीक और विश्वसनीय जंपिंग मैकेनिक्स के लिए खिलाड़ी और प्लेटफ़ॉर्म के बीच सटीक टकराव का पता लगाना आवश्यक है। सुनिश्चित करें कि टकराव का पता लगाने वाला एल्गोरिदम मजबूत है और विभिन्न परिदृश्यों को ठीक से संभालता है, जैसे कि प्लेटफ़ॉर्म पर उतरना, बाधाओं से टकराना, या दीवारों के साथ फिसलना।

जंपिंग मैकेनिक्स को प्रभावित करने वाली किसी भी गड़बड़ी या विसंगतियों को खत्म करने के लिए अपने टकराव का पता लगाने वाले कोड का परीक्षण करें और पुनरावृत्त करें।

जंपिंग मैकेनिक्स के साथ खेलों को और अधिक मज़ेदार बनाएं

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

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