गोडोट में टॉप-डाउन शूटर गेम बनाना

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

अपना प्रोजेक्ट सेट अप करना

गोडोट में एक नया 2D प्रोजेक्ट बनाकर शुरुआत करें। एक बार आपका प्रोजेक्ट बन जाने के बाद, अपना मुख्य दृश्य सेट करें:

  1. एक प्लेयर बनाएं:
    • अपने खिलाड़ी पात्र के लिए KinematicBody2D नोड जोड़ें।
    • खिलाड़ी के लिए स्प्राइट सेट करें और दुश्मनों और पर्यावरण के साथ सटीक बातचीत के लिए टकराव के आकार को कॉन्फ़िगर करें।
  2. शत्रु जोड़ें:
    • KinematicBody2D नोड्स या अन्य उपयुक्त नोड्स का उपयोग करके शत्रु पात्र बनाएं।
    • दुश्मन की गतिविधि, आक्रमण और खिलाड़ी का पता लगाने को नियंत्रित करने के लिए AI व्यवहार स्क्रिप्ट डिज़ाइन करें।
  3. शूटिंग तंत्र को लागू करें:
    • खिलाड़ी शूटिंग को संभालने के लिए स्क्रिप्ट लिखें।
    • माउस कर्सर की ओर प्रक्षेपास्त्र शूट करने के लिए माउस क्लिक या कुंजी दबाव का पता लगाने के लिए इनपुट ईवेंट का उपयोग करें।

कोड उदाहरण: खिलाड़ी की गतिविधि और शूटिंग

extends KinematicBody2D

const MOVE_SPEED = 200
const SHOOT_SPEED = 400
var bullet_scene = preload("res://Bullet.tscn")

func _process(delta):
    # Player Movement
    var input_vector = Vector2.ZERO
    input_vector.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
    input_vector.y = Input.get_action_strength("move_down") - Input.get_action_strength("move_up")
    input_vector = input_vector.normalized() * MOVE_SPEED * delta
    move_and_slide(input_vector)

    # Player Shooting
    if Input.is_action_just_pressed("shoot"):
        var bullet_instance = bullet_scene.instance()
        var direction = (get_global_mouse_position() - global_position).normalized()
        bullet_instance.direction = direction
        bullet_instance.position = global_position
        get_parent().add_child(bullet_instance)
        bullet_instance.linear_velocity = direction * SHOOT_SPEED

कोड का स्पष्टीकरण

  • MOVE_SPEED: खिलाड़ी की गति को परिभाषित करने वाला स्थिरांक।
  • SHOOT_SPEED: खिलाड़ी द्वारा दागी गई गोलियों की गति को परिभाषित करने वाला स्थिरांक।
  • बुलेट_दृश्य: बुलेट ऑब्जेक्ट वाले दृश्य का संदर्भ।
  • _process(delta): फंक्शन जो खिलाड़ी की गति और शूटिंग को अद्यतन करने के लिए प्रत्येक फ्रेम को चलाता है।
  • खिलाड़ी की चाल: चाल कुंजियों ("move_right", "move_left", "move_down", "move_up") से इनपुट के आधार पर चाल की गणना move_and_slide() का उपयोग करके करता है।
  • खिलाड़ी शूटिंग: शूटिंग के लिए इनपुट ("शूट") का पता लगाता है और खिलाड़ी की स्थिति पर एक बुलेट ऑब्जेक्ट को तत्काल बनाता है, माउस कर्सर की ओर इसकी दिशा निर्धारित करता है और शूटिंग का अनुकरण करने के लिए वेग लागू करता है।

गेमप्ले को बढ़ाना

दुश्मन AI, पावर-अप और अधिक जटिल लेवल डिज़ाइन जोड़कर अपने गेम का विस्तार करें। एक शानदार गेमिंग अनुभव बनाने के लिए ध्वनि प्रभाव, दृश्य प्रभाव और UI तत्वों को लागू करें।

निष्कर्ष

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