क्या मैं C ++ में मोबाइल प्लेटफॉर्म के लिए गेम विकसित कर सकता हूं?


16

मेरे पास C ++ और C में एक अच्छी समझ है और C ++ का उपयोग करके AAA गेम विकसित करने का भी अनुभव है। अब, मैं बेशर्मी से आईओएस या एंड्रॉइड में मोबाइल गेम के विकास में गोता लगाने के लिए सोच रहा हूं। दुर्भाग्य से, मैं उद्देश्य-सी और जावा नहीं जानता और न ही इसे सीखने की हिम्मत रखता हूं। इसलिए, जैसा कि ऊपर उल्लेख किया गया है, क्या जेएवीए और उद्देश्य-सी के किसी भी एक बयान का उपयोग किए बिना सी ++ में मोबाइल विकास करने की कोई संभावना है?

जवाबों:


13

आईफोन ऐप्स के लिए कुछ ऑब्जेक्टिव C लिखा जाना चाहिए। कहा जा रहा है, आप obj-c की एक पतली परत लिख सकते हैं और फिर आप सभी को C या C ++ में गेम कोड कर सकते हैं।

Android पर NDK को देखो। मेरे पास इसका कोई अनुभव नहीं है, लेकिन यह एक देशी एसडीके होने का वादा करता है, इसलिए आपको सी या सी ++ में अधिकांश चीजें लिखने में सक्षम होना चाहिए।

कहा जा रहा है, आप कृत्रिम रूप से भाषा अवरोध के साथ खुद को सीमित कर रहे हैं। IOS पर, यदि आप OS लेयर (जैसे GameCenter, उनके सोशल प्लेटफॉर्म) के साथ कुछ भी करना चाहते हैं, या किसी भी तरह के मिडलवेयर का उपयोग करना चाहते हैं, तो आपको संभवतः एक उद्देश्य C API से सामना करना पड़ेगा।

मैं भावुकता को समझ सकता हूं। विशेष रूप से C ++ एक बहुत बड़ी भाषा है। लेकिन obj-c एक बड़ा नहीं है। यह सी पर एक बोल्ट है (इसलिए बुनियादी बातों को परिचित होना चाहिए) शीर्ष पर कुछ अतिरिक्त चीजों के साथ। यह C ++ जितना जटिल या गहरा नहीं है।


2
कृपया ध्यान रखें कि एंड्रॉइड एनडीके का उपयोग करने का मतलब है "लिखना एक बार सभी जगह तैनात करना" के फायदे को छोड़ना क्योंकि आपको कई प्लेटफार्मों के लिए अपने कोड को संकलित करना होगा, संभवतः कई बिल्ड समस्याओं में आकर। NDK का अर्थ जावा कोड से C फ़ंक्शन को कॉल करने के लिए किया जाता है, न कि पूरे एप्लिकेशन को लिखने के लिए (जबकि यह अभी भी संभव है)।
FxIII

1
मुझे यह भी लगता है कि Google ने स्पष्ट रूप से कहा है कि NDK का उपयोग पूर्ण गेम कार्यान्वयन के लिए नहीं किया जाना है। इसके अलावा, जावा सिंटैक्स C ++ के लगभग समान है और इसे लटकने में कुछ दिन लगने चाहिए। यदि आप पैसा बनाना चाहते हैं तो आपको शायद आईओएस गेम पर ध्यान देना चाहिए।
नेलर

यूनिटी 3 डी के बारे में आप क्या कहते हैं, अगर मैं
जेम्स बर्न

1
एंड्रॉइड 2.3 के साथ शुरू, Google ने मूल गतिविधि को जोड़ा जो आपको 100% c ++ (मुख्य रूप से गेम के लिए) में एक पूर्ण ऐप लिखने की सुविधा देता है।
ाउंड

मैं यूनिटी 3 डी की सिफारिश करूंगा, खासकर यदि आप कई प्लेटफार्मों पर तैनात करना चाहते हैं। C # सीखना मुश्किल नहीं है यदि आप पहले से ही C ++ को जानते हैं, और उनके फ़ोरम कंटेंट सैंपल कोड के टन के साथ शीर्ष पायदान पर हैं (हालाँकि अधिकांश कोड जावास्क्रिप्ट में है)।
डग.मकरफलेन

7

मैं Android के लिए c ++ में काफी समय से एक गेम लिख रहा हूं। मुझे हर कुछ हफ्तों में एक बार जावा कोड को छूना होगा, लेकिन अधिकांश भाग के लिए मैंने एक नमूना एप्लिकेशन को संशोधित किया जो NDK के साथ आता है और अन्यथा c ++ लिखा है। मुझे जेएनआई का थोड़ा सा काम भी करना है, जो कभी मजेदार नहीं होता। हालाँकि, मेरे पास कई वर्षों का जावा अनुभव है, इसलिए जावा या जेएनआई लिखना विशेष रूप से मुझे धीमा नहीं करता है।

मेरा खेल मेरे लिनक्स बॉक्स पर भी चलता है, जैसा कि यह मेरे परीक्षण उपकरणों पर चलता है। लिनक्स संस्करण शुद्ध सी ++ है और इस काम को करने के लिए मैं हर बार अपने खेल के लिए एक पुनरावृत्ति परिवर्तन करता हूं।

मेरी परियोजना में जावा कोड की 836 पंक्तियाँ, लुभावनी जानी सी कोड की 331 पंक्तियाँ और C ++ कोड की लगभग 40k पंक्तियाँ हैं।


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

मैंने अन्य NDK परियोजनाओं को CMake का उपयोग करते देखा है।
notlesh

4

वहाँ भी मुरब्बा है जो आपको iPhone, Android, Win Mobile, Bada, और कुछ और जैसे उपकरणों की एक विस्तृत श्रृंखला के लिए मोबाइल एप्लिकेशन बनाने के लिए c ++ का उपयोग करने की अनुमति देता है।


2

मैं थोड़ी देर के लिए cocos2d-x का उपयोग कर रहा हूं , यह c ++ पर आधारित एक गेम इंजन है। (यह वास्तव में cocos2d-iphone का c ++ पोर्ट है)। इस इंजन का उपयोग करके आप आसानी से खिड़कियों पर अपने कोड चला सकते हैं और परीक्षण कर सकते हैं और फिर iphone / android निर्यात के लिए समान कोड संकलित कर सकते हैं।


अब इसमें बाडा भी शामिल है और कुछ लोगों ने इसका इस्तेमाल मार्मलेड के ऊपर किया है
एंडी डेंट

1

यदि आप वास्तव में सिर्फ सी ++ चाहते हैं, तो मुरब्बा आपके लिए अच्छा हो सकता है

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


यदि आपके पास Xcode पर एक मैक लुक है , यदि नहीं, तो लुआ के साथ कोरोना आज़माएं ।

IPhone पर चलने के लिए आपके C ++ कोड को अधिकतम करने के कई तरीके हैं। मैक ऐप स्टोर पर एक मुफ्त कार्यक्रम उद्देश्य-सी आधारित उत्पादों में C ++ के उपयोग को बढ़ाने में मदद कर सकता है:

इसे ऑब्जेक्टिव-सी ++ प्रीप्रोसेसर हेडर्स कहा जाता है

यह आपको उद्देश्य-सी के बजाय C ++ के साथ और भी अधिक करने की अनुमति देता है।

iOS प्रोग्रामिंग:


-3

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

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