जवाबों:
व्यक्तिगत रूप से मुझे नहीं लगता कि कोई भी अच्छे उदाहरण हैं, मोटे तौर पर क्योंकि खेलों के लिए "घटक-आधारित प्रणाली" की परिभाषा इतनी शिथिल रूप से परिभाषित है कि इसका मतलब कुछ भी नहीं हो सकता है।
आपको इस उत्तर में कुछ चर्चा सहायक हो सकती है: वेब गेम में वस्तुओं के लिए एक घटक आधारित प्रणाली को कैसे लागू किया जाए
इस पूरे मामले में, दृष्टिकोण बस एक बड़े वर्ग के गेमऑबजेक्ट या अभिनेता को बदलने के लिए है जो व्यवहार को निष्पादित करने वाली वस्तुओं को रखने वाले एक सरल वर्ग में सभी व्यवहार को संभालता है। मुझे लगता है कि यह अपने आप से काम करना और अपने खेल के अनुकूल विभिन्न घटक बनाना अक्सर आगे बढ़ने का सबसे अच्छा तरीका होगा।
यहां कुछ संसाधन पसंद कर सकते हैं कर रहे हैं:
नहीं है इस अद्भुत धागा। यह एक गेम इंजन ही नहीं है, लेकिन डिजाइन और चर्चा महान है।
एक बहुत ही इसी विषय पर StackOverflow पर एक प्रश्न ।
मूल प्रश्न का उत्तर देने के लिए, C # में एलिफेंट फ्रेमवर्क ठीक वही है जो आप चाहते हैं: इसे बंद कर दिया गया है, लेकिन कार्यान्वयन के संदर्भ में अभी भी यहां मौजूद है ।
यह साइट एक बुनियादी कार्यान्वयन में शुरू होती है।
उपरोक्त में से अधिकांश टी = मशीन के इस लेख से प्रेरित हैं
मैंने उपरोक्त दो लिंक्स से प्रेरित एक बुनियादी कार्यान्वयन में शुरुआत की। मुझे पूरा यकीन है कि मैंने घटक प्रणालियों के शुद्ध सिद्धांत से बहुत कुछ भटका दिया है, और निस्संदेह कीड़े हैं, लेकिन यदि आप कुछ सरल उदाहरणों की तलाश कर रहे हैं तो यह उपयोगी साबित हो सकता है।
Bricle (C # / XNA)
अभी यह कुछ बुनियादी संस्थाओं को लोड कर रहा है, कुछ घटनाओं को संभालता है, आदि जिन मुख्य स्थानों को आप देख रहे हैं, वे Engine.EntitySystem फ़ोल्डर और शायद PlayScreen हैं जहाँ संस्थाएँ वास्तव में बनाई गई हैं।
एक साधारण प्रकार-आधारित घटक स्टोर बनाना और यह छिपाना कि एक आम एंटिटी मैनजर के पीछे अपेक्षाकृत सीधा था।
पहली चुनौती मैं तब भागती थी जब व्यक्तिगत प्रणालियों के लिए कई घटक प्रकारों की आवश्यकता होती है (जैसे, भौतिक घटक और InputMoveable)। रिलेशनल डेटाबेस भाषा का उपयोग करने के लिए, मुझे एक JOIN क्वेरी करने का तरीका खोजना होगा। उसके लिए, मैंने मिलान घटक प्रकार के प्रश्नों से निर्मित संस्थाओं के लिए एक और संग्रह प्रकार बनाया - प्रत्येक इकाई संग्रह एक OnEntityCreate घटना में हुक करता है और जांचता है कि क्या यह मेल खाता है। अभी भी वहाँ कुछ कीड़े।
दूसरी चुनौती वास्तव में एक 'गेम ऑब्जेक्ट' का निर्माण करना था - मैंने उन्हें टेम्पलेट कहा। यहां मैं टी = मशीन के चश्मे के अनुसार शायद बहुत शुद्ध नहीं हूं, लेकिन यह काम करने लगता है। टेंपलेट्स समूह एक साथ घटक तात्कालिकता और आसान इकाई संरचना की अनुमति देते हैं (यानी, गेंद को खींचने योग्य और भौतिक है)।
आशा है कि सहायक - इकाई / घटक प्रणाली कुछ शुरुआती बाधाओं से गुजरने के लिए एक चुनौती हो सकती है।
एक और, मैंने उपयोग नहीं किया है, लेकिन कोड के माध्यम से थोड़ा देखा, आर्टेमिस है । अच्छी तरह से टिप्पणी की और काफी सक्रिय है। मूल रूप से जावा फ्रेमवर्क लेकिन C # / XNA में पोर्ट किया गया है।