कैसे एक खेल प्राप्त करने के लिए? [बन्द है]


20

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

आप एक खेल को विकसित करने, या सामान्य रूप से विकसित करने में रुचि कैसे रखते हैं?


4
वास्तव में ऑफ-टॉपिक - प्रेरक सुझावों के लिए उत्पादकता.स्टैकएक्सचेंज.कॉम की कोशिश करें ।
साइक्लॉप्स


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

जवाबों:


28

एक डिजाइनर के रूप में, मैं लोगों को आंकड़ों और चरों के संग्रह के रूप में देखता हूं। जब आप अपना प्रश्न रखते हैं, तो मैं आसानी से [Pong_Dev_Interest] कम और [Spa_Inv_Dev_Interest] की तस्वीर बढ़ा सकता हूं। जब दोनों के बीच का अंतर [Dev_Project_Inertia] (कुछ हद तक [Dev_Completion_Desire] से संबंधित है) से अधिक होता है, तो [Pong_Dev] पड़ाव और [Spa_Inv_Dev] पर गतिविधि शुरू हो जाती है।

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

जब आप बोर होते हैं, तो काम करते रहें। जब यह बहुत अच्छा हो, तो काम करते रहें। जब यह बकवास करने के लिए गिर रहा है, तो काम करना जारी रखें! दृढ़ रहें! थोड़ा देव हो सकता है! मुझे तुम पर विश्वास है!

अहम। वहां थोड़ा अतिउत्साह हो गया। लेकिन तुम बहाव हो जाते हो।

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

और यह इतना goooooood महसूस होगा।


12

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

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

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

  • ध्वनि प्रभाव
  • संगीत
  • रीमॉडेल शिप
  • रिमॉडल रॉकेट्स
  • शॉट्स और खिलाड़ी / दुश्मन के बीच विखंडन का पता लगाना
  • दुश्मनों को गोली मारो
  • शीर्षक स्क्रीन
  • स्कोर / जीवन / ऊर्जा जो भी उपरिशायी है

इन सभी कार्यों को करना आसान था और एक बार जब वे खेल में काम करते हैं, तो आप उन क्षेत्रों पर पुनरावृत्ति कर सकते हैं और उन्हें पॉलिश कर सकते हैं।

और हे, मैंने एक छोटा खेल समाप्त किया। यह सुंदर नहीं है, लेकिन यह मूल रूप से किया गया है जो वास्तव में अंत में पुरस्कृत था :-)


3

आपको समस्या को हल करने से पहले उसे पहचानना होगा। आप ब्याज क्यों खोते हैं?

मेरे लिए, यह आमतौर पर होता है क्योंकि मैं रूपरेखा पर इतना समय बिता रहा हूं, और हफ्तों के बाद, मैं एक भी गेमप्ले तत्व को प्राप्त नहीं कर सका।

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

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

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


1
मैं इसे लंबे समय से कर रहा हूं, और आपके गेम के पहले स्प्राइट को लोड करने और इसे स्क्रीन पर इधर-उधर ले जाने से ज्यादा रोमांचक कुछ नहीं है।
एक्टिविस्ट

2

मैं बनाने के लिए कुछ आसान हिस्सा खोजने की कोशिश करता हूं। जैसे अगर मैं यह नहीं पता लगा सकता कि कैसे कुछ बनाना है या नहीं करना है, तो मैं गियर और मॉडल को स्थानांतरित करता हूं या एक shader लिखता हूं, आदि।

इसे और इस अन्य पोस्ट को देखें ।


1
+1 हां, यह बहुत अच्छी रणनीति है। थोड़ी देर के लिए अपने दिमाग को सख्त चीज़ों से बाहर निकालें, कुछ कठिन काम करें, और जब आप वापस लौटते हैं, तो आपको इतना कठिन नहीं लगेगा। मेरे लिये कार्य करता है।
इंजीनियर

2

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

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

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

पहले तो आपको डिबगर की मदद से त्रुटि को ठीक करने का प्रयास करना चाहिए, लेकिन मुझे नहीं पता कि आपकी भाषा भी डिबगर का समर्थन करती है ... लेकिन अगर आप संयोग से C ++ या ऐसा कुछ उपयोग करते हैं (जो मैं आपको सुझाऊंगा तो गेम बनाना चाहते हैं), आपको अपने डिबगर का बेहतर उपयोग करना चाहिए क्योंकि यह आपको एक ही रन में तेजी से त्रुटि खोजने में बहुत मदद करेगा।

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

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

पीएस मैं सोच रहा था ... आप खेल बनाने के लिए क्या उपयोग कर रहे हैं?


स्रोत नियंत्रण का उपयोग करने के लिए +1। अनुसूचित जाति नहीं होने के कारण 4 साल पहले मैंने अपने खेल पर काम करना बंद कर दिया था (मैंने वापस जाने के लिए स्रोत को बहुत अधिक संशोधित किया)। सौभाग्य से, मुझे हाल ही में XNA के लाभों का एहसास हुआ और खेल वापस काम कर रहा है।
रिचर्ड मार्स्केल - Drackir

2

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

पुन: refactoring, सामान हो सकता है, यहां तक ​​कि पेशेवरों के लिए भी। कभी-कभी Git जैसे अच्छे टूल के साथ, फीचर A के बजाय एक मर्ज विफल हो सकता है और B दोनों काम कर सकता है, न ही काम! एकमात्र विकल्प ए में वापस जाना और फिर से प्रयास करना है। सौभाग्य से संस्करण नियंत्रण आपके लिए इस कोड को बचाएगा; यदि आप वास्तविक संस्करण नियंत्रण का उपयोग नहीं करते हैं, तो कम से कम इसे अपने देव फ़ोल्डर को नियमित रूप से ज़िप करके करें - HD स्थान सस्ता है! अंत में, छोटे चरणों में क्या काम करता है और रिफ्लेक्टर पर वापस जाएं, यह सुनिश्चित करते हुए कि गेम अभी भी प्रत्येक चरण में काम करता है। यह वास्तव में सब कुछ अलग देखने के लिए कोड को साफ करने के लिए निराशाजनक है। बस पुराने कोड पर वापस लौटें।


1
"यदि आप वास्तविक संस्करण नियंत्रण का उपयोग नहीं करते हैं, तो प्रारंभ करें " - सही उत्तर है। :) वास्तव में - यह सीखने के लिए काफी आसान है, और एक प्रमुख बल-गुणक है। कोई भी वीसी आपको सीखने के लिए जितना समय लगता है, उससे बहुत अधिक समय बचाएगा ।
साइक्लोप्स

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

1

प्रेरित रहने के लिए, अपने आप से कहती रहें कि आप एक खेल बना रहे हैं, एक खेल इंजन नहीं - ठीक है, जब तक कि वह आपकी चीज न हो। और यह अच्छा है, खेल इंजन महान हैं, लेकिन वे भी अक्सर खेल बनाने के रास्ते में आते हैं।

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

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

तो, याद रखें: गेम बनाएं, गेम इंजन नहीं। जब जरूरत हो केवल रिफ्लेक्टर। बहुत लचीला मत बनो - सिर्फ नंगे न्यूनतम। *

* - बेशक रिफ्लैक्टरिंग और लचीलापन महत्वपूर्ण है। लेकिन उतना महत्वपूर्ण नहीं जितना वास्तव में एक समाप्त खेल है।


1

एक दिन में एक खेलने योग्य संस्करण बनाने की कोशिश करें, चाहे कितना भी सरल हो। फिर पुनरावृति।


1
  1. अपने खेल को बहुत जटिल बनाने की कोशिश मत करो!

  2. अपने कार्य को छोटे, विशिष्ट, औसत दर्जे के उप-प्रकारों में विभाजित करें। यदि कोई उपप्रकार बहुत बड़ा लगता है, तो उसे आगे घटाएँ।

  3. सुनिश्चित करें कि आप अपने कार्य सूची में बड़े अक्षरों में "DONE" लिखते हैं (जब आपका कार्य पूरा हो जाता है तो मैं एक .txt फ़ाइल का उपयोग करता हूं)। कार्य को न निकालें, क्योंकि तब ऐसा नहीं लगेगा कि आप प्रगति कर रहे हैं।

मैं यह करता हूं। यह अतीत में काम किया है।

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