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