यदि आप शुरू से ही इसके बारे में बात कर रहे हैं , और ध्यान दें कि बहुत कम प्रमुख खेल इंजन अब खरोंच से कोडित हैं, और ध्यान दें कि यह एक उदाहरण है और जरूरी नहीं कि यह हमेशा कैसे काम करता है। । ।
प्रतिपादन:
एक फ्लैट छायांकित घन प्रदान करके प्रारंभ करें। इसमें मूल प्रकाश प्रभाव जोड़ें। कैमरा घुमाने का एक तरीका जोड़ें। अब आप एक उबाऊ घन के चारों ओर उड़ सकते हैं, एक अनंत काले शून्य में निलंबित। वाह।
अगला, आप शायद एक मॉडल आयात करना चाहते हैं। बहुत कम से कम, आपका कलाकार एक डेमो मॉडल (एक चायदानी आश्चर्यजनक रूप से पारंपरिक है) को कोड़ा मार सकता है, लेकिन उनके पास एक वास्तविक गेम मॉडल हो सकता है जो वे आपको सौंप सकते हैं। फिर, हम अभी के लिए फ्लैट छायांकन के साथ चिपके हुए हैं, इसलिए यह दिखाएगा कि यह बाहर से बना है। । । ठीक है, कोई यथार्थवादी पदार्थ नहीं है, लेकिन मैट प्लास्टिक और चीनी मिट्टी के बरतन के बीच एक क्रॉस की तरह है। यह , लेकिन अच्छी रोशनी के बिना। और हम अभी भी उस बिंदु पर हैं जहां यह पूरी तरह से अनमोल है।
अगले तीन प्रमुख चरण किसी भी क्रम में किए जा सकते हैं।
सबसे पहले, आप इलाके चाहते हैं। अधिकांश आधुनिक खेल "स्थिर ज्यामिति" और "अभिनेताओं" में प्रतिपादन को विभाजित करते हैं, जहां स्थैतिक ज्यामिति में वे चीजें शामिल होती हैं जो नहीं बदलती हैं (दीवार, जमीन, लैम्पपोस्ट) और अभिनेताओं में वे चीजें शामिल होती हैं जो परिवर्तन करती हैं (खिलाड़ी, वाहन, विनाशकारी लम्पटोस्ट)। बुनियादी प्रतिपादन अवधारणा दोनों के लिए समान है, ऐसे अनुकूलन हैं जो आप स्थिर ज्यामिति के लिए कर सकते हैं जो आप अभिनेताओं के लिए नहीं कर सकते। आप करेंगे की जरूरत है के लिए वास्तव में जा रहा प्राप्त गेमप्ले इंजीनियरों के लिए भू-भाग, वे कम से कम बुनियादी इलाके प्रतिपादन में रिग अप करने के लिए आप पर प्रतीक्षा कर रहे हैं अगर ऐसा है, यह समय है।
दूसरा, आप बनावट चाहते हैं। यह एक बहुत बड़ा विषय है और संभावना है कि आप मील के पत्थर के लिए हो रहे होंगे, कुछ और महत्वपूर्ण करने जा रहे हैं, फिर बार-बार आ रहे हैं। आपका पहला पास केवल मॉडल में बनावट जोड़ सकता है। आपका दूसरा पास बेहतर प्रकाश व्यवस्था और सतह के व्यवहार को जोड़ सकता है। आपका तीसरा पास छाया जोड़ सकता है (मैं छाया के बारे में पूरी प्रतिक्रिया भर सकता हूं)। आप किस तरह का खेल कर रहे हैं, इसके आधार पर, यह मनमाने ढंग से जटिल हो सकता है। कहीं न कहीं आप अपने पूरे खेल इंजन को स्थगित किए गए प्रतिपादन में बदल सकते हैं।
तीसरा, आप एनीमेशन चाहते हैं। आपके एनिमेटरों (यह मानकर कि आप 1995 में नहीं रह रहे हैं) ने अपने मॉडल के लिए एनीमेशन रिग्स की स्थापना की होगी, जिसमें मॉडल के माध्यम से चलने वाली हड्डियां शामिल होंगी और कुछ एनिमेशन के दौरान हड्डियां कैसे चलती हैं, इसकी जानकारी होगी। आप शायद मांग पर एनिमेशन खेलने की क्षमता के साथ शुरू करेंगे, फिर एनिमेशन को एक साथ मिलाने की क्षमता जोड़ेंगे।
एक बार वह सब पूरा हो जाने के बाद, अनुकूलता पर काम करने का समय आ गया है। यदि आप AAA गेम पर काम कर रहे हैं, तो आपके पास कई तरह के हार्डवेयर पर अपने कोड का परीक्षण करने का कोई तरीका है - शायद यह इनडोर है, हो सकता है कि आप एक परीक्षण फर्म से अनुबंध करें, जो भी हो। आपका बहुत सारा कोड विशिष्ट ग्राफिक्स कार्ड या विशिष्ट ड्राइवर संस्करणों पर टूट जाएगा, और आपको जितना संभव हो उतना ठीक करना होगा।
यह अनुकूलन पर विचार करने का भी समय है। रेंडर करना एक बड़ी, बड़ी गति का मुद्दा है, इसलिए अब आपको यह पता लगाना है कि हार्डवेयर को सबसे गहरे स्तर पर कैसे फायदा उठाया जाए ताकि वह जितनी तेजी से चल सके। यदि आपको लगता है कि यह "संगतता" के साथ संघर्ष कर सकता है, तो आप सही हैं! यह पूरी तरह से करता है! सबसे अच्छा अनुकूलन, आप पाएंगे, बस कुछ कार्ड पर फ्लैट-आउट काम नहीं करेगा। आपको इन सभी कारकों को संतुलित करना है।
इस बिंदु के आसपास, आपके कलाकार नए टेक्सचरिंग टूल या नए एनीमेशन फीचर्स की मांग करेंगे, और आपके स्तर के डिजाइनर नई इलाके रेंडरिंग तकनीक चाहते हैं। "अगले तीन प्रमुख चरणों को किसी भी क्रम में किया जा सकता है" पर वापस जाएं और खेल होने तक दोहराएं।
गेमप्ले:
मैं उन हिस्सों को छोड़ने जा रहा हूं जो बहुत ही दर्शनीय नहीं हैं। सबसे पहले, आपको लगता है कि जब तक इलाके प्रतिपादन में है, तब तक इंतजार करना पड़ता है, हालांकि बहुत सारे बैकेंड सामान हैं जो आप तब तक कर सकते हैं।
एक बार जब आप मिल जाते हैं, तो आप कुछ बुनियादी टकरावों को स्थापित करेंगे। यह संभवतः एक स्थान-खेल में उड़ान का रूप ले लेगा और फिर एक बटन दबाएगा जो एक क्यूब को गिराता है। घन गिरता है और जमीन से टकराता है। एक बार जब घन जमीन पर लगातार गिरता है, तो आप खिलाड़ी की गति को स्थापित करना शुरू कर सकते हैं, इसलिए आप उसी तरह से दुनिया भर में दौड़ सकते हैं जिस तरह एक खिलाड़ी करता है।
एक बार जब आप बुनियादी आंदोलन भौतिकी काम कर रहे होते हैं, तो आप उनमें से एक हैं "ये एक साथ किए जा सकते हैं" खंड फिर से:
मुकाबला लागू करने की जरूरत है। आपको उन चीजों की आवश्यकता है जो चीजों को शूट कर सकती हैं, और उन सभी चीजों को उचित रूप से व्यवहार करने की आवश्यकता है।
भौतिकी को लागू करने की आवश्यकता है। आपको टकराव काम कर रहे हैं, लेकिन टक्कर भौतिकी का एक छोटा खंड है। जब कोई एक टैंक से एक जीप रैंप करता है, तो सब कुछ के रूप में इरादा के रूप में व्यवहार करने की जरूरत है।
खेल यांत्रिकी को लागू करने की आवश्यकता है। जब आप जीत गए या हार गए तो आपको कैसे पता चलेगा? कितनी बार चीजें घूमती हैं, और क्या नियंत्रित करता है? यदि कम्युनिस्ट एक स्पॉन पॉइंट पर विजय प्राप्त करते हैं, तो यह अराजकतावादी वाहनों को पैदा करना क्यों जारी रखता है? इस तरह की चीज।
आपके डिजाइनर आपको कितना सामान देना चाहते हैं, इसके आधार पर ये सभी फिर से, मनमाना समय ले सकते हैं। आप बग्स पर नज़र रखने के लिए एक टन का समय बिताएंगे ("अरे, देखो जब मैं इस जेट फाइटर के विंग पर टैंक चलाता हूं तो क्या होता है)"। ध्यान दें कि इस का एक अच्छा सौदा एक अस्पष्ट दुनिया के साथ, या चरित्र रिग की स्थिति में चारों ओर चलने वाले मॉडल के साथ होगा , या टैंकों के साथ जो कि "TANK" शब्द के साथ बड़े बक्से हैं।
यूआई:
यूआई वास्तव में मुख्य रेंडरिंग कोड से पहले शुरू हो सकता है, क्योंकि यूआई और गेम-वर्ल्ड रेंडरिंग पूरी तरह से अलग कोडपैथ का उपयोग करते हैं। क्यूब से शुरू करने के बजाय, आप एक बॉक्स से शुरू करेंगे, फिर बॉक्स में टेक्सचर जोड़ें, फिर बॉक्स में टेक्स्ट जोड़ें।
इस बिंदु पर, आपका जीवन सामान्य-उद्देश्य वाले विगेट्स लिखने के लिए पर्याप्त समय प्राप्त करने की कोशिश में बिताया जाता है, जबकि अभी भी पर्याप्त यूआई समय में डाल दिया गया है कि डिजाइनर और गेम मैकेनिक डेवलपर्स गेम को यथार्थवाद के अस्पष्ट रूप में देख सकते हैं। कुछ बिंदु पर आपके यूआई कलाकार यूआई के लिए एक सुसंगत अनुभव के साथ आएंगे, और फिर आप अंतिम यूआई तत्वों पर काम करना शुरू करेंगे, जबकि वास्तविक खिलाड़ियों पर उन यूआई तत्वों का परीक्षण करना सुनिश्चित करने के लिए कि वे समझने योग्य और उपयोग करने योग्य हैं।
मैं आवश्यकता के रूप में इन के बारे में अधिक बात कर सकता हूं, लेकिन अगर मैं ऐसा करता हूं तो यह एक महापाप में बदल जाएगा, इसलिए अभी के लिए, मैं नहीं करूंगा :)