खेल विकास में एक अभिनेता क्या है?


15

मैं गेम डेवलपमेंट ( गेम कोडिंग कम्प्लीट, फोर्थ एडिशन ) के बारे में एक किताब पढ़ रहा हूं और एक "एक्टर्स" विषय है, जो सिर्फ यह समझाता है कि यह समझाने के बजाय कि उन्हें कैसे उपयोग किया जाए।

यहाँ बताया गया है कि पुस्तक इन अभिनेताओं का परिचय कैसे देती है:

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

एक खेल अभिनेता एक ऐसी वस्तु है जो आपके खेल की दुनिया में एकल इकाई का प्रतिनिधित्व करता है। यह एक बारूद पिकअप, एक टैंक, एक सोफे, एक एनपीसी या कुछ भी हो सकता है, जिसके बारे में आप सोच सकते हैं। कुछ मामलों में, दुनिया खुद भी एक अभिनेता हो सकती है। खेल अभिनेताओं के मापदंडों को परिभाषित करना और यह सुनिश्चित करना महत्वपूर्ण है कि वे यथासंभव लचीले और पुन: प्रयोज्य हैं।

एक गेम अभिनेता को परिभाषित करने के कई तरीके हैं जैसे कि गेम हैं। कंप्यूटर प्रोग्रामिंग में सब कुछ की तरह, शायद ही कभी एक सही समाधान है।

मैं केवल बहुत कम चीजों को समझ सकता था: यह खेल में हर चीज का एक अमूर्त हिस्सा है जो क्रिया कर सकता है; इसका अपना राज्य है; यह व्यवहार आमतौर पर एक राज्य मशीन के रूप में लागू किया जाता है। यह बात है। मैं खेल विकास के लिए सिस्टम प्रोग्रामिंग पृष्ठभूमि के साथ आ रहा हूं, और इसलिए मैं सामान्य रूप से जानना चाहूंगा कि खेल विकास में अभिनेता क्या है, इसका उपयोग कैसे किया जाए, सामान्य रूप से इसका उपयोग कैसे किया जाए, यह किस समस्या को हल करता है, कैसे और क्यों। मैं स्पष्टीकरण ऐसा होना चाहूंगा कि एक बच्चा समझ सके।

मैंने इस जानकारी को Google पर खोजने की कोशिश की है, लेकिन यह मुझे एक और "अभिनेताओं" की ओर ले जाता है: समवर्ती प्रोग्रामिंग ज्यादातर समय या गेम अभिनेताओं के बिना लेकिन इसके बारे में अच्छी व्याख्या के बिना।


@Philipp मैंने पुस्तक को जोड़ा है। हालाँकि, इसकी कुछ बहुत ही संक्षिप्त व्याख्या है, actorलेकिन मैं इससे संतुष्ट नहीं हूँ: यह अभिनेताओं के आविष्कार के लिए कोई ऐतिहासिक या व्यावहारिक कारण नहीं लाता है और यह किस समस्या को हल करता है, बस समझा रहा है कि यह क्या हो सकता है।
विक्टर पोलेवॉय 12

1
अवास्तविक इंजन में, एक Actorवास्तव में एक वर्ग है। docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…
Almo

2
मेरा मानना ​​है कि अधिकांश इंजन इन "संस्थाओं" या "गेम ऑब्जेक्ट" को कहते हैं; मैंने इस संदर्भ में "अभिनेता" कभी नहीं सुना है।
user253751

7
आपका उद्धृत ब्लॉक टेक्स्ट "क्या एक अभिनेता है" के प्रश्न के उत्तर के रूप में अच्छा है जैसा कि आप प्राप्त करने जा रहे हैं।
रसेल बोरोगोव

चीजों को और अधिक भ्रमित करने के लिए, अभिनेता मॉडल में अभिनेता भी हैं , जो स्पष्ट रूप से अलग है।
ब्रायन मैककिनटन

जवाबों:


40

जैसा कि आपने उल्लेख किया है, एक अभिनेता सचमुच कुछ भी हो सकता है; पेड़, एनपीसी, भवन, आदि एक समान शब्द "इकाई" है। इसे पारंपरिक अर्थों में व्यवहार की आवश्यकता नहीं है, यह स्थिर हो सकता है।

यह "खेल में एक वस्तु" कहने का एक तरीका है।


2
तो यह सिर्फ एक termसमान है entity, ठीक है। मैंने सोचा है कि यह भी कुछ और का अर्थ है, सोचा था कि यह सिर्फ एक पर्याय से बड़ा अमूर्त है। क्या आप यह भी बता सकते हैं कि अभिनेता क्या होना चाहिए और क्या नहीं? इसे चुनने के लिए मुझे क्या काम करना चाहिए?
विक्टर पोलेवॉय 12

Actorवास्तव में असत्य इंजन में एक वर्ग है। खैर, यह वैसे भी संस्करण 2 में वापस आ गया था। इसलिए यह केवल एक शब्द नहीं हो सकता है, जिसके आधार पर आप किस इंजन का उपयोग कर रहे हैं।
अल्मो

1
ऐसा लगता है कि खेल में सब कुछ एक अभिनेता है, जो उस शब्द को बेकार कर देगा। मैं वह सब कुछ कहूंगा जो गेमस्टेट बदल सकता है एक अभिनेता है। फिर एक पेड़ एक अभिनेता नहीं है यदि यह केवल एक पृष्ठभूमि छवि है, लेकिन अगर आप इसे काट सकते हैं और पुन: स्रोत प्राप्त कर सकते हैं, तो यह है। दूसरी तरफ मेनस कुछ करते हैं, लेकिन मैं उन्हें अभिनेताओं के रूप में वर्गीकृत नहीं करूंगा, वे खेल की दुनिया का हिस्सा नहीं हैं (ज्यादातर, उदाहरण के लिए "अपग्रेड पूरा" फ्लैश गेम में मेनू वास्तव में खेल की दुनिया का हिस्सा हैं)।
syntonym

@syntonym प्रश्न में उद्धृत पाठ का दूसरा पैराग्राफ बताता है कि कुछ भी एक अभिनेता हो सकता है, यहां तक ​​कि सोफे भी। इसके अलावा, सब कुछ एक अभिनेता नहीं है, उदाहरण के लिए कण नहीं हैं।
बैलिंट

@ Bálint दिलचस्प है, मुझे लगता है कि कण भी अभिनेता हैं। उन्हें अपडेट पर टिक करना होगा, उन्हें सोचना होगा (भौतिकी), उनके पास एक राज्य है। ऐसा नहीं है?
विक्टर पोलेवॉय

13

मेरी समझ से यह शब्द लेखकों को खेलों के लिए कहानियां बनाने के लिए काम पर रखने का एक दुष्प्रभाव है। चूंकि वे आमतौर पर थिएटर या स्क्रीन से आते हैं, वे शर्तों के आदी हैं Actorऔर PropActorsचीजें हैं जो चलती हैं और खेल में एक वास्तविक भूमिका निभाती हैं, औरProps पेड़, भवन आदि जैसी चीजें हैं।

कॉलेज में कोडिंग के मेरे शुरुआती दिनों से, हमें एकता जैसे इंजन का उपयोग करने की अनुमति देने से पहले, हमें अपना इंजन कोड करना था। Actorएक अमूर्त आधार वर्ग था जिसमें एक परिवर्तन, खाली जीवन चक्र कार्य और एक फ़ंक्शन Act()था, जिसे एकता का हमारा संस्करण कहा गया थाUpdate()

हमारा मुख्य गेम लूप मूल रूप से है:

for(Actor actor in actors)
{ 
   actor.Act(); 
}

अधिकांश इंजन अपने पढ़ने से इकाई अवधारणा का उपयोग, इसलिए, बस का अनुवाद Actorके रूप में Entityअपने सिर में और आप ठीक हो जाओगे।


+1 मुझे यह पसंद है कि यह इस तथ्य को दर्शाता है कि आपको आधार वर्ग के लिए एक नाम की आवश्यकता है।
Vaillancourt

2
मेरी समझ से यह शब्द लेखकों को खेलों के लिए कहानियां बनाने के लिए काम पर रखने का एक दुष्प्रभाव है। चूंकि वे आमतौर पर थिएटर या स्क्रीन से आते हैं, वे एक्टर और प्रोप के आदी हैं। {{citation needed}} एक शब्द "अभिनेता" काफी सामान्य है जो सॉफ्टवेयर डिजाइन में इस्तेमाल किया जाता है, इससे पहले कि लोग खेल के लिए लेखकों को काम पर रखने के बारे में भी सोचते थे (यह भी इसका उपयोग किया गया था। यूएमएल आदि, व्यवसाय विकास के लिए उपयोग की जाने वाली चीजें)। शब्दकोश (MW) यह कहता है Definition of actor: 1 : one that acts : doer:; मैं यहां किसी भी नाटकीय संबंध को देखने में विफल हूं।

निष्पक्ष होने के लिए, मैंने अपनी समझ से कहा। आप सही हो सकते हैं, लेकिन लोगों को कम से कम अभिनेता के विचार और उस संदर्भ में प्रचार करने के लिए उपयोग किया जाता है, जो एस्केर को एक उपयोगी व्याख्या देता है।
Stephan

I too would say that the term Actor doesn't come from hiring writers but it may come from game developers' early desire to chase Hollywood. :)
dash-tom-bang
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.