क्या कोड दर्शन / अमूर्तता / प्रोग्राम डिज़ाइन की संरचना 2 डी और 3 डी ग्राफिक्स (अलग से) के साथ एक गेम का उपयोग करने की अनुमति देगा, गेम लॉजिक को फिर से कोड किए बिना?
हम समान कोड लेने की बात कर रहे हैं, न्यूनतम चीजों को बदल रहे हैं (उदाहरण के लिए, 3D संपत्तियों के लिए फ़ाइलनाम के साथ 2D संपत्तियों के लिए फ़ाइल नाम का आदान-प्रदान), और हो सकता है कि बेस क्लास प्रति जेनरिक / टेम्प्लेट की कुछ विशिष्टताओं में प्लगिंग हो।
इसे वास्तविक संदर्भ में रखने के लिए, जहां यह समझ में आता है: एक लैन-मल्टीप्लेयर गेम की कल्पना करें जहां एक शीर्ष-पायदान है, कुछ वास्तव में अच्छे गेमर रिग्स वाले खिलाड़ियों के लिए प्रदर्शन-भूखे 3 डी क्लाइंट, और पुराने के लिए एक अधिक विनम्र 2 डी क्लाइंट। धूल के बक्से जो किसी ने अपने अटारी में पाए। लेकिन यह अभी भी एक ही खेल है - समान घटनाओं को पंजीकृत किया जाता है (किसी ने एक सिक्का उठाया), उसी नेटवर्क प्रोटोकॉल का उपयोग किया जाता है, दुनिया आनुपातिक हैं, आदि।
इसे MVC के संदर्भ में रखने के लिए: नियंत्रक बिल्कुल एक ही हैं ("ऊपर" कुंजी दबाने से खिलाड़ियों का त्वरण 3.5 यूनिट / सेकंड पर सेट हो जाएगा), दृश्य पूरी तरह से अलग हैं (2 डी बनाम 3 डी), और मॉडल समान है ग्राफिक्स से सीधे संबंधित किसी भी चीज को छोड़कर (पर्यावरण के लिए टकराव की जांच हर 5 सेकंड में की जाती है, और यह समान कॉन्फ़िगरेशन का उपयोग करता है। ध्यान दें कि इसका मतलब यह होगा कि 2 डी संस्करण में सभी गेम ऑब्जेक्ट्स के लिए एक जेड-समन्वय है, लेकिन यह है उदाहरण के लिए किसी अन्य तरीके से उपयोगकर्ता को केवल अनदेखा या प्रदर्शित किया जाता है, जो खिलाड़ी के हवा में होने पर आगे बाईं ओर प्रदर्शित होता है)।
इस तरह के एक आकर्षक विषय यह है कि यह डेवलपर को यह स्पष्ट रूप से बताएगा कि उसका डेटा कैसे संरचित है और नियंत्रण कैसे प्रवाहित होता है। ध्यान दें कि यह एसडीएल, डी 3 डीएक्स या ओपनगेल जैसे ग्राफिक्स लाइब्रेरी के अलावा कुछ भी उपयोग नहीं करता है। कोई खेल इंजन नहीं!
चूंकि यह ज्यादातर सैद्धांतिक सवाल है, इसलिए मैं प्रोग्रामिंग भाषाओं को इससे बाहर छोड़ दूंगा, लेकिन यदि आप एक उदाहरण देना चाहते हैं तो आप अपनी पसंद की किसी भी भाषा का उपयोग कर सकते हैं, C ++ यदि आप पूरा हॉग जाना चाहते हैं, या ब्रेनफक भी महसूस कर सकते हैं चुनौती तक (किसी भी ठोस जवाब की सराहना की जाएगी, साथ ही साथ किसी भी सार!)।