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


27

कंसोल गेम के पीसी पोर्ट अक्सर एक या दो महीने बाद सामने आते हैं। ऐसा क्यों है?

खेलों को उन भाषाओं में लिखा जाता है जो पीसी पर भी संकलन करते हैं, इसलिए खेल तर्क को बिना मुद्दे के संकलन करना चाहिए। क्या उन्हें फिर से पकड़ रहा है? यह कोड प्रतिपादन है या क्या?


3
यह शायद प्रकाशन सौदों के कारण है। उन्हें सोनी से एक ps3 / ps4 अनन्य शीर्षक बनाने के लिए भुगतान किया जाता है।
औरुस

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

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

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

जवाबों:


47

पीसी पोर्ट में कुछ समय लग सकता है। (अगर मैं खुद को कहीं दोहराता हुआ लगता हूं तो माफी मांगता हूं; यह मक्खी पर लिखा हुआ है।)

नियंत्रण और गेमप्ले को अपनाना

जब आप एक कंसोल पर खेल रहे होते हैं, तो यह अकेले आप क्या कर सकते हैं, इस पर कुछ सीमाएं डाल देता है, क्योंकि सभी उपयोगकर्ता गेमपैड है।

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

हार्डवेयर अमूर्त / विखंडन

जब आप उदाहरण के लिए एक Wii U विकसित करते हैं, तो आप वास्तव में जानते हैं कि एक Wii U कैसे व्यवहार करता है, क्योंकि सभी Wii Us समान हैं। यह पीसी के लिए सच नहीं है; आपके पास कई अलग-अलग ग्राफिक्स कार्ड और सीपीयू हैं, और कभी-कभी उनमें से कुछ पर काम नहीं करेगा। इन बगों को उजागर करने के लिए बहुत सारे परीक्षण होते हैं, और उन्हें ठीक करने में भी समय लगता है।

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

संसाधन विवाद

कंसोल पर, गेम को संसाधनों के लिए ओएस के साथ प्रतिस्पर्धा करने की आवश्यकता नहीं है, आदि - पृष्ठभूमि में सामान की एक पूरी बहुत कुछ नहीं चलता है।

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

संपत्ति में सुधार

कंसोल के साथ, आपके पास एक निश्चित लक्ष्य होता है, इसलिए आप उस लक्ष्य से मिलान करने के लिए शेड आदि लिखते हैं।

एक पीसी पर, कुछ ग्राफिक्स कार्ड अधिक उन्नत सुविधाओं का समर्थन करते हैं, और शायद आप उन लोगों के लिए एक बेहतर shader का उपयोग करना चाहते हैं। ठीक है, इसका मतलब है कि आपको उस shader को लिखना होगा।

प्लेटफ़ॉर्म-विशिष्ट सामान

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

वे चीजें आमतौर पर पीसी पर उपलब्ध नहीं होती हैं; आपको उन चीजों को पूरा करने के अन्य तरीकों का उपयोग करने की आवश्यकता है और हो सकता है कि यह परिवर्तन आपको प्लेटफॉर्म के अंतर को कैसे अमल में लाए।


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

1
अच्छा जवाब है। हालांकि, ऐसे मामलों में, जहां डेवलपर्स कंसोल से अधिकतम प्रदर्शन को निचोड़ना चाहते हैं, प्लेटफ़ॉर्म विशिष्ट कोड की एक निम्न स्तर की परत आमतौर पर पर्याप्त नहीं है, गेम को कंसोल के हार्डवेयर की मजबूत विशेषताओं का लाभ उठाने के लिए इंजीनियर होना चाहिए, जो isn ' टी पीसी के लिए भी आदर्श समाधान जरूरी!
ग्रिम्सहाव

6

एक साधारण कारण यह है कि एक कंसोल में हार्डवेयर का एक सेट होता है जो कि कंसोल के समान होता है।

आपके XBox, PS3 और Wii सभी में आपके पड़ोसी XBox, PS3 और Wii के समान हार्डवेयर हैं। हालाँकि आपके कंप्यूटर में एक अलग सीपीयू, अलग ग्राफिक्स कार्ड, विभिन्न मात्रा में रैम, वास्तव में पूरे कॉन्फ़िगरेशन और ऑपरेटिंग सिस्टम सेटिंग्स, स्थापित ड्राइवर सभी पूरी तरह से अद्वितीय क्रमपरिवर्तन हो सकते हैं जो दुनिया में किसी अन्य व्यक्ति के पास नहीं है।

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

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


5

एक नए प्लेटफ़ॉर्म पर पोर्टिंग कोड में समय लगता है। Xbox 360 (मैंने XNA में कभी विकसित नहीं किया है) के लिए नैनोसेकंड टाइमर बनाने के लिए लिनक्स, मैक या विंडोज में समान नैनोसेकंड टाइमर की तुलना में एक अलग कार्यान्वयन की आवश्यकता है। अब कल्पना करें कि आपके पास इस प्रकार के सैकड़ों कार्य हैं जिन्हें पोर्टिंग की आवश्यकता है, हजारों यदि इंजन पर्याप्त रूप से पर्याप्त है।

नए प्लेटफॉर्म के लिए इन अलग-अलग कार्यान्वयनों में जोड़ने के लिए आसानी से एक या दो महीने की कोडिंग हो सकती है। इसके शीर्ष पर, आप हमेशा Xbox 360 पर समान लाइब्रेरी का उपयोग नहीं कर सकते हैं जैसा कि आप विंडोज, प्लेस्टेशन 3 या किसी अन्य प्लेटफॉर्म पर कर सकते हैं। इसका मतलब है कि संभावित रूप से Xbox 360 संस्करण पर आपके द्वारा किए गए कार्य को करने के लिए आपको एक पूरी नई लाइब्रेरी का उपयोग करना होगा।

कुल मिलाकर, इस तरह की चीजें समय की एक बड़ी मात्रा में जोड़ देती हैं। नए प्लेटफॉर्म पर पोर्ट करना बड़े AAA टाइटल के लिए शायद ही आसान हो।


3

यह कई मामलों में कठिन होने के साथ लगभग कुछ भी नहीं है ।

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

इसके अलावा, कुछ मामलों में, कंसोल निर्माता अनन्य रिलीज़ के लिए लाभ देते हैं, इसलिए प्रकाशक को छूट मिलती है या कुछ ऐसे होते हैं यदि वे किसी विशेष कंसोल पर पहले और अन्य प्लेटफार्मों पर बाद में रिलीज़ करते हैं। इसके बारे में कुछ भी तकनीकी नहीं।


1

प्रारंभ में, गेम पीसी पर कंसोल से बनाने के लिए कठिन होते हैं। इसके ऊपर, कंसोल में बहुत अलग ऐनक और अलग-अलग हार्डवेयर होते हैं, जो कि Nintendo, Sony और microsoft के बीच होते हैं, जिसके परिणामस्वरूप न केवल अलग-अलग प्रदर्शन होते हैं, बल्कि अलग-अलग अड़चनें भी होती हैं।

आमतौर पर, गेम प्रत्येक कंसोल पर गुणवत्ता और प्रदर्शन को अधिकतम करने के लिए बस अपने इंजन को ट्विस्ट करेगा।

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

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

एक पीसी पर, यह बदतर है, क्योंकि वहाँ कई हार्डवेयर हैं, लेकिन दी गई है, यह अधिक स्वतंत्रता है, सबसे अच्छा परिणामी दिखने वाला गेम हमेशा पीसी पर होगा, क्योंकि पीसी हमेशा रक्तस्रावी किनारे पर होता है, एक कीमत पर।

गेम को कंसोल से पीसी में पोर्ट करना मुश्किल हो सकता है, क्योंकि कंसोल को गेम के प्रदर्शन के लिए डिज़ाइन किया गया है, जबकि पीसी नहीं हैं, लेकिन कुल मिलाकर, गेम को कंसोल से पीसी के विपरीत की तुलना में पोर्ट करना बहुत आसान है, क्योंकि कंसोल में बहुत कम मेमोरी है, 2 या 4 बार कम जैसा कुछ।

इस मेमोरी प्रतिबंध के अनुकूल होने के लिए कोड को बदलने का मतलब हमेशा पूर्ण री प्रोग्रामिंग होगा।

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

बेशक, इंजन को सभी कंसोल और पीसी पर चलाने के लिए प्रोग्राम किया जा सकता है, एक बार जब यह आसान हो जाता है, तो अपने प्रोग्रामर को पीसी में इंजन को पोर्ट करने के लिए कहने के बाद बेहतर है क्योंकि उन्हें बताया गया है कि यह 3 या 4 वर्षों के लिए कभी भी योजनाबद्ध नहीं था।

टीएल; डीआर कन्सोल समरूप हैं और पिछले एक कंसोल जेनरेशन, पीसी विषमलैंगिक हैं, और हार्डवेयर और एपीआई लगातार विकसित होते हैं। लागत प्रोग्रामिंग और हार्डवेयर बिल्डिंग के बीच फैली हुई है, जो कि समझौता है।

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

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