"अपने पंख कमाने" के साथ अच्छे खेल क्या हैं? [बन्द है]


306

मेरा मानना ​​है कि एक अच्छा गेम डेवलपर बनने के लिए, आपको गेम बनाने की जरूरत है।

एक प्रोग्रामर के दृष्टिकोण से , अपने हाथों को गंदा करने के लिए कुछ अच्छे प्रवेश स्तर के खेल क्या हैं? इन खेलों में से कौन सा कौशल और चुनौतियां आपको सिखाती हैं?

जवाबों:


217

फैलना

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

त्यागी

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

पीएसी मैन

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

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

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


49
ब्रेकआउट पर +1। मेरे पास कई प्रो गेम डेवलपर्स हैं जो मुझे बताते हैं कि जब भी उन्हें नई तकनीक मिलती है, तो वे पहले ब्रेकआउट बनाकर इसे सीखते हैं।
जेफ

2
+1 ब्रेकआउट पहला गेम था जो मैंने बनाया =)। इसके अलावा, मैं शुरुआती वीडियो गेम (अपने खुद के ट्विस्ट के साथ) को फिर से बनाने की कोशिश करने पर सहमत हूं। अवधारणाओं पर ध्यान दें, संपत्ति पर नहीं।
user384918

16
@PhillC, नहीं, यह बंटवारे के लायक नहीं है
Simurr

13
आप टेट्रिस के बारे में भूल गए: यह दूसरा गेम था जिसे मैंने हाईट स्कूल में वापस लागू किया :)
एमिलियानो

2
क्या आप सभी अपने ब्रेकआउट के लिंक दे सकते हैं? मुझे लगता है कि खेल प्यार करता था और सभी रीमेक की कोशिश करना चाहते हैं
fent

256

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

यदि आप एक आरपीजी लिखना चाहते हैं, तो सबसे सरल, सबसे अधिक प्रबंधनीय आरपीजी अवधारणा का पता लगाएं जो आप कर सकते हैं और आप इसे करना चाहते हैं । यदि आप एक विज्ञान फाई शूटर, या एक डरावनी थीम्ड platformer, या जो भी करना चाहते हैं। कुछ ऐसा चुनें, जिसे आप पूरा करेंगे, कि आप सब कुछ खत्म होने के बाद भी पूरा करना चाहते हैं, लेकिन आप वास्तव में किए जाने से पहले अभी भी दर्जनों घंटे के काम देख रहे हैं।

"अपने पंख कमाने" के साथ सबसे अच्छा खेल? जिसे आपने पूरा किया। मुझे परवाह नहीं है कि आपने कितने आधे-पोंग / ब्रेकआउट / गैलागा / टेट्रिस डेमो लिखे हैं, आप एक गेम डेवलपर नहीं हैं जब तक कि आपने एक वास्तविक पूर्ण गेम जारी नहीं किया हो।

इसके अलावा, कोई भी उन 40-वर्षीय खेलों का एक और संस्करण नहीं खेलना चाहता है, और कम से कम कुछ लिखने का खेल लोगों को खेलने के लिए है , है ना?


3
मैं इस जवाब को वोट देना चाहता हूं!
इयान

2
वास्तव में एक गेम जारी करने के बारे में टिप्पणी के लिए +1। एक गेम प्राप्त करना और चलाना केवल IMO प्रक्रिया का लगभग 30% है। लगातार यांत्रिकी पर पुनरावृत्ति करना, प्रस्तुत करने योग्य दिखने के लिए सब कुछ चमकाना, उन गंदे कीड़े का पीछा करना जो केवल बहुत विशिष्ट परिदृश्यों में होते हैं और वास्तव में केवल उसी पर ध्यान केंद्रित करने में सक्षम होते हैं जो किए जाने की आवश्यकता है अन्य 70%।
डेनिस मुंसी

1
+1 कहने के लिए कि मैं क्या कहना चाहता हूं। मेरा पहला गेम Palmgadget.com/palmgo.html था क्योंकि यह खेल को पसंद करता है और मैं वास्तव में इसका उपयोग क्लब में अपने गेम को रिकॉर्ड करने के लिए करता हूं । "स्क्रैचिंग योर ओन इट्च" पहले।
ऊहो

16
मुझे यह सलाह पसंद है, लेकिन यह खतरनाक हो सकता है। आखिरकार, यह मानसिकता ठीक है कि इतने सारे लोग गेम मंचों पर जाते हैं और कहते हैं "मैंने पहले कभी गेम नहीं बनाया है, मैं एक MMORPG शुरू कर रहा हूं।" मैं कहूंगा कि आपको एक खेल की शुरुआत करनी चाहिए जिसमें आप अच्छे स्टार्टर प्रोजेक्ट्स के सीमित चयन से आनंद लेते हैं। तो, जैसे, अगर आप वास्तव में टेट्रिस से नफरत करते हैं तो ठीक है कि ऐसा न करें। इसके बजाय ब्रेकआउट करें, न कि केवल कोई यादृच्छिक गेम जो आपको अपील करता है।
झॉकिंग

185

मैंने कुछ समय पहले इस सीढ़ी को TIGsource पर पोस्ट किया था। यह बहुत बुनियादी से शुरू होकर बहुत जटिल है।

  • "संख्या का अनुमान करें" / जल्लाद (मूल इंटरफ़ेस, डेटाबेस से डेटा चुनें)
  • टिक-टैक-टो / रॉक-पेपर-कैंची (टर्न-आधारित गेमप्ले, प्रतिद्वंद्वी AI)
  • अर्कानॉइड / पोंग (टकराव, स्थिर फ्रेम दर, स्कोर, स्तर)
  • टेट्रिस (डेटा संरचनाएं और वे गेमिंग से कैसे संबंधित हैं)
  • 1942 / शूट-अप-अप (दुश्मन, गोलियां)
  • यदि आपका इंजन प्लेटफ़ॉर्मर्स (गुरुत्वाकर्षण-आधारित टकराव) करता है तो सरल प्लेटफ़ॉर्मर / पिनबॉल गेम
  • बॉम्बरमैन / पैडमैन (टाइल-आधारित आंदोलन, जटिल दुश्मन एआई)
  • ऊपर दिए गए किसी भी प्रकार का दो-खिलाड़ी खेल (दो खिलाड़ी इनपुट)
  • Roguelike / Diablo (इन्वेंटरी प्रबंधन, कई दुश्मन एआई, बचत और लोडिंग जटिल गेम स्टेट्स)
  • फेसबॉल / वोल्फेंस्टीन 3 डी (मूल 3 डी आंदोलन और प्रतिपादन)
  • नेटवर्क टर्न-आधारित गेम (बुनियादी नेटवर्किंग)
  • नौटंकी 3 डी तीसरे व्यक्ति platformer (भौतिकी, जटिल 3 डी आंदोलन)
  • नेटवर्क रीयल-टाइम गेम (क्लाइंट-सर्वर सिंक्रिज़्म, अंतराल)
  • MMORPG (लगातार दुनिया)

7
आप बेहतर तरीके से समझा सकते हैं कि आप यहाँ क्या सीख रहे हैं। आपके terse नोट्स बहुत वर्णनात्मक / सहायक नहीं हैं।
स्पूनमाइज़र

57
हालांकि यह आखिरी है, मुझे लगता है कि MMORPG को और नीचे जाने की आवश्यकता है। बहुत बढ़िया सूची। +1
はると

6
महान सूची, हालांकि मुझे लगता है कि पचमन के बाद पूरी सीढ़ी का पहलू टूट गया। उस बिंदु पर आप जाने और किसी भी तरह का खेल करने के लिए पर्याप्त हैं; मुझे नहीं लगता कि वुल्फस्टीन को विकसित करने से पहले आपको डियाब्लो को विकसित करने की आवश्यकता है। Pacman तक सब कुछ आप क्रम में करना चाहिए।
१२:३०

5
"लगातार दुनिया" reeeeally एक MMORPG के बीच मतभेद पिछले विकल्पों को कम करके आंका।
मालाबार

1
आप एक गैर-MMORPG में भी "स्थायी दुनिया" को संभाल सकते हैं (जैसे। एक रसगुल्ले)।
ashes999

64

गेम प्रोग्रामिंग सीखने का सबसे महत्वपूर्ण नियम: प्रोग्रामिंग सीखना कठिन है। खेल डिजाइन सीखना कठिन है। अच्छा खेल कला या ऑडियो बनाना सीखना कठिन है। एक ही समय में इन सभी चीजों को करने की कोशिश करना विफलता का एक नुस्खा है। एक बार में एक बात सीखें।

कोरोलरी: एक खेल का कार्यक्रम, जहां डिजाइन, कला और ध्वनि पहले से ही हैं। क्लोन बनाएं, मूल खेल नहीं।

मेरी कक्षाओं में, मैं हमेशा इन खेलों को शुरू करने की सलाह देता हूं, क्रम में:

1) टेट्रिस। कला रंग की आयतें हैं, जो कि कुल कलूट्ज़ भी Microsoft पेंट में आकर्षित कर सकती हैं। आपको ध्वनि की आवश्यकता नहीं है। प्रोग्रामिंग अपेक्षाकृत सरल है, लेकिन फिर भी कुछ महत्वपूर्ण चीजों की आवश्यकता होती है: आंतरिक खेल राज्य के बीच अंतर को समझना और स्क्रीन पर क्या खींचा है; स्क्रीन पर आकर्षित करने में सक्षम होना, अवधि (संभवतः स्प्राइट्स और ब्लिटिंग शामिल है); केवल गेटेक () या स्कैनफ़ () का उपयोग करने के बजाय उपयोगकर्ता इनपुट को वास्तविक समय में स्वीकार करने में सक्षम होने के लिए जहां आपको उनके लिए इंतजार करना होगा।

2) ब्रेकआउट / अर्कानॉइड। कला अभी भी रंगीन आयत है, और आपको अभी भी ध्वनि की आवश्यकता नहीं है। टेट्रिस की सभी बुनियादी अवधारणाओं का उपयोग करता है, साथ ही कुछ बुनियादी टक्कर का पता लगाने और 2 डी भौतिकी के बाद से गेंद को आसानी से हिलना और उछालना पड़ता है।

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

4) सुपर मारियो ब्रदर्स पिछले स्क्रॉलिंग प्रोजेक्ट की तरह ही है, सिवाय स्क्रॉल के अब खिलाड़ी नियंत्रण में है और स्वचालित नहीं। आपको गुरुत्वाकर्षण और सभी मज़ेदार टकराव के सामानों से भी निपटना होगा (जैसे कि फर्श के माध्यम से नहीं गिरता है, क्योंकि आप पिछले फ्रेम में ऊपर कुछ पिक्सेल थे और अगले फ्रेम में नीचे कुछ पिक्सेल पर जाना चाहते हैं) )। यह भी ध्यान दें कि गुरुत्वाकर्षण सशर्त है: यह खिलाड़ी और कुछ दुश्मनों को प्रभावित करता है, लेकिन आमतौर पर प्लेटफार्मों या फ्लोटिंग सिक्कों या जो कुछ भी नहीं है, जो वास्तविक दुनिया से थोड़ा अलग है।

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

सौभाग्य!


39

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

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

आप जानते हैं कि लोग अपनी मानसिकता और अपने दिलों को खाने के लिए, और इस तरह अपनी प्रोग्रामिंग की ताकत हासिल करने के लिए, आप विभिन्न प्रकार की प्रोग्रामिंग भाषाएं सीखने वाले हैं? इसके लिए एक वास्तविक सच्चाई है - अपनी पहली शुद्ध या निकट-शुद्ध प्रोग्रामिंग भाषा के बाद, यहाँ तक कि अनिवार्य भाषाओं में, आप बड़े पैमाने पर साइड-इफ़ेक्ट फ़ंक्शंस को लिखना समाप्त करने जा रहे हैं क्योंकि वे बहुत बेहतर परिभाषित हैं, और जो कुछ भी आप लिखते हैं। यहां तक ​​कि भाषाओं में भी नहीं जो इसके लिए बेहतर होगी। यह विशेष रूप से कोई फर्क नहीं पड़ता कि यह कौन सी भाषा है - हैस्केल, एमएल / ओसमल / स्म्ल्नज, सूत्र, सी ++ टेम्पलेट, जो भी हो - आप अभी भी सीखने जा रहे हैं कि कैसे उल्टा प्रभाव राज्य का भरोसा किए बिना काम के कई वर्गों को करना है। पहली बार जब आप एक बीहड़, मशीन-पास प्रोग्रामिंग भाषा सीखते हैं, तो आप ' आकार प्रकार अमूर्त के बारे में जानने के लिए जा रहे हैं। पहली बार जब आप एक घोषणात्मक या बाधा भाषा सीखते हैं, तो आप एक विवेकाधीन उपकरण के रूप में बाउंडिंग के बारे में जानने वाले हैं। पहली बार जब आप एक खोज भाषा सीखते हैं, तो आप Ia प्रार्थना करना सीखेंगे! मैं एक! C'thulhu F'tagn Nagn !, और फिर हम वापस दिलों और बहरों को खाकर जीवन का चक्र पूरा कर रहे हैं।

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

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

तो देखो।

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

क्रम में:

  1. स्क्रीन नियंत्रण। Bluescreening इसके लिए बहुत अच्छा है, क्योंकि तब आपके पास यह विश्वास करने का कारण है कि आप Microsoft होने के अपने रास्ते पर हैं।
  2. इनपुट सत्यापन फ़ॉस्क्रीन, जहां फू अप के लिए नीला है, नीचे के लिए लाल है, आदि आपकी सभी चाबियाँ जांचें; यदि आप अधिक महत्वपूर्ण चीजों के लिए क्रिमसन को बचाने की आवश्यकता है, तो पर्याप्त रंग से अधिक हैं, या आप चार-रंग मानचित्र कर सकते हैं।
  3. पाठ और स्प्राइट प्रतिपादन। चूंकि आपके पास इनपुट सत्यापन भी है, इसलिए टाइल मेमोरी गेम एक बुरा विचार नहीं है।
  4. टाइमर। मारियो क्लोन या अर्कानॉइड के लिए समय।
  5. ध्वनि और संगीत। मारियो क्लोन में सुधार करें। हालांकि ज्यादा नहीं।

एक बार जब आप उन लोगों को प्राप्त कर लेते हैं, तो आप एक मंच को लक्षित करने के लिए तैयार हैं, और सीखना शुरू हो सकता है।

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

  • एनीमेशन। लगभग कुछ भी आप एनिमेटेड स्प्राइट के लिए कॉल कर सकते हैं। अपनी बेल्ट के नीचे एक स्वतंत्र एनीमेशन इंजन प्राप्त करें, भले ही यह प्रोग्रामर कला हो। एक सरल पहेली गेम बनाना जिसकी टाइल्स थ्रोब काफी है।
  • जटिल स्कोरिंग। एक पंख में सभी पांच दुश्मनों को प्राप्त करें? बोनस। एक पंक्ति में तीन पंच भूमि? बोनस। एक गोली लापता के बिना पूरे स्तर के माध्यम से बनाओ? बहुत बड़ा बोनस।
  • रास्ता पाना। खेल की बहुत जरूरत है, लेकिन एक टॉवर रक्षा खेल सबसे सरल के बारे में है। यदि आपने पहले कभी ऐसा नहीं किया है, तो आप चौड़ाई-पहले और गहराई-पहले से शुरू कर सकते हैं, लेकिन जब तक आपने स्क्रैच (नहीं कॉपी किए गए कोड) से कम से कम एक बार लागू नहीं किया है, तब तक आप ऐसा नहीं करते हैं।
  • शत्रु का व्यवहार। गूंगा स्वचालित व्यवहार आपके मैरियो द्वारा कवर किया जाएगा, लेकिन प्रतिक्रियाशील व्यवहार भी महत्वपूर्ण हैं। यह एक रणनीति गेम या रॉगुलाइक बनाने का एक अच्छा बहाना है। (चेतावनी: आप अपने जीवन के शेष भाग के लिए काम करेंगे।)
  • गतिशील 2d प्रकाश व्यवस्था। यह भी एक roguelike लिखने के लिए एक अच्छा कारण है। आर्क-आधारित शैडोकास्टिंग बैंडिंग और अलग-अलग देखने का एक महत्वपूर्ण तरीका है, जो बदले में बहुत सारे डाटासट्रक्चर के लिए महत्वपूर्ण है।
  • 2 डी भौतिकी। यह विस्तार के कई स्तरों पर, बहुत सारे खेलों में बदल जाता है। एक प्लेटफ़ॉर्मर (mario-ish) आज़माएं, जो सुपर-सरलीकृत हो सकता है; एक टैंक खेल (झुलसे-पृथ्वी-ईश), जिसे समान रूप से सरल बनाया जा सकता है; और अंत में, एन निंजा की तरह का एक गेम, जो आपको कोण, संवेग, वगैरह पर चलने के साथ सामना करता है (आप ऐसा कर सकते हैं कि एक अक्ष-संरेखित बाउंडिंग टक्कर सिस्टम बहुत सीधा है।) भौतिकी और टकराव बहुत अंतर से संबंधित है।
  • टक्कर की पहचान हुई है। हास्यास्पद रूप से सरल मामले हैं, जैसे ग्रिड अरकानोइड्स और मारियो क्लोन, मध्यम रूप से जटिल मामले जैसे एन निंजा और वास्तव में जटिल मामलों जैसे सैंडबॉक्स फिजिक्स गेम्स (अविश्वसनीय मशीन, आधुनिक आर्कैनॉइड जैसे ब्रेकक्वेस्ट, एट सिटेरा।) कई मामलों में आप के साथ प्राप्त कर सकते हैं। AABB जैसी कोई चीज़ , लेकिन अगर आप गणित के इच्छुक हैं, तो यह वास्तव में कुछ पूरा करने के लिए उपयोगी हो सकता है। कम से कम, पूर्ण लाइब्रेरी से परिचित हों, जैसे APE या Box2D।
  • खेल में जोखिम / इनाम संबंध संतुष्टि प्रदान करते हैं। सरल पासे का खेल (50 के दशक से "स्कंक" नामक कुछ के लिए खुदाई करना) और जोखिम भरा पथ (जीवन, कैंडीलैंड) बोर्ड गेम ऐसा करने से सीखने के लिए सरल त्वरित तरीकों के महान उदाहरण हैं।
  • यांत्रिकी में अभिव्यक्त भिन्नता। अपने आप को नियमों की कुछ छोटी गिनती के लिए नीचे कील दें, फिर उनमें से पूरी विविधता प्राप्त करना सीखें। कस्टम डेक कार्ड गेम इसके साथ काम करने का एक शानदार तरीका है; ड्वोरक डेक पर एक नज़र डालें, और असली दुनिया के खेल जैसे कि मिले बोर्नेस, रेज और यूनो, फिर अपने खुद के कुछ बनाएं। वे समान होने के लिए नहीं मिलता है।
  • उत्पन्न सामग्री। सरल मानचित्र-आधारित रणनीति के खेल, roguelikes और कुछ प्रकार के पहेली खेल यह करने के लिए सीखने के शानदार तरीके हैं। बोनस अंक अगर यह एक तरह का खेल है जो आमतौर पर उत्पन्न सामग्री के लिए नहीं जाना जाता है।
  • अंदाज। चारों ओर पेंच न करें: यह एक बड़ी बात है। एक खेल बनाओ, तो यह चार पूरी तरह से अलग खेल होने के लिए त्वचा। वास्तव में अलग है। एक बच्चों का खेल, यहां तक ​​कि। (इसके बारे में सोचो: मेगा मैन नरक में एक जादूगर के साहसिक कार्य के रूप में सही अर्थ बनाता है, या एक्स-मेन से दुष्ट के रूप में, या ...) अब, अपने प्रत्येक गेम को स्कोर करने के लिए लोगों के चार समूह प्राप्त करें। उसके बाद, उन्हें अगला गेम, काउंटर-क्लॉकवाइज, रिंग के चारों ओर, और इसी तरह स्कोर करना चाहिए। ध्यान दें कि मूल रूप से थीम और पूर्व अपेक्षा के आधार पर उनके स्कोरिंग परिवर्तन कैसे होते हैं।
  • खिलाड़ी योजना क्रम बना रही है। पहेली खेल इस बारे में जाने के लिए सबसे साफ तरीके हैं।
  • संसाधन प्रबंधन
  • उन्नयन
  • समय के दबाव को कम करना

... एह। मैं ऊब गया।


11
बहुत बढ़िया जवाब। वास्तव में निराशाजनक अंत। यह आश्चर्यजनक होगा यदि आप इस पर दोबारा गौर कर सकते हैं और इसे एक साथ बाँध सकते हैं ताकि यह एक सुसंगत अंत दे सके।
Ricket

1
एक समापन के लिए, कैसे कुछ जिगर खाना पकाने के निर्देश के बारे में ? greatitp.com/comics/oots0738.html
साइक्लॉप्स

4
यह गेम प्रोग्रामिंग के बारे में पोस्ट के रूप में काल्पनिक रूप से प्रच्छन्न एक जीवन सबक है।
सूरदासदास

30

टेट्रिस

बहुत आम खेल है, अगर आप फंस जाते हैं तो बहुत सारे ओपन सोर्स क्लोन फट जाते हैं। 2 डी ग्राफिक्स, इनपुट हैंडलिंग, स्कोरिंग, आदि की मूल बातें सिखाता है।

फिर इस मूल विचार को लें और इसे एक स्पिन पर रखें। मैंने कॉलेज में अपने कंप्यूटर ग्राफिक्स वर्ग के लिए टेट्रिस का 3 डी संस्करण लिखकर 3 डी ग्राफिक्स / ओपेंगल की मूल बातें सीखीं ।


2
या "कॉलम" यदि आप एक सेगा आदमी हैं;)
एंड्रयू रसेल

क्यू टेट्रिस थीम का संगीत ...
निक बेडफोर्ड

3
qntm.org/hatetris (ठीक है इसमें थीम संगीत का अभाव है, लेकिन मैं इसे लिंक करना चाहता था ...)
user384918

1
@ब्लू वाह, यह बुराई है
ब्रायन डेनी

यहाँ प्रारंभ करें यहाँ मेरी साइट है
स्टीवन लू

25

GameDev.net के पास एक अच्छा लेख है जो खेल के विकास को खेल के विकास के बारे में जानने की सलाह देता है । सूची से मेरी पसंदीदा सलाह वास्तव में इन खेलों को चमकाने की है। पूरी तरह से खत्म, एक भरोसेमंद राज्य के लिए।

सूची इस प्रकार है (इनमें से कुछ अन्य उत्तरों में दी गई हैं):

  1. टेट्रिस
  2. फैलना
  3. साइड स्कॉलर / प्लेटफ़ॉर्मर

आपने पीएसी-मैन, गालागा और गौंटलेट को आपके द्वारा जुड़े लेख से याद किया
एडम हर्ट

15

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

  1. मैं अच्छी कोडिंग प्रथाओं (डिजाइन पैटर्न, TDD, SOLID, निरंतर एकीकरण, आदि) के बारे में गहराई से देखभाल करता हूं और जब वे इस अभ्यास को करते हैं, तो अपने डेवलपर्स पर बहुत सारी बाधाएं डालते हैं।

  2. बहुत ज्यादा हर कोई एकाधिकार के नियमों को जानता है, और पूरा खेल एक ही दिन में पूरा किया जा सकता है। यह नए डेवलपर्स को एक त्वरित जीत देता है और वास्तव में उनकी सगाई हो जाती है।

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

कभी-कभी हम अधिक परिष्कृत AI में प्लग करते हैं, कभी-कभी हम नहीं करते हैं। कभी-कभी हम अन्य बोर्ड गेमों के साथ थोड़ा और जटिल तर्क जैसे च्यूट और लैडर या कुछ और के साथ काम करते हैं। कभी-कभी हम पूरी तरह से बोर्ड गेम से दूर हो जाते हैं, और पोकर गेम या लाठी करते हैं।

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


6
आप एक दिन में एकाधिकार कैसे लागू करते हैं? यह उससे कहीं ज्यादा बड़ी परियोजना लगती है।
माइकल क्रिस्टोफिक

यदि आपके पास डेवलपर्स के लिए जाने के लिए कला संपत्ति तैयार है, और आप मेरे द्वारा ऊपर दिए गए गाइड का अनुसरण करते हैं, तो यह काफी आसान है। इसमें एकाधिक AI रणनीति, या एनीमेशन और संगीत के कुछ अधिक जटिल पहलुओं को शामिल नहीं किया गया है, लेकिन यह पूरी तरह से खेलने योग्य खेल है और यह आसानी से एक दिन में किया जाता है। यह वास्तव में उल्लेखनीय है, और यह वास्तव में बहुत मज़ा है।
१२:१

# 3 ग्राहकों की वास्तविक दुनिया का अनुभव भी देगा जो आपके द्वारा पहले ही शुरू करने के बाद आप पर आवश्यकताओं को बदल देते हैं।
जरीट मिलार्ड

अफसोस की बात है एकाधिकार लिंक मर चुका है :(
केसी

वेकबैक मशीन अभी भी है। web.archive.org/web/20090919075257/http://…
hokiecsgrad 21

15

चुनें-योर-साहसिक

एक दोस्त से इस टिप को प्राप्त करें, जिसने एक गेम बनाकर प्रोग्रामिंग शुरू की, अपनी साहसिक पुस्तक चुनने के लिए बहुत कुछ । यह मूल रूप से इस तरह एक आउटपुट के साथ एक सरल पाठ साहसिक खेल है:

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
> _

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


7
+1 लेकिन केवल यदि आप प्रोग्रामिंग सीख रहे हैं। यदि आप पहले से ही प्रोग्रामिंग जानते हैं, तो मैं इसके साथ शुरू नहीं करूंगा।
जेफ

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

8
वास्तव में, यह स्क्रिप्टिंग और डेटा-संचालित विकास के बारे में जानने का एक बहुत अच्छा तरीका है। इसके लिए "इंजन" बनाएं और बाकी स्क्रिप्ट में लिखें।
निक बेडफोर्ड

1
@ जेफ नाह, अगर वे अनुभवी प्रोग्रामर हैं, तो वे इसे 2 घंटे में पूरा करेंगे। तो क्या उन्हें कुछ आइटम, दरवाजे, बॉस के झगड़े जोड़े गए हैं
bobobobo

13

नौसिखिए प्रोग्रामर के साथ मेरे अनुभव में, प्रगति आमतौर पर कुछ इस तरह से जाती है:

  1. पोंग
  2. टेट्रिस
  3. विशाल अद्भुत 50 घंटे गेमप्ले 3 डी आरपीजी (नोट: ज्यादातर लोग इस कदम के माध्यम से प्रोग्रामिंग का हिस्सा छोड़ देते हैं)

4. फंतासी MMORPG: पी
निक बेडफोर्ड

12

ब्रेकआउट, पोंग या क्षुद्रग्रह।

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


4
विवरण का उल्लेख करने के लिए +1 से आपको अपेक्षा से अधिक समय लगेगा।
मप्र जूल

11

अन्य उत्तरों में कुछ अच्छे सुझाव हैं, लेकिन मैं सिर्फ अपने वोट के लिए टॉस करना चाहता हूं: कुछ ऐसी चीज़ों के साथ शुरू करें, जिससे निपटने के लिए बहुत-बहुत अच्छा लगता है।

पोंग एक अच्छा उदाहरण है।

लक्ष्य है: गेम-डिज़ाइन और नियम-सेट को इतना दिमागी रूप से तैयार करना कि आप अपना सारा ध्यान नई चीज़ को सीखने में लगा सकें, जो आप सीख रहे हैं (एक भाषा, एक प्लेटफॉर्म, एक एपीआई) और लगातार नहीं खेल कैसे काम करता है यह जानने के लिए ब्रेक लें।

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

एक बार जब आप एप्लिकेशन # 1 पूरे तरीके से कर लेते हैं, जब तक कि वह दूसरों को देने / बेचने के लिए तैयार न हो, तब तक कुछ और जटिल (टेट्रिस, एडवेंचर या जो भी आपको पसंद हो) ले लें, लेकिन एक नई तकनीक सीखना शुरू करने के लिए, वह चीज जिसे आप ब्रेन-डेड सिंपल प्रोग्राम करते हैं।

अन्य उदाहरण:

  • संख्या का अनुमान लगाएं (1 और 1000 के बीच)
  • मास्टरमाइंड (उन्नत संख्या का अनुमान लगाएं)
  • SimplePaint
  • नाग / कीड़ा / जो कुछ-यू-कॉल-यह।

लेकिन, फिर से - कुछ ऐसे तरीके से शुरू करें जो बहुत आसान हो, ताकि आप वास्तव में कुछ पूरा कर सकें और पीछे मुड़कर देख सकें कि इसमें क्या शामिल है। भाषा / मंच / एसडीके / इंजन में वन ऐप लिखे जाने और शून्य ऐप लिखे जाने के बीच का अंतर बहुत बड़ा है । 1 और 2, या 2 और 5, के बीच का अंतर बहुत कम है, इसलिए आप बड़े कदम उठा सकते हैं, लेकिन 0 से 1 कदम को एक नन्हा-नन्हा बना दें; यह आपके विचार से बड़ा होगा!


2
+1 के लिए "किसी ऐसी चीज़ से शुरू करें जो बहुत ही कठिन प्रतीत होती है" और "एक ऐप लिखे जाने के बीच का अंतर ... और लिखा हुआ ज़ीरो ऐप बहुत बड़ा है"
Luc125

1
2014 का अपडेट: एक और अच्छा "भाषा / तकनीक सीखो" ऐप एक- Flappy Birdअलिक है। एक पेशेवर प्रोग्रामर के रूप में, यह दोपहर का काम है (अच्छी तरह से, इसे "अच्छा" प्राप्त करने के लिए एक सप्ताहांत) लेकिन, एक और कार्यक्रम को पढ़ाने के दौरान, हमने सीखा कि यह वास्तव में बहुत कम जटिलताएं है। फिर, एक शून्य से कहीं अधिक अनुभव है और, एक बार आपके पास, आपके पास आगे बढ़ने के तरीके के बारे में बहुत बेहतर विचार होगा।
ओली

9

इस वेबसाइट की जाँच करें: 12 कंप्यूटर विज्ञान खेल परियोजना के विचार

इनमें से कुछ खेलों में वे शामिल हैं जो दूसरों ने कहा है:

  1. Pacman
  2. टेट्रिस
  3. पोंग

लेकिन यह कुछ अन्य खेलों के बारे में भी बात करता है जिन्हें आप बनाने की कोशिश कर सकते हैं जैसे:

  1. टिक टैक् टो
  2. कौन करोड़पति बनना चाहता है?
  3. और एक मारियो क्लोन।

इसके अलावा, यह इस बात की समझ देता है कि आपको पहले क्या करने की कोशिश करनी चाहिए क्योंकि यह प्रत्येक खेल के लिए कठिनाइयों की भावना देता है (और इसलिए आपको गेम से कैसे निपटना चाहिए इसकी एक योजना):

  1. शुरुआती
  2. मध्यम
  3. उन्नत
  4. श्रेष्ठ

2
+1, उस लिंक से प्यार करें। "आरपीजी - यदि आप अपने जीवन से घृणा करते हैं (और कुछ स्पष्ट रूप से करते हैं), तो जाहिर है कि वीडियो गेम प्रोग्रामिंग महिमा पर अंतिम वर्ष का प्रयास बुरी तरह से समाप्त होने की संभावना है। खेल इंजन अक्सर काफी फैल गया है (विश्व यात्रा, शहर की यात्रा, दुकानें, झगड़े)। आदि) की आवश्यकता होती है और इसके लिए एक बड़ी मात्रा में प्रयास की आवश्यकता होती है "
साइक्लोप्स

5

बहुत से लोग ब्रेकआउट के साथ शुरू करते हैं क्योंकि इसमें विशेषताएं हैं:

  • इनपुट: एक पैडल को आगे-पीछे करना
  • साधारण टक्कर: पैडल, ईंटों और दीवार से दूर उछलती हुई गेंद
  • "गेम स्टेट: चेंजिंग स्कोर" जब गेंद ईंटों से टकराती है और ईंटों को हटाती है, तब गेंद की संख्या घटती है, जब गेंद स्क्रीन के निचले हिस्से से टकराती है, तो गेंद खोने पर खेल खो जाता है जब गेंदों की संख्या == 0, आदि।
  • यह ग्राफिक्स के लिए एक काफी सौम्य परिचय भी है क्योंकि यह सभी आयत और मंडलियां हैं

5

एक खेल लिखने के बारे में सबसे कठिन हिस्सा - या किसी भी सॉफ्टवेयर - यह पता लगाना है कि क्या करना है। आपको बिल्कुल एक युक्ति की आवश्यकता है! मौजूदा गेम का क्लोन बनाने के बारे में यह मज़ेदार हिस्सा है: कल्पना पहले से मौजूद है। आपकी कल्पना है "उत्पाद को वह सब करना चाहिए जो अन्य उत्पाद करता है," और यदि आपके पास दूसरे गेम की एक प्रति है, तो यह सत्यापित करना बहुत आसान है।

एक बार जब आप यह पता लगा लेते हैं कि आपको क्या करने की आवश्यकता है, तो यह पता लगाना कि यह कैसे करना है वास्तव में यह मुश्किल नहीं है यदि आप एक सक्षम प्रोग्रामर हैं। मेरा मतलब एक कुशल या अनुभवी प्रोग्रामर नहीं है; इसका मतलब यह होगा कि आप पहले से ही जानते हैं कि आप जो करने की कोशिश कर रहे हैं, उसमें से अधिकांश को कैसे करना है। लेकिन आपको यह समझने की आवश्यकता है कि अमूर्तता में कैसे सोचना है और समस्या-समाधान और तार्किक विचार कौशल है जो प्रोग्रामिंग के लिए मौलिक हैं। अगर आप ऐसा कर सकते हैं, तो आप कुछ भी कर सकते हैं।

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

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


5

यह वास्तव में आपके वर्तमान दक्षताओं पर निर्भर करता है। यदि आप प्रोग्रामिंग के लिए अपेक्षाकृत नए हैं, तो उन विशिष्ट खेलों में से एक के साथ जाएं, जो लोगों ने सुझाए हैं। अन्यथा, आपको इस बारे में सोचना चाहिए कि किस तरह का खेल आपको अपने अनुभव को अच्छा उपयोग करने देगा।

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

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


4

निबल्स और स्पेस आक्रमणकारियों

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


मैंने पहले कभी निबल्स के बारे में नहीं सुना है, लेकिन स्पेस आक्रमणकारियों पर निश्चित रूप से वोट देते हैं।
झॉकिंग

3

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


2
सहमत, जोर / चंद्र लैंडर शैली के खेल महान शुरुआती परियोजनाएं हैं। रोटेशन, और वेग / त्वरण से निपटने से साइन / कोसिन के रहस्यों का पता चलेगा (किसी के लिए जो उनके साथ थोड़ी देर के लिए निपटा नहीं जाता है)। आप एक स्थिर या स्क्रॉल टाइल मानचित्र का उपयोग कर सकते हैं, और बहुत अधिक जटिल टक्कर की आवश्यकता के बिना टकराव का पता लगाने का उपयोग कर सकते हैं (कुछ का स्पर्श करें -> खोज)। यह नियंत्रण प्रणाली ट्यूनिंग के बारे में सोचने के लिए भी एक अच्छा है - इसे सही महसूस करने के लिए जोर, गुरुत्वाकर्षण और रोटेशन की गति का एक अच्छा संतुलन प्राप्त करना
Bluescrn

@bluscrn वास्तव में एक महान टिप्पणी है। लोगों को मेरे फ़्लैश संस्करण का परीक्षण करने के बाद मैंने देखा कि लोगों को इस पर अलग-अलग राय थी कि इसे कैसा महसूस करना चाहिए। इसमें से कुछ को उपयोगकर्ता द्वारा अनुभव किए गए पिछले खेलों के लिए जिम्मेदार ठहराया गया था। यह ऐसा कुछ नहीं था जिसे मैंने विशेष रूप से विकसित करने से पहले सोचा था।
एलन

2

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


1

गौंटलेट जैसा कुछ, क्योंकि आपको एक इकाई प्रणाली, दुश्मन एआई, पिकअप, टाइल-मैप, टकराव का पता लगाने, स्कोरिंग आदि की आवश्यकता है। यह सब मिल गया है, लेकिन एक तरह से यह भारी नहीं है।


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

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

मैं ईमानदारी से सोचता हूं कि "एंट्री लेवल" गेम के रूप में गिनती करने के लिए गौंटलेट-क्लोन में बहुत अधिक चल रहा है।
PhillC

मुझे ईमानदारी से लगता है कि टेट्रिस की तुलना में गौंटलेट को कोड करना आसान है, क्योंकि वर्कआउट करने से पता चलता है कि ब्लॉक एक-दूसरे पर कैसे टिकते हैं, क्या एक लाइन पूरी होती है, और कैसे लाइनों को हटाने के लिए, काफी मुश्किल सार समस्याएं हैं। गौंटलेट को किसी भी आधुनिक 2D प्लेटफ़ॉर्म में 1000 से कम लाइनों में कोडित किया जा सकता है, और यदि यह आपके द्वारा उपयोग किए जा रहे प्लेटफ़ॉर्म में नहीं हो सकता है, तो मैं सुझाव दूंगा कि कोई दूसरा खोजा जाए। वैसे भी, मैंने इसे सटीक रूप से सुझाया क्योंकि इसमें उन सभी हिस्सों को सीखने की आवश्यकता होती है जो एक आधुनिक गेम बनाते हैं।
इल

आपको सही ढंग से आवाज करने के लिए अतिरिक्त अंक मिलते हैं: "एल्फ ने भोजन को गोली मार दी!" "जादूगर मरने वाला है!" या मेरा पसंदीदा: "आपको मेरा TRAY- ज़रूर घूमना मिल गया है!"
rtperson

1

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


1

मैंने कुछ टेट्रिस क्लोन से ज्यादा बनाए हैं। हर बार जब मैंने ऐसा किया तो मैंने इसे थोड़ा अलग किया। आजकल, मैं आमतौर पर कुछ प्रकार के क्षुद्रग्रहों का क्लोन बनाता हूं। मैंने कुछ से अधिक मिसाइल कमांड स्पिनऑफ भी बनाए हैं।

मैंने मूल गेम प्ले के साथ शुरुआत की है और इसे और अधिक सामान, पावर अप आदि जोड़ने से आगे बढ़ा है।


1

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

उसके बाद एक बहुत ही सरल प्लेटफ़ॉर्मर या शूट-एम-अप जैसा गेम आएगा जहाँ आपको गोरिल्ला के लिए काम करने वाले INPUT कथनों के बजाय वास्तविक समय में उपयोगकर्ता इनपुट पढ़ने की आवश्यकता है :)


1

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

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


1

मैंने हमेशा इस बात पर जोर दिया है कि यदि आप एक गेम प्रोग्रामर हैं तो आपको स्पेस आक्रमणकारियों के कुछ रूप बनाने में सक्षम होना चाहिए । हेक, खेल काफी सरल है कि आपको ग्राफिक्स खुद भी करने में सक्षम होना चाहिए।

आपके पोर्टफोलियो में छोटे खेलों का चयन होने से, काफी उपयोगी होने के अतिरिक्त लाभ के रूप में, उदाहरण के लिए, यदि मैं एक नई प्रोग्रामिंग भाषा या ढांचा सीख रहा हूं, तो मैं अक्सर अपने सरल खेलों में से एक को देखूंगा कि कैसे नया तरीका देखा जाए चीजों को मूल रूप से लिखे जाने के तरीके से मेल खाता है।


1

यह वास्तव में आप पहले से ही एक नियमित प्रोग्रामर के रूप में क्या कौशल पर निर्भर करता है। क्या आपके गणित को काम करने की आवश्यकता है? आपका ग्राफिक्स ज्ञान? क्या आपके पास दोनों लपेटे में हैं?

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

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

वहां से तीसरे आयाम पर जाएं, मुख्य कौशल सीखें (एनिमेशन, रेंडरिंग) और आपको विभिन्न प्रकार के खेलों से निपटने के लिए अपेक्षाकृत अच्छी तरह से सुसज्जित होना चाहिए।


0

मैं कहूंगा कि टॉवर डिफेंस तरह का खेल शुरू करने के लिए सबसे अच्छी जगह है। तुम भी पहले से ही मौजूदा खेल / इंजन (WarCraft III / HalfLife2 एसडीके / आदि) को संशोधित करके शुरू कर सकते हैं ताकि आवश्यक तर्क को समझ सकें, फिर अपने स्वयं के कोड आधार का उपयोग करने के लिए आगे बढ़ें।


0

मेरा पहला गेम सुपर मारियो जैसा कुछ था।

चारों ओर ले जाएँ, बाधाओं से बचें, कूद। और उन सभी कार्यों को आसानी से बिना किसी भौतिकी गणना के किया जा सकता है।

एक साधारण 2 डी चीज़ लेने के लिए इसका आदर्श है, क्योंकि आप किसी विशिष्ट कार्यान्वयन / ढांचे / इंजन पर ज्यादा भरोसा नहीं करेंगे।

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