जब प्रोटोटाइप, मैं और अधिक आसानी से कैसे खेल व्यवहार का पता लगा सकते हैं?


49

मैं अपने आप को इंडी गेम्स का निर्माण करता हूं, लेकिन मैं आमतौर पर ऊर्जा से बाहर रहता हूं एक बार मैंने एक नए विकसित गेम को एक स्तर पर ले लिया है जहां व्यवहार के साथ खेलना संभव है, इसलिए मैं अन्वेषण के बजाय शोधन के लिए व्यवस्थित हूं। भयानक परिणामों के साथ।

शोधन बनाम अन्वेषण
( इंटरकॉम ब्लॉग से तस्वीर )

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

खेल के व्यवहार का शीघ्र पता लगाने के लिए और क्या तरीके मौजूद हैं? मैं इंडी डेवलपर्स और साथ ही बड़ी कंपनियों द्वारा उपयोग की जाने वाली कार्यप्रणाली में दिलचस्पी रखता हूं।


1
वह बहुत अच्छी तस्वीर है। ये कहां से है?
शानदार

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

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

जब आप डिबग मोड में परीक्षण कर रहे हैं, तो आप अपना कोड बदल सकते हैं, जब आप इसे रोकते हैं (कम से कम दृश्य स्टूडियो में)। जब तक आप बहुत ज्यादा नहीं बदलते (फंक्शन हेडर इत्यादि), आप इसे थोड़े थोड़े समय के साथ अपने रुके हुए गेम में लोड कर सकते हैं
टोबियास बी

@TobiasB: व्यवहार में मैंने दुर्भाग्य से उस बेकार को पाया है। विशेष रूप से जब आप सामान्य रूप से अपने गेम मैकेनिक को स्क्रिप्ट में फैलाते हैं, तो पहले से ही खेल की वस्तुओं, परिसंपत्तियों और इसके आगे के उदाहरण। मुझे यकीन नहीं है कि मुक्त विज़ुअल एक्सप्रेस इसका समर्थन करता है, वास्तव में 14 वर्षों से इसका उपयोग नहीं किया है! :)
जोनास बिस्ट्रॉम

जवाबों:


30

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

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

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

मेरी वर्तमान परियोजना में, एक छोटी सी recompile करने, लिंक करने, गेम लॉन्च करने और फिर गेमप्ले तक पहुँचने में लगभग दस सेकंड लगते हैं (अधिकांश यह एक सहेजे गए गेम को लोड करते समय रेंडर करने योग्य विश्व ज्यामिति उत्पन्न कर रहा है)। और यह बहुत लंबा है। तो मैंने अलग-अलग "परीक्षण" गेम मोड बनाए हैं जो मुझे गेम के विभिन्न हिस्सों को सभी वास्तविक गेम परिसंपत्तियों को लोड किए बिना परीक्षण करने देता है, इसलिए मैं बहुत तेज़ी से अंदर और बाहर हो सकता हूं; आमतौर पर लगभग दो से तीन सेकंड में। अगर मैं कुछ UI का परीक्षण करना चाहता हूं, तो मैं वास्तविक गेम में लोड किए बिना कर सकता हूं। यदि मैं रेंडरिंग का परीक्षण करना चाहता हूं, तो मेरे पास एक और मोड है जहां मैं उस परीक्षण कर सकता हूं, फिर से पूरे गेम सिस्टम को लोड किए बिना।

मैंने अन्य लोगों को देखा है जो एक DLL में गेम लॉजिक लगाकर समस्या का सामना कर चुके हैं, और पहले से ही मेमोरी गेम को निष्पादन योग्य DLL को पुनः लोड कर रहे हैं, जबकि गेम चल रहा है, इसलिए आप DLL को फिर से बना सकते हैं और इसे फिर से लोड कर सकते हैं पहले से ही लोड किया गया निष्पादन योग्य है, इसलिए आपको अपने खेल की कला संपत्ति को फिर से लोड / पुनर्निर्माण करने की आवश्यकता नहीं है। यह मुझे पागलपन की तरह लगता है, लेकिन मैंने इसे पूरा किया है।

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

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


3
आप अपने "परीक्षण" खेल मोड पर विस्तृत कर सकते हैं? जब भी आप उस पर पुनरावृति करना चाहते हैं, क्या आप खेल का एक टुकड़ा यहाँ और वहाँ के लिए बनाते हैं? आपको अपना "स्लाइस" सेटअप करने के लिए कितना समय चाहिए? क्या बचा है और कैसे? क्या आपके पास इस प्रकार की चीज़ के लिए "सेव गेम" और "लोड गेम" कार्यक्षमता है, या यह कम सामान्य है?
जोनास बिस्ट्रॉम

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

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

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

1
@ JonasByström यह भी ध्यान देने योग्य है कि "एक तेज़ कंप्यूटर खरीदें" "मैं अपने पुनरावृत्तियों को कैसे प्राप्त करूं" सवाल का भी पूरी तरह से कानूनी समाधान है। और अक्सर यह सबसे सस्ता समाधान हो सकता है, जब विशेष परीक्षण रिग को लागू करने में अपने समय के निवेश की तुलना में। अपनी यात्रा के समय को कम करना एक निवेश है जिसे आपने बहुत समय / पैसा / प्रयास दिया है, लेकिन यह सड़क के नीचे बहुत सारे लाभांश का भुगतान करता है।
ट्रेवर पॉवेल

20

अच्छी तरह से प्रोटोटाइप करने के लिए, परीक्षण विचारों की लागत को कम करें।

मेरे वर्कफ़्लो को छोटे गेम के लिए तैयार किया गया है, लेकिन मैंने इन चीजों को मददगार पाया है:

  • प्रोटोटाइप-फ्रेंडली तकनीक  मैंने एक गतिशील प्रोग्रामिंग भाषा और फ्रेमवर्क का उपयोग करने के लिए उपयोगी पाया है, जैसे कि Lua ( L isVE 2 डी के लिए अच्छा है), जावास्क्रिप्ट या लिस्प / योजना जहां कुछ करने के लिए प्रोग्राम प्राप्त करना आवश्यक है, यहां तक ​​कि लागत पर भी न्यूनतम कीस्ट्रोक्स की आवश्यकता होती है बाकी सब कुछ। एक बार जब आप जानते हैं कि आप क्या चाहते हैं, और इसे परिष्कृत करना चाहते हैं, तो किसी अन्य इंजन को अनुकूलित या पोर्ट करें।
  • संस्करण नियंत्रण  एक संशोधन नियंत्रित भंडार में प्रोटोटाइप रखें । शाखा जल्दी, शाखा अक्सर। यह आपको बिना किसी चिंता के आराम करने की कोशिश करता है कि आप कुछ खो देंगे या भूल जाएंगे। ( Git का सबसे सस्ता ब्रांचिंग मॉडल है।)
  • स्वचालन का निर्माण  करें सुनिश्चित करें कि आपको चलाने के लिए वास्तव में जितना संभव हो उतना कम करने की आवश्यकता है। मेरी राय में, यहां तक ​​कि एक बटन दबाने के लिए बहुत अधिक है: मेरे पास आमतौर पर Makefileएक make watchलक्ष्य के साथ होता है inotifywaitजो लूप में चलता है, खेल को स्वचालित रूप से संकलित / चलाने के द्वारा परिवर्तन दर्ज करने के लिए प्रतिक्रिया करता है। एक व्याख्या या JIT- संकलित भाषा में, यह तुरंत है।

1
लुआ हॉटस्पैपिंग कोड का समर्थन नहीं करता है। क्या इसका मतलब यह है कि आपको अपने परिवर्तनों को परखने के लिए अपने खेल / प्रोटोटाइप को पुनः आरंभ करने की आवश्यकता है?
जोनास बिस्ट्रॉम

6
Hotswapping Lua कोड निश्चित रूप से संभव है।
जोश

1
@ JonasByström यह संभव है, लेकिन केवल सही वातावरण के तहत। यदि आपको एक नहीं मिल रहा है, तो एक लिखें, Lua का स्रोत कोड C में लिखा गया है, इसलिए यह किसी भी चीज़ के लिए पोर्टेबल है जो C- शैली फ़ंक्शन कॉल को स्वीकार करता है। ओपनजीएल, एसडीएल 2 या कुछ अन्य ग्राफिक्स / हार्पर रैपिंग लाइब्रेरी के साथ इसे मिलाएं और खुद को एक हॉटस्पैपिंग आईडीई बनाएं।
छपरा


2
@ जोनासबीस्ट्रॉम: ... चाँद को वापस पाने के अलावा, जाहिरा तौर पर। :(
मेसन व्हीलर

11

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

  1. एक इंजन का उपयोग करें जो आपको परिवर्तन करने की अनुमति देता है FAST। इस तरह "संकलन के लिए इंतजार नहीं" चीजें शामिल हैं, लेकिन यह भी, "डिबगिंग में आसानी", "क्रम में चीजों को बदलने" आदि मैं व्यक्तिगत रूप से Unity3D प्यार करता हूँ, लेकिन यह नहीं है "परीक्षण परिसंपत्तियों की उपलब्धता" सबसे अच्छा उपकरण वहाँ बाहर। सर्वश्रेष्ठ टूल गेम पर निर्भर करता है: उदाहरण के लिए, Unreal इंजन Unity3D की तुलना में कोड का तरीका धीमा करता है, लेकिन यह जल्दी से अन्य संबंधित क्लाइंट लॉन्च कर सकता है। एक नेटवर्क गेम के लिए, यह अक्सर संकलन लागतों को बंद कर देता है। परिचित पर भी विचार करें। यदि आप C ++ के साथ व्हिज़ हैं, तो भी सबसे अच्छा जावास्क्रिप्ट इंजन बहुत अच्छा नहीं करेगा, और इसके विपरीत। अपरिचित तकनीक के साथ संघर्ष करने में समय व्यतीत न करें (मेरा मतलब है, अन्य भाषाओं / रूपरेखाओं को सीखें, लेकिन महत्वपूर्ण प्रोटोटाइप बनाने के साथ ही नहीं)।
  2. मौजूदा सुविधाओं को निर्दयता से स्क्रैप करना सीखें। आपके द्वारा पहले से लागू किए गए सामानों के साथ चिपके रहना सफल प्रोटोटाइपिंग के लिए आत्मीयता है, लेकिन अपने काम को छोड़ देना कठिन है।
  3. यदि आप गेम डिजाइनर के साथ काम नहीं करते हैं, तो "एक प्रोग्रामर की टोपी पहने" और "एक डिजाइनर की टोपी पहने हुए" के बीच एक स्पष्ट रेखा डालें। एक नया कूल गेमप्ले फीचर जोड़ना बहुत लुभावना लगता है, लेकिन ऐसा तब न करें जब आप डिजाइनर स्थिति में हों। बल्कि आपके पास जो है उसके साथ मज़ेदार गेमप्ले (अधिमानतः कई प्रकार) बनाने की कोशिश करें; सुविधाओं है कि मदद और होगा की एक सूची बनाने तो लागू (कुछ) उन्हें।
  4. रैपिड प्रोटोटाइप में दो विपरीत के बीच संतुलन शामिल है। आप जितनी जल्दी हो सके सामान बनाना चाहते हैं, इसलिए आप खराब कोड लिखते हैं। लेकिन आप जितना संभव हो सामान बदलना चाहते हैं, इसलिए आपको अच्छा कोड लिखना होगा! इन दोनों को संतुलित करना सीखें। क्षमा करें, मैं वास्तव में ऐसा करने के बारे में कोई ठोस सलाह के बारे में नहीं सोच सकता, लेकिन कम से कम इस समस्या (-8) के प्रति सचेत हो

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


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

@Jonas Byström स्पष्ट करने के लिए: यहाँ "सुविधाओं" से मेरा मतलब गेमप्ले में आवश्यक परिवर्तन है। Ie विशेष रूप से सुंदर प्रतिपादन नहीं है, लेकिन कुछ ऐसा है जैसे "शिल्प ब्लॉकों के लिए एक रास्ता जोड़ें" या "एक हमले को मारने वाले खिलाड़ी को जोड़ दें" और एक Minecraft को प्रोटोटाइप करते समय।
नेवरमाइंड

1
आपके दूसरे बिंदु का महत्व, "सुविधाओं को जाने देना", अतिरंजित नहीं किया जा सकता है। कई एक्सप्लोसिव फेज उस फेल हुए फीचर को "ना" न कहने की वजह से फेल हो जाते हैं जिसे लागू होने में 2 हफ्ते लग गए।
कोस्टास

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

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

5

एक इन चार चरणों के बीच खेल के विकास को विभाजित कर सकते हैं:

  • प्रोटोटाइप
  • गेमप्ले शोधन
  • विकास
  • प्रदर्शन शोधन

गेमप्ले अन्वेषण मैं मानता हूं कि ज्यादातर प्रोटोटाइप चरण पर होता है और ये कुछ सलाह हैं जिनका मैं पालन करने की कोशिश करता हूं:

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

  • कोड यह जानकर कि आप काम पूरा होने के बाद अपना कोड फेंक देंगे। यह आपको उदार होने की अनुमति देगा जब यह चुनने के लिए कि कौन सा गेम इंजन आता है।

  • तेज पुनरावृत्ति चक्र महत्वपूर्ण हैं (जैसा कि दूसरों ने पहले बताया है)। अपनी क्षमता के आधार पर एक गेम इंजन चुनें जो आपको जल्दी से दिखा सके कि आपने क्या कोडित किया है। आपको इस चरण में प्रदर्शन या चित्रमय निष्ठा की भी परवाह नहीं है।

  • अपना दायरा सीमित करें। यदि वास्तविक गेमप्ले 2 डी (सामान्य रणनीति गेम, जेआरपीजी) है, तो 2 डी में प्रोटोटाइप है। इस चरण में आप केवल गेमप्ले पर प्रतिक्रिया के बारे में परवाह करते हैं ।

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

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

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

अंत में, आपके पास जो है उसे ले लो और इसे कम संसाधनों का उपयोग करने के लिए ट्यून करो।

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


1
पेपर की तस्वीर और "प्यू प्यू" उत्कृष्ट सलाह हैं; और हाँ - सूचियाँ मेरी भी मदद करती हैं। "अपनी शीर्ष तीन प्राथमिकताओं को पहचानें। संख्या दो और तीन को हटा दें।" :)
जोनास बिस्ट्रॉम

4

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


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

2

मैंने ट्रैबंट नामक एक प्रोटोटाइप उपकरण बनाया जो:

  • 3D और गेम मैकेनिक केवल (कोई UI, कोई पाठ, कुछ नहीं) है;
  • एक प्रोटोटाइप बनाने के लिए बेहद कम कोड और कोई संपत्ति की आवश्यकता नहीं है ;
  • 3 डी मॉडल ASCII कला का उपयोग करके कोड में बनाए गए हैं ;
  • उप-सेकंड पुनरावृत्तियों की अनुमति देता है;
  • कठोर शरीर अनुकार समर्थन है;
  • विंडोज, मैक, लिनक्स और आईओएस पर काम करता है;
  • एक प्रसिद्ध सामान्य-प्रयोजन भाषा का उपयोग करता है, पायथन;
  • विंडोज और iOS के लिए एक IDE है।

मैंने उपरोक्त सत्यापन के लिए इसमें 30 परीक्षण प्रोटोटाइप बनाए।

के रूप में ट्रेवर पावेल पर बल दिया पुनरावृत्तियों <5 सेकंड होने की जरूरत है, और मैं 1s पुनरावृत्तियों अच्छा के रूप में लगभग पांच बार लगता है <।:)

Anko ने उल्लेख किया कि एक गतिशील भाषा का उपयोग करना एक अच्छा विचार है, मैंने पायथन को चुना क्योंकि यह सबसे व्यापक रूप से उपयोग किया जाता है । बिल्ड ऑटोमेशन के बारे में, Trabant में परीक्षण IDE में F5 (या अपने iPad पर परीक्षण करने के लिए F6) को दबाने के रूप में त्वरित है, और चूंकि इसमें कोई बिल्ड स्टेप शामिल नहीं है, इसलिए इससे अधिक त्वरित नहीं मिलता है।

Throwaway कोड में से एक था कोई बात नहीं की टेकअवे । मैं पूरी तरह से सहमत हूं, और ट्राबेंट इसे लागू करता है।


1

ट्रेवर पॉवेल की पुनरावृत्ति गति के अलावा जो वास्तव में महत्वपूर्ण है, यहां कुछ अन्य उपयोगी विचार दिए गए हैं:

इसके अच्छे कोड की तरह ...

वहाँ बहुत सारे आईएफएस।

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

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

किसी भी तरह से एक तकनीक के लिए प्रतिबद्धता अप्रासंगिक है अगर आप जिस चीज की तलाश कर रहे हैं उसे बहुत गहराई के बिना नकली किया जा सकता है - जो आप चाहते हैं / कर सकते हैं उस पर इसे प्रोटोटाइप करें।

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

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

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

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

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


यदि आप कुछ नया निर्माण कर रहे हैं, तो प्रोटोटाइपिंग की आवश्यकता है। टूलींग का अभाव कलम और कागज की कमी की तरह है - और सुनिश्चित करें कि आप रेत में आकर्षित कर सकते हैं, लेकिन यह अक्षम है। मैंने GIF या JS या स्क्रैच जाने से बचने के लिए Trabant का निर्माण किया ।
जोनास बिस्ट्रॉम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.