Blizzard अपने गेम में Mac OS और Windows को सपोर्ट करने का प्रबंधन कैसे करता है? [बन्द है]


22

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

तो मैं क्या दिलचस्पी रखता हूँ के बारे में जानकारी है:

  • वे अपने गेम इंजन के लिए किन तकनीकों का उपयोग कर रहे हैं?
  • क्या वे दोनों खेलों (स्टारक्राफ्ट 2 और डियाब्लो 3) के लिए एक इंजन का उपयोग कर रहे हैं, या क्या वे प्रत्येक खेल के लिए कस्टम इंजन विकसित करते हैं?
  • मैक ओएस समर्थन के लिए वे समय और धन के मामले में क्या भुगतान कर रहे हैं?


1
मैं इस प्रश्न को ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि हम "यह गेम कैसे बनाया गया था" या "यह गेम कैसे किया गया" यह पूछने वाले प्रश्नों का समर्थन नहीं करते हैं। इस तरह के सवाल ज्यादातर अटकलें हैं, और रचनात्मक नहीं हैं; हम आमतौर पर "यह कैसे कर सकते हैं" पूछने के लिए प्रश्न को संपादित करते हैं, लेकिन यह प्रश्न रचनात्मक होने के लिए ऐसे संपादन के लिए बहुत पुराना है।
Gnemlock

जवाबों:


17

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

Multiplatform समर्थन कुछ नया नहीं है। बहुत सारे सॉफ्टवेयर लिनक्स, मैक ओएस और विंडोज का समर्थन करते हैं। जैसा कि ऊपर उल्लेख किया गया था, महत्वपूर्ण हिस्सा प्लेटफॉर्म की बारीकियों से दूर है।

कोई भी समकालीन गेम इंजन मल्टीप्लायर को संभालता है और कई प्लेटफॉर्म के आधार पर ओपन और डायरेक्टएक्स के बीच स्विच कर सकते हैं।

बर्फ़ीला तूफ़ान एक C ++ का घर है, जैसे अधिकांश पेशेवर बड़े पैमाने पर डेवलपर्स। लेकिन, जैसा कि S.gfx द्वारा उल्लेख किया गया था, यदि आप एक आसान समाधान की तलाश कर रहे हैं, तो बहुत सारे गैर-सी ++ समाधान हैं - जिनमें jMonkeyEngine या LWJGL शामिल हैं।

C ++ की ओर से, आप OpenGL का उपयोग करते समय आसानी से विभिन्न ऑपरेटिंग सिस्टम को संभालने के लिए ग्लूट और ग्लू का उपयोग कर सकते हैं, या विशिष्ट ओएस कॉल के लिए अपना स्वयं का अमूर्त लिख सकते हैं।

अधिक विशेष रूप से अपनी गोलियों का जवाब देने के लिए:

वे अपने गेम इंजन के लिए किन तकनीकों का उपयोग कर रहे हैं? बर्फ़ीला तूफ़ान शायद नहीं कहेगा; लेकिन, आप सुनिश्चित कर सकते हैं कि इंजन C ++ में लिखा गया है और OpenGL या OpenGL और DirectX का उपयोग करता है। याद रखें, OpenGL विंडोज पर चलता है।

क्या वे दोनों खेलों (स्टारक्राफ्ट 2 और डियाब्लो 3) के लिए एक इंजन का उपयोग कर रहे हैं? या प्रत्येक खेल के लिए कस्टम विकसित करना? ब्लिज़ार्ड को कई इंजनों को बनाए रखने के लिए जाना जाता है। डियाब्लो 3, शुरुआत से ही वाह के कोड का एक कांटा था, मुझे विश्वास है। लेकिन, आप यह सुनिश्चित कर सकते हैं कि इस परियोजना के पूरा होने के बाद यह वाह की तरह कुछ भी नहीं होगा। बर्फ़ीला तूफ़ान एक कंपनी नहीं है जो प्रति प्रोजेक्ट बहुत सारे कोड लिखने से डरती है।

वे मैक ओएस समर्थन के लिए समय और धन के मामले में क्या भुगतान कर रहे हैं? यदि सही ढंग से किया जाता है, तो मैक ओएस समर्थन एक लागत का "बहुत" महत्वपूर्ण नहीं होना चाहिए। कोई भी अनुमान लगा सकता है। बर्फ़ीला तूफ़ान, जैसा कि मैंने कहा, कस्टम शेड्स लिखने की प्रवृत्ति है इसलिए सब कुछ "बस सही" लगता है; इसलिए, यह अन्य घरों के भुगतान से अधिक हो सकता है।


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

9

वहाँ ग्राफिक इंजन हैं ( उदाहरण के रूप में Ogre3D ले ) जो DirectX और OpenGL के शीर्ष पर एक अमूर्त परत प्रदान करते हैं। इसलिए एक डेवलपर के रूप में आप केवल फ्रेमवर्क का उपयोग करते हैं और अंतर्निहित GPU-API के बारे में अधिक देखभाल करने की आवश्यकता नहीं है। कुछ विशेष चीजें जैसे कि shaders को HLSL और GLSL में लिखा जा सकता है, लेकिन उच्च स्तर की shader भाषाएँ भी हैं जो दोनों API को चला / संकलित कर सकती हैं।

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


2

मुझे यकीन नहीं है कि वे वास्तव में क्या उपयोग करते हैं (प्रत्येक का एक शक्तिशाली समाधान होगा, निश्चित रूप से)। शायद पहले से ही सिद्ध और उपयोग किए गए खेल इंजन सफलतापूर्वक उस मंच पर गेम जारी कर रहे हैं, या अपने स्वयं के कस्टम समाधान को रोल कर रहे हैं। लेकिन मेरे लिए यह ज्यादातर opengl, shaders, आदि होगा। यदि आप एक इंडी डेवलपर हैं, या यहां तक ​​कि कमर्शियल गेम्स (सिर्फ कोई एएए) नहीं कर रहे हैं तो jMonkeyEngine 3 काफी अच्छा मुफ्त उपाय है। यह जावा आधारित है, इसलिए संभवत: आप OSX के JRE में ट्रस्टिंग को तैनात कर सकते हैं (संभवतः आधुनिक जेआर का उपयोग न करने पर सुविधाओं में कटौती करना), या बाइनरी को एम्बेड करना / लपेटना (हमने विंडोज के लिए ऐसा करने का परीक्षण किया) उपलब्ध फ्री में से किसी का उपयोग करके या वाणिज्यिक समाधान। OSX और अन्य प्लेटफार्मों पर संकलन करने वाले अन्य इंजनों का एक समूह है, लेकिन पूरी तरह से 'AAA' नहीं है, जो OSX और अन्य प्लेटफार्मों के लिए आउटपुट है:, C4 इंजन इत्यादि या यदि अन्य ओपन सोर्स या कमर्शियल मल्टीप्लेट इंजन का उपयोग कर रहे हैं, तो आपको InstallBuilder जैसे क्रॉस प्लेटफॉर्म इंस्टॉलर का उपयोग करने की आवश्यकता हो सकती है ।

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