जवाबों:
फैलना
जब से आप के बारे में चिंता करने के लिए बहुत आसान राज्य नहीं है (यह ईंट के मूल्यों की एक सरणी है - यदि आपके पास केवल एक ईंट का रंग है, तो यह झंडे की एक सरणी है), कोई एअर इंडिया नहीं है, और आपको एक करने के लिए मिलता है गेंद को सही ढंग से उछालने के लिए थोड़ा सा भौतिकी।
त्यागी
ब्रेकआउट की तुलना में नियम थोड़ा अधिक जटिल हैं और इसके लिए इंटरफ़ेस बहुत अलग है। यह आपको खेल को लागू करने के विभिन्न तरीकों के बारे में सोचने के लिए मजबूर करता है। यानी, एक गेम में जो काम करता है वह जरूरी नहीं कि आप दूसरे में क्या इस्तेमाल करें।
पीएसी मैन
यह एक अच्छा है क्योंकि आपको थोड़ी सी AI पर काम करना है। भूत के खिलाड़ी का अनुसरण करना (लेकिन बहुत अच्छा नहीं है - आप चाहते हैं कि खिलाड़ी को मौका मिले) जल्दी से लागू किया जा सकता है, और आपके पास एक मजेदार सा गेम होगा जिसे आप दोस्तों और परिवार को ट्वीक और दिखा सकते हैं (सकारात्मक प्रतिक्रिया हमेशा होती है एक अच्छी बात है जब आप शुरुआत कर रहे हैं)।
मुझे लगता है कि यदि आप शुरुआती वीडियो गेम में प्रेरणा की तलाश करते हैं, तो आप उन टन विचारों को पा सकते हैं जिन्हें लागू करना अपेक्षाकृत सरल है। इसके अलावा, आप सुपर सरल कलाकृति और ध्वनियों से दूर हो सकते हैं क्योंकि आप वैसे भी कुछ सरल कॉपी कर रहे हैं। यह आपको पहले मूल बातें पर ध्यान केंद्रित करने की अनुमति देता है - अपने गेम लूप को उठना और चलाना, अपने पिक्सेल्स को स्क्रीन पर लाने के लिए, ध्वनि बजाना, स्कोर रखना, खिलाड़ी का इनपुट गेम में प्राप्त करना।
यह लगभग वास्तव में कोई फर्क नहीं पड़ता कि आप किस खेल को पहले चुनते हैं - बस सुनिश्चित करें कि आप कुछ सरल उठाएं जिसके साथ आप त्वरित परिणाम प्राप्त कर सकते हैं, इस तरह आप अगले दिन आगे बढ़ सकते हैं और एक और बना सकते हैं। और दुसरी। और दूसरा - जितना अधिक आप बनाते हैं, उतना ही आप अपने आप को धक्का देंगे, और अंततः आप इसे जानने से पहले जटिल गेम बना रहे होंगे।
मैं दृढ़ता से अनुशंसा करता हूं कि नौसिखिए प्रोग्रामर को सबसे सरल गेम से शुरू करना चाहिए जिसे वे वास्तव में लिखना चाहते हैं । जैसा कि मैट रिक्स ने उल्लेख किया है, गेम बनाम एक डेमो लिखने का एक बड़ा हिस्सा लानत की बात को पूरा करने के लिए जोर दे रहा है - क्रेडिट, मेन्यू, प्ले टेस्टिंग, हाई स्कोर, पॉज, प्ले टेस्टिंग, कठिनाई स्तर, क्लीन गेम स्टेट ट्रांज़िशन, प्ले परीक्षण, आदि यह सामान कम से कम आधा समय लेता है, जिसमें आप डालने जा रहे हैं और यह सिर्फ मजेदार नहीं है। यह नहीं है। तो जब तक आप अवधारणा से प्यार है और वास्तव में प्रेरित होते हैं, तो आप छोड़ देना और आगे बढ़ने से पहले इस खेल को एक है जाएगा खेल ।
यदि आप एक आरपीजी लिखना चाहते हैं, तो सबसे सरल, सबसे अधिक प्रबंधनीय आरपीजी अवधारणा का पता लगाएं जो आप कर सकते हैं और आप इसे करना चाहते हैं । यदि आप एक विज्ञान फाई शूटर, या एक डरावनी थीम्ड platformer, या जो भी करना चाहते हैं। कुछ ऐसा चुनें, जिसे आप पूरा करेंगे, कि आप सब कुछ खत्म होने के बाद भी पूरा करना चाहते हैं, लेकिन आप वास्तव में किए जाने से पहले अभी भी दर्जनों घंटे के काम देख रहे हैं।
"अपने पंख कमाने" के साथ सबसे अच्छा खेल? जिसे आपने पूरा किया। मुझे परवाह नहीं है कि आपने कितने आधे-पोंग / ब्रेकआउट / गैलागा / टेट्रिस डेमो लिखे हैं, आप एक गेम डेवलपर नहीं हैं जब तक कि आपने एक वास्तविक पूर्ण गेम जारी नहीं किया हो।
इसके अलावा, कोई भी उन 40-वर्षीय खेलों का एक और संस्करण नहीं खेलना चाहता है, और कम से कम कुछ लिखने का खेल लोगों को खेलने के लिए है , है ना?
मैंने कुछ समय पहले इस सीढ़ी को TIGsource पर पोस्ट किया था। यह बहुत बुनियादी से शुरू होकर बहुत जटिल है।
गेम प्रोग्रामिंग सीखने का सबसे महत्वपूर्ण नियम: प्रोग्रामिंग सीखना कठिन है। खेल डिजाइन सीखना कठिन है। अच्छा खेल कला या ऑडियो बनाना सीखना कठिन है। एक ही समय में इन सभी चीजों को करने की कोशिश करना विफलता का एक नुस्खा है। एक बार में एक बात सीखें।
कोरोलरी: एक खेल का कार्यक्रम, जहां डिजाइन, कला और ध्वनि पहले से ही हैं। क्लोन बनाएं, मूल खेल नहीं।
मेरी कक्षाओं में, मैं हमेशा इन खेलों को शुरू करने की सलाह देता हूं, क्रम में:
1) टेट्रिस। कला रंग की आयतें हैं, जो कि कुल कलूट्ज़ भी Microsoft पेंट में आकर्षित कर सकती हैं। आपको ध्वनि की आवश्यकता नहीं है। प्रोग्रामिंग अपेक्षाकृत सरल है, लेकिन फिर भी कुछ महत्वपूर्ण चीजों की आवश्यकता होती है: आंतरिक खेल राज्य के बीच अंतर को समझना और स्क्रीन पर क्या खींचा है; स्क्रीन पर आकर्षित करने में सक्षम होना, अवधि (संभवतः स्प्राइट्स और ब्लिटिंग शामिल है); केवल गेटेक () या स्कैनफ़ () का उपयोग करने के बजाय उपयोगकर्ता इनपुट को वास्तविक समय में स्वीकार करने में सक्षम होने के लिए जहां आपको उनके लिए इंतजार करना होगा।
2) ब्रेकआउट / अर्कानॉइड। कला अभी भी रंगीन आयत है, और आपको अभी भी ध्वनि की आवश्यकता नहीं है। टेट्रिस की सभी बुनियादी अवधारणाओं का उपयोग करता है, साथ ही कुछ बुनियादी टक्कर का पता लगाने और 2 डी भौतिकी के बाद से गेंद को आसानी से हिलना और उछालना पड़ता है।
3) ग्रेडियस / आर-टाइप। आप शायद इसे बनाने के लिए कुछ फ्रीवेयर टाइलसेट पा सकते हैं। यहाँ पृष्ठभूमि स्क्रॉल कर रही है, इसलिए आपको थोड़ा और सीखना है कि ग्राफिक्स मेमोरी कैसे काम करती है, पृष्ठ-फ़्लिपिंग और डबल-बफरिंग और दृश्य स्क्रीन की सीमाओं के बाहर सामान खींचने जैसी तकनीकों का उपयोग करना। आपके पास गतिशील दुश्मन और बुलेट स्पॉन भी हैं, इसलिए आपको अपने आप को साफ करने के लिए सीखने की आवश्यकता होगी (यानी दुश्मनों और गोलियों से छुटकारा पाएं जो स्क्रीन को छोड़ दें ताकि आपका खेल एक छलनी की तरह मेमोरी लीक न करें)।
4) सुपर मारियो ब्रदर्स पिछले स्क्रॉलिंग प्रोजेक्ट की तरह ही है, सिवाय स्क्रॉल के अब खिलाड़ी नियंत्रण में है और स्वचालित नहीं। आपको गुरुत्वाकर्षण और सभी मज़ेदार टकराव के सामानों से भी निपटना होगा (जैसे कि फर्श के माध्यम से नहीं गिरता है, क्योंकि आप पिछले फ्रेम में ऊपर कुछ पिक्सेल थे और अगले फ्रेम में नीचे कुछ पिक्सेल पर जाना चाहते हैं) )। यह भी ध्यान दें कि गुरुत्वाकर्षण सशर्त है: यह खिलाड़ी और कुछ दुश्मनों को प्रभावित करता है, लेकिन आमतौर पर प्लेटफार्मों या फ्लोटिंग सिक्कों या जो कुछ भी नहीं है, जो वास्तविक दुनिया से थोड़ा अलग है।
यदि आप उन चारों को कर सकते हैं, तो आपको बहुत अधिक 2D खेल करने में सक्षम होना चाहिए जो आप चाहते हैं; सभी उपकरण हैं। यदि आप एक 3 डी गेम बनाना चाहते हैं ... पहले 2 डी सीखें क्योंकि यह बहुत आसान है और आपको गणित को गहराई से समझने की आवश्यकता नहीं है और आपको वैसे भी 2 डी सामान को समझने की आवश्यकता है ... और फिर जब आप कर रहे हों इसके साथ सहज, कुछ बुनियादी 3 डी टूल (या तो टोक़ या यूनिटी जैसी लाइब्रेरी या मूल डूम और क्वेक जैसे ओपन-सोर्स गेम) के साथ काम करना शुरू करें।
सौभाग्य!
अब यह एक वास्तविक अच्छा प्रश्न है। मुझे नहीं पता कि तुम कहां हो, इसलिए मैं आकाश के लिए झूला झूल रहा हूं, और मान लिया कि तुमने कभी अपने जीवन में कोड की एक पंक्ति नहीं लिखी। एक वाक्यांश का दुरुपयोग करने के लिए, नाक का जो भी हिस्सा आपको काटता है, उसे काट दें।
मुझे लगता है कि मैं वास्तव में आपके द्वारा पूछे गए सवाल से थोड़ा अलग प्रश्न का उत्तर देने जा रहा हूं, और मैं आपके द्वारा सीटू में पूछे गए प्रश्न को संतुष्ट करने के लिए उदाहरण देने जा रहा हूं। जिस कारण से मैं इसे कर रहा हूं वह मामूली है, लेकिन मेरा मानना है कि दृष्टिकोण में महत्वपूर्ण अंतर है: यह इतना विशिष्ट खेल नहीं है जो मायने रखता है, जितना कि मानसिकता उन खेलों को एक डिजाइनर के लिए लाती है।
आप जानते हैं कि लोग अपनी मानसिकता और अपने दिलों को खाने के लिए, और इस तरह अपनी प्रोग्रामिंग की ताकत हासिल करने के लिए, आप विभिन्न प्रकार की प्रोग्रामिंग भाषाएं सीखने वाले हैं? इसके लिए एक वास्तविक सच्चाई है - अपनी पहली शुद्ध या निकट-शुद्ध प्रोग्रामिंग भाषा के बाद, यहाँ तक कि अनिवार्य भाषाओं में, आप बड़े पैमाने पर साइड-इफ़ेक्ट फ़ंक्शंस को लिखना समाप्त करने जा रहे हैं क्योंकि वे बहुत बेहतर परिभाषित हैं, और जो कुछ भी आप लिखते हैं। यहां तक कि भाषाओं में भी नहीं जो इसके लिए बेहतर होगी। यह विशेष रूप से कोई फर्क नहीं पड़ता कि यह कौन सी भाषा है - हैस्केल, एमएल / ओसमल / स्म्ल्नज, सूत्र, सी ++ टेम्पलेट, जो भी हो - आप अभी भी सीखने जा रहे हैं कि कैसे उल्टा प्रभाव राज्य का भरोसा किए बिना काम के कई वर्गों को करना है। पहली बार जब आप एक बीहड़, मशीन-पास प्रोग्रामिंग भाषा सीखते हैं, तो आप ' आकार प्रकार अमूर्त के बारे में जानने के लिए जा रहे हैं। पहली बार जब आप एक घोषणात्मक या बाधा भाषा सीखते हैं, तो आप एक विवेकाधीन उपकरण के रूप में बाउंडिंग के बारे में जानने वाले हैं। पहली बार जब आप एक खोज भाषा सीखते हैं, तो आप Ia प्रार्थना करना सीखेंगे! मैं एक! C'thulhu F'tagn Nagn !, और फिर हम वापस दिलों और बहरों को खाकर जीवन का चक्र पूरा कर रहे हैं।
गेम का डिज़ाइन अलग नहीं है। जरूरी नहीं कि आपको किसी विशिष्ट भाषा के समानांतर, किसी विशिष्ट खेल को सीखने की जरूरत है, बल्कि कुछ ऐसे अनुकरणीय प्रतिनिधि खेल सीखने की जरूरत है, जो उस मानसिकता को संभालते हैं, जैसे कि भाषा की विशेषता वाले परिवार। इसके अलावा, खाने वाले लोगों और दिलों में बहुत कुछ है। एक काली मिर्च पटाखा प्राप्त करें।
यहाँ गैग (जैसा कि मैं इसे कम से कम देखता हूं) यह है कि आप विषयों की एक बड़ी सूची को कवर करना चाहते हैं। यह एक चरित्र पत्रक पर प्रवीणता को रोकने की तरह है - आप अपने आप को और अधिक तंत्र को उपलब्ध करा रहे हैं जिसके द्वारा किसी दिए गए स्थिति को संभालना है। हां, वे स्तर-सक्षम हैं, लेकिन एक बिंदु या दो के रूप में कई चीजों में आप बोर्ड भर में कर सकते हैं इसका मतलब है कि जब एक का उपयोग करने का समय आता है, तो आप खरोंच से शुरू नहीं कर रहे हैं, और आपको पता है कि क्या रणनीति उपलब्ध है आप के द्वारा पैमाने पर करने के लिए।
तो देखो।
पहले आप अपने दांत काटना चाहते हैं। ये तब भी उपयोगी होते हैं जब आप एक नए प्लेटफ़ॉर्म को लक्षित करना सीख रहे हों, या जब आप भूलने की बीमारी से उबर रहे हों। ये तेज़ होने के लिए हैं, भयानक नहीं हैं।
क्रम में:
एक बार जब आप उन लोगों को प्राप्त कर लेते हैं, तो आप एक मंच को लक्षित करने के लिए तैयार हैं, और सीखना शुरू हो सकता है।
यह कोई विशेष क्रम में नहीं हैं। जैसा कि आप फिट देखते हैं आप उन्हें पुनर्व्यवस्थित कर सकते हैं। मैं प्रत्येक के साथ मुट्ठी भर उदाहरण देने जा रहा हूं, लेकिन वे आदर्श नहीं हैं; यदि कोई भिन्न गेम आपको समान अनुभव देता है, और पाठों की एक श्रृंखला का हिस्सा बनने के लिए पर्याप्त छोटा है, तो इसे स्वैप करने के लिए स्वतंत्र महसूस करें। व्यावहारिक कारणों से, स्क्रीन रेंडरिंग और इनपुट में अपेक्षाकृत तेज़ी से कुशल होना अच्छा है; आप उन्हें पूरी तरह से उपयोग करने वाले हैं। अमूर्त वर्गों को लिखने की कोशिश करने से पहले कुछ खेलों की प्रतीक्षा करें; आप नहीं है एक अनुभवहीन अमूर्त में पकड़ा जा करना चाहते हैं।
... एह। मैं ऊब गया।
टेट्रिस
बहुत आम खेल है, अगर आप फंस जाते हैं तो बहुत सारे ओपन सोर्स क्लोन फट जाते हैं। 2 डी ग्राफिक्स, इनपुट हैंडलिंग, स्कोरिंग, आदि की मूल बातें सिखाता है।
फिर इस मूल विचार को लें और इसे एक स्पिन पर रखें। मैंने कॉलेज में अपने कंप्यूटर ग्राफिक्स वर्ग के लिए टेट्रिस का 3 डी संस्करण लिखकर 3 डी ग्राफिक्स / ओपेंगल की मूल बातें सीखीं ।
GameDev.net के पास एक अच्छा लेख है जो खेल के विकास को खेल के विकास के बारे में जानने की सलाह देता है । सूची से मेरी पसंदीदा सलाह वास्तव में इन खेलों को चमकाने की है। पूरी तरह से खत्म, एक भरोसेमंद राज्य के लिए।
सूची इस प्रकार है (इनमें से कुछ अन्य उत्तरों में दी गई हैं):
मुझे अपने सभी लोगों को एकाधिकार के साथ शुरू करना पसंद है। मैं आमतौर पर अभ्यास के आधार के रूप में ब्रेट शुचर्ट के एकाधिकार "कोड काटा" का उपयोग करता हूं, लेकिन मैं इसमें बहुत कुछ जोड़ता हूं। ऐसे कई कारण हैं कि मैं वास्तव में ऐसा करना क्यों पसंद करता हूं।
मैं अच्छी कोडिंग प्रथाओं (डिजाइन पैटर्न, TDD, SOLID, निरंतर एकीकरण, आदि) के बारे में गहराई से देखभाल करता हूं और जब वे इस अभ्यास को करते हैं, तो अपने डेवलपर्स पर बहुत सारी बाधाएं डालते हैं।
बहुत ज्यादा हर कोई एकाधिकार के नियमों को जानता है, और पूरा खेल एक ही दिन में पूरा किया जा सकता है। यह नए डेवलपर्स को एक त्वरित जीत देता है और वास्तव में उनकी सगाई हो जाती है।
प्रारंभिक आवश्यकताएं कीबोर्ड नियंत्रणों से शुरू होती हैं, लेकिन फिर मैं माउस नियंत्रणों के लिए बाद में एक आवश्यकता जोड़ देता हूं। यह डेवलपर्स को कई चीजों के बारे में सोचता है, मौजूदा कोड को कैसे रिफलेक्टर करता है, कंक्रीट कक्षाओं के बजाय सिस्टम के बदलते हिस्सों को प्रोग्रामिंग करना, बेहतर / उचित अमूर्तताएं, यूनिट टेस्ट क्या करना है, यूनिट टेस्ट क्या नहीं, WHY टू यूनिट टेस्ट, और क्या अच्छा इकाई परीक्षण के लिए बनाता है।
कभी-कभी हम अधिक परिष्कृत AI में प्लग करते हैं, कभी-कभी हम नहीं करते हैं। कभी-कभी हम अन्य बोर्ड गेमों के साथ थोड़ा और जटिल तर्क जैसे च्यूट और लैडर या कुछ और के साथ काम करते हैं। कभी-कभी हम पूरी तरह से बोर्ड गेम से दूर हो जाते हैं, और पोकर गेम या लाठी करते हैं।
मेरे लिए वास्तव में महत्वपूर्ण हिस्सा यह है कि लोगों को एक त्वरित जीत मिलती है, और वे देखते हैं कि जब आप अच्छे प्रोग्रामिंग मानकों का पालन करते हैं तो आप कितना लचीला सॉफ्टवेयर बना सकते हैं। ये अभ्यास बहुत जल्दी आत्मविश्वास का निर्माण करते हैं। कभी-कभी, अधिक अनुभवी डेवलपर्स अपने दम पर ऐसा करना पसंद करते हैं, बस अधिक जटिल परियोजनाओं से छुट्टी पाने के लिए या एक नई तकनीक का अभ्यास करने के लिए जो उन्होंने अभी सीखा है (कानून का कानून?)।
चुनें-योर-साहसिक
एक दोस्त से इस टिप को प्राप्त करें, जिसने एक गेम बनाकर प्रोग्रामिंग शुरू की, अपनी साहसिक पुस्तक चुनने के लिए बहुत कुछ । यह मूल रूप से इस तरह एक आउटपुट के साथ एक सरल पाठ साहसिक खेल है:
You are standing in a forest clearing in the middle of the night. You hear
some wolves howl in the distance. Should you:
a) make camp for the night
b) go further north
> _
इस तरह के गेम को बनाना आपको गेमलोप, बुनियादी कंसोल इनपुट और बुनियादी स्क्रिप्टिंग बनाना सिखाना चाहिए। यह लागू करने के लिए काफी सरल है और शुरुआत के लिए आसान है क्योंकि आपको गेम लिखने के लिए ग्राफिक्स इंजन की आवश्यकता नहीं है । उन्नत शुरुआती शायद एक स्क्रिप्टिंग इंजन लिखेंगे।
नौसिखिए प्रोग्रामर के साथ मेरे अनुभव में, प्रगति आमतौर पर कुछ इस तरह से जाती है:
ब्रेकआउट, पोंग या क्षुद्रग्रह।
एक गेम और एक गेम प्रोटोटाइप में बहुत बड़ा अंतर है । यदि आप अपने सपनों के खेल को खत्म करने के बारे में गंभीर हैं, तो आपको अपने "एंट्री लेवल" गेम्स को रास्ते में खत्म करना चाहिए। गेम का गेमप्ले भाग बनाना केवल आधी लड़ाई है। मेनू और उच्च स्कोर जैसी सभी अतिरिक्त चीजों को अक्सर अनदेखा या अनदेखा किया जाता है, लेकिन वे किसी भी अपेक्षा से अधिक समय लेते हैं।
अन्य उत्तरों में कुछ अच्छे सुझाव हैं, लेकिन मैं सिर्फ अपने वोट के लिए टॉस करना चाहता हूं: कुछ ऐसी चीज़ों के साथ शुरू करें, जिससे निपटने के लिए बहुत-बहुत अच्छा लगता है।
पोंग एक अच्छा उदाहरण है।
लक्ष्य है: गेम-डिज़ाइन और नियम-सेट को इतना दिमागी रूप से तैयार करना कि आप अपना सारा ध्यान नई चीज़ को सीखने में लगा सकें, जो आप सीख रहे हैं (एक भाषा, एक प्लेटफॉर्म, एक एपीआई) और लगातार नहीं खेल कैसे काम करता है यह जानने के लिए ब्रेक लें।
एक बार जब आप जा रहे हैं, तो आप पाएंगे कि पोंग वास्तव में थोड़ा अधिक जटिल है, क्योंकि यह पहले ब्लश पर लगता है। (मैं एक आदमी प्रोग्रामिंग सिखा रहा हूँ और वह अपने सीखने की परियोजना के रूप में पांग का उपयोग कर रहा है। हमने कुछ सुविधाएँ जोड़ी हैं, और अब वह इन सभी शांत सुविधाओं को करना सीखकर कार्यक्रम से विचलित होने लगा है :)
एक बार जब आप एप्लिकेशन # 1 पूरे तरीके से कर लेते हैं, जब तक कि वह दूसरों को देने / बेचने के लिए तैयार न हो, तब तक कुछ और जटिल (टेट्रिस, एडवेंचर या जो भी आपको पसंद हो) ले लें, लेकिन एक नई तकनीक सीखना शुरू करने के लिए, वह चीज जिसे आप ब्रेन-डेड सिंपल प्रोग्राम करते हैं।
अन्य उदाहरण:
लेकिन, फिर से - कुछ ऐसे तरीके से शुरू करें जो बहुत आसान हो, ताकि आप वास्तव में कुछ पूरा कर सकें और पीछे मुड़कर देख सकें कि इसमें क्या शामिल है। भाषा / मंच / एसडीके / इंजन में वन ऐप लिखे जाने और शून्य ऐप लिखे जाने के बीच का अंतर बहुत बड़ा है । 1 और 2, या 2 और 5, के बीच का अंतर बहुत कम है, इसलिए आप बड़े कदम उठा सकते हैं, लेकिन 0 से 1 कदम को एक नन्हा-नन्हा बना दें; यह आपके विचार से बड़ा होगा!
Flappy Bird
अलिक है। एक पेशेवर प्रोग्रामर के रूप में, यह दोपहर का काम है (अच्छी तरह से, इसे "अच्छा" प्राप्त करने के लिए एक सप्ताहांत) लेकिन, एक और कार्यक्रम को पढ़ाने के दौरान, हमने सीखा कि यह वास्तव में बहुत कम जटिलताएं है। फिर, एक शून्य से कहीं अधिक अनुभव है और, एक बार आपके पास, आपके पास आगे बढ़ने के तरीके के बारे में बहुत बेहतर विचार होगा।
इस वेबसाइट की जाँच करें: 12 कंप्यूटर विज्ञान खेल परियोजना के विचार
इनमें से कुछ खेलों में वे शामिल हैं जो दूसरों ने कहा है:
लेकिन यह कुछ अन्य खेलों के बारे में भी बात करता है जिन्हें आप बनाने की कोशिश कर सकते हैं जैसे:
इसके अलावा, यह इस बात की समझ देता है कि आपको पहले क्या करने की कोशिश करनी चाहिए क्योंकि यह प्रत्येक खेल के लिए कठिनाइयों की भावना देता है (और इसलिए आपको गेम से कैसे निपटना चाहिए इसकी एक योजना):
बहुत से लोग ब्रेकआउट के साथ शुरू करते हैं क्योंकि इसमें विशेषताएं हैं:
एक खेल लिखने के बारे में सबसे कठिन हिस्सा - या किसी भी सॉफ्टवेयर - यह पता लगाना है कि क्या करना है। आपको बिल्कुल एक युक्ति की आवश्यकता है! मौजूदा गेम का क्लोन बनाने के बारे में यह मज़ेदार हिस्सा है: कल्पना पहले से मौजूद है। आपकी कल्पना है "उत्पाद को वह सब करना चाहिए जो अन्य उत्पाद करता है," और यदि आपके पास दूसरे गेम की एक प्रति है, तो यह सत्यापित करना बहुत आसान है।
एक बार जब आप यह पता लगा लेते हैं कि आपको क्या करने की आवश्यकता है, तो यह पता लगाना कि यह कैसे करना है वास्तव में यह मुश्किल नहीं है यदि आप एक सक्षम प्रोग्रामर हैं। मेरा मतलब एक कुशल या अनुभवी प्रोग्रामर नहीं है; इसका मतलब यह होगा कि आप पहले से ही जानते हैं कि आप जो करने की कोशिश कर रहे हैं, उसमें से अधिकांश को कैसे करना है। लेकिन आपको यह समझने की आवश्यकता है कि अमूर्तता में कैसे सोचना है और समस्या-समाधान और तार्किक विचार कौशल है जो प्रोग्रामिंग के लिए मौलिक हैं। अगर आप ऐसा कर सकते हैं, तो आप कुछ भी कर सकते हैं।
ऐसा कहने के बाद, मैं इस बात से असहमत हूं कि अधिकांश लोग वास्तव में सरल कुछ लिखकर खेल सीखने की कोशिश करने के बारे में क्या कहते हैं। इनाम सीधे उस प्रयास में आनुपातिक होता है जो आप इसमें डालते हैं। यदि आप वास्तव में सरल खेल लिखकर गेम लिखना सीखते हैं, तो आप सभी को पता चल जाएगा कि वास्तव में सरल गेम कैसे लिखना है, और यह आपको बहुत अच्छा नहीं करेगा।
दूसरी ओर, यदि आप किसी चीज़ की शुरुआत करते हैं, तो आप उसे कभी पूरा नहीं करेंगे। तो कुछ चुनौतीपूर्ण तरीके से शुरू करें जो आपको गंभीर मुद्दों से निपटने में मदद करेंगे। 2 डी कंसोल-स्टाइल आरपीजी या साइड-स्क्रॉलिंग प्लेटफ़ॉर्मर का निर्माण वास्तविक गेम प्रोग्रामिंग अवधारणाओं को सीखने के लिए बहुत अच्छे तरीके हैं।
यह वास्तव में आपके वर्तमान दक्षताओं पर निर्भर करता है। यदि आप प्रोग्रामिंग के लिए अपेक्षाकृत नए हैं, तो उन विशिष्ट खेलों में से एक के साथ जाएं, जो लोगों ने सुझाए हैं। अन्यथा, आपको इस बारे में सोचना चाहिए कि किस तरह का खेल आपको अपने अनुभव को अच्छा उपयोग करने देगा।
जब मैंने अपना पहला गेम शुरू किया, तो मुझे शून्य खेल विकास का अनुभव था, लेकिन मैं कुछ वर्षों के लिए उद्यम / लाइन-ऑफ-बिजनेस ऐप विकास कर रहा था। मेरा पहला गेम प्रोजेक्ट एक टर्न-बेस्ड स्ट्रैटेजी गेम था, और आर्किटेक्चरली बात करें, तो यह सब एक एंटरप्राइज़ एप्लिकेशन से अलग नहीं था। यह एक क्लाइंट / सर्वर सिस्टम का उपयोग करता था, और संचार एक डुप्लेक्स डब्ल्यूसीएफ सेवा चैनल के माध्यम से होता था। अधिकांश खिलाड़ी संचालन "आदेश" के रूप में कतारबद्ध थे और मोड़ के अंत में सर्वर को भेज दिए गए थे। सभी टर्न प्रोसेसिंग सर्वर पर हुई, जिसके बाद प्रत्येक क्लाइंट के लिए गेम ब्रह्मांड अपडेट भेजे गए।
उस पहली परियोजना ने मुझे परिचित क्षेत्र में शुरू करते हुए खेल के विकास में अपना रास्ता बनाने दिया। जैसे-जैसे परियोजना विकसित हुई, मैंने एक गेम डेवलपर की तरह अधिक और उद्यम ऐप डेवलपर की तरह कम सोचना सीखा। अंतिम परिणाम बहुत अच्छी तरह से काम किया, और यह बैटलशिप या टिक-टैक-टो :) की तुलना में थोड़ा अधिक प्रभावशाली था।
अपेक्षाकृत सरल एआई, ग्राफिक्स, गेमप्ले, नियंत्रण, और जब तक आप इसे जोड़ना नहीं चाहते, तब तक उन्हें ध्वनि प्रभाव या संगीत की आवश्यकता नहीं है। मैंने एमएस-डॉस के लिए क्यूबेसिक में प्रोग्राम करना सीखते हुए इन दोनों के साथ शुरुआत की और मुझे लगता है कि वे महान पहले खेल हैं। पीएसी-मैन मेरी दूसरी पसंद होगी।
मूनलैंडर शैली के खेल महान हैं (जहां आपके पास गुरुत्वाकर्षण से प्रभावित एक रॉकेटशिप है, खिलाड़ी नियंत्रण और जोर का उपयोग करते हैं, थ्रिल का उपयोग करते समय सीमित ईंधन)। बहुत ही सरल भौतिकी को लागू करने का अनुभव प्राप्त करें और टकराव प्रणाली काफी आदिम हो सकती है। कोई एअर इंडिया के बारे में चिंता करने के लिए और सबसे महत्वपूर्ण बात यह है कि इसका मज़ा और व्यसनी :)
गौंटलेट जैसा कुछ, क्योंकि आपको एक इकाई प्रणाली, दुश्मन एआई, पिकअप, टाइल-मैप, टकराव का पता लगाने, स्कोरिंग आदि की आवश्यकता है। यह सब मिल गया है, लेकिन एक तरह से यह भारी नहीं है।
एक मिनी ज़ेल्डा क्लोन अच्छा है और कुछ कौशल का अभ्यास करता है जिसका उल्लेख यहाँ नहीं किया गया है। टाइल्स के एक बड़े मानचित्र को स्क्रॉल करना और सरल 8-वे आंदोलन नियंत्रण जानना अच्छा है। बोनस अंक यदि आप दुश्मन कर सकते हैं, लेकिन मैं उसके बारे में बहुत ज्यादा चिंता नहीं करूंगा।
मैंने कुछ टेट्रिस क्लोन से ज्यादा बनाए हैं। हर बार जब मैंने ऐसा किया तो मैंने इसे थोड़ा अलग किया। आजकल, मैं आमतौर पर कुछ प्रकार के क्षुद्रग्रहों का क्लोन बनाता हूं। मैंने कुछ से अधिक मिसाइल कमांड स्पिनऑफ भी बनाए हैं।
मैंने मूल गेम प्ले के साथ शुरुआत की है और इसे और अधिक सामान, पावर अप आदि जोड़ने से आगे बढ़ा है।
मैं हमेशा एक टैंक / गोरिल्ला / वर्म्स गेम के साथ शुरुआत करता था। यह आपको सरल चित्रमय प्रदर्शन में, और उपयोगकर्ता इनपुट पढ़ने के साथ-साथ एक गेम लूप को प्रक्षेप्य में गुरुत्वाकर्षण को लागू करने और टकराव का पता लगाने के लिए परीक्षण करने के लिए मिलता है।
उसके बाद एक बहुत ही सरल प्लेटफ़ॉर्मर या शूट-एम-अप जैसा गेम आएगा जहाँ आपको गोरिल्ला के लिए काम करने वाले INPUT कथनों के बजाय वास्तविक समय में उपयोगकर्ता इनपुट पढ़ने की आवश्यकता है :)
सॉलिटेयर (या वास्तव में कोई भी कार्ड गेम) एक नए UI सिस्टम के साथ अपने हाथों को गंदा करने के लिए एक अच्छा गेम है, क्योंकि यह बहुत सारे विजेट और कंट्रोलर इंटरैक्शन फीडबैक मैकेनिज्म का उपयोग करता है। इसके अलावा इसके लिए तर्क सीधा और अस्पष्ट है, इसलिए आप सीखने पर ध्यान केंद्रित कर सकते हैं और खेल का इतना डिजाइन नहीं।
वास्तविक समय सिमुलेशन खेलों के लिए, मैं हमेशा पोंग को एक अच्छे सरल शुरुआती बिंदु के रूप में सुझाता हूं, फिर से क्योंकि डिजाइन सीधा है, साथ ही नियंत्रक इंटरफ़ेस, ताकि आप सिस्टम के मांस तक पहुंच सकें - भौतिक सिमुलेशन।
मैंने हमेशा इस बात पर जोर दिया है कि यदि आप एक गेम प्रोग्रामर हैं तो आपको स्पेस आक्रमणकारियों के कुछ रूप बनाने में सक्षम होना चाहिए । हेक, खेल काफी सरल है कि आपको ग्राफिक्स खुद भी करने में सक्षम होना चाहिए।
आपके पोर्टफोलियो में छोटे खेलों का चयन होने से, काफी उपयोगी होने के अतिरिक्त लाभ के रूप में, उदाहरण के लिए, यदि मैं एक नई प्रोग्रामिंग भाषा या ढांचा सीख रहा हूं, तो मैं अक्सर अपने सरल खेलों में से एक को देखूंगा कि कैसे नया तरीका देखा जाए चीजों को मूल रूप से लिखे जाने के तरीके से मेल खाता है।
यह वास्तव में आप पहले से ही एक नियमित प्रोग्रामर के रूप में क्या कौशल पर निर्भर करता है। क्या आपके गणित को काम करने की आवश्यकता है? आपका ग्राफिक्स ज्ञान? क्या आपके पास दोनों लपेटे में हैं?
हालांकि सामान्य तौर पर मुझे लगता है कि टेट्रिस और ब्रेकआउट मेरे दो शुरुआती भी होंगे। इससे आसान कुछ भी पर्याप्त उत्तेजना प्रदान नहीं करता है। टेट्रिस एक अच्छा परीक्षण है कि कैसे अपने डेटा को एक एल्गो लेआउट करें, ब्रेकआउट एक हल्का गणित उदाहरण है। मैं हमेशा लोगों को उच्च उद्देश्य के लिए कहता हूं, लक्ष्य एक समाधान के साथ अटक जाना और उठना है।
उसके बाद, आकाश की सीमा। फिर, उच्च उद्देश्य। ढलान वाले इलाके, पटलैक्स के साथ एक प्लेटफ़ॉर्मर आज़माएं और आपको 2 डी तकनीक का एक अच्छा बैग मिला। एक पिनबॉल जोड़ें (निराश होने के लिए तैयार) और आपके गणित में सुधार होगा।
वहां से तीसरे आयाम पर जाएं, मुख्य कौशल सीखें (एनिमेशन, रेंडरिंग) और आपको विभिन्न प्रकार के खेलों से निपटने के लिए अपेक्षाकृत अच्छी तरह से सुसज्जित होना चाहिए।
मेरा पहला गेम सुपर मारियो जैसा कुछ था।
चारों ओर ले जाएँ, बाधाओं से बचें, कूद। और उन सभी कार्यों को आसानी से बिना किसी भौतिकी गणना के किया जा सकता है।
एक साधारण 2 डी चीज़ लेने के लिए इसका आदर्श है, क्योंकि आप किसी विशिष्ट कार्यान्वयन / ढांचे / इंजन पर ज्यादा भरोसा नहीं करेंगे।