गेम डेवलपमेंट के लिए अब कौन सी तकनीक का उपयोग किया जाता है? [बन्द है]


14

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

हालाँकि, गॉड ऑफ़ वार 3 जैसे खेलों को देखते हुए, मुझे यह विश्वास करना कठिन लगता है कि इन खेलों को निम्न स्तर की तकनीकों का उपयोग करके विकसित किया जा सकता है।

इस तरह के खेलों की सरासर अजीबता किसी भी समझदार (मेरे लिए) प्रोग्रामिंग कार्यप्रणाली को धता बताती है।

गेमिंग हार्डवेयर के अलावा अब वास्तव में एक राक्षस है। तो यह इस कारण से है कि डेवलपर्स अमूर्तता के उच्च स्तर पर काम करेंगे।

गेमिंग उद्योग में नवीनतम विकास पद्धति क्या है? यह कैसा है कि 30-35 डेवलपर्स (जिनमें से अधिकांश प्रबंधन और विपणन फ़्लफ़ है) की एक टीम इस तरह के दिमाग का खेल बनाने में सक्षम है?

यदि प्रश्न बहुत सामान्य लगता है तो क्या आप युद्ध 3 के देवता की वास्तुकला की व्याख्या कर सकते हैं? या आप एक क्लोन उत्पादन के बारे में कैसे जायेंगे? मुझे लगता है कि उद्देश्यपूर्ण जवाबदेह होना चाहिए।


2
किसी को नीचा समझाने की परवाह करेंगे?
मोनिका माइकल

2
डाउनवोट्स प्रश्न "रचनात्मक" नहीं होने के कारण हैं। उद्धरण के लिए, "यह प्रश्न हमारे प्रश्नोत्तर प्रारूप के लिए एक अच्छा फिट नहीं है। हम तथ्यों, संदर्भों या विशिष्ट विशेषज्ञता द्वारा समर्थित उत्तर की उम्मीद करते हैं, लेकिन इस प्रश्न की विवेचना बहस, तर्क, मतदान या विस्तारित चर्चा की संभावना होगी" । अर्थात्, प्रश्न का उत्तर किसी भी सटीकता के साथ नहीं दिया जा सकता है। मुझे अभी भी लगता है कि आपके प्रश्न में योग्यता है, लेकिन इसमें सुधार करने की आवश्यकता है।
9000

2
@ 9000 और यह प्रश्न कैसे रचनात्मक नहीं है?

1
@ डायलेन: शायद डाउनवोटर्स "गेमिंग उद्योग में नवीनतम विकास पद्धति क्या है" जैसे वाक्यांशों से खुश नहीं थे ? । मेरे लिए, "आप क्लोन के उत्पादन के बारे में कैसे जाएंगे" बहुत बेहतर है।
9000

4
क्या यह gamedev.stackexchange.com पर अधिक मायने नहीं रखेगा ?
दान

जवाबों:


12

अस्वीकरण: मैं एक वीडियो गेम डेवलपर नहीं हूं । लेकिन मुझे इसमें "शौक" का शौक है।


आपके द्वारा देखे जाने वाले ज्यादातर AAA गेम इंजन का उपयोग करके बनाए जाते हैं। वे जमीन से नहीं लिखे गए हैं। एक इंजन की तरह सोचें। आपके पास .NET फ्रेमवर्क, जावा एसडीके, कोको टूलकिट है।

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

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

उदाहरण के लिए, अवास्तविक इंजन 4 में एक हत्यारा विकास किट और स्टूडियो है:

http://www.youtube.com/watch?v=MOvfn1p92_8

यहाँ छवि विवरण दर्ज करें

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

उदाहरण के लिए:

  • राक्षस
  • अवास्तविक इंजन
  • एकता
  • स्रोत
  • और बहुत सारे...

5

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

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


4

जवाब "इंजन" है। बहुत सारे गेम विभिन्न ग्राफिक्स और गेमप्ले इंजनों के आधार पर बनाए जाते हैं जो मूल रूप से, बड़े पुस्तकालयों या चौखटे हैं।

ओएसएस की दुनिया में, उदाहरण के लिए ओग्रे पर एक नज़र डालें , वाणिज्यिक खेलों के लिए आपके पास स्रोत जैसे सामान हैं

खेलने में अन्य कारक हैं, जैसे कि बहुत से कोड डिस्पोजेबल हैं और एक कारोबारी माहौल में मस्टर को पास नहीं करेंगे - लेकिन ऐसा इसलिए है क्योंकि एक गेम का सीमित जीवनकाल, और त्वरित विकास के समय, मतलब कोड (लगभग) डिज़ाइन किया गया है सिर्फ काम करने के लिए, बनाए रखने के लिए नहीं।


बेशक, ये इंजन नियमित रूप से (हालांकि अत्यधिक अनुकूलित हैं) C / C ++ कोड बिल्डिंग एब्स्ट्रक्शन लोअर-लेवल APIs (उदाहरण के लिए DX या ग्राफिक्स के लिए ओपन)।

लेकिन यह एक अच्छा विचार है कि केवल लेखक को यह पता लगाने के लिए कि खेल का विकास कैसा है, सी या सी ++ का उपयोग करके एक बहुत ही सरल गेम बनाने का अनुभव होना चाहिए।
KyelJmD

4

यूनिटी 3 डी वास्तव में अच्छा है। यहाँ कुछ बिंदु हैं जो मुझे इसके बारे में पसंद हैं:

  • यह आपको एक प्लेटफॉर्म एग्नॉस्टिक फैशन में गेम बनाने देता है, और फिर विंडोज, मैक ओएस एक्स, एंड्रॉइड, आईओएस दोनों के लिए स्वचालित रूप से तैनाती करता है। यह वर्तमान संस्करण (3.x) के लिए सही है। Apparentlly संस्करण 4 आपको लिनक्स पर भी तैनात करेगा:

http://en.wikipedia.org/wiki/Unity_(game_engine)#Major_features

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

http://unity3d.com/unity/licenses

  • अधिकांश 3 डी मॉडलिंग सॉफ्टवेयर के साथ काम करता है (मैं 3 डी स्टूडियो मैक्स को पसंद करता हूं, लेकिन यह दूसरों को भी समर्थन करता है):

http://unity3d.com/unity/editor/importing (थोड़ा नीचे स्क्रॉल करें)

  • कोडिंग (स्क्रिप्टिंग) C # में की जा सकती है जो एक अच्छी भाषा है, एक अच्छा एपीआई और संकलन समय की जाँच करता है। एक अच्छा देव वातावरण (आईडीई और सब कुछ) के साथ आता है। यदि आप कुछ अलग चाहते हैं, तो यह जावास्क्रिप्ट का भी समर्थन करता है।

  • बहुत अच्छा भौतिकी समर्थन (टकराव, गुरुत्वाकर्षण, बल, आदि) है:

http://docs.unity3d.com/Documentation/Manual/Physics.html

  • एक एसेट स्टोर है जो आपको विभिन्न मॉडल, स्क्रिप्ट, एनिमेशन आदि खरीदने देता है, और आपके कौशल (और वॉलेट) के आधार पर आप अपने गेम के लिए अच्छे संसाधन प्राप्त करने के लिए उन्हें प्राप्त / संशोधित कर सकते हैं।

  • अंतिम लेकिन कम से कम, यह शालीनता से तेज़ है। मोबाइल डेमो की जाँच करें, IMHO वे काफी अच्छी तरह से चलते हैं और बहुत ही अच्छे ग्राफिक्स हैं:

http://unity3d.com/gallery/made-with-unity/game-list

यहां एक अच्छी एकता परियोजना है जिसका मैं वर्तमान में इंतजार कर रहा हूं:

ब्रायन फ़ार्गो की बंजर भूमि 2

उनके पास एक अच्छा ब्लॉग प्रविष्टि है कि उन्होंने यूनिटी को क्यों चुना , साथ ही साथ अन्य चर्चा कैसे इसके साथ काम करती है


3

आईडी सॉफ्टवेयर उन विक्रेताओं में से एक है जो आमतौर पर अत्याधुनिक खेलों को प्रकाशित करता है। कुछ साल बाद वे अक्सर उन्हें खुले स्रोत के रूप में जारी करते हैं। पर http://fabiensanglard.net/quake3/index.php आप Quake3 स्रोत कोड के एक विश्लेषण पा सकते हैं। यह एक काफी क्रियात्मक वर्णन है और भले ही Quake3 काफी पुराना है लेकिन इस बीच की अवधारणाएँ आधुनिक खेलों के लिए अभी भी प्रासंगिक होनी चाहिए।

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


उस विश्लेषण के नज़रिए से, क्वेक 3 आज के खेल के विकास की काफी महत्वपूर्ण "निम्न स्तर" तकनीकों को दर्शाता है। शुरुआत के लिए, (ओपनजीएल-आपूर्ति की गई) शेड्स।

भूकंप 3 1999 में जारी किया गया था। हाँ, यह बहुत समय पहले है। लेकिन यह दिखाता है कि लोग कैसे काम करते हैं जो उस समय की सीमा तक जाने की कोशिश करते हैं। अधिकांश अन्य उपलब्ध इंजन अधिकतम प्रदर्शन के बजाय पुन: प्रयोज्य, "क्लीन" कोड आदि की ओर अधिक झुकाव करते हैं। (इसका मतलब यह नहीं है कि अन्य इंजन खराब और धीमे हैं, लेकिन मुझे लगता है कि यह अभी भी देखने लायक है यदि आप 3 डी गेमिंग इंजन वास्तुकला और कार्यान्वयन के बारे में सीखना चाहते हैं)
जोहान्स

3 डी गेम में बाइनरी लो लेवल गणित पर एक अन्य संबंधित लेख, उदाहरण के रूप में क्वेक का उपयोग करते हुए: blog.quenta.org/2012/09/0x5f3759df.html
जोहान्स

1

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

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

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