क्या UE4 का उपयोग कर गेम बनाने वाले उद्योग पेशेवर ब्लूप्रिंट का उपयोग करते हैं, या वे C ++ का विशेष रूप से उपयोग करते हैं?


15

एक गेम डेवलपमेंट मॉड्यूल पर एक शिक्षक के रूप में, मैंने आमतौर पर जोर दिया है कि उपयोगकर्ता C ++ का उपयोग करते हैं, क्योंकि यह उद्योग में अधिक मांग वाला कौशल है, लेकिन Unreal Engine 4 में C ++ पर ऑनलाइन समर्थन और जानकारी अपेक्षाकृत कमजोर लगती है। क्या पेशेवर अब ब्लूप्रिंट का उपयोग कर रहे हैं या नहीं?


11
दस्तावेज़ीकरण इस बात का एक अच्छा गेज नहीं है कि किसी चीज़ का कितना उपयोग किया जाता है।
MichaelHouse

अवास्तविक इंजन 4 C ++ पर दस्तावेज़ीकरण की कमी है क्योंकि आप स्वयं कोड को पढ़ते हैं। यदि आप स्रोत कोड तक पहुँच सकते हैं तो आपको कड़ाई से प्रलेखन की आवश्यकता नहीं है। हालांकि यह अच्छा होगा।
ऑक्सी

1
@ प्रॉक्सी स्रोत कोड दस्तावेज़ीकरण का विकल्प नहीं है। अवधि। स्रोत , परिभाषा की तुलना में दस्तावेज़ीकरण को पढ़ने के लिए बहुत कठिन है, क्योंकि दस्तावेज़ीकरण का बिंदु यह पढ़ना है कि एक फ़ंक्शन पढ़ने योग्य प्रारूप में क्या करता है। यह असत्य की तरह उच्च-प्रदर्शन, अत्यंत सक्षम कोड का दोगुना सच है।
निधि मोनिका का मुकदमा

1
मैं समझा रहा हूं कि क्या होता है, औचित्यपूर्ण नहीं। "हालांकि, यह अच्छा होगा।" और आप बेहतर ढंग से आपके द्वारा उपयोग किए जाने वाले कार्यों के कोड को पढ़ते हैं, यहां तक ​​कि दस्तावेज वाले भी, क्योंकि कुछ महत्वपूर्ण लोगों के पास सोने की डली है जैसा कि "फू (एक्स) {/ * फू लागू नहीं किया जाता है, इसके बजाय बार (एक्स) कर रहा है क्योंकि आमतौर पर फू (एक्स) की तरह कार्य करता है ) किया गया था * / बार (x);}। मुझे अभी भी एक दस्तावेजीकरण प्रणाली देखनी पड़ रही है, जिसमें कोड विकास के साथ तालमेल बना रहे। स्वचालित प्रलेखन के अलावा, जो पैरामीटर प्रकार और रिटर्न प्रकारों के अलावा और कुछ नहीं करता है, जैसे हेडर पढ़ने से होता है।
ऑक्सी

जवाबों:


25

हां, पेशेवर खेल ब्लूप्रिंट का उपयोग करते हैं।

कुछ सी ++ और ब्लूप्रिंट के मिश्रण का उपयोग करते हैं। हम डेलाइट द्वारा डेड पर दोनों का उपयोग करते हैं।

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


क्या आप विस्तार कर सकते हैं? क्या केवल प्रोग्रामर ब्लूप्रिंट, या केवल "गैर-तकनीकी" कर्मचारियों या दोनों का एक सा उपयोग करते हैं? क्या इसका उपयोग विशिष्ट उद्देश्यों के लिए किया जाता है, या केवल कुछ के बारे में?
काबोइसोन्ताल्ट

7
@KABoissonneault यह बहुत ज्यादा एक मिश्रण है। अधिकांश समय ऐसा कोई आसान तरीका नहीं है जिससे स्पष्ट रूप से समझा जा सके कि कौन से प्रोग्रामर बनाम गैर-प्रोग्रामर किस पर काम करते हैं। यह विशेष रूप से सच है यदि आपके पास एक डिज़ाइनर है, जो संभवतः सभी कोड में ट्विक चाहते हैं । तेजी से प्रोटोटाइप के लिए ब्लूप्रिंट का भी बहुत उपयोग किया जाता है, और यदि आवश्यक नहीं है तो प्रदर्शन को इसकी आवश्यकता नहीं है। यह स्टूडियो और प्रोजेक्ट द्वारा भी बहुत भिन्न होगा, इसलिए इसका कोई जवाब नहीं है।
निधि मोनिका का मुकदमा

9

खेल उद्योग के बाहर से एक छोटा सा किस्सा: हम VR में आर्किटेक्चर विज़ुअलाइज़ेशन के लिए UE4 का उपयोग करते हैं।

जबकि मेरे पास C ++ में निर्मित अधिकांश चीजें हैं, हम सभी प्रकार के "अतिरिक्त तर्क" जैसे लाइट स्विच, दरवाजे, आदि के लिए ब्लूप्रिंट का भी भारी उपयोग करते हैं।

यह अब दो साल से थोड़ा अधिक समय के लिए है और मैं इस प्रयास की शुरुआत में एकमात्र प्रोग्रामर था। तो यहाँ मेरी टिप्पणियों हैं:

  • यह आश्चर्यजनक है कि गैर-प्रोग्रामर ब्लूप्रिंट के साथ क्या कर सकते हैं!
  • मैं भयानक हो सकता हूं कि नौसिखिए प्रोग्रामर ब्लूप्रिंट के साथ क्या करते हैं;)
  • यहां तक ​​कि अगर मैं इसे अंत में सी ++ में बदल देता हूं, तो ब्लूप्रिंट एक त्वरित आरएनडी चरण के लिए अच्छा है

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

उन्होंने वास्तव में सॉफ्टवेयर वास्तुकला और विशाल स्पेगेटी ब्लूप्रिंट के नुकसान (या बल्कि बुरे सपने) के बारे में कुछ कठिन सबक सीखे। लेकिन रास्ते में थोड़ी सी सफलताओं का एक टन महसूस करने के बाद ही! इसलिए वे बिल्कुल भी हतोत्साहित नहीं हुए बल्कि बेहतर करने के लिए प्रेरित हुए और यह पता लगाया कि कैसे खुद से ऐसा करना है।

जब से उन्होंने C ++, Python, और C # में पाठ्यक्रम लिया है, हमारे ब्लूप्रिंट की समग्र गुणवत्ता बेहतर हो गई है, लेकिन इन सबसे: मुझे अब अपने कोर लिबास को विकसित करने में कुछ मदद करनी है :)

TLDR;

हां, हम ब्लूप्रिंट का उपयोग कर रहे हैं और उन्होंने मेरी शुरुआत में गैर-तकनीकी साथियों को बेहतर कोडर बनाया है।


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

@NicHartley myVector.x += otherVector.xब्लूप्रिंट में कोशिश कर रहा है। : o
अल्मो

1
@Almo मैं लगभग 90% सुनिश्चित हूं कि यह संभव है, जब तक कि आप वास्तव में इसे "लाइन" नहीं बनाना चाहते। बस (get myVector x) (get otherVector x) -> (+) -> (assign myVector x)(वाह, पाठ में ब्लूप्रिंट लिखना मुश्किल है ...)। हालांकि मेरे पास परीक्षण करने के लिए असत्य की एक प्रति नहीं है। या, यदि वैक्टर अपरिवर्तनीय हैं, तो बस एक नया काम करें,(myVector.x + otherVector.x, myVector.y, myVector.z)
फंड मोनिका का मुकदमा

1
यह निश्चित रूप से संभव है, लेकिन यह गड़बड़ है। एक ब्रेक बॉक्स में वेक्टर लाइन, जिसमें x, y, z आउटपुट हैं। ऐसा दो बार करें, एक myVector.x प्राप्त करने के लिए और दूसरा अन्य vv.x प्राप्त करने के लिए, उन्हें जोड़ें और इसे असाइन बॉक्स में रूट करें।
आलमो डेक

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