2008-08-21 10 views
24

Project Darkstar कल रात NYC में Google कार्यालयों में मासिक JavaSIG मीटिंग का विषय था। उन लोगों के लिए जो (शायद हर कोई) नहीं जानते हैं, प्रोजेक्ट डार्कस्टार बड़े पैमाने पर मल्टीप्लेयर ऑनलाइन गेम के लिए एक ढांचा है जो सभी "हार्ड सामान" का ख्याल रखने का प्रयास करता है। मूल विचार यह है कि आप अपने गेम सर्वर तर्क को इस तरह से लिखते हैं कि सभी परिचालन छोटे कार्यों में विभाजित हो जाते हैं। आप इन कार्यों को परियोजना डार्कस्टार ढांचे में पास करते हैं जो क्लस्टर में किसी विशिष्ट नोड को वितरित करते हैं, किसी भी सहमति के मुद्दों, और अंततः डेटा को बनाए रखते हैं।परियोजना डार्कस्टार यथार्थवादी है?

स्पष्ट रूप से इस तरह की चीज करना एंटरप्राइज़ अनुप्रयोगों के मुकाबले वीडियो गेम के लिए एक बहुत ही अलग समस्या है। व्याख्यान देने वाले जिम वाल्डो का दावा है कि एमएमओ खेलों में 50/50 का डीबी पढ़ने/लिखने का अनुपात होता है, जबकि एंटरप्राइज़ ऐप्स 90% पढ़ते हैं, 10% लिखते हैं। वह यह भी दावा करता है कि अधिकांश मौजूदा एमएमओ सबकुछ स्मृति में सबकुछ रखते हैं, और केवल 6 घंटे के दौरान डीबी को डंप करते हैं। इसका मतलब है कि यदि कोई सर्वर नीचे चला जाता है, तो आप अंतिम डीबी डंप के बाद से सभी काम खो देंगे।

अब, परियोजना वास्तव में बहुत अच्छी लगती है, लेकिन मुझे नहीं लगता कि उद्योग इसे स्वीकार करेगा। सबसे पहले, आपको जावा में अपना सर्वर कोड लिखना होगा। क्लाइंट कोड कुछ भी लिखा जा सकता है (जिम का दावा है कि एक्शनस्क्रिप्ट 3 सबसे लोकप्रिय है, सी ++ का पालन करें), लेकिन सर्वर सामान को जावा होना चाहिए। मेरे लिए अच्छा लगता है, लेकिन मुझे वास्तव में यह धारणा मिलती है कि गेम उद्योग में हर कोई जावा से नफरत करता है।

दूसरा, अन्य उद्योगों के विपरीत जहां डेवलपर्स मौजूदा ढांचे और पुस्तकालयों का उपयोग करना पसंद करते हैं, गेम उद्योग में लोग खुद सबकुछ लिखना पसंद करते हैं। इतना ही नहीं, वे अपने द्वारा उत्पादित हर नए गेम के लिए सबकुछ फिर से लिखना पसंद करते हैं। चीजें बदलना शुरू हो रही हैं जहां डेवलपर्स भौतिकी के लिए हैवोक का उपयोग कर रहे हैं, अवास्तविक इंजन 3 उनके प्लेटफार्म के रूप में, आदि, लेकिन अधिकांश भाग के लिए ऐसा लगता है कि सब कुछ अभी भी स्वामित्व है।

तो क्या प्रोजेक्ट डार्कस्टार के लोग बस अपना समय बर्बाद कर रहे हैं? क्या इस तरह का एक सामान्य रूपरेखा जटिल प्रदर्शन के लिए वास्तव में प्रदर्शन के साथ काम कर सकता है? यहां तक ​​कि अगर यह काम करता है, तो क्या गेम कंपनियां इसका इस्तेमाल करने के इच्छुक हैं?

उत्तर

24

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

बाजार कुछ बड़े खेलों का प्रभुत्व हो सकता है, लेकिन इसका मतलब यह नहीं है कि अधिक विशिष्ट खेलों के लिए बहुत अधिक जगह नहीं है। आइए इसका सामना करें: यदि आप 100,000+ खिलाड़ियों तक पहुंचना चाहते हैं, तो आप कम से कम महत्वपूर्ण कोर के लिए अपना खुद का प्रौद्योगिकी ढेर बना रहे हैं। ईवी ऑनलाइन (StacklessIO) के लिए सीसीपी ने यही किया है, यही वह है जो बर्फ़ीला तूफ़ान ने वर्ल्ड वार्कक्राफ्ट के लिए किया था (हालांकि वे कई तृतीय-पक्ष पुस्तकालयों का उपयोग करते हैं), यही मायथिक ने वॉरहमर ऑनलाइन के लिए किया था (हालांकि वे गेमब्रियो पर आधारित हैं)।

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

लेकिन गेम तकनीक आपकी एकमात्र समस्या नहीं है - आपको बिलिंग से निपटने की भी आवश्यकता है। केवल क्रेडिट कार्ड? जर्मनी में मज़ेदार बिक्री करें, वहां लोग ईएलवी चाहते हैं। यही वह जगह है जहां आपको एक विश्वसनीय बिलिंग प्रदाता की आवश्यकता है, लेकिन बिलिंग सुनिश्चित होने पर खातों को अवरुद्ध/पुनः सक्रिय करने के लिए आपको अपने खाते के साथ बिलिंग एप्लिकेशन में तार करने की आवश्यकता है।

कुछ कंपनियों को पहले से ही "MMO Infratructure सेवा" (यानी Arvato's EEIS) की पेशकश कर रहे हैं, लेकिन लब्बोलुआब यह है: परियोजना Darkstar की तरह सामग्री यथार्थवादी है, लेकिन यह सोचते हैं कि आप एक बहु अरब-MMO पूरी तरह से एक तीसरी पार्टी पर निर्माण कर सकते हैं ढेर आशावादी, संभवतः आदर्शवादी है।

लेकिन तब फिर से, पूरी तरह से प्रौद्योगिकी के सभी और भी अधिक मूर्ख है की खोज - (यानी बिलिंग, फ़ॉन्ट प्रतिपादन, ऑडियो आउटपुट ...), लेकिन write the stuff that really makes or breaks your business (यानी नेटवर्क ढेर, यूजर इंटरफेस तृतीय पक्ष सामान कि आप की आवश्यकता का उपयोग आदि) अपने आप पर। (नोट: जेफ की पोस्टिंग a bit flawed हो सकती है, लेकिन समग्र दिशा सही आईएमएचओ है।)

परिशिष्ट: इसके अलावा, गेम उद्योग लाइसेंस और इंजन का पुन: उपयोग करता है। सबसे प्रमुख गेम इंजन Unreal Engine, Source Engine और id Tech हैं, जो सैकड़ों गेम नहीं हैं, जो दर्जनों को ईंधन देते हैं। लेकिन कुछ कम ज्ञात (उद्योग के बाहर) इंजन हैं। Gamebryo है, सभ्यता 4 और Fallout 3 जैसे गेम के पीछे मिडलवेयर, RenderWare था जो अब केवल ईए-इन-हाउस है, लेकिन बैटलफील्ड 2 या सिम्स 3 जैसे गेम में उपयोग किया जाता है। ओपन सोर्स Ogre3d है, जिसका उपयोग किया गया था some वाणिज्यिक titles में।यदि आप सिर्फ ध्वनि की तलाश में हैं, तो FMOD जैसी चीजें हैं या यदि आप फ़ॉन्ट-प्रतिपादन करना चाहते हैं, तो FreeType एक स्पिन क्यों न दें?

मैं जो कह रहा हूं वह है: थर्ड-पार्टी इंजन/मिडलवेयर मौजूद हैं, और इनका सफलतापूर्वक एक दशक से अधिक समय से उपयोग किया जा रहा है (मुझे पता है कि आईडी के वोल्फेंस्टीन इंजन को अन्य कंपनियों के लिए लाइसेंस प्राप्त था, और वह 1 99 2 था), यहां तक ​​कि बड़ी कंपनियों द्वारा बहु मिलियन डॉलर के खिताब में भी। महत्वपूर्ण बात यह है कि समर्थन, क्योंकि किसी समस्या के मामले में कोई मदद नहीं वाला एक अच्छा इंजन बहुत अधिक बेकार है या कम से कम बहुत महंगा है यदि डेवलपर को इंजन के असफल डिबगिंग के साथ अपना गेम-डेवलपमेंट-टाइम खर्च करना पड़ता है।

यदि डार्कस्टार के लोग समर्थन पक्ष को सही और 2 या 3 उच्च प्रोफ़ाइल शीर्षक प्राप्त करने में कामयाब होते हैं, तो मुझे विश्वास है कि यह एमएमओ बाजार को बहुत अधिक छोटे डेवलपर्स और इंडीज में खोलने में सफल हो सकता है।

+1

प्रयास के लिए धन्यवाद! –

+0

दिलचस्प और सूचनात्मक – Andy

+4

सूचनात्मक: परियोजना डार्कस्टार ओरेकल द्वारा बंद कर दिया गया है, हालांकि मूल विकास टीम के कुछ सदस्यों द्वारा एक कांटा चलाया जाता है जिसे लाल बौने सर्वर कहा जाता है जो http://www.reddwarfserver.org/ पर पाया जा सकता है। – Kynth

-1

मैं खेल उद्योग में काम नहीं करता हूं, लेकिन ऐसा लगता है कि यह वीडियो गेम के लिए वही काम करेगा जैसे क्वैक और हाफ लाइफ इंजन ने किया था। यही वह उद्योग में रूचि रखने वाले युवा डेवलपर्स को बढ़ावा देने और इंडी खेलों के विकास को बढ़ावा देने के लिए प्रोत्साहित करेंगे।

जो मैं कह सकता हूं उससे, वीडियो गेम कंपनियां अपने अधिकांश कोड का पुन: उपयोग नहीं करती हैं, क्योंकि अगर वे ऐसा करते हैं तो इसका तात्पर्य है कि उनका नया गेम सिर्फ पुराने लोगों का एक रिहाश है। हर कोई एक अच्छा नया भौतिकी इंजन, बेहतर ग्राफिक्स, खेल खेलने के नए तरीके चाहता है। अधिकांश वीडियो गेम इंजन और ढांचे एक विशिष्ट परिदृश्य के लिए बने होते हैं और इस प्रकार अन्य स्थितियों के लिए बहुत मोटे नहीं होते हैं।

शायद डार्कस्टार इसे सही लगेगा, लेकिन मुझे थोड़ा संदेह है, क्योंकि सामान्यीकरण केवल इतना ही काम करता है।

+1

लेकिन डार्कस्टार बैक-एंड कोड के बारे में है, क्लाइंट-साइड कोड नहीं - खिलाड़ियों (सामान्य रूप से) जब वे बड़े और बेहतर चाहते हैं तो बैक-एंड तकनीक की परवाह नहीं करते हैं। –

2

जो मैं कह सकता हूं उससे, वीडियो गेम कंपनियां अपने अधिकांश कोड का पुन: उपयोग नहीं करती हैं, क्योंकि अगर वे ऐसा करते हैं तो इसका तात्पर्य है कि उनका नया गेम सिर्फ पुराने लोगों का एक रिहाश है।

उम ... यदि आप वीडियो गेम कंपनियों की लंबी पूंछ का जिक्र कर रहे हैं, तो शायद। एक ऐसी कंपनी के भीतर जिसमें सफल गेम की श्रृंखला है, आमतौर पर पुन: उपयोग के कुछ मोडिकम होते हैं। प्रमुख हार्डवेयर परिवर्तनों के परिणामस्वरूप बहुत सारे काम मिल सकते हैं, लेकिन यह वास्तव में कंपनी पर निर्भर करता है।

3

मुझे बेकार तकनीक की तरह लगता है। एमएमओ दुनिया को कुछ बड़ी गेम कंपनियों द्वारा नियंत्रित किया जाता है जिनके पास पहले से ही अपना तकनीक है। इंडी गेम डेवलपर्स एमएमओ बनाने की कोशिश करना पसंद करते हैं और कभी-कभी वे करते हैं, लेकिन उन खेलों को शायद ही कभी कर्षण प्राप्त होता है।एमएमओ दुनिया में तोड़ने वाली बड़ी कंपनियां शायद "साबित" तकनीक का लाइसेंस देगी, या अपना खुद का विस्तार करेंगी।

गेम कंपनियां गेम से गेम तक बड़ी मात्रा में कोड का पुन: उपयोग करती हैं। अधिकांश/कई गेम कंपनियों ने आंतरिक रूप से अपना खुद का तकनीक विकसित किया है, और इसका उपयोग हर गेम पर करते हैं। कभी-कभी, वे अपने भौतिकी कोड को तीसरे पक्ष के भौतिकी इंजन के साथ बदलने की तरह कुछ करेंगे। यदि उनके आंतरिक कोड बेस (गेम इंजन, डिज़ाइन टूल्स, आंतरिक पाइपलाइन) बहुत अधिक उम्र बढ़ने लगते हैं, या अनावश्यक हो जाते हैं, तो वे अवास्तविक जैसे बड़े गेम इंजनों में से एक पर स्विच कर सकते हैं। फिर भी, कोड के प्रमुख भाग को गेम से गेम में फिर से इस्तेमाल किया जाना जारी रहेगा।

1

यह डिजाइन और कोड के लिए मजेदार लगता है, लेकिन मुझे लगता है कि यह अंततः useless abstractions (जोएल से चोरी करने के लिए) नीचे आता है।

1

गेम के लिए "गेम इंजन" का पुन: उपयोग करना बहुत आम है, यहां तक ​​कि तीसरे पक्ष के भी। यह उस दिशा में एक और कदम की तरह लगता है।

1

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

मुझे लगता है कि यह एक कठिन खेल का लक्ष्य बनाते समय इन चीजों को लिखने के लिए कठिन होगा और संभवतः इस तरह की तकनीकों का उपयोग नहीं किया जा सकता है। और रनटाइम के दौरान आपको अच्छी जानकारी भी मिलती है, जहां आपको एक आवेदन में मंदी या डेडलॉक्स का कारण होता है ताकि आप इसे बेहतर बना सकें।

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