खेल केवल सी में विकास। क्या यह संभव है? [बन्द है]


18

मैं भारत में प्रथम वर्ष का कॉलेज छात्र हूं और इस सेमेस्टर प्रोजेक्ट के रूप में एक छोटा खेल बनाना चाहता हूं।

मैं सी में काफी अच्छा हूं और इसे तेजी से सीख रहा हूं, लेकिन मैं पूछना चाहता था कि क्या पूरी तरह से सी (कोई सी ++ या सी #) में एक गेम विकसित करना है, मैं इनका उपयोग करना पसंद करूंगा लेकिन कॉलेज की परियोजनाओं के लिए, हमें केवल सी का उपयोग करने की सख्त आवश्यकता है।

मैं जो देख रहा हूं वह एक साधारण टॉप व्यू ड्राइविंग गेम है। इसमें कुछ भी फैंसी नहीं होगा और यहां तक ​​कि दृश्य चीजें सरल पात्रों द्वारा संचालित की जाएंगी। उदाहरण के लिए, उपयोगकर्ता नियंत्रित कार को, की श्रृंखला द्वारा, और सड़क के किनारों द्वारा दर्शाया जा सकता है। तुम क्या सोचते हो?



8
SDL C. में लिखा गया है। OpenGL C. सी है। आपको और क्या चाहिए?
कम्युनिस्ट डक

2
इसके अलावा, क्वेक सी। में किया गया है
द कम्युनिस्ट डक

अपने आप को एक एहसान करो और Allegro पुस्तकालयों का उपयोग करें;) alleg.sourceforge.net
'।

1
रोलरकोस्टर टाइकून लगभग शुद्ध विधानसभा में किया गया था, तो क्यों नहीं?
रेमन ज़राज़ुआ बी।

जवाबों:


23

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


2
@ इशन शर्मा: वास्तव में, बहुत सारा गेम (इंजन) विकास अभी भी C में डॉन या कम से कम बहुत सी: ish C ++ है। कुछ भी नहीं कहता है कि आपका C ++ गेम बेहतर होगा (या यहां तक ​​कि बेहतर लिखा गया है) सिर्फ इसलिए कि यह C ++ है।
शून्य

6
@void: यह केवल सच है अगर प्रोग्रामर के पास इस बात का कोई विचार नहीं है कि C ++ को प्रभावी ढंग से कैसे उपयोग किया जाए। C ++ प्रोग्राम में लिखा जाता है, जहाँ लेखक के पास ऑब्जेक्ट ओरिएंटेशन का एक बुनियादी समझ है, समकक्ष C प्रोग्राम्स की तुलना में कहीं अधिक सुरक्षित और विश्वसनीय है।
17-16 बजे डेडएमजी

8
@ डेडएमजी [उद्धरण वांछित]
बॉब सोमर

6
@ याकूब सोमरस: आसान। से तुलना std::stringकरें char*std::stringहमेशा किसी भी स्थिति में अपनी स्मृति को साफ करता है, हर बार सही राशि आवंटित करता है। char*, आप मुफ्त, या डबल फ्री करना भूल सकते हैं, या पर्याप्त मेमोरी आवंटित नहीं कर सकते हैं। ओह। बेसिक लॉजिक कहता है कि C ++ प्रोग्राम C प्रोग्राम्स से बेहतर और सुरक्षित हैं।
डेडएमजी

12
@DeadMG एक अच्छा प्रोग्रामर किसी भी भाषा में अच्छा, सुरक्षित कोड लिख सकता है। इसके विपरीत, एक बुरा प्रोग्रामर किसी भी भाषा में भयानक, असुरक्षित कोड लिख सकता है। एक गरीब बढ़ई अपने उपकरणों को दोषी ठहराता है।
बॉब सोमर

11

मैं एक एएए MMORPG कोडबेस पर काम करता हूं जो शुद्ध सी है, इसलिए हां।


5
मुझे लगता है कि आपको Cryptic में डाल दिया गया है। क्या आप किसी भी प्रकार की स्क्रिप्टिंग भाषा का उपयोग करते हैं?
दान ओल्सन

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

6

हाँ, यह पूरी तरह से संभव है। कई OS- स्तरीय API जैसे POSIX और Windows, DirectX और OpenGL सभी में C- संगत इंटरफेस है।


6

फेबियन संग्लार्ड ने सी। में अपने 3 डी इंजन के बारे में एक लेख लिखा है। Reddit पर, इस लेख ने एक दिलचस्प बहस छेड़ दी है।

भाषाएं केवल उपकरण हैं ... इसलिए उन्हें बुद्धिमानी से उपयोग करें। एक अच्छा खेल बनाने के लिए, XNA या यूनिटी 3 डी का उपयोग करना आसान हो सकता है। मास्टेरिंग C एक अच्छा पहला कदम है, लेकिन आपको C ++, D, python, lua ... C ++ सीखना बहुत मुश्किल है। इसलिए इसका इस्तेमाल सावधानी से करें।


3

सी खेल के विकास के लिए बहुत अच्छा है।

मैं एक 3 डी platformer पर काम कर रहा हूँ, और मुझे भाषा के साथ कोई समस्या नहीं है। केवल समस्याएं टकराव का पता लगाने और छायांकन हैं, मुझे उनके बारे में कुछ भी नहीं पता है, वे अभी भी किसी अन्य भाषा में होंगे।

वास्तव में, मुझे C # और Java जैसी भाषाओं की तुलना में यह बहुत आसान लगता है। मैं हमेशा पॉइंटर्स ( मेरे कोड से एक उदाहरण ) का उपयोग कर संस्थाओं पर पुनरावृत्ति करता हूं , और freadमानचित्र लोडर बनाने में बहुत समय बचाया।

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


1

बिना किसी संशय के। खेल विकास में उपयोगी बहुत सारे पुस्तकालय (जैसे SDL, PhysFS, आदि ...) में C API हैं, जो बहुत मदद करता है।

यदि आप कोई एक्स्टेंसिबल, उच्च-स्तरीय प्रोग्रामिंग करना चाहते हैं तो आप स्क्रिप्टिंग भाषा जैसे लुआ को एम्बेड करना चाह सकते हैं । कई लोग प्रोग्रामिंग में अपील को सी फ्रेमवर्क के रूप में देखने लगे हैं जो एआई, ईवेंट, आदि जैसी चीजों के लिए लुआ का उपयोग करता है ...

सौभाग्य।


1

इस प्रश्न का सरल उत्तर है: आप प्रत्येक प्रोग्रामिंग भाषा में इस तरह से सरल पाठ आधारित खेल कर सकते हैं। यहां तक ​​कि पास्कल, बेसिक या x86 असेंबलर:]

(और किसी और चीज़ की ज़रूरत नहीं है)


0

हां यह संभव है, लेकिन यह कार्रवाई का सबसे वांछनीय कोर्स नहीं हो सकता है। कई लोग इन दिनों यह पहचानते हैं कि C और C ++ दोनों ही कई कार्यों के लिए आदर्श नहीं हैं, और उच्च स्तरीय गेम तर्क अक्सर उस श्रेणी में आते हैं।

यदि आप C ++ के बजाय C पर जोर देते हैं (जो मेरे लिए कोई मायने नहीं रखता है, लेकिन प्रत्येक को अपने आप में), तो आप C के साथ संयोजन के रूप में Lua का उपयोग कर सकते हैं।

आपके कॉलेज प्रोजेक्ट्स के लिए जिन्हें C की आवश्यकता होती है, यह एक विकल्प नहीं होगा, लेकिन खाली समय की परियोजनाओं के लिए यह सीखने का एक अच्छा तरीका होगा।


लुआ विकास के समय में अच्छा है, लेकिन रिलीज से पहले सब कुछ उच्च प्रदर्शन के लिए एक देशी भाषा में चित्रित किया जाना चाहिए।
Triang3l 11

@ Triang3l मैं बिल्कुल सहमत नहीं हूँ। आप जो वर्णन करते हैं वह समयपूर्व अनुकूलन है। मूल भाषा का उपयोग करना इस बात की गारंटी नहीं है कि आपका कोड अधिक तेज़ है। इसका सही तरीका यह है कि आप अपने कोड को प्रोफाइल करें, अड़चनों को खोजें और उस कोड को सुधारें। बहुत सारे उदाहरण हैं जहां डेवलपर्स ने जावा कोड को बदलने के लिए अपना सी कोड लिखने की कोशिश की और सी कोड काफी धीमा हो गया, या जहां डेवलपर्स ने काफी धीमी विधानसभा कोड के साथ सी कोड को बदलने की कोशिश की। उच्च स्तरीय भाषा के डेवलपर्स और इसके लिए रन-टाइम वातावरण को कम न समझें।
user1657170

0

निःसंदेह तुमसे हो सकता है। कई खेलों को सी (डीओएम दिमाग में आता है) में प्रोग्राम किया गया है। एसडीएल एक गेम प्रोग्रामिंग लाइब्रेरी है जिसे सी में लिखा गया है।

बेशक, यह एक बड़ी परियोजना के लिए C ++ का उपयोग करने से थोड़ा अधिक कठिन हो सकता है, लेकिन यह संभव है।


0

मुझे लगता है कि पूर्ण सी गेम बनाना संभव है। मैंने अपने दूसरे सेमेस्टर प्रोजेक्ट में टर्बो सी कंपाइलर का उपयोग करके एक गेम (जो नोकिया 1110 मोबाइल के 'स्पेस इफेक्ट' के समान है) बनाया है। मुझे लगता है कि आप किसी अन्य को जाने बिना इस तरह (प्रथम वर्ष के कॉलेज के छात्र के रूप में) कोशिश कर सकते हैं।

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