क्या वास्तव में एक ठेठ C64 खेल में एक स्क्रीन बनाता है?


10

मैं मूल रूप से C64 खेल के विकास के मूल आधार का पता लगाने की कोशिश कर रहा हूं, और मैं कुछ बुनियादी, लेकिन महत्वपूर्ण चीजों पर कुछ सलाह का उपयोग कर सकता हूं: वास्तव में स्क्रीन पर वह सब क्या है, और इसे कैसे खींचना है?

काताकिस / डेनारिस पर एक नज़र डालें :

कैटकिस स्क्रीनशॉट

स्क्रीन पर कम से कम 9 अलग-अलग चीजें हैं:

  1. अलग-अलग फोंट के साथ स्कोर बार
  2. जहाज ही
  3. जहाज से जुड़ा एक उपग्रह, वियोज्य
  4. माध्यमिक हथियार प्रोजेक्टाइल
  5. प्राथमिक हथियार प्रोजेक्टाइल
  6. मूविंग ऑब्जेक्ट्स (दुश्मन जहाज हो सकते हैं)
  7. स्थिति पट्टी, जहाज की एक छवि, जीवन की संख्या और तीन खंड जो भर सकते हैं
  8. प्राथमिक हथियार चार्ज बार, अंत तक भर सकता है
  9. पृष्ठभूमि में एक स्क्रॉल स्टारफील्ड
  10. (स्क्रीन पर क्रमांकित नहीं) ठोस वस्तुएं जैसे चट्टानें या धातु की दीवारें जो पृष्ठभूमि का हिस्सा हैं

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

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

स्कोर और स्टेटस बार में बहुत सारा सामान स्टैटिक है ("एरिया: 01" या "फ्रेम"), इसलिए मुझे लगता है कि जब स्तर शुरू होगा तो मैं उन्हें सिर्फ एक बार पॉपुलेट करूंगा। जिन चीज़ों को अपडेट करने की ज़रूरत है - स्कोर, सबसे नीचे वाली चार्ज बार - स्क्रीन को काली के साथ मेमोरी को भरने और फिर नए स्कोर को अपने फ्रेम में ड्रा करके अपडेट किया जाएगा?

या क्या मुझे हर फ्रेम पर पूरी स्क्रीन खींचनी है?

जवाबों:


13

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

2, 3, 6. जिन्हें स्प्रिट होने की संभावना है।

4, 5, 9. उन चरित्र ग्राफिक्स (8x8 पिक्सेल) सॉफ्टवेयर "स्प्राइट" होने की संभावना है

गेम बिटमैप मोड का उपयोग नहीं करेगा, इसे मेमोरी की बहुत अधिक गति की आवश्यकता होगी (जब तक आप कुछ वीआईसी चिप ट्रिक नहीं करते ...)। प्रयुक्त मोड चरित्र ग्राफिक्स मोड होगा।

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

स्कोर / स्थिति आप शुरू होने पर आबाद करते हैं, और फिर जरूरत पड़ने पर उन्हें अपडेट करते हैं।

आपको स्प्राइट और उनकी स्थिति प्रत्येक फ्रेम को अपडेट करना होगा। आप प्रोजेक्टाइल भी अपडेट करेंगे। इसके अलावा आप उस x * y पिक्सेल स्टारफ़ील्ड पैटर्न को अपडेट करेंगे।


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

2

मैंने कुछ समय पहले जर्मन C64 पत्रिका में एक लेख पढ़ा। गोलियां ऐसे अक्षर हैं जो किसी के द्वारा पहले से ही बताए गए अनुसार कार्य करते हैं। जहाज और दुश्मन स्प्राइट हैं।

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

इसलिए वह बड़े मॉड्यूल का उपयोग कर सकता है और उन रचना कर सकता है। इसके अलावा, वह मॉड्यूल के प्रतिच्छेदन को अच्छा और साफ पाने के लिए कुछ पैच-मॉड्यूल का उपयोग करेगा।

सभी अपने सभी प्रकार के संपीड़न में, जहां स्तरों को चार द्वारा चार के बजाय बिल्डिंग ब्लॉक का वर्णन किया गया है।

इसके अलावा, आपने देखा होगा कि कटकियों में कुछ स्तरों में लंबन पृष्ठभूमि होती है।

यह पृष्ठभूमि को भरने के लिए एक पैटर्न है, जो ज्यादातर 2x2 या 3x3 अक्षरों से बना है, और स्क्रॉल करने की दिशा के खिलाफ इसे (बिट-शिफ्टिंग) एनिमेट किया गया है। उदाहरण के लिए स्तर 2 पिक्सेल को बाईं ओर स्क्रॉल करता है, पृष्ठभूमि-पैटर्न को 1 पिक्सेल दाईं ओर स्क्रॉल किया जाता है, इसलिए यह धीमी गति से स्क्रॉल किया गया प्रतीत होता है।

उम्मीद है की वो मदद करदे

एक और बात आप वास्तव में एकल मॉड्यूल देख सकते हैं और यहां https://archive.org/details/64er_1989_10/page/n27 पेज 24 पर स्क्रॉल करें

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