2009-05-14 15 views
8

3 डी गेम विकसित करते समय उपयोग किए जाने वाले कुछ सामान्य डिजाइन पैटर्न क्या हैं? क्या कोई उच्च स्तरीय वास्तुशिल्प डिजाइन पैटर्न हैं जिनका उपयोग आमतौर पर किया जाता है? वास्तुकला के भीतर सामान्य सॉफ्टवेयर पैटर्न के बारे में क्या?कुछ सामान्य 3 डी गेम पैटर्न क्या हैं?

उत्तर

5
  • प्रति अद्यतन चरण (उदाहरण के लिए प्रतिपादन) (और वास्तव में सभी यूआई पुस्तकालयों में आम) करने के लिए समग्र करने के लिए समग्र। (पेड़/झाड़ियों/गोलियों) यूआई पुस्तकालयों का एक बहुत के लिए
  • ऑब्जर्वर स्क्रीन पर एक ही आइटम प्रकार के कई बैठक के लिए
  • फ्लायवेट खेल/मेनू के बीच संक्रमण के लिए (फिर से, नहीं विशिष्ट खेल)
  • राज्य/सांत्वना/रोकें/आदि। राज्यों
  • मोब्स/एनपीसी बनाने के लिए कुछ बीट-एम-अप प्रकार के खेलों में सार कारखाना (एक समय में एआई पात्रों की हास्यास्पद मात्रा वाले गेम - यानी वाम 4 मृत)।
  • ए *
  • संपादित करने के पथ में स्वैपिंग हेरिस्टिक के लिए रणनीति> एमएमओ जैसे गेम के लिए कमांड जिसमें अदला-बदली बटन के साथ एक एक्शनबार है जिसे आप मंत्र और क्या नहीं चुनने के लिए क्लिक कर सकते हैं।

यही वह है जिसे मैं अभी देखकर सोच सकता हूं।

0

राज्य पैटर्न पर बदलाव मॉडलिंग गेम राज्य के लिए उपयोगी हैं। Enginuity series of articles गेम इंजन डिज़ाइन के निम्न स्तर के कुछ पहलुओं का एक अच्छा अवलोकन है। यह अपूर्ण है, लेकिन अच्छा है। खेल राज्य को संभालने के लिए गुफ फ्रेमवर्क के डिजाइनर outlined the use of state hierarchies। पदानुक्रम अवधारणा अच्छी है, हालांकि एक खेल राज्य का उनका दृष्टिकोण सीमित है (इसमें केवल राज्य के बजाय पूरे गेम लूप शामिल हैं)। उनके पास paper on real-time game loops भी है।

स्क्रिप्टिंग को लागू करते समय, अत्यंत किसी स्क्रिप्टिंग भाषा का उपयोग करने के लिए उपयोगी और शक्तिशाली है जो कुछ प्रकार के सहकारी मल्टीथ्रेडिंग का समर्थन करता है। स्टैकलेस पायथन यह प्रदान करता है। मोनो 2.6 के बाद से, आप can do this in C# using continuations, लेकिन केवल मोनो प्लेटफ़ॉर्म (.NET नहीं) पर, क्योंकि इसे वीएम में परिवर्तन की आवश्यकता है।

2 डी और 3 डी ग्राफिक्स, एनीमेशन, इनपुट इत्यादि के लिए सामान्य समाधान हैं। इनमें से कई को डायरेक्टएक्स, एसडीएल या इसी तरह के ढांचे द्वारा नियंत्रित किया जाता है।

1

मुझे नहीं लगता कि कोई विशेष रूप से गेम-विशिष्ट सॉफ़्टवेयर डिज़ाइन पैटर्न हैं। गेम एक ही भाषा, पुस्तकालय, प्लेटफॉर्म का उपयोग सभी के रूप में करते हैं और सॉफ़्टवेयर स्तर पर बिल्कुल वही समस्याएं का सामना करते हैं।

कुछ विधियां या दृष्टिकोण हैं जो लोकप्रिय प्रतीत होते हैं, लेकिन क्लासिक डिजाइन पैटर्न के तरीके में कोड स्तर पर औपचारिक नहीं हैं। एक उदाहरण घटक-आधारित अभिनेता है, अक्सर एक ही ऑब्जेक्ट में भी एकत्रित नहीं होता है, लेकिन एक आईडी साझा करके, सिग्नल/स्लॉट प्रकार तंत्र के माध्यम से संचार करता है। दूसरा लुआ, पायथन, या जावास्क्रिप्ट जैसे स्क्रिप्टिंग उद्देश्यों के लिए दूसरी भाषा का एम्बेडिंग होगा।

+0

मैं वास्तव में कुछ सामान्य वास्तुकला पैटर्न की तलाश में हूं - जैसे खेल के सभी अलग-अलग घटकों को उच्च स्तर से समझने योग्य और बनाए रखने योग्य तरीके से व्यवस्थित करना। एक एमवीसी प्रकार आर्किटेक्चर या एक स्तरित वास्तुकला के बराबर खेल विकास की तरह कुछ। –

+2

वे मौजूद नहीं हैं, मुझे डर है! GameDev पर इस तरह का सवाल बार-बार आता है।नेट लेकिन वास्तव में कोई मानक दृष्टिकोण या कुछ जैसा नहीं है। सबकुछ में इनपुट-अपडेट-रेंडर/आउटपुट लूप होता है, और अक्सर मैट ओलेनिक द्वारा वर्णित एक गेम स्टेट सिस्टम होता है, लेकिन इससे परे, यह विभिन्न छोटे पैमाने पर सिस्टम और पैटर्न की एक एड-हाॉक व्यवस्था है। मैं कुछ सलाह दे सकता था, लेकिन अगर मैंने दावा किया कि मेरे सुझाव "आम" थे तो मैं झूठ बोलूंगा। – Kylotan

1

मुझे this PDF संभावित गेम आर्किटेक्चर का विवरण मिला। हालांकि, यह उन पाठकों के लिए असहनीय हो सकता है जो वस्तु-उन्मुख डिजाइन के संदर्भ में सोचने के इच्छुक हैं। '

संबंधित मुद्दे