क्या C # का खेल विकास में कोई भविष्य है?


18

मुझे हाल ही में पता चला है कि दो पूर्व और अब प्रतिस्पर्धी सहयोगियों के बीच संभावित सहयोग पर सीवीजी.यूके पर हाल ही में एक इंटरव्यू से जावा द्वारा संचालित किया गया है। साक्षात्कार में उन्होंने स्पष्ट रूप से कहा कि Minecraft के संस्थापक एक जावा कोडर हैं और वह एक C या C ++ कोडर है, इसलिए वे एक दूसरे के साथ असंगत हैं। इसलिए भविष्य की परियोजनाओं पर सहयोग करना मुश्किल होगा।

यह मुझे सोच रहा था, अगर जावा ऐसा कर सकता है? जहाँ तक खेल या मुख्यधारा के खेल विकास का संबंध है, एमएस बहुत लोकप्रिय सी # भाषा और .नेट मंच के लिए भविष्य में क्या पकड़ है?



3
यह उन सभी प्रदर्शनों के बारे में है जिनकी आपको आवश्यकता है, Minecraft एक प्रबंधित भाषा में ठीक है, लेकिन उच्च अंत ग्राफिक्स गेम के लिए, C या C ++ या अन्य मूल भाषाएं पसंद की जाती हैं

19
Minecraft वास्तव में एक MMO नहीं है।
डेडएमजी

3
@ Guillaume86: घबराहट कोड वर्तमान में देशी कोड को बेहतर बना सकता है, और जित्स हर समय बेहतर हो रहे हैं। इसके अलावा, प्रबंधित भाषाएँ कहीं अधिक मजबूत कार्यक्रम तैयार करती हैं। इसलिए अंत में C ++ हारता है यह प्रदर्शन लाभ है, और इसमें मजबूत कार्यक्रमों को लिखने के लिए काफी कठिन है (जिसका मतलब है कि अब विकास के समय और अधिक लागतें)
मार्टिन

4
एक JIT खराब लिखे गए देशी कोड को हरा सकता है, न कि कसकर अनुकूलित और आंतरिक छोरों को। यदि आप वास्तव में चाहते हैं तो C # C ++ में उन संवेदनशील खंडों को लिखने का विकल्प आपके पास है।
कोडरंग

जवाबों:


22

आपको XNA की जाँच करनी चाहिए । विंडोज, Xbox 360 और विंडोज मोबाइल के लिए गेम बनाने का एक प्लेटफॉर्म। C # और .NET में सभी।


11

मैं 5 वर्षों से पेशेवर खेल विकास में काम कर रहा हूं। इस समय में, मैंने C # लगभग विशेष रूप से इस्तेमाल किया।

सामान्य रूप से C # और .NET स्टैक सर्वर-साइड तकनीक के लिए वास्तव में बहुत अच्छा है। मैंने C # में सर्वर के साथ 4 से कम पैराग्राफ गेम पर काम किया है। इसके अलावा, यूनिटी 3 डी लोकप्रियता प्राप्त करने के साथ, कई ब्राउज़र और मोबाइल गेम्स को सी # की आवश्यकता होती है। एक्सएनए फ्रेमवर्क को मत भूलना: यह एएए कंसोल खिताब के लिए पसंद का इंजन नहीं है, लेकिन इसके साथ कई बेहतरीन गेम हैं, और वर्तमान में कई और बनाने में हैं।

कुल मिलाकर, C # निश्चित रूप से खेल के विकास में एक भविष्य है।


यह एक पुराना सवाल है, लेकिन एक बात मुझे परेशान करती है। "सर्वर-साइड तकनीक" - क्या आप वास्तव में इसका मतलब है? .NET फ्रेमवर्क का उपयोग करते हुए कुछ विंडोज सर्वर पर एक WindowsService चल रहा है? मैंने हमेशा सोचा था कि सर्वर सी ++ में बने हैं और यूनिक्स ओएस पर चल रहे हैं। मैं बस जिज्ञासु था
मार्शल

हां, बिलकुल। विंडोज पर बहुत सारे सर्वर चल रहे हैं - उनमें से जो इस साइट को चलाने वाले हैं, AFAIK।
बात नहीं

मेरे पास वापस आने के लिए धन्यवाद। बस स्पष्ट करने के लिए - "विंडोज पर चल रहा है" बिना सिर वाली विंडोज सेवाओं या WinForms जैसे कार्यक्रमों के साथ (कॉन्फ़िगरेशन में बनाया गया या ऐसा कुछ)?
मार्शल

हेडलेस सेवा आमतौर पर एक बेहतर विचार है, लेकिन कुछ भी आपको केवल कंसोल एप्लिकेशन चलाने से नहीं रोक रहा है। या यहां तक ​​कि एक जीयूआई भी, सिवाय इसके कि जीयूआई का उपयोग करने के लिए सर्वर पर कोई नहीं है।
बात नहीं

10

जैसा कि उल्लेख किया गया है, मोनो कई प्लेटफार्मों में C # लाता है। कि एक ही क्षेत्र में, आप मिल जाएगा ताओ , मोनो के लिए एक बहु पुस्तकालय और .NET कि छग, शैतान, FreeGLUT, GLFW, GLU, स्तोत्र, OpenAL, ओपन, PhysicsFS, एसडीएल, और WGL के लिए उपयोग की अनुमति देता है। यह स्पष्ट रूप से उतना मजबूत नहीं है जब यह XNA के रूप में सुविधाओं के लिए आता है (जो सीधे डेवलपर को मौलिक इंजन घटक प्रदान करता है); लेकिन, यह बहुत शक्तिशाली है।

इसलिए, Microsoft नियंत्रित OS और हार्डवेयर से परे क्रॉस प्लेटफॉर्म निश्चित रूप से संभव है। बस, कई लोकप्रिय इंडी गेम्स ने इस क्षमता का उपयोग नहीं किया है, फिर भी।

जैसा कि उल्लेख किया गया है, CNA के साथ युग्मित XNA स्वतंत्र डेवलपर्स को 360, पीसी और विंडोज फोन 7 पर प्रकाशित करने की अनुमति देता है।

कुल मिलाकर, C # एक इंजन / खेल भाषा के रूप में खेल के विकास में जीवित है।

एक उपकरण भाषा के रूप में, यह हर जगह उपयोग में है। मैंने ईए, टीएचक्यू, और अब सभी # का उपयोग करते हुए आर्कडेल के लिए उपकरण बनाए हैं।


5

न केवल सी # का खेल विकास में भविष्य है, इसमें एक वर्तमान है - मैगिका की जांच करें , हाल ही में जारी किया गया एक गेम (और अच्छी तरह से बेच) जो कि एक्सएनए का उपयोग करके विकसित किया गया था। इसके अलावा, Dream.Build.Play प्रविष्टियों को जीतने पर एक नज़र डालें । C # गेम बनाने का एक व्यवहार्य तरीका है (हालाँकि अभी मुझे विश्वास नहीं है कि यह सभी खेलों के लिए सही विकल्प है )।

समय बीतने के साथ-साथ हम इसे कंप्यूटर गेमिंग उद्योग में और अधिक लोकप्रिय होते देखेंगे, हालाँकि मैं किसी भी बिंदु पर C # में अचानक बदलाव की उम्मीद नहीं करता।


4

जावा हमेशा से एक बहुत ही बहुमुखी भाषा रही है और इसमें लोगों के लिए सरल वेब आधारित गेम (कैनवास एप्लेट के साथ जावा एप्लेट / जीडब्ल्यूटी) से लेकर पूर्ण 3 डी जानवरों (चेकआउट जेमोंकी ) तक की क्षमता है । इसलिए मैं यह नहीं कहूंगा कि जावा ऐसा कर सकता है कि सी # हत्यारा है, क्योंकि ज्यादातर लोग जानते हैं कि जावा पहले से ही ऐसा कर सकता है।

C # अभी भी लोकप्रिय बना रहेगा, क्योंकि यह अनिवार्य रूप से विंडोज, विंडोज मोबाइल और Xbox के साथ जावा से बेहतर संबंध रखता है (जो कि, वास्तव में, सभी गेम डेवलपर्स वास्तव में लक्ष्यीकरण के बारे में ध्यान रखते हैं ताकि क्रॉस प्लेटफॉर्म लाभ जो कि जावा ज्यादातर खो गया है।) XNA भी मिला जो वास्तव में खेल के विकास के मामले में दूर हो गया है।

तो हाँ, जावा खेल विकास के लिए एक अच्छा मंच है यदि कोई भी उस मार्ग से नीचे जाना चाहता है, लेकिन यह निश्चित रूप से कोई C # या .NET हत्यारा नहीं है।


4

एकता 3 डी देखें; उच्च प्रदर्शन वाले 3 डी इंजन में सी # (और जावास्क्रिप्ट, और बू) स्क्रिप्टिंग।

मिश्रण में XNA जोड़ें और आप खेल के विकास के लिए C # का उपयोग करने के लिए कुछ बेहतरीन प्लेटफार्मों को देख रहे हैं।


एकता में एक वेब प्लेयर भी है जिससे आप ब्राउज़र में खेल सकते हैं। प्लगइन में फ्लैश या जावा जैसे विशाल बाजार में प्रवेश नहीं है, लेकिन यह संभव है।
माइकल कोलमैन

एकता के लिए याय !!
डैनियल पेन्डगैस्ट

1

हां, C # में XNA फ्रेमवर्क के साथ एक भविष्य है। अधिकांश सी ++ गति के कारण पसंद करते हैं, लेकिन सी # नहीं है कि अब और धीमी गति से ...


2
यह बिल्कुल भी धीमा नहीं है। यह लगभग ,०% C ++ गति से कम बुरा है, और कभी-कभी तेज भी हो सकता है!
Noldorin

4
C # में CPU बाउंड ऑपरेशंस काफी तेज़ हैं, यह कुछ अतिरिक्त जाँच करता है जो कुछ मामूली प्रदर्शन हिट की कीमत पर कोड की सुरक्षा में काफी सुधार करता है, लेकिन जहाँ यह C ++ की तुलना में बहुत खराब है, मेमोरी खपत और प्रबंधन में है। यह C # में बहुत आसान और कम रिसाव प्रवण की एक बिल्ली है, लेकिन GC का प्रदर्शन हिट एक निरपेक्ष कुत्ता हो सकता है।
justin.m.chase

Xbox360 को लक्षित करते समय सावधान रहें। XNA रनटाइम में कुछ प्रमुख ऑप्टिमाइज़ेशन की क्षमता का अभाव है और आपको प्रदर्शन संवेदनशील हिस्से को अनवांटेड कोड में शिफ्ट करने से रोकता है।
drxzcl


1

इस उदाहरण में उन्होंने जावा के साथ जो किया वह एक एप्लेट था ताकि आप साइट पर लॉग ऑन कर सकें और एक बहुत ही सामान्य प्लगइन के साथ खेल सकें, पूरी तरह से पारदर्शी जिससे ऑपरेटिंग सिस्टम का उपयोग किया जा रहा था। मुझे लगता है कि उनकी सोच थी कि जावा इस तरह से उपयोग किए जाने पर काफी पारदर्शी था और यह त्वरित पुनरावृत्त विकास / परीक्षण के लिए आसान बना देगा, जो वह करने के लिए प्रशंसकों को प्राप्त कर रहा था। मुझे विश्वास नहीं है कि आप इसे केवल XNA के साथ कर सकते हैं क्योंकि आमतौर पर परीक्षक को सब कुछ स्थापित करने के साथ-साथ खेल और कुछ सामान्य ज्ञान भी होते हैं कि इसे कैसे संकलित किया जाए और कैसे चलाया जाए।

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


1

ज़रूर, बहुत सारी प्रोग्रामिंग भाषाओं का खेल विकास में भविष्य है। कंप्यूटिंग प्रेस में इस्तेमाल की जाने वाली यह अक्सर झूठी दुविधा है कि टाइप X का केवल एक उपकरण हो सकता है और हर कोई चाहता है कि ऐसा हो।

सच्चाई से अधिक महत्वपूर्ण कुछ नहीं हो सकता।

C # और Java का उपयोग लंबे समय से गेम्स में किया जाता रहा है। C और C ++ में और भी अधिक समय है, और अभी भी हैं। कुछ अविश्वसनीय रूप से लोकप्रिय खेलों के लिए Lua का उपयोग स्क्रिप्टिंग भाषा के रूप में किया जाता है, जिसमें C / C ++ लिखा हुआ होता है।

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

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

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