खेल विकास की दुनिया एक मजेदार है: एक तरफ, वे अक्सर नए विचारों को स्वीकार करने के लिए जल्दी होते हैं, दूसरी तरफ, वे अभी भी पत्थर की उम्र में हैं।
सच्चाई यह है कि, .NET / Java / C / C ++ के अलावा किसी भी चीज़ पर स्विच करने में शायद ही इतना प्रोत्साहन हो।
अधिकांश गेम कंपनियां अन्य कंपनियों से गेम इंजन के कुछ हिस्सों को लाइसेंस देती हैं। इन भागों को C ++ में लिखा गया है, और यद्यपि आपके पास स्रोत तक पहुंच हो सकती है, इसलिए आप इसे पोर्ट कर सकते हैं, जो बहुत प्रयास करता है (और निश्चित रूप से, लाइसेंस को इसकी अनुमति देने की आवश्यकता है)।
साथ ही, C ++ में बहुत सारी विरासत कोड पहले से मौजूद हैं। यदि पिछली परियोजनाओं के कोड का पुन: उपयोग किया जा सकता है (यदि आप सीक्वल लिख रहे हैं), तो यह कि एक ही भाषा के साथ चिपके रहने के पक्ष में और भी अधिक मायने रखता है, बजाय इसे एक नई भाषा में लिखने के (और अधिक तब से जब आप संभावित रूप से पुन: प्रस्तुत करेंगे। एक टन बग जो आपको इस्त्री करने के लिए समय बिताने की आवश्यकता होगी।
अंत में, यह गेम के लिए 100% C ++ में लिखा जाना दुर्लभ है - बहुत कुछ स्क्रिप्टिंग भाषाओं का उपयोग करके किया जाता है, चाहे वे कस्टम हों या केवल मौजूदा भाषाओं को एकीकृत कर रहे हों (Lua इन दिनों अधिक लोकप्रिय लोगों में से एक है)।
जहां तक कचरा संग्रहण का सवाल है, तो यह एक समस्या हो सकती है। समस्या इतनी अधिक नहीं है कि यह मौजूद है, यह अधिक है कि यह कैसे काम करता है - कचरा संग्रहकर्ता को गैर-अवरुद्ध होना चाहिए (या कम से कम केवल बहुत संक्षेप में ब्लॉक करने की गारंटी दी जाए), क्योंकि यह केवल 10 सेकंड के लिए गेम फ्रीज होने के लिए अस्वीकार्य है यह सभी आवंटित मेमोरी को स्कैन करता है यह देखने के लिए कि क्या मुक्त किया जा सकता है। मुझे पता है कि जब यह मेमोरी से बाहर चलने के करीब होता है (और कुछ गेमों के लिए, तो यह होगा) जावा जावा काफी हद तक घुट जाता है।
आप जो कुछ भी कर सकते हैं उसमें आप थोड़ा अधिक प्रतिबंधित हैं: रनवे के ओवरहेड के कारण आप हार्डवेयर का पूरी तरह से दोहन नहीं कर सकते। कल्पना कीजिए कि क्रिसिस को जावा में लिखा जा रहा है ... भले ही यह केवल दृश्यमान अंतर है, यह सिर्फ एक ही नहीं होगा (मुझे यकीन है कि आपको इसे चलाने के लिए कोर i7 की आवश्यकता होगी।)।
इसका मतलब यह नहीं है कि इन भाषाओं का खेल विकास में अपना स्थान नहीं है - और नहीं, मैं सिर्फ टूल प्रोग्रामिंग की बात नहीं कर रहा हूं। अधिकांश खेलों के लिए, आपको 3D गेम सहित C ++ से प्राप्त होने वाले अतिरिक्त प्रदर्शन की आवश्यकता नहीं है, और यदि आप इसे स्क्रैच से लिख रहे हैं, तो यह XNA जैसी किसी चीज़ का उपयोग करने के लिए सही अर्थ बना सकता है - वास्तव में, ए अच्छा मौका होगा।
जहाँ तक वाणिज्यिक खेलों का सवाल है - क्या RuneScape की गिनती होती है? यह अच्छी तरह से वहाँ बाहर सबसे रसीला जावा खेल हो सकता है।