एक एंट्री लेवल गेम्स प्रोग्रामर के दिन-प्रतिदिन के कार्य क्या हैं? [बन्द है]


64

मैं क्या जानना चाहूंगा: खेल उद्योग कार्यस्थल में एक स्नातक प्रोग्रामर के दैनिक कर्तव्य क्या हैं? क्या यह ज्यादातर कोडिंग, विश्लेषण, डिजाइनिंग या क्या है?

धन्यवाद।

PS मैं इस समय विश्वविद्यालय के अपने दूसरे वर्ष में हूं और गेम प्रोग्रामिंग, विशेष रूप से गेमप्ले, टूल या यूआई प्रोग्रामिंग में विशेषज्ञता की दिशा में काम कर रहा हूं।

जवाबों:


103

मेरे अनुभव के आधार पर (संयुक्त राज्य अमेरिका में, एक परियोजना पर कॉलेज से बाहर काम पर रखा गया था, जो केवल प्रोटोटाइप से बाहर हो गई थी और लगभग 50 की एक टीम थी, फिर रद्द कर दिया गया था, फिर हम चार वर्षों में दो और गेम बनाने के लिए चले गए। लगभग 200 के कुल डेवलपर आधार के साथ था),

  • आप शायद अपने समय की प्रोग्रामिंग का लगभग 50-70% खर्च करेंगे। इस समय में, मैं 'फन स्टफ' को शामिल कर रहा हूं, जैसे कि वास्तव में एक चतुर फीचर बनाने के लिए, साथ ही बार जब आप 8 घंटे के लिए मेमोरी डंप को घूर रहे होते हैं तो यह पता लगाने की कोशिश करते हैं कि क्या दुर्घटनाग्रस्त हुआ। हो सकता है कि इसमें से 25-50% वास्तविक सिट-डाउन-ऑन-आपके-कीबोर्ड-एंड-गेट-इन-द-इन-ज़ोन लॉन्ग-फॉर्म प्रोग्रामिंग हो।
  • अन्य 15-25% मीटिंग्स और प्रशासनिक कार्यों में, जैसे बग ट्राइएज, बग ट्राइएज के बारे में मीटिंग्स, शेड्यूलिंग, अन्य प्रोग्रामर और प्रोड्यूसर्स के लिए उच्च-स्तरीय प्रलेखन, ईमेल, पूरे प्रोजेक्ट / कंपनी स्टेटस अपडेट, और इसी तरह। यह इस बात पर निर्भर करता है कि आपके पास कितनी स्वायत्तता है - यदि आपके पास कोई स्वायत्तता नहीं है, तो आपको अधिक समय प्रोग्रामिंग में बिताना होगा, क्योंकि आप अपना समय निर्धारित करने में कम समय व्यतीत करेंगे। यदि आप अपने कार्यक्रम का अधिक नियंत्रण लेते हैं, तो आपको अधिक दिलचस्प चीजों पर काम करना पड़ सकता है, लेकिन तब आपको इस सामान को करने में समय बिताना होगा।
  • एक और 15-25% डिजाइनरों / कलाकारों की मदद करते हुए, वास्तव में खेल के बारे में रचनात्मक बैठकों में भाग लेते हैं, खेल डिजाइन दस्तावेजों के साथ तारीख तक रखते हैं, और इसी तरह।

जैसा कि आप पे ग्रेड में ऊपर जाते हैं, आप जिस समय प्रोग्रामिंग का खर्च करते हैं वह शायद नीचे जाने वाला है । आपको अधिक प्रशासनिक निर्णय लेने होंगे, टीम पर कम अनुभवी लोगों की मदद करने के लिए बुलाया जाएगा, और अधिक समय प्रलेखन और कोड या आर्किटेक्चर की समीक्षा करने में बिताया जाएगा। प्लस साइड पर, प्रोग्रामिंग की गुणवत्ता संभवतः ऊपर जाएगी; आपको और अधिक दिलचस्प सुविधाओं (और अधिक निराशाजनक कीड़े) पर काम करना होगा।

क्या आप डिजाइनरों और कलाकारों की मदद करने में जो समय बिताते हैं, वह ऊपर, नीचे, या वास्तव में नहीं बदलता है, उस क्षेत्र पर निर्भर करता है जिसमें आप काम करना चाहते हैं। यदि आप UI, टूल और गेमप्ले पर काम करना चाहते हैं, तो उस समय को बढ़ाने की अपेक्षा करें। 50% से ऊपर जाने के लिए जब आप अधिक अनुभव प्राप्त करते हैं। आप नए उपकरणों की योजना बनाने और डेमो करने के लिए वरिष्ठ डिजाइनरों के साथ बैठे रहेंगे और देखेंगे कि वे कैसे मौजूदा का उपयोग करते हैं। दुर्भाग्य से, यह समय आपके प्रोग्रामिंग शेड्यूल से भी निकलता है।


बिल्कुल नहीं कि मैं इसे कैसे याद करता हूं, लेकिन यह तब मदद करता है जब आपका प्रशिक्षण साझेदार वास्तव में आपको चीजें सिखाता है; ;-)
कोडरंगर

@ कोडरंगर: मुझे नहीं लगता कि हममें से किसी को भी हमारे प्रशिक्षण साथी से बहुत मदद मिली। ;)

26

उच्च स्तरीय चर्चा से इतर, जो लाया गया, कुछ अन्य बातें हैं जिनसे आपको अवगत होना चाहिए।

  • आप आमतौर पर किसी प्रकार के बग ट्रैकिंग या टास्क ट्रैकिंग टूल का उपयोग कर रहे होंगे जो कि आपका नेतृत्व आपको कार्य सौंपने के लिए उपयोग कर रहा होगा। कभी-कभी वे एक ही (यानी फॉगबुग) होते हैं। कभी-कभी आपकी बग सूची प्रकाशक के माध्यम से होगी और आपकी कार्य सूची आंतरिक विकि पर होगी। आप बस बैठते नहीं हैं और जो भी करना शुरू करते हैं , आपके कार्य निर्देशित होने वाले हैं।
  • कभी-कभी आपको अपने कार्यों का अनुमान लगाने के लिए कहा जाएगा। यह FogBugz जैसी प्रणालियों का उपयोग करते समय निहित है। आपकी ज़िम्मेदारियों का एक हिस्सा उन हिस्सों में उच्च स्तर की सुविधा को तोड़ देगा / कर सकता है, जिनका उपयोग आप ठीक से अनुमान लगाने के लिए कर सकते हैं कि यह देखने के उद्देश्यों के लिए कितना समय लगेगा कि आप ट्रैक मील के पत्थर को कैसे पूरा कर रहे हैं, आदि।
  • बहुत सारे स्टूडियोज अधिक चुस्त / डरावनी शैली के तरीकों पर चले गए हैं। बर्न डाउन चार्ट को अपडेट करना (यानी यह कहना कि आपने टास्क Y पर X घंटे बिताए और Z समय में होने की उम्मीद है) काफी सामान्य है। दैनिक स्टैंडअप बैठकें शायद थोड़ी अधिक आम हैं। किसी भी तरह से आप कुछ दृश्यता प्रदान कर रहे हैं जैसे आप क्या काम कर रहे हैं।
  • आप संस्करण / स्रोत नियंत्रण का उपयोग करेंगे। स्टूडियो जितना बड़ा होगा, उतना ही अधिक वे पेरफोर्स का उपयोग करेंगे। आपको इसकी मूल बातों के बारे में पता होना चाहिए (फाइलों की जांच करना, फाइलें कम करना, आपके स्थानीय मर्ज संघर्षों को हल करने में सक्षम होना)। ब्रांचिंग और मर्जिंग ब्रांच को समझने के लिए आपको बुलाया जा सकता है। कुछ स्टूडियो काम करते हैं जहां सभी डेवलपर्स को अपनी स्थानीय शाखा मिलती है और आप अपनी शाखा के अनुसार जितना चाहें, और विलय कर सकते हैं। अन्य स्टूडियो (हमारा) सिर्फ इसलिए आप आप अद्यतन, सुनिश्चित करें कि आप कुछ भी नहीं तोड़ा, बनाने के लिए एक त्वरित परीक्षण करना सुनिश्चित करने के लिए एक "नहीं टूटते मुख्य" नीति है, तो में जाँच करें। कुछ स्टूडियो की जरूरत नहीं है वह नीति और लोग हर समय टूटते हैं और यह सुपर कष्टप्रद है और आपको यह सीखना है कि कैसे काम करना है।
  • कोड समीक्षा काफी आम हैं। कभी-कभी वे कोड-विभाग-व्यापी होते हैं। हमारी टीम एक कोड मित्र दृष्टिकोण का उपयोग करती है जहां यह चेकइन पर समीक्षाओं के लिए एक से अधिक एक है। किसी भी तरह से आपको अन्य लोगों के कोड के महत्वपूर्ण विश्लेषण प्रदान करने के लिए कहा जाना चाहिए।

11

मैंने अभी बहुत बड़े खेल पर काम करते हुए 4 महीने की इंटर्नशिप पूरी की। जब मैं वहां गया था, तो यह परियोजना बहुत देर से मंच पर थी, इसलिए मैंने जो भी किया वह अधिकांश बग फिक्सिंग था। यह शायद मेरे समय के किसी भी हिस्से का एक अच्छा हिस्सा रहा होगा ... मेरे अनुभव को डिजाइन या सुविधाओं को विकसित करने के लिए खेल के विकास के साथ मेरी अनुभवहीनता के बजाय कीड़े को ठीक करने के लिए कोडिंग के साथ अपने अनुभव का उपयोग करना।

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

Playtesting एक और शालीनता से बड़ा हिस्सा था, और मैं कुछ बिल्डरों को बनाने के लिए भी जिम्मेदार था, जिन्हें खेलने वालों के लिए धक्का दिया गया था। खेल की दुनिया में कीड़े नीचे ट्रैक करने के लिए बहुत कठिन हैं और कारण का पता लगाने के लिए बहुत काम की आवश्यकता होती है।

मैं खेल या ग्राफिक्स में माहिर नहीं था, इसलिए संभवत: आपके द्वारा की गई कोई भी नौकरी आपकी विशेषज्ञता से अधिक संबंधित होगी। लेकिन मुझे उम्मीद है कि यह आपको एक विचार देगा।


4

मेरी अंतिम वर्ष की परियोजना HTML5 कैनवास तत्व पर है। मैं वर्तमान में पिछले दो महीने से एक इंटर्नशिप पर काम कर रहा हूं जहां मुझे एचएमटीएल 5 कैनवास के लिए एक मौजूदा फ़्लैश गेम पोर्ट करना है।

मैं यहां से आपको अपने जीवन के बारे में बता सकता हूं, और साथ ही साथ यह कठिन भी है। आवश्यकताओं की टीम के पास बहुत विशिष्ट मांगें हैं। माउस क्लिक क्या करना चाहिए, खेल पर प्रभाव कैसे लागू किया जाना चाहिए। कोई फर्क नहीं पड़ता कि यह प्रोग्रामर के लिए सबसे कठिन अनुरोध के लिए भी कितना कठिन हो जाता है, इसे संबोधित करना होगा, और सभी आवश्यकताओं को लागू करने के बाद। बग की रिपोर्टिंग शुरू। भगवान है कि कष्टप्रद है। यह वास्तव में आपकी नसों पर होने लगता है। एक क्लिक के लिए 1px की भरपाई आपके जीवन को नरक बना सकती है, मुझ पर विश्वास करो! इसका मतलब यह हो सकता है कि आपके पूरे पोजिशनिंग और इंटरैक्शन स्पेस का नया ढांचा तैयार हो जाए।

लेकिन इसका मजा भी! :) यह लिखने का सरासर आनंद कि वास्तव में स्मार्ट फ़ंक्शन, इस समुदाय के साथ बातचीत करके कि आप एक फ़ंक्शन को फिर से कैसे बना सकते हैं जो फ्लैश स्वचालित रूप से करता है। यह सब। इसका समय ऐसा होता है कि आपको उस नौकरी पर पछतावा नहीं होता है .. यह दुनिया में सबसे अच्छा काम लगता है, और मेरे भतीजे को दुनिया में सबसे अच्छे होने का एहसास कराता है।

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

दिन के अंत में, ज्यादातर जो मैंने पूरा किया है, उससे संतुष्ट हूं, कभी-कभी अभी भी इस बात पर तंज कसा जाता है कि मैं कहां बेहतर कर सकता था और क्या मैं अलग और परिपूर्ण कर सकता था। मैं अभी शुरुआती चरण में हूं और इसलिए मैं आपको इस बारे में सलाह देने में सक्षम नहीं हो सकता कि यह भविष्य में कैसे मिलता है लेकिन अब तक .. मुझे लगता है कि मुझे सबसे अच्छे काम करना है :)

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