देव किट तक पहुंच के बिना PS3 / Xbox 360 अनुभव कैसे प्राप्त करें?


24

मैं एक नवोदित गेम प्रोग्रामर हूं, जो PS3, Xbox 360 के लिए उद्योग प्रोग्रामिंग में आने की कोशिश कर रहा हूं। मुझे जो मुख्य समस्या दिख रही है, वह है कि किसी संभावित नियोक्ता को अपने कौशल का प्रदर्शन करने की आवश्यकता है, लेकिन PS3 या Xbox 360 के लिए देव किट तक पहुंच के बिना, कर रहा हूं। यह सीधे असंभव है।

मेरा सवाल है, सांत्वना डेवलपर्स को मेरा कौशल दिखाने का सबसे अच्छा वैकल्पिक तरीका क्या है?

Windows के लिए DirectX में C ++ प्रोग्रामिंग Xbox 360 प्रोग्रामिंग कौशल दिखाने के करीब लगती है, और OpenGL में C ++ प्रोग्रामिंग PS3 प्रोग्रामिंग कौशल दिखाने के लिए अपेक्षाकृत करीब लगती है। दुर्भाग्य से, यह वेब अनुसंधान से ऐसा लगता है जैसे कि Xbox 360 और PS3 दोनों में वास्तव में अपनी खुद की प्रोपर लाइब्रेरी है, इसलिए यह 100% उपयोगी प्रयास नहीं है। यह दृष्टिकोण निकटतम लगता है, लेकिन अधिकांश समय लेने वाला भी। इसके अलावा आप वास्तव में कंसोल पर कुछ भी नहीं बना रहे हैं।

दूसरी ओर, XNA में प्रोग्रामिंग करने से यह लाभ होता है कि आपके गेम वास्तव में कंसोल पर होते हैं, हालांकि मुझे यह आभास होता है कि इस पर "वास्तविक सौदा" नहीं है क्योंकि यह डायरेक्टएक्स के चारों ओर केवल एक आवरण है और इसके बजाय C # का उपयोग करता है सी ++।

क्या किसी को उद्योग के अंदर से ज्ञान या अनुभव है ताकि यह पता चल सके कि संभावित नियोक्ता को दिखाने के लिए किस तरह का गेम डेमो सबसे उपयोगी होगा? C ++ में DirectX, OpenGL, XNA, Unreal Engine, Unity3d, Flash, आदि-आदि? दिन में केवल इतने ही घंटे होते हैं, और मुझे अपने प्रयासों को निर्देशित करने का तरीका जानना अच्छा लगेगा।

मेरी आंत की भावना यह है कि DirectX सबसे अच्छा विकल्प होगा, क्योंकि यह Xbox 360 पर उपयोग होने वाले के करीब लगता है, लेकिन अगर किसी अन्य भाषा / इंजन में एक अच्छा डेमो होने के नाते यह उतना ही अच्छा है, तो जाहिर तौर पर जाने के लिए कम समय लगेगा एक और मार्ग।

आपकी मदद और सलाह के लिए अग्रिम धन्यवाद!

जवाबों:


17

निर्भर करता है कि आप किस रास्ते पर जा रहे हैं, स्पष्ट रूप से ज्यादातर लोग एक जूनियर में विशिष्ट मंच कौशल की उम्मीद नहीं करते हैं।

यदि आपका गेम प्रोग्रामर है, तो बहुत सारे गेम बनाएं।

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

प्रमुख तथ्य: आपके डेमो को मशीनों की एक विस्तृत श्रृंखला पर चलना चाहिए, इसमें बैक-अप के रूप में एक वीडियो रिकॉर्डिंग शामिल है। कच्चे नहीं संपादित।


8

एक जूनियर भूमिका के लिए मैं किसी विशेष एपीआई में बहुत सारे अनुभव की तलाश नहीं कर रहा हूं, बल्कि इसमें शामिल अवधारणाओं का एक अच्छा समझ है।

यदि यह एक ग्राफिक्स से संबंधित स्थिति है जिसकी आप तलाश कर रहे हैं, तो आपको 3D मैथ्स का पता चलता है, और एक एपीआई कुएं का उपयोग कैसे करें (OpenGL या D3D, जो वास्तव में परवाह नहीं है - बस सुनिश्चित करें कि आप इसे अच्छी तरह से अनुकूलित करते हैं)। स्पष्ट रूप से सभी एपीआई कम या ज्यादा चीजों को आकर्षित करने, उन्हें प्रस्तुत करने और राज्य का प्रबंधन करने के लिए उबालते हैं - और उन चीजों को करने के अच्छे तरीके और बुरे तरीके हैं, इसलिए यह समझें।

अधिक सामान्य कंसोल प्रोग्रामिंग के लिए, सुनिश्चित करें कि आपके पास एक विशेष समस्या है जिस पर एक एम्बेडेड प्लेटफॉर्म की जरूरत है। सीमित मेमोरी (कोई स्वैप नहीं, विखंडन बुरा, आदि), क्रैश के साथ मुकाबला करने पर सख्त नियम, सीमित I / O बैंडविड्थ, पैच / अद्यतन करने की क्षमता (या सीमित) नहीं।

यह कोडिंग की शैली के बारे में है, न कि बारीकियों के बारे में।

यदि आप एक वाणिज्यिक स्थिति की तलाश में हैं तो मैं वास्तव में XNA से बचूंगा, क्योंकि यह वास्तव में उस क्षेत्र में उपयोगी नहीं है।


7

FWIW, मैं Xbox 360 पर C # / XNA में प्रोग्रामिंग को "वास्तविक सौदा" के लिए एक बहुत अच्छा विकल्प मानूंगा ।

विचार करें:

  • 360 पर XNA में, आपको कचरा संग्रह से निपटना होगा; विशेष रूप से, आपको बहुत सारे बनाने से बचने की आवश्यकता है, यदि कोई हो, तो प्रति फ्रेम आवंटन। सी ++ 360 पर, आप कचरा संग्रहण से निपटने के लिए एक ओर जहां नहीं है (जब तक आप, लुआ की तरह एक पटकथा भाषा के साथ काम कर रहे हैं), लेकिन आप करते हैं अभी भी प्रति फ्रेम कई, यदि कोई हो, आवंटन बनाने से बचना चाहते हैं।
  • 360 की अधिक प्रसंस्करण शक्ति का लाभ उठाने के लिए, आपको अपने कोड को बहु-थ्रेडेड बनाने की आवश्यकता है। यह सिर्फ उतना ही सच है, अगर ऐसा नहीं है, तो XNA में जैसा कि C ++ में है, प्रबंधित कोड के लिए मेकअप करने की इच्छा के कारण C ++ की तुलना में थोड़ा कम है।
  • एक महान कई सहायक कार्यों और वर्गों के अलावा XNA प्रदान करता है, XNA में ग्राफिक्स एपीआई, यह देखते हुए कि यह DirectX पर आधारित है, 360 पर DirectX / C ++ के समान है।

XNA के बारे में आश्चर्यजनक बात यह है कि यह आपको स्क्रीन पर कुछ प्राप्त करने के तकनीकी मुद्दों पर कम ध्यान केंद्रित करने की अनुमति देता है, और अपने गेम को बनाने पर अधिक। बस एक गेम (कोई भी गेम!) बनाना, जो अपेक्षाकृत बग-मुक्त है और एक सभ्य फ्रेम दर पर चलता है - विशेष रूप से सीमित वातावरण में जो कि XNA के लिए अभिप्रेरित करता है - आपको बहुत अनुभव देगा, एक डेमो जिसे आप प्रदर्शित कर सकते हैं, और उम्मीद है, दरवाजे में एक पैर।


5

यदि आप PS3 प्रोग्रामिंग कौशल चाहते हैं, तो आप इसके लिए देख सकते हैं:

  • पीपीसी वास्तुकला का ज्ञान; यह आप PowerPC मशीन पर C / C ++ डेवलपमेंट करके प्राप्त कर सकते हैं, यह पुराने G5 Mac पर OS X हो, या PS3 सहित किसी भी PowerPC मशीन पर लिनक्स।
  • AltiVec का ज्ञान; फिर, आप इसे मैक के साथ या हाल ही में पावरपीसी मशीन पर लिनक्स के साथ प्राप्त कर सकते हैं, लेकिन एसएसई 3 का ज्ञान पर्याप्त हो सकता है।
  • एसपीयू का ज्ञान: आप केवल लिनक्स का उपयोग करके PS3 पर इसका अभ्यास कर सकते हैं।

यह आपको PS3 वीडियो चिप प्रोग्राम करने का तरीका या आधिकारिक SDK का उपयोग करने का तरीका नहीं सिखाएगा। हालांकि वीडियो प्रोग्रामिंग के लिए, जेनेरिक ओपनजीएल और डायरेक्टएक्स कौशल शायद पर्याप्त होंगे, कुछ एचएलएसएल के साथ भी। इंटरनेट के चारों ओर बहुत सारी जानकारी और सामग्री भी है, जिनमें से सभी को अवैध नहीं है (उदाहरण के लिए, सोनी के PS3 के लिए GCC का संशोधित संस्करण GPL द्वारा कवर किया गया है)।

यदि आप X360 प्रोग्रामिंग कौशल चाहते हैं, तो आप निम्न देखेंगे:

  • पीपीसी वास्तुकला का ज्ञान: ऊपर देखें

  • AltiVec का ज्ञान: ऊपर देखें

  • DirectX का ज्ञान: यह आप विंडोज पर अभ्यास कर सकते हैं।

  • Xbox 360 SDK का ज्ञान: समानताएं ऐसी हैं कि XNA का अभ्यास करने से बहुत मदद मिलेगी।

अन्य महत्वपूर्ण कौशलों में शायद मल्टीथ्रेडेड प्रोग्रामिंग (सामान्य ज्ञान, लेकिन परमाणु संचालन, लॉक-फ्री एल्गोरिदम), पोर्टेबिलिटी (एंडियननेस, पॉइंटर साइज, वीडियो हार्डवेयर फीचर्स आदि) शामिल हैं।

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

स्रोत : मैंने उपरोक्त सभी काम किए और खुद को उद्योग में एक बहुत बढ़िया काम मिला।


3

इस सवाल (या बल्कि, आपकी आकांक्षाओं) को गुंजाइश की आवश्यकता है। आजकल इंडस्ट्री में 'गेम प्रोग्रामर' जैसी शायद ही कोई चीज हो। जब तक आप एक बहुत छोटे स्टूडियो के लिए जाने या प्रोग्रामर को प्रस्तुत करने का लक्ष्य नहीं रखते, DirectX या OpenGl वास्तव में मायने नहीं रखता। पीसी से अलग होने वाली चीजें सीमित प्रदर्शन, सीमित मेमोरी और मल्टीकोर मुद्दे हैं। इससे कोई फर्क नहीं पड़ता कि आप जिस उद्योग में काम करना चाहते हैं, उसमें प्रोग्रामिंग की कौन सी शाखा महत्वपूर्ण है, इसलिए यह दिखाना कि आप उन वसीयत, इमो, मदद से कैसे परिचित हैं। अपने C ++ को जानें। जानिए C ++ के नुकसान। जानिए एसटीएल का उपयोग कैसे न करें। सुनिश्चित करें कि आपका कोड स्वतंत्र, बहु-थ्रेडेड है, और कस्टम मेमोरी एलोकेटर का उपयोग करता है। निश्चित रूप से हाइलाइट करें। मुझे लगता है कि वास्तव में जो महत्वपूर्ण है वह यह है कि आपका डेमो समाप्त हो गया है। जब कोर मैकेनिक काम करता है, तो बहुत सारे प्रोग्रामर बंद हो जाते हैं, जबकि गेम प्रोग्रामिंग में ड्रैग फाइनलिंग है - यह दिखाएं कि आप जानते हैं कि यह कैसे करना है।

अधिकांश स्टूडियो जानना चाहते हैं कि आपका कौशल क्या है, एआई, गेमप्ले, रेंडरिंग, सिस्टम, ऑडियो, भौतिकी, क्या नहीं। यह पता लगाने की कोशिश करें। उद्योग में अनुभव के बिना एक सामान्यवादी होने के नाते, यह एक कठिन बिक्री होगी।

सौभाग्य!


ध्यान केंद्रित करने के लिए एक क्षेत्र चुनने के बारे में महान बिंदु।
jcurrie33

1

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

यह सुनिश्चित करने के लिए कई मशीनों पर अपना कोड चलाएं और चलाएं कि आप अलग-अलग वीडियो कार्ड आदि के लिए अनुमति दे रहे हैं। इन दिनों जो अधिकतर स्वचालित हैं, लेकिन कुछ अंतर अभी भी हो सकते हैं।


0

किसी भी 3D API का ज्ञान अच्छा है। इससे कोई फर्क नहीं पड़ता कि यह डायरेक्टएक्स है या ओपनजीएल। 3 डी अवधारणाएं हर जगह समान हैं, बस एपीआई अलग हैं। ओपनजीएल को जानना आपको किसी ऐसे व्यक्ति के नुकसान में नहीं डालता है जो जूनियर स्तर के एक्सबीओएक्स नौकरी के लिए प्रतिस्पर्धा करते समय डायरेक्ट 3 डी को जानता है। आपको जो प्रदर्शन करने की आवश्यकता है वह आपकी कुछ चीज़ों को कोड करने की क्षमता है और जिसे आप C ++ (या कोई अन्य भाषा), मानक पुस्तकालयों, डेटा संरचनाओं और एल्गोरिदम को समझते हैं। यूडीके या यूनिटी जैसे गेम इंजन का ज्ञान एक बोनस है। यह मिडलवेयर के साथ काम करने की आपकी क्षमता को प्रदर्शित करता है, जो गेम कंपनियों में आम है। फ्रंट-एंड डेवलपमेंट में फ्लैश का इस्तेमाल किया गया है, यह भी नजरअंदाज न करने का कौशल है।

सबसे महत्वपूर्ण यह है कि आप केवल एक डेमो (किसी भी भाषा में) का निर्माण करें, इसे अच्छा बनाएं और इसे अंत तक देखें। सौभाग्य!

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