नौकरी के विवरण में, मैं अक्सर "गेमप्ले प्रोग्रामर" नामक पदों को देखता हूं। उस स्थिति में लोग क्या करते हैं?
नौकरी के विवरण में, मैं अक्सर "गेमप्ले प्रोग्रामर" नामक पदों को देखता हूं। उस स्थिति में लोग क्या करते हैं?
जवाबों:
जब कंपनियां गेमप्ले प्रोग्रामर को काम पर रखने के बारे में बात करती हैं , तो वे किस बारे में बात कर रहे हैं, एक प्रोग्रामर है जो कोड के लिए जिम्मेदार होगा जो सीधे गेम के अनुभव को छूता है। यही है, इंजन या बड़े गेम सिस्टम के बजाय प्रोग्रामर वास्तव में गेम के निर्माण के लिए जिम्मेदार होगा। लेकिन इससे परे, चीजें बहुत भिन्न होती हैं:
कुछ कंपनियां उपयोगकर्ता इंटरफ़ेस को लागू करने के लिए गेमप्ले प्रोग्रामर की अपेक्षा करती हैं । कुछ नहीं। कुछ कंपनियां उनसे एआई कोड लागू करने की उम्मीद करती हैं, कुछ नहीं। कुछ उनसे ऑडियो कोड लागू करने की अपेक्षा करते हैं, कुछ नहीं। सच कहूं, तो गेमप्ले प्रोग्रामर में "गेमप्ले" एक "सब कुछ है कि हम एक विशेषज्ञ को काम पर नहीं रखा है" के लिए एक उद्योग शॉर्टहैंड है। इसलिए इन प्रोग्रामर्स को बहुत बहुमुखी होने की आवश्यकता है, और नए विषयों को जल्दी से सीखने में सक्षम होने की आवश्यकता है।
मैंने लगभग पंद्रह साल बिताए, पांच अलग-अलग कंपनियों में वाणिज्यिक उद्योग में गेमप्ले प्रोग्रामर होने के नाते।
मेरा अनुभव था कि कुछ कंपनियों में, एक गेमप्ले प्रोग्रामर को जूनियर या एंट्री-लेवल पोजीशन माना जाता है; प्रोग्रामर जो केवल एक व्यक्तिगत गेम पर काम कर रहे हैं, आखिरकार, उन लोगों के रूप में परिष्कृत होने की आवश्यकता नहीं है जो सिस्टम पर काम कर रहे हैं जो एक साथ बहुत सारे गेम का समर्थन करने की आवश्यकता है, जिस तरह से इंजन प्रोग्रामर की आवश्यकता है। इस तरह की कंपनी में, यदि गेमप्ले प्रोग्रामर वास्तव में अच्छा करता है, तो उसे किसी दिन इंजन टीम में पदोन्नत किया जा सकता है, यदि वह अपनी योग्यता साबित कर सकता है। या वह एक विशेषज्ञ बन सकता है, अगर वह किसी विशेष क्षेत्र के लिए योग्यता दिखाता है।
अन्य कंपनियों में, एक गेमप्ले प्रोग्रामर को मध्यम स्तर की स्थिति माना जाता है; एक व्यक्तिगत खेल पर काम करने वाले प्रोग्रामर को कुछ उपयोगी अनुभव और भरोसेमंद होने की आवश्यकता होती है। अनुभवहीन प्रोग्रामर को अपने दांत (डेटा पाइपलाइन, उपकरण, आदि) पर दांतों को काटने के लिए अवांछनीय नौकरियां दी जा सकती हैं, और अंततः "गेमप्ले प्रोग्रामर" नौकरी में जाने की अनुमति दी जा सकती है। इस तरह की प्रणाली में, एक गेमप्ले प्रोग्रामर जो बहुत अच्छी तरह से करना जारी रखता है, वह परियोजना नेतृत्व की भूमिका में आगे बढ़ सकता है, या फिर इंजन टीम पर।
अभी भी अन्य कंपनियों में, एक गेमप्ले प्रोग्रामर को एक वरिष्ठ स्थिति माना जाता है, और साथ ही एक अर्ध-डिज़ाइन स्थिति के रूप में भी; इन प्रोग्रामरों से उत्कृष्ट, सिद्ध प्रोग्रामर होने की उम्मीद की जाती है, लेकिन मजबूत डिजाइन संवेदनशीलता और योग्यता भी है, क्योंकि वे सीधे उस कोड को छू रहे हैं जो गेम के साथ खिलाड़ी के अनुभव को सबसे अधिक प्रभावित करता है। इस तरह की प्रणाली में, एक बहुत अच्छा गेमप्ले प्रोग्रामर संभवतः गेमप्ले प्रोग्रामर हमेशा के लिए बना रहेगा - इसे सबसे मूल्यवान स्थिति माना जाता है जिसे वह भर सकता है।
अंगूठे के एक सामान्य नियम के रूप में, कंपनी के खेल जितने बेहतर होते हैं, उतने ही वरिष्ठ पद के लिए वे गेमप्ले प्रोग्रामर को मानते हैं (और इसलिए, वास्तव में ऐसा काम करना कठिन होगा)।
मुझे हमेशा लगता है कि यह उदाहरण के द्वारा समझाने में मदद करता है।
एक गेमप्ले प्रोग्रामर को इसकी तर्ज पर कार्य दिए जाएंगे: हाथापाई का मुकाबला प्रणाली लागू करना, स्वास्थ्य उत्थान मैकेनिक को लागू करना, या खिलाड़ी कूद नियंत्रण को लागू करना।
एक इंजन प्रोग्रामर (जिसे आप विशेष रूप से गेमप्ले प्रोग्रामर नहीं कहते हैं) को इसकी तर्ज पर कार्य दिए जाएंगे: आस्थगित प्रकाश व्यवस्था, या एक एनीमेशन प्रणाली, या एक नेटवर्किंग परत लागू करें।
प्रमुख भेद यह है कि 'ग्राहक' कौन है। गेमप्ले प्रोग्रामर्स के लिए, यह डिज़ाइन टीम है - उनका कार्य डिज़ाइन को वास्तविकता में बनाना है। इंजन प्रोग्रामर के लिए, यह आम तौर पर अन्य प्रोग्रामर है । इंजन प्रोग्रामर तकनीक और सिस्टम बनाते हैं, जो गेमप्ले प्रोग्रामर और कंटेंट क्रिएटर तब डिजाइन का एहसास करने के लिए उपयोग कर सकते हैं।
इंजन प्रोग्रामर कोड लिखते हैं जो काफी हद तक खेल-अज्ञेयवादी है - एक ही तकनीक का उपयोग अक्सर कई खेलों में किया जा सकता है। गेमप्ले प्रोग्रामर कोड लिखने के लिए करते हैं जो कि बनाए जा रहे गेम के लिए बहुत विशिष्ट है। और हमेशा ओवरलैप होता है - कभी-कभी गेमप्ले को लागू करने के लिए आपको कुछ नए इंजन कोड की आवश्यकता होती है।
गेमप्ले कोडिंग इंजन कोडिंग की तुलना में कोई कठिन या आसान नहीं है। हालांकि यह निश्चित रूप से थोड़ा अलग कौशल-सेट है; आपको अक्सर अधिक रचनात्मक होने की आवश्यकता होती है, और समाधानों को चकमा देने में सक्षम होना चाहिए । आपका लक्ष्य सही पुन: प्रयोज्य प्रणाली (इंजन प्रोग्रामर के लिए आदर्श) बनाना नहीं है, बल्कि सबसे अच्छा गेम कार्यान्वयन बनाना है। तो क्या इंजन प्रोग्रामिंग में एक संपत्ति हो सकती है (विस्तार और अच्छी तरह से इंजीनियर संरचनाओं पर ध्यान देना) गेमप्ले प्रोग्रामिंग में एक बाधा हो सकती है (जहां अनुकूलनशीलता और पुनरावृत्ति का समय अधिक महत्वपूर्ण है)। एक अच्छा गेमप्ले प्रोग्रामर जानता है कि इसे सही कब करना है (जब डिजाइन ठोस हो और कोड का उपयोग कई स्थानों पर किया जाएगा), और इसे जल्दी से कब करना है (जब डिजाइन अभी भी काम कर रहा है, और आपके कोड में एक अच्छा मौका है एक बार परीक्षण करने के बाद छोड़ दिया जाना)।
सबसे अधिक, गेमप्ले प्रोग्रामर को डिजाइन टीम के साथ एक स्तर पर सहयोग करने में सक्षम होना चाहिए जो इंजन प्रोग्रामर नहीं करते हैं। स्पष्ट संचार कौशल के अलावा, इसका मतलब है कि आपको इंजन प्रोग्रामर की तुलना में अन्य गेम डिजाइनों से परिचित होने की आवश्यकता है, ताकि जब कोई डिजाइनर कहे कि "इसे ज़ेल्डा की तरह काम करें," तो आप जानते हैं कि वे किस बारे में बात कर रहे हैं।
एक इंजन प्रोग्रामर बनने के लिए सीखने के लिए, आप एक तकनीक पर काम करेंगे और सीखेंगे कि यह कैसे काम करता है, और शायद इसका अपना संस्करण लागू करें; खेल सिर्फ एक अखाड़ा होगा जिसमें तकनीक को दिखाया जाएगा।
गेमप्ले प्रोग्रामर बनने के लिए सीखने के लिए, आप किसी और के इंजन को ले जाएंगे, और इसे कई अलग-अलग तरीकों से उपयोग कर सकते हैं। दूसरे शब्दों में, यदि आप गेमप्ले प्रोग्रामर बनना चाहते हैं, तो गेम बनाएं, तकनीक नहीं ।
वास्तव में यह कैसा लगता है, एक प्रोग्रामर जो गेम प्ले मैकेनिक्स को लागू करता है और बनाए रखता है।
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer