Cave: शुरुआत गाइड

Back to Learn

Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Logic Bricks Cave का दृश्य स्क्रिप्टिंग सिस्टम हैं।

ये आपको नोड्स को जोड़कर गेमप्ले व्यवहार बनाने की अनुमति देते हैं बजाय कि सीधे Python कोड लिखने के।

cave-nocode-b.png

यह पाठ Logic Bricks क्या हैं, ये कहाँ होते हैं, ये कैसे चलते हैं, और आपको इन्हें कब उपयोग करना चाहिए, इसे पेश करता है। आप बाद में गहरे पाठों में पूरे सिस्टम को सीखेंगे, लेकिन यह अवलोकन आपको यह समझने में मदद करेगा कि Logic Bricks Cave कार्यप्रवाह में कहाँ फिट बैठते हैं।

वीडियो ट्यूटोरियल

हमारे पास Logic Bricks के साथ शुरुआत करने के लिए एक पूरा वीडियो ट्यूटोरियल है। हम सलाह देते हैं कि आप इसे देखें।

YouTube पर देखें

यह उन्हें गहराई से सीखने के लिए एक बेहतर दृष्टिकोण होगा।

लेकिन अगर आप यहाँ जारी रखना चाहते हैं, तो चलिए एक त्वरित परिचय करते हैं:


Logic Bricks क्या हैं?

Logic Bricks दृश्य लॉजिक ग्राफ हैं जो आपको जल्दी से दृश्य के माध्यम से लॉजिक बनाने की अनुमति देते हैं, बिना वास्तविक कोड लिखे।

image.png

यदि आप अन्य दृश्य स्क्रिप्टिंग दृष्टिकोणों से परिचित हैं जैसे कि Unreal Engine के Blueprints, तो प्रत्येक Brick मौलिक रूप से एक नोड है। लेकिन Cave के नामकरण मानकों के अनुसार, इन्हें Bricks कहा जाता है। Bricks कई प्रकार की लॉजिक का प्रतिनिधित्व कर सकते हैं:

  • घटनाएँ।
  • क्रियाएँ।
  • मान।
  • गणित।
  • स्ट्रिंग।
  • इंजन उपयोगिताएँ।
  • Entity संचालन।
  • Component संचालन।
  • Asset संदर्भ।
  • कार्य।

आप Bricks को एक साथ जोड़कर व्यवहार बनाते हैं।

यदि आप प्रोग्रामिंग में नए हैं, तो Logic Bricks इंटरैक्शन बनाने का एक मित्रवत तरीका हो सकते हैं क्योंकि आप ग्राफ के रूप में व्यवहार देख सकते हैं।

उदाहरण के लिए, एक सरल ग्राफ का अर्थ हो सकता है:

जब खिलाड़ी इस ट्रिगर को छूता है:
  एक दरवाजा खोलें।
  एक ध्वनि चलाएँ।
  ट्रिगर को डिसेबल करें।

इस तरह का इंटरैक्शन अक्सर लंबे स्क्रिप्ट के बजाय दृश्य के रूप में समझने में अधिक आसान होता है जब आप अभी सीख रहे होते हैं।

यह पूरा Logic Bricks पाठ नहीं है

यह पाठ केवल एक अवलोकन है।

Logic Bricks इससे कहीं अधिक गहरे जा सकते हैं:

  • कार्य।
  • प्रवाह नियंत्रण।
  • मान सॉकेट।
  • रनटाइम डिबगिंग।
  • टिप्पणियाँ।
  • एसेट हैंडलर ब्रिक्स।
  • पुन: प्रयोज्य ग्राफ।
  • राज्य मशीन एकीकरण।

वे विषय बाद में फोकस्ड पाठों के लिए सुखद हैं।

अभी के लिए, लक्ष्य Logic Bricks की भूमिका को समझना है: ये व्यवहार बनाने, सिस्टम को जोड़ने, इंटरैक्शन को प्रोटोटाइप करने, और गेम ऑब्जेक्ट्स को घटनाओं के प्रति प्रतिक्रिया देने का एक दृश्य तरीका हैं।

यदि आप एक पूरा Logic Brick ट्यूटोरियल चाहते हैं, तो कृपया इसे देखें

Logic Brick एसेट्स

एक Logic Bricks ग्राफ एक एसेट है। आप इसे एसेट ब्राउज़र में बनाते हैं, बिल्कुल वैसे ही जैसे आप दृश्यों, Python स्क्रिप्टों, टाइमलाइनों, सामग्रियों, या एंटिटी टेम्पलेट्स को बनाते हैं।

क्योंकि यह एक एसेट है, यह:

  • नामित किया जा सकता है।
  • फ़ोल्डरों में व्यवस्थित किया जा सकता है।
  • एसेट ब्राउज़र में चयनित किया जा सकता है।

  • गुण टैब में संपादित किया जा सकता है।

  • कई एंटिटीज़ द्वारा पुन: उपयोग किया जा सकता है।
  • प्रोजेक्ट के साथ Saved किया जा सकता है।

यह महत्वपूर्ण है: ग्राफ स्वयं प्रोजेक्ट सामग्री है।

उदाहरण के लिए, आप एक Door Logic एसेट बना सकते हैं और इसे कई दरवाजों पर उपयोग कर सकते हैं। बाद में, यदि आप ग्राफ में सुधार करते हैं, तो वे दरवाजे अद्यतन व्यवहार साझा कर सकते हैं, यह इस पर निर्भर करता है कि आप पुन: प्रयोज्य सेटअप को कैसे व्यवस्थित करते हैं।

Logic Bricks Component

Logic Bricks एसेट को गेम में चलाने के लिए, इसे एक एंटिटी के साथ Logic Bricks Component से संलग्न करें।

image.png

कंपोनेंट चुनता है कि उसे किस Logic Bricks एसेट का उपयोग करना चाहिए। रनटाइम पर, कंपोनेंट अपने मालिक एंटिटी के लिए ग्राफ का एक रनटाइम उदाहरण बनाता है।

इसका मतलब है:

  • एसेट साझा व्यवहार परिभाषित करता है।
  • प्रत्येक एंटिटी को अपना चल रहा उदाहरण मिलता है।
  • वही ग्राफ कई एंटिटीज़ द्वारा पुन: उपयोग किया जा सकता है।

यह उसी तरह है जैसे एक पुन: प्रयोज्य Python स्क्रिप्ट कई एंटिटीज़ पर अलग-अलग चल सकती है।

पुन: प्रयोज्य Logic Bricks

Logic Bricks पुन: प्रयोज्य होते हैं, और यह उनकी सबसे बड़ी ताकतों में से एक है।

उदाहरण के लिए, आप एक Logic Bricks एसेट बना सकते हैं जिसे Open Door कहा जाता है। तब कई दरवाजे की एंटिटीज़ उसी ग्राफ का उपयोग कर सकती हैं।

पुन: प्रयोज्य लॉजिक तब अच्छी तरह से काम करता है जब:

  • कई ऑब्जेक्ट्स समान व्यवहार साझा करते हैं।
  • प्रत्येक ऑब्जेक्ट को थोड़ा अलग स्थानीय मानों की आवश्यकता होती है।
  • आप एक ही स्थान पर व्यवहार में सुधार करना चाहते हैं।
  • आप चाहते हैं कि प्रोजेक्ट व्यवस्थित रहे।

यह उसी तरह है जैसे:

पुन: प्रयोज्य एसेट पुनः उपयोग करने वाले
Python स्क्रिप्ट Python Components.
एंटिटी टेम्पलेट दृश्य उदाहरण।
सामग्री मेश एंटिटीज़।
Logic Bricks Logic Bricks Components.

एक ही ग्राफ को कई स्थानों में कॉपी करने के बजाय, आप एक व्यवहार एसेट रखते हैं और प्रत्येक एंटिटी को आवश्यकतानुसार कॉन्फ़िगर करते हैं।

Logic Brick गुण

Logic Bricks गुणों को उजागर कर सकते हैं।

वे गुण Logic Bricks Component में समन्वयित होते हैं, जहां उन्हें स्थानीय रूप से ओवरराइड किया जा सकता है।

उदाहरण के लिए, एक पुन: प्रयोज्य नुकसान ग्राफ निम्नलिखित को उजागर कर सकता है:

  • अधिकतम स्वास्थ्य।
  • नुकसान राशि।
  • नुकसान कूलडाउन।
  • लक्षित टैग।
  • क्या यह ट्रिगर करने के बाद ऑब्जेक्ट को नष्ट करता है।

फिर ग्राफ का उपयोग करने वाली प्रत्येक एंटिटी के अलग-अलग मान हो सकते हैं।

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

फ्लो इवेंट्स

लॉजिक आमतौर पर घटनाओं से शुरू होता है।

सामान्य फ्लो घटनाओं में शामिल हैं:

इवेंट यह कब चलता है
On Start जब लॉजिक शुरू होता है।
On First Update शुरू होने के बाद पहले अपडेट पर।
On Update जबकि गेम अपडेट हो रहा है।
On Paused Update जबकि रुके अपडेट की अनुमति है।
On Late Update अपडेट चक्र में बाद में।
On End जब लॉजिक समाप्त हो रहा है।

इवेंट्स ग्राफ के एंट्री पॉइंट होते हैं।

बिना किसी इवेंट या अन्य ट्रिगर के, ग्राफ का कोई कारण नहीं होता है कि वह काम करना शुरू करे।

लॉजिक फ्लो

लॉजिक फ्लो तय करता है कि क्या होता है और किस क्रम में होता है। फ्लो सॉकेट इवेंट और क्रिया ब्रिक्स को जोड़ते हैं।

उदाहरण:

image.png

इसका मतलब है कि प्रिंट क्रिया तब होती है जब ग्राफ शुरू होता है।

महत्वपूर्ण शुरुआती अंतर यह है:

कनेक्शन प्रकार उद्देश्य
फ्लो कनेक्शन परिभाषित करते हैं कि क्रियाएँ कब चलती हैं।
वैल्यू कनेक्शन उन क्रियाओं को डेटा प्रदान करते हैं।

एक बार जब यह क्लिक करता है, Logic Bricks पढ़ने में बहुत आसान हो जाते हैं।

अधिक जटिल ग्राफ शाखा बना सकते हैं, देरी कर सकते हैं, शेड्यूल कर सकते हैं, कार्य कॉल कर सकते हैं, मान पढ़ सकते हैं, एंटिटीज़ को संशोधित कर सकते हैं, और घटकों के साथ संवाद कर सकते हैं।

रनटाइम डिबगिंग

Logic Bricks परीक्षण के दौरान उपयोगी रनटाइम प्रतिक्रिया दिखा सकते हैं।

जब मालिक एंटिटी Play Mode के दौरान चुनी जाती है, तो निष्पादित ब्रिक्स और लिंक को हाइलाइट किया जा सकता है ताकि आप देख सकें कि क्या चला:

image.png

रनटाइम डिबगिंग यह सवालों का उत्तर देने में मदद कर सकता है:

  • क्या इवेंट चला?
  • क्या स्थिति पारित हुई?
  • क्या क्रिया निष्पादित हुई?
  • क्या ग्राफ सही ऑब्जेक्ट तक पहुँचा?
  • क्या कंसोल में कोई त्रुटि प्रिंट हुआ था?

यदि एक दरवाजा नहीं खुला, तो यह प्रतिक्रिया आपको निरीक्षण करने में मदद करती है कि क्या ट्रिगर इवेंट चला, क्या स्थिति पारित हुई, और क्या क्रिया दरवाजे तक पहुँची।

जब आप गेम का परीक्षण करने के बाद एक लॉजिक ब्रिक को चुनते हैं, तो यह भी स्क्रीन के नीचे बाएँ कोने में दिखाता है कि इसे कितनी बार निष्पादित किया गया और निष्पादन का औसत समय।

State Machines में Logic Bricks

Logic Bricks केवल स्टैंडअलोन घटकों के रूप में उपयोग नहीं किए जाते हैं। इन्हें State Machines के भीतर भी उपयोग किया जा सकता है।

उदाहरण के लिए:

  • एक State Machine स्थिति अपने व्यवहार के लिए Logic Bricks का उपयोग कर सकती है।
  • एक संक्रमण अपने शर्त के लिए Logic Bricks का उपयोग कर सकता है।

State Machines को बाद में समझाया गया है, लेकिन यह जानना उपयोगी है कि Logic Bricks बड़े संरचित व्यवहार सिस्टम का हिस्सा हो सकते हैं।

इसका मतलब है कि आप सरल इंटरैक्शन के लिए दृश्य लॉजिक का उपयोग कर सकते हैं और दुश्मन की स्थितियों जैसे संगठित व्यवहार के लिए भी।

Logic Bricks का उपयोग कब करें

Logic Bricks अच्छे फिट होते हैं:

  • शुरुआती जो गेमप्ले लॉजिक सीख रहे हैं।
  • डिजाइनर जो दृश्य लॉजिक को पसंद करते हैं।
  • त्वरित प्रोटोटाइप।
  • सरल इंटरैक्शन।
  • ट्रिगर।
  • यूआई व्यवहार।
  • पुन: प्रयोज्य गेमप्ले घटनाएँ।
  • सिस्टम को एक साथ जोड़ना।

अच्छे शुरुआती उदाहरणों में शामिल हैं:

  • एक प्रेशर प्लेट दरवाजा खोल रही है।
  • एक पिकअप स्वास्थ्य बढ़ाना।
  • एक ट्रिगर टाइमलाइन शुरू कर रहा है।
  • एक यूआई बटन दृश्यों को बदल रहा है।
  • एक खतरा खिलाड़ी को नुकसान पहुँचा रहा है।
  • एक_checkpoint स्थिति को सहेजना।

बहुत बड़े या जटिल सिस्टम के लिए, Python को व्यवस्थित करना आसान हो सकता है। कई गेमप्ले इंटरैक्शनों के लिए, Logic Bricks तेज, दृश्य, और निरीक्षण में आसान होते हैं।

एक सरल नियम

Cave इंजन का दृश्य स्क्रिप्टिंग Python API के साथ एक-से-एक समानता रखता है, जिसका अर्थ है कि जो भी कार्य कोड के माध्यम से उपलब्ध नहीं है, वह Logic Bricks के माध्यम से भी उपलब्ध होना चाहिए। इसका मतलब है कि आप स्वतंत्र रूप से चुन सकते हैं कि आप अपने खेल की लॉजिक बनाने के लिए कौन सा तरीका पसंद करते हैं। मतलब:

  • जब आप व्यवहार को ग्राफ के रूप में देखना चाहते हैं, तो Logic Bricks का उपयोग करें।
  • जब व्यवहार को कोड के रूप में व्यक्त करना आसान हो, तो Python का उपयोग करें।
  • आप दोनों को भी मिला सकते हैं!

दोनों दृष्टिकोण Cave का हिस्सा हैं, और कई प्रोजेक्ट्स कुछ प्रणालियों के लिए दृश्य लॉजिक का उपयोग करते हैं और दूसरों के लिए Python।