2008-10-02 10 views
14

कुछ प्रकार के खेल को विकसित करने का प्रयास करता है, भले ही अवकाश समय के दौरान एक शौक उपयोगी (पेशेवर) अनुभव प्रदान करता है या क्या यह समय का बचपन का अपशिष्ट है?शौक खेल विकास का मूल्य

मैंने अपने व्यक्तिगत प्रोग्रामिंग कैरियर में चालू और बंद छोटी व्यक्तिगत गेम परियोजनाओं का पीछा किया है। मुझे (अक्सर) सख्त प्रदर्शन आवश्यकताओं और बढ़ती डिजाइन जटिलता ने मुझे अपने कुछ सबसे उपयोगी प्रोग्रामिंग पाठ सिखाए हैं।

इन परियोजनाओं में केवल कुछ नाम देने के लिए, मुझे बहुत जल्दी सामना करना पड़ा: "सब कुछ छोटे एन के लिए तेज़ है"। मैंने जटिलता को प्रबंधित करने के लिए मूल ऑब्जेक्ट उन्मुख डिजाइन सिद्धांतों का उपयोग करने के बारे में भी कठोर तरीका खोजा।

ऐसे क्षेत्र में जहां कई तकनीकें और विषय काफी सूखे/सुस्त हो सकते हैं, मुझे लगता है कि एक ही समय में मज़ेदार होने पर आवश्यक कौशल पर ब्रश करने के लिए नए (और नए नहीं) डेवलपर्स को प्रेरित करने के लिए शौक गेम विकास महत्वपूर्ण है।

This question सामान्य रूप से शौक परियोजनाओं के बारे में बात करते हैं, हालांकि यहां मैं विशेष रूप से गेम प्रोजेक्ट्स में अधिक रुचि रखता हूं और पेशेवर प्रोग्रामर के लिए कितना मूल्यवान हूं।

उत्तर

22

आप गेम विकास से बहुत कुछ सीख सकते हैं। खेल विकास के लिए एक अनुशासन की आवश्यकता होती है जिसे आप अन्य प्रोग्रामिंग परियोजनाओं में नहीं पा सकते हैं।

यहाँ सिखाया है बातें खेल विकास की एक छोटी सेट कर रहे हैं मुझे:

  • गति
  • गति
  • स्मृति
  • के छोटे कमी एक प्रणाली का निर्माण के तहत विकास के लिए कम्प्यूटेशनल गहराई त्याग के लिए अनुकूलन यह एक ऑपरेटिंग सिस्टम की तरह काम करता है लेकिन गति की ओर तैयार है।
  • एक पेड़ में वस्तुओं के हजारों करने के लिए सैकड़ों रखते हुए, अपने स्वयं के अद्वितीय विशेषताओं के साथ प्रत्येक
  • खेल विकास के कुछ क्षेत्रों महान शैक्षिक मूल्य (आर्टिफिशियल इंटेलिजेंस, प्रक्रियात्मक एल्गोरिदम, आदि की तरह)
  • यह कोई फर्क नहीं पड़ता कैसे जब तक गेमप्ले वहां होता है तब तक कोड का एक हैक है। इसे अन्य विषयों में अनुवादित करना, प्रोग्रामिंग का उद्देश्य ग्राहकों को खुश करना है, भले ही आपका कोड कितना चालाक या बदसूरत हो।

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

+0

बिल्कुल। अफसोस की बात है कि ऐसा लगता है कि कम संसाधनों का उपयोग करना उतना ही कम महत्वपूर्ण माना जा रहा है जितना हार्डवेयर जल्दी हो जाता है और हम अधिक ढांचे का उपयोग करते हैं। मेरे व्यावहारिक अनुभव में हालांकि आपके सभी अंक 100% सही हैं। – Ash

+0

कम संसाधनों का उपयोग करना अभी भी महत्वपूर्ण है। जबकि संसाधन बढ़ेगा, विलंबता की समस्याएं अभी भी मौजूद हैं। हेक, हमारे पास अभी भी GPU, CPU और स्मृति के बीच डेटा को स्थानांतरित करने में विलंबता है। जीपीयू गणना करके सीपीयू विलंबता को हटाने की कोशिश करता है लेकिन इसे अभी भी सीपीयू को डेटा को स्मृति से स्थानांतरित करने की आवश्यकता है। – MrValdez

+2

यह खेल पर निर्भर करता है। मैंने कुछ रणनीति गेम किए हैं जहां स्मृति और ऑब्जेक्ट ट्रैकिंग गैर-मुद्दे थे। चुनौती एक सभ्य एआई लिख रही थी जो समानता को अनुमानित करने वाले किसी चीज़ पर इंसान खेल सकती थी। –

3

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

यदि आप इनमें से कोई भी अपने नियोक्ता को वापस लाते हैं तो उन्हें आपके विस्तृत ज्ञान का लाभ मिल रहा है जो आप अपने समय पर प्राप्त कर रहे हैं। यह उनके लिए भी अच्छा है।

मैं कोड को आपके दिल की सामग्री से दूर कहता हूं!

+0

मैथमैटिकल एल्गोरिदम और गेम मैंने जो देखा है उससे हाथ में है, गेम के बारे में एक और सकारात्मक है। मुझे आश्चर्य है कि अधिकांश नियोक्ता इसे कैसे मानेंगे, यह अक्सर होता है कि "बचपन" दृश्य सबसे आम है। – Ash

1

किसी समस्या पर बैठकर और हाथों में उपकरण (जो भी समस्या है, डेटाबेस को ठीक करना, एक इंटरफ़ेस प्रोग्रामिंग करना या एसीआईआई में शतरंज बनाना) को हल करना आपको बेहतर प्रोग्रामर बनने में मदद कर रहा है।

हाथ नीचे।

3

खेलों में कुछ जटिल प्रक्रियाएं हैं जो एक आम आदमी, शौकिया प्रोग्रामर के लिए "स्वीकार्य" है। हाईस्कूल में, मैंने जो कुछ लिखा वह गेम थे। भौतिकी का पता लगाना चाहते हैं? एक खेल लिखें। 3 डी ग्राफिक्स? एक खेल लिखें। उच्च प्रदर्शन कंप्यूटिंग? एक खेल लिखें। ऐ? अर्थशास्त्र? सैन्य रणनीति? प्राकृतिक भाषा प्रसंस्करण? प्रमेय प्रदान करना? एक खेल लिखें।

आपको इसे प्रकाशित करने की ज़रूरत नहीं है, आपको इसे दस्तावेज करने की आवश्यकता नहीं है, आपको इसे भी चलाने की ज़रूरत नहीं है, आपको बस इसके साथ परेशान करने की आवश्यकता है, और आप किसी भी एल्गोरिदम को सीखेंगे जो आपको दिलचस्प लगेगा जैसा कि आप इसे लागू करने का प्रयास करते हैं - एक गेम में।

खेल व्यापक डोमेन के कारण दिलचस्प हैं क्योंकि वे कवर कर सकते हैं। बाकी सब कुछ सिर्फ डेटा प्रोसेसिंग है, और आप इसे काम पर कर सकते हैं!

+0

+1 के लिए सब कुछ सिर्फ डेटा प्रोसेसिंग है, और आप इसे काम पर कर सकते हैं! _ – legends2k

1

हाँ

मैं अपने आप को सी (और Psion के मालिकाना OO एक्सटेंशन) सिखाया Psion सीरीज 3 TopSpeed ​​सी SDK का उपयोग और कई खेल है जो मैं जीएनयू लाइसेंस के तहत जारी लिखा था। (पहले मुझे ट्रिबो पास्कल और पास्कल में अमिगा और बोर्लैंड सी ++ 3.1 पर खिड़की 3.1 पर एक वित्तीय विश्लेषण इंटर्नशिप सिग्नल प्रोसेसिंग करने में काफी अनुभव था, लेकिन जब मुझे साइयन मिला, तो मुझे सी पर वापस जाना पड़ा और मैंने इस्तेमाल किया के & आर उस कोड के लिए एक अच्छा ठोस आधार प्राप्त करने के लिए।)

फिर मैंने साइयन प्लेटफॉर्म के बारे में सीखा जो विशेषज्ञता मैंने 3 साल की गग में अपने औद्योगिक हैंडहेल्ड का उपयोग करके मोबाइल विकास कर रही थी, जहां मुझे डेटाबेस में अनुभव भी मिला। यह उनके लिए एक बड़ा बदलाव था, उत्पाद अव्यवस्था में था और प्लेटफार्म में किसी और की तुलना में मुझे एक और अनुभव था - बस उस साल के लेखन खेलों से।

मैंने विंडोज विकास गग में इसे पीछे छोड़ दिया जहां मैं अंततः आईटी निदेशक बन गया और एसक्यूएल सर्वर, विंडोज़, एएसपी, डेटा सेंटर, डीआर के साथ बड़े पैमाने पर अनुभव प्राप्त किया, आप इसे नाम दें।

फिर मैं डेटा गोदाम परामर्श में स्थानांतरित हो गया।

मुझे उस दरवाजे में उस पहले पैर पर बहुत कुछ देना है, जहां मैं वास्तव में सी और उस विशेष सी-आधारित लाइब्रेरी सिस्टम में प्लेटफार्म अनुभव की वजह से उस पहली कंपनी में बड़े पैमाने पर अंतर करने में सक्षम था।

+0

मैंने खुद को "वाइट ग्रुप टर्बो सी" जैसे कुछ पुस्तक से सी पढ़ाया, उस ज्ञान के साथ मेरा पहला पूरा (बजाने योग्य) गेम लिखा। वापस जाने और इसे बेहतर बनाने की कोशिश की और जल्दी से इंडेंटिंग और टिप्पणियां अच्छी तरह से महसूस हुईं, और फिर सोचा कि "क्या कक्षा है" और सी ++ बेहतर सी है? – Ash

+0

मैंने छोड़ा कि मुझे टर्बो पास्कल/बोर्लैंड सी ++ के साथ कुछ पूर्व अनुभव था। मैं अपना टेक्स्ट संपादित करूंगा। –

1

मुझे लगता है कि शौक गेम विकास आपको खुश बना रहा है?

खेल विकास के कई क्षेत्र पूरी तरह से एक पेशेवर स्तर पर लागू हो सकते हैं, लेकिन यदि एकमात्र कारण है कि आप शौक के रूप में गेम विकसित कर रहे हैं तो आप स्थिति का फिर से मूल्यांकन करना चाहेंगे और शायद अपने प्रयासों को आगे बढ़ा सकते हैं विभिन्न ओपन सोर्स प्रोजेक्ट्स जिन्हें गर्व से फिर से शुरू किया जा सकता है (यह नहीं कि शौक गेम विकसित नहीं हो सका) या एक साक्षात्कार में चर्चा कर सकते हैं।

आपके शौक कुछ ऐसा होना चाहिए जो आपको पसंद है और यदि आप खेल के विकास से प्यार करते हैं, तो इसके साथ पूरी तरह से चिपके रहें और हे, शायद आप इसे पेशेवर रूप से कर पाएंगे जो अंततः आपके परिदृश्य के लिए आदर्श स्थिति की तरह दिखता है।

+0

अच्छा बिंदु। हालांकि, अक्सर शौक लेना और इससे बाहर करियर बनाने की कोशिश करना, हम उस आनंद को आसानी से निकाल सकते हैं। मुझे यह स्वीकार करना होगा कि मैं अपने रेज़्यूमे पर गेम डेवलपमेंट की व्याख्या नहीं करता हूं, शायद मुझे चाहिए। – Ash

+0

@ एश आपको बिल्कुल चाहिए, मुझे यकीन है कि यह एक साक्षात्कारकर्ता या संभावित मालिक के साथ कुछ रोचक बातचीत कर सकता है। "तो मुझे गेम वाई पर किए गए काम के बारे में बताएं? गेम वाई पर काम करते समय आप किस तकनीक को अपने व्यवसाय में ला सकते हैं जिसे आपने लागू किया था? – mwilliams

1

मुझे नहीं लगता कि आपको सीखने, अभ्यास करने और प्रयोग करने में सक्षम कुछ भी 'बचपन' माना जा सकता है।

इसके अलावा, यदि आप एक सभ्य (यहां तक ​​कि 'पेशेवर') खेल का लक्ष्य रख रहे हैं, तो लगभग निश्चित रूप से सीखने और मास्टरिंग कौशल की आवश्यकता होगी जो कि 'पारंपरिक' भूमिकाओं के लिए सीधे हस्तांतरणीय हो। अनुकूलन, परीक्षण, पार मंच काम कर रहे, यूआई डिजाइन और उपयोगिता ...सूची चलती जाती है।

2

खेल विकास (या व्यक्तिगत प्रोग्रामिंग के किसी भी अन्य प्रकार) एक अच्छा तरीका है करने के लिए:

  • नई भाषाओं को जानने
  • नई अवधारणाओं जानने (TDD, OO, आदि ..)
  • उपयोग और विभिन्न टूल्स/टेक्नोलॉजीज का मूल्यांकन करें (सीआई, स्वचालित परीक्षण, आदि ...)

इस तरह की परियोजनाएं आपको प्रोग्रामिंग दुनिया के विभिन्न पहलुओं का पता लगाने की आजादी देती हैं जिन्हें आप काम पर करने में सक्षम नहीं हैं। यदि आप काम पर व्यावसायिक अनुप्रयोगों की लाइन कर रहे हैं, तो शायद आप भौतिकी इंजन, या स्पेसियल प्रतिपादन से निपटेंगे। लेकिन आप इन विषयों को अपने खेल में खोज सकते हैं।

इससे आपको कोड के अच्छे पोर्टफोलियो भी मिलेंगे जो आप नई स्थिति के लिए साक्षात्कार के दौरान ला सकते हैं। मान लीजिए कि आपके द्वारा लिखे गए कोड को सभ्य आकार में है ...

2

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

संबंधित मुद्दे