सीएस प्रथम वर्ष के लिए सलाह [बंद]


17

मैं सीएस के अपने पहले वर्ष के अंत में आ रहा हूं जो मुख्य रूप से जावा आधारित पाठ्यक्रम रहा है। मैं अपने पैरों को कुछ खेल के विकास के साथ गीला करना चाहता हूं, लेकिन मुझे यकीन नहीं है कि कहां से शुरू करना है।

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

मैं बहुत से लोगों को एक्सएनए की सिफारिश करता हूं, क्योंकि इसके एपीआई के माध्यम से ओपेंगल और डायरेक्टएक्स का अच्छा अमूर्तता है। मैं यह भी सुनता हूं कि C # जावा के समान है।

मैंने जावा में गेम प्रोग्रामिंग पर भी विचार किया है क्योंकि मैं इसके साथ काफी सहज हूं और मल्टी-थ्रेडिंग और 2 डी ब्राउजर पर अतिरिक्त रीडिंग कर रहा हूं।

अंत में, एक दोस्त ने हाल ही में मुझे pygame दिखाया है जो बहुत अच्छा लगता है, हालांकि मुझे इसके बारे में इतना कुछ नहीं पता है।

मुझे नहीं पता कि C ++ एक अच्छा शुरुआती बिंदु है, बहुत सारे पोस्ट जो मैंने शुरुआती गेम के लिए देखे हैं, वे पहले गेम प्रोजेक्ट के लिए इसकी अनुशंसा नहीं करते हैं।

मैं किसी भी इनपुट की सराहना करता हूं, विशेष रूप से उन लोगों से, जो जावा पृष्ठभूमि से गेम देव में आए थे


5
C ++ कठिन है, बहुत कठिन है, लेकिन अगर आप वास्तव में जावा को सेट करते हैं तो इससे पहले कि आप कोशिश करें और अपने दिमाग को उसके चारों ओर लपेटें, यह लंबे समय में आसान है। यह निश्चित रूप से एक जावा बैकग्राउंड से C ++ सीखने की कोशिश कर रहा है, एक C ++ बैकग्राउंड से जावा सीखना है। joelonsoftware.com/articles/ThePerilsofJavaSchools.html
डेविड यंग

1
मैं जावा के साथ शुरू करने के बाद C ++ सीखने की कोशिश कर रहा था, मैंने पुराने स्टाइल C ++ से शुरुआत की और फिर जावा सीखी। यदि आप जंप टू पॉइंटर्स के बारे में चिंतित हैं, तो मैं सीधे सी और यूनिक्स प्रोग्रामिंग सीखने की सलाह देता हूं। यह आपको पूरी तरह से नई मानसिकता में रखता है ताकि आप अनुपयुक्त जावा अवधारणाओं को लागू करने की संभावना कम हो।
michael.bartnett

जवाबों:


14

बहुत सारे अच्छे विकल्प हैं। (मैं CS1 और CS2, साथ ही गेम प्रोग्रामिंग सिखाता हूं।) सबसे पहले, एक कंप्यूटर वैज्ञानिक की तरह सोचना सीखें। भाषा में बहुत अधिक बंधे न रहें, क्योंकि अवधारणाएं वास्तव में सार्वभौमिक हैं।

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

मुझे FANG इंजन पसंद है (दुख की बात है कि मैं अभी तक हाइपरलिंक पोस्ट नहीं कर सकता, इसलिए इसे Google पर देखें।) इस परियोजना का एक दिलचस्प हिस्सा ऑनलाइन संपादक है। इसका मतलब यह है कि आप ग्रहण सेटिंग्स के साथ गड़बड़ किए बिना तुरंत शुरू कर सकते हैं।

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

मुझे पायथन और पायगेम बहुत पसंद हैं। (वास्तव में, मैंने उनके बारे में एक पुस्तक लिखी है। यदि आप चाहें तो मेरे सभी नोट्स और ऑनलाइन वीडियो मेरी साइट पर देखें। आप उन संसाधनों में आपका स्वागत करते हैं कि आपके पास पुस्तक है या नहीं।) पायथन एक सुंदर सुरुचिपूर्ण भाषा है जो isn ' टी सीखना बहुत मुश्किल है (खासकर यदि आप पहले से ही प्रोग्राम करना जानते हैं।) Pygame लोकप्रिय SDL 2D इंजन पर एक आवरण है। वास्तव में, मैंने फ़्लैश के साथ काम करने में आसान बनाने के लिए pygame में एक दूसरा आवरण जोड़ा है।

फ्लैश की बात करें, तो मुझे नहीं लगता कि यह इसके लायक है। (मुझे पता है कि आपने पूछा नहीं) यह एक अच्छा मंच है, लेकिन मोबाइल उपकरणों पर यह कैसे खर्च होगा, इस बारे में अनिश्चितता और इसका मतलब यह है कि यह एक महान उपकरण नहीं हो सकता है। (मैंने फ्लैश में गेम देव के बारे में एक किताब भी लिखी है, लेकिन मैं फ्लैश को और नहीं सिखाता हूं।)

यहां कुछ और बेहतरीन चीजें हैं। MIT से स्क्रैच की एक कॉपी प्राप्त करें: scratch.mit.edu यह बच्चों के लिए बनाया गया है, लेकिन इसे आप बंद न करें। यह एक बिल्कुल अविश्वसनीय खेल और एनीमेशन उपकरण है। प्रोग्रामिंग टाइल्स का उपयोग करता है, इसलिए इसे शुरू करना आसान है। आप इसके साथ क्या कर सकते हैं, इस पर आप अचंभित होंगे।

आप ऐलिस को कार्नेगी मेलन www.alice.org से भी देख सकते हैं । नवीनतम (तीसरा) संस्करण वास्तव में जावा का विस्तार है, जिसमें 2 मॉडल का उपयोग किया गया है।

स्क्रैच और ऐलिस दोनों स्वतंत्र हैं।

देखने के लिए एक और महान उपकरण ब्लेंडर www.blender.org है

यह एक 3D मॉडलिंग टूल है, लेकिन बहुत से लोग नहीं जानते कि यह ड्रैग-एंड-ड्रॉप प्रोग्रामिंग इंटरफ़ेस के साथ एक पूर्ण गेम इंजन भी है। एक बार जब आप टाइल्स से आगे निकल जाते हैं, तो इसमें पाइथन सपोर्ट होता है।

अब मुझे एचटीएमएल 5 में दिलचस्पी है (जो बमुश्किल एचटीएमएल है - यह वास्तव में एचटीएमएल, सीएसएस और जावास्क्रिप्ट है।) यह गेम डेवलपमेंट पर्यावरण के रूप में काफी नहीं है, लेकिन मेरा मानना ​​है कि यह एक बड़ा खिलाड़ी होगा। मेरी अगली पुस्तक एचटीएमएल 5 में गेम डेवलपमेंट पर होगी।

आपको शुभकामनाएं, और मुझे बताएं कि क्या आपके पास और प्रश्न हैं।


आपके इनपुट के लिए धन्यवाद, मैं आपकी साइट की जाँच कर रहा हूँ क्योंकि हम बोलते हैं। मुझे यकीन है कि यह आपके अनुभव के साथ किसी का अमूल्य योगदान होगा
avatarX

सूचक हैंडलिंग सार्वभौमिक नहीं है = (मेरे जावा को लाने के लिए अभिशाप दें।
डेविड यंग

मैं जानना चाहता हूं कि आपको क्यों लगता है कि जावा में गेम बनाना थकाऊ है। इसके अलावा, ऐसा लगता है कि आप सुझाव दे रहे हैं कि पायथन कम थकाऊ है। बहुत सारे जावा खेल केंद्रित ढांचे और पुस्तकालयों के साथ यह एक बहुत ही साहसिक कथन जैसा लगता है।
zfedoran

1
एक शुरुआत प्रोग्रामर के लिए, जावा में सब कुछ अधिक थकाऊ हो सकता है। प्रिंटफ जैसी किसी चीज की तुलना करें। अजगर में यह प्रिंट स्टेटमेंट का हिस्सा है: प्रिंट "% s, आपका स्कोर% d"% (छात्र, स्कोर) है। Php में, आपको सभी प्राइमरी को रैपर क्लासेस में डालना है, उन ऑब्जेक्ट्स को कास्ट करना है, और एक अनाम ऑब्जेक्ट एरे का निर्माण करना है। मुझे जावा पसंद है। (मैंने इसे वर्षों तक पढ़ाया है, और इसके बारे में एक किताब भी लिखी है।) हालांकि, अगर लक्ष्य किसी को गेम प्रोग्रामिंग में लाने का है, तो मैं एक ऐसी भाषा चाहता हूं जो जितना संभव हो उतना बाहर निकल जाए।
दो पाई

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

5

यह इस बात पर निर्भर करता है कि आपका लक्ष्य क्या है और आप किस खेल के विकास में भाग लेना चाहते हैं।

क्या आप वास्तविक नट और बोल्ट में रुचि रखते हैं कि गेम इंजन कैसे काम करते हैं और जमीन से कुछ बनाते हैं या क्या आप चाहते हैं कि विकास के खेल भागों में जितनी जल्दी हो सके।

नट और बोल्ट: XNA आपके पैर की उंगलियों को उस क्षेत्र में डुबाने का एक अच्छा तरीका है। फ्रेमवर्क आपके लिए बहुत कुछ करता है, लेकिन आप धीरे-धीरे प्रत्येक कोड को अपने कोड से बदल सकते हैं क्योंकि आप C # के साथ अधिक सहज हो जाते हैं। लर्निंग सी # भविष्य के खेल के विकास के पदों के लिए अच्छा है क्योंकि उपकरण अक्सर सी # के साथ बनाए जाते हैं।

गेमप्ले प्रोग्रामिंग: एकता यहां एक अच्छा विकल्प है। फ्री, और आपको जावास्क्रिप्ट और C # सहित कई भाषाओं में कोड देता है। आप चीजों को प्राप्त करने और तेज़ी से चलाने में सक्षम होंगे जो एक अच्छी प्रेरणा को बढ़ावा देता है। साथ ही आप किसी अन्य भाषा में संक्रमण कर सकते हैं और अपनी समझ को व्यापक बनाने में मदद करने के लिए भाषाओं को भी मिला सकते हैं।

अच्छा सा यह है कि वे दोनों साथ में खेलने के लिए स्वतंत्र हैं और कम से कम लागत पर विभिन्न प्रकार के हार्डवेयर से जुड़े हो सकते हैं।


4

हमेशा कुछ जावा आधारित खेल कर सकते हैं, उन लोगों के साथ कुछ भी गलत नहीं है (http://zetcode.com/tutorials/javagamestutorial/)

XNA और AS3 बहुत करीब हैं, और गेम को जटिल या वांछित के रूप में सरल बना सकते हैं। (हालांकि वही जावा के साथ सही है)

याद रखने वाली एक बात हमेशा अभ्यास होती है, और कोड के साथ बस खेलना होता है।


3

जावा मंकी इंजन

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


मुझे कहना होगा कि JMonkeyEngine अच्छा दिखता है। मैं इसे जरूर देखूंगा। आप के लिए धन्यवाद इनपुट
avatarX

2

एकता

मैं कहूंगा कि कोशिश करो एकता । उनके पास एक नि: शुल्क संस्करण है और आप एकता द्वारा प्रदान किए गए दो ट्यूटोरियल का पालन करके मूल विचार प्राप्त करने के लिए कुछ घंटों में अपने पैरों को गीला कर सकते हैं:

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

इसके अलावा वे एकता उत्तर के लिए StackExchange इंजन का उपयोग कर रहे हैं और उनके पास आपके सभी एकता संबंधी प्रश्नों के लिए अद्भुत समुदाय है।


1

उनमें से कोई भी एक अच्छी शुरुआत होगी, एक ऐसे देवता के रूप में बोलना जिसकी प्रारंभिक सीएस शिक्षा जावा में थी।

C # जावा के बहुत करीब है (मैं कभी-कभी मजाक करता हूं कि यह सीमित प्लेटफॉर्म जावा है जो बेहतर पुस्तकालयों के साथ है), इसलिए XNA एक अच्छा विकल्प हो सकता है। Minecraft जावा में lwjgl गेम लाइब्रेरी के साथ विकसित किया गया है, इसलिए यदि आप जावा के साथ रहना चाहते हैं, तो यह एक अच्छा तरीका है। बेशक, 3 डी विकास जटिल की तरह है; आपके ज्ञान, अनुभव और दृढ़ता के आधार पर, आप अपने बेल्ट के तहत अधिक शिक्षा प्राप्त करने तक 3 डी (या 3 डी-आधारित प्रणाली में 2 डी) पर इंतजार करना चाह सकते हैं।

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


1

मैं दृढ़ता से XNA के साथ जाने की सलाह दूंगा। यह एक बढ़ते समुदाय के साथ एक बहुत ही सक्षम और अच्छी तरह से समर्थित मंच है। XNA वास्तव में अब पारिस्थितिक तंत्र में अपना "स्थान" ढूंढना शुरू कर रहा है कि फ्रेमवर्क पहले से कहीं अधिक प्लेटफार्मों पर शिपिंग हो रहा है (विंडोज विंडोज 7 सहित)। अधिक महत्वपूर्ण बात, हालाँकि, XNA का उपयोग आपको C # और सामान्य .NET विकास सीखने के लिए मजबूर करेगा। यह इस प्लेटफॉर्म के साथ अनुभव हासिल करने के लिए होगा कि आप खेल विकास में जाने का निर्णय लेते हैं, क्योंकि .NET विकास बढ़ रहा है और एक बहुत ही स्वस्थ नौकरी बाजार है। दूसरी ओर, जावा धीरे-धीरे पिछले कुछ समय से मर रहा है, और हाल की घटनाओं ने केवल इसके निधन के लिए काम किया है। यदि आपका CS प्रोग्राम, जैसे मैंने पूरा किया है, भारी जावा-केंद्रित है, तो यह आपके समय पर C # /। NET सीखने के लिए आपकी अच्छी सेवा करेगा।

यहां तक ​​कि अगर जावा पर रहता है, और आप जावा विकास में एक कैरियर बनाने का फैसला करते हैं, तो आप वैसे भी .NET सिस्टम के साथ एकीकृत होने की संभावना रखेंगे। इसलिए, हालांकि चीजें बदल जाती हैं, अनुभव केवल लंबे समय में आपकी मदद करेगा।


वास्तव में. com/ jobtrends?q=java & l = और वास्तव में. com/ jobtrends?q=.net & l= दोनों के लिए बाजार की मांग के सुंदर प्रतिनिधि हैं। लगता है कि जावा वास्तव में बढ़ रहा है।
डेविड यंग

मैंने Android प्लेटफ़ॉर्म की सफलता के बारे में जावा विकास की आमद पर विचार नहीं किया था। संभवत: 2008 के अंत और 2009 की शुरुआत में संबंधित नौकरी के उद्घाटन में कूदने के लिए बहुत कुछ है। यह देखना दिलचस्प होगा कि एंड्रॉइड के प्रभाव जावा के मोबाइल की उपस्थिति के लिए iOS7 के लिए WP7 और MonoTouch की उपलब्धता कैसी है।
माइक स्ट्रोबेल

1

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


1

आप http://Processing.org का उपयोग करके भी आनंद ले सकते हैं । यह ग्राफिक्स प्रोग्रामिंग सीखने के लिए एक शानदार वातावरण है। जबकि गेम-देव उपकरण को कड़ाई से पेश नहीं किया जाता है। यह भाषा जावा का विस्तार / सरलीकरण है और इसे सीखना जल्दी होगा।


0

मुझसे एक गैर प्रोग्रामिंग संबंधित सलाह:

एक स्वच्छ परियोजना बनाएं और इसे अपने प्रोफेसरों को दिखाएं।

इस तरह मैंने स्कूल में पहले और दूसरे वर्ष के बाद एक प्रोग्रामर के रूप में ग्रीष्मकालीन-नौकरी प्राप्त की।


यह उपयोगी हो सकता है, लेकिन यह वास्तव में ओपी के लिए आने वाली भाषा / एपीआई संकट से नहीं निपटता है।
कम्युनिस्ट डक

0

यदि आप सिर्फ खेल के विकास के लिए देख रहे हैं, तो उसी समय दूसरी भाषा क्यों सीखें? जब तक आप एक नई भाषा नहीं सीखना चाहते, मैं जावा के साथ रहना चाहूँगा।

जावा के बारे में मुख्य विकल्प मुझे पता है कि jMonkeyEngine हैं, जो एक 3 डी ग्राफिक्स इंजन है और आमतौर पर बहुत अच्छा माना जाता है।

और वहाँ jOGL है, जो OpenGL पर एक जावा आवरण है। यह स्वाभाविक रूप से बहुत निचला स्तर है।

यदि आप अभी शुरुआत कर रहे हैं और बफ़र्स और शेडर बाइंडिंग और इस तरह से काम करने से अधिक तर्क के साथ काम करना चाहते हैं, तो jMonkeyEngine के साथ जाएं। यदि आप शुरू करने के लिए गहराई में जाना चाहते हैं, तो jOGL के साथ जाएं।

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

पायथन एक बहुत ही आसान भाषा है, (मुझे C ++ के एक वर्ष से आने वाली पुस्तक से थोड़ा ध्यान देकर अधिकतम एक सप्ताह का समय लगता है)। Pygame, C से SDL लाइब्रेरी के चारों ओर एक आवरण है, इसलिए संभवत: XNA के समान कार्यक्षमता नहीं है।


0

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

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

मुझे लगता है कि XNA और Pygame भी अच्छे हो सकते हैं (क्योंकि वे कुछ अधिक थकाऊ चीजों को अमूर्त करते हैं), लेकिन मुझे उनके साथ अनुभव नहीं है।

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

मज़े करो!


0

यदि आप जावा से बाहर आ रहे हैं तो XNA एक शानदार समाधान है। C # आपके लिए जावा को लगभग IDENTICALLY दिखेगा और पढ़ेगा, जिससे आप नए वाक्यविन्यास को सीखे बिना वास्तव में तेजी से कूद सकेंगे। XNA फ्रेमवर्क के साथ काम करने के लिए कई अच्छे एपीआई प्रदान करता है, और आपको कुछ प्रोजेक्ट्स पर आरंभ करने के लिए बहुत सारे मुफ्त "Microsoft अनुमन्य लाइसेंस" खुले कोड मिलते हैं।

मैं आपको जावा का उपयोग करने की सलाह नहीं दूंगा, अधिकांश ग्राफिक्स एपीआई भयानक हैं, एक टन का 3 डी समर्थन नहीं है, और आमतौर पर जावा बस धीमी गति से चलता है; अधिकांश जावा ऐप्स के लिए कोई बड़ी बात नहीं है, लेकिन वीडियोगेम को बहुत सारे प्रदर्शन की आवश्यकता होती है।

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

ऑग्रे की तरह बहुत सारे अच्छे गेम इंजन हैं, लेकिन फिर आपको यह सीखने में बहुत समय लगाना होगा कि पहले इसे कैसे करना है, यह अत्यधिक जटिल महसूस कर सकता है।

सावधान रहें, आपके कई गेमिंग विचारों के रूप में भयानक हो सकता है, याद रखें कि वीडियो गेम महंगे हैं, एक लंबा विकास समय लेते हैं, और बड़े विकास दल होते हैं।

यदि आप एक खेल बनाना चाहते हैं और उस पर काम करने वाले एकमात्र व्यक्ति हैं, तो आप लगभग इसे 2 डी गेम बनाने जा रहे हैं (हालाँकि आपको 2D रास्ते से शुरुआत करनी चाहिए) और आपको वास्तव में शुरू करना होगा। वास्तव में सरल।

लगभग कुछ भी आप कल्पना कर सकते हैं कि मज़ेदार होगा अभी के लिए बहुत महत्वाकांक्षी है।

मेरी सलाह: यदि आपके पास नहीं है तो मुफ्त दृश्य स्टूडियो 2010 एक्सप्रेस प्राप्त करें। XNA गेम स्टूडियो और .net फ्रेमवर्क डाउनलोड करें 4. एक XNA डेमो डाउनलोड करें। डेमो चलाएं, फिर कोड देखें और देखें कि क्या करता है। XNA 2 डी गेम कैसे करता है, इस पर कुछ प्रलेखन पढ़ने की कोशिश करें।

फिर, अपने पसंदीदा, पुराने स्कूल, सुपर आसान खेल चुनें। पीएसी आदमी? पोंग? क्षुद्र ग्रह? अंतरिक्ष आक्रमणकारी? मारियो? STUPID, STUPID कुछ आसान चुनें। फिर खेल को बिल्कुल वैसा ही रीमेक करें जैसा वह था। आपको प्रोग्रामिंग और एक नया एपीआई सीखने के बारे में चिंता करने के लिए पर्याप्त है जो आपको गेम डिज़ाइन के साथ परेशान करने की आवश्यकता नहीं है; यह आपको विचलित कर देगा।

फिर, एक बार जब आप अपने मारियो क्लोन को प्राप्त कर लेते हैं या आपने जो भी बनाया है, तो आप गेमप्ले के साथ प्रयोग करना शुरू कर सकते हैं और नई चीजों को जोड़ने का प्रयास कर सकते हैं।

छोटे, छोटे कदम शुरू करें, और यह बहुत अधिक मजेदार होगा और आप अधिक सीखेंगे।

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

जस्ट हव फुन: डी


0

Chamak

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

वहाँ फ़्लैश खेल डेवलपर्स के एक विशाल समुदाय है, और लोकप्रिय विश्वास के विपरीत, आप खुले स्रोत उपकरण का उपयोग करके फ़्लैश खेल विकसित कर सकते हैं। यदि आप विंडोज पर हैं, तो मैं FlashDevelop की सिफारिश करूंगा ।

मैं तर्क दूंगा कि फ्लैश जावा की तुलना में अधिक क्रॉस प्लेटफॉर्म फ्रेंडली है या वास्तव में शायद एकता को छोड़कर कोई अन्य तकनीक है। 99% लोग अपने डेस्कटॉप ब्राउज़र में फ्लैश सामान देख सकते हैं, इसलिए अपनी रचनाओं को दुनिया के साथ साझा करना आसान है। अधिकांश स्मार्टफोन धीरे-धीरे फ्लैश समर्थन प्राप्त कर रहे हैं, और आईओएस के लिए, एक प्लेटफॉर्म जो फ्लैश-इन-ब्राउज़र का समर्थन नहीं करेगा, आप फ्लैश CS5 के साथ एप्लिकेशन बना सकते हैं (हालांकि इसमें लागत है)।

मुझे लगता है कि जब आप AS3 के साथ अभी खेल निर्माण की मूल बातें सीखना शुरू कर सकते हैं तो आपको C ++ या यहाँ तक कि C # जैसे किसी और कॉम्प्लेक्स के साथ संघर्ष करना शर्म की बात होगी। एक बार जब आप AS3 को समझ लेते हैं, तो बाद में अन्य भाषाओं पर स्विच करना आसान होगा। अपने स्वयं के मामले में, मैं एक फ्लैश डेवलपर था, लेकिन मैंने सीखा कि कैसे उद्देश्य-सी के साथ प्रोग्राम किया जाए और एक हिट iPhone गेम बनाने में कामयाब रहा। अपने आप को एक एहसान करो और http://www.flashgamedojo.com/ पर जाएँ - मुझे नहीं लगता कि आप निराश होंगे!

एकता

एकता को फ्लैश के समान लाभ हैं, लेकिन 3 डी में।

यूनिटी के साथ, आप C # या यूनिटीस्क्रिप्ट (जो जावास्क्रिप्ट-वाई) में प्रोग्राम कर सकते हैं। यह खुला स्रोत नहीं है, लेकिन यह मुफ़्त है। यह बहुत अच्छी तरह से समर्थित है और एक महान समुदाय है। 3 डी गेम विकसित करने में समस्या यह है कि अधिकांश खेलों के लिए आपको बहुत सारी कला और संपत्ति की आवश्यकता होगी। यह 2 डी गेम के साथ भी एक मुद्दा हो सकता है, लेकिन आम तौर पर, 3 डी कला में बहुत अधिक समय लगता है और "प्रोग्रामर आर्ट" बनाने के लिए बहुत कठिन है।

खुले स्रोत पर एक नोट

ओपन सोर्स सॉफ्टवेयर का उपयोग करने में कुछ भी गलत नहीं है, लेकिन यदि आप केवल इसका उपयोग कर रहे हैं, तो आप खुद को छोटा कर रहे हैं क्योंकि यह ओपन सोर्स है। सबसे अच्छी भाषा और उपकरण चुनें जो आपको कम से कम घर्षण के साथ सबसे तेज़ सीखने में मदद करें। उसी पंक्तियों के साथ, "सबसे कठिन बात पहले सीखो" (यानी। C ++) की मानसिकता पागल है। आपको वास्तव में जो सीखना चाहिए वह तर्क है, वाक्यविन्यास नहीं, इसलिए जो भी सीखें भाषा में प्रवेश के लिए कम से कम सामान और बाधाएं हैं। मेरी राय में, वह AS3 है।

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