1 पॉइंट द्वारा GN⁺ 2024-07-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Emperor: Battle for Dune पुनर्स्थापन प्रोजेक्ट

Emperor: Battle for Dune क्या है?

  • 2001 में Westwood Studios द्वारा बनाया गया एक real-time strategy गेम
  • Dune 2000 का sequel, जिसकी विशेषताएँ 3D graphics, बेहतर UX, और शानदार soundtrack हैं
  • आज यह ज़्यादा जाना-पहचाना नहीं है

समस्याएँ

  • आधुनिक सिस्टम पर high resolution को support नहीं करता
  • multiplayer में गेम की गति बहुत तेज़ हो जाती है, जिससे खेलना संभव नहीं रहता
  • Westwood Online(WOL) काम नहीं करता, इसलिए LAN को छोड़कर multiplayer संभव नहीं है
  • campaign mode को co-op mode में नहीं खेला जा सकता
  • installer खराब है
  • high frame rate की वजह से visual effects टूट जाते हैं

समस्याओं को हल करने का तरीका

  • Emperor.exe को replace करने वाला एक प्रोग्राम लिखा गया, जो Game.exe को control करता है
  • patch लागू करने के लिए DLL inject की गई

patch injection

  • CreateRemoteThread और LoadLibrary ट्रिक का उपयोग करके Game.exe में code inject किया गया
  • मौजूदा functions को modify करने के लिए detours library का उपयोग किया गया

graphics patch

high resolution window

  • resolution समस्या हल करने के लिए UCyborg का LegacyD3DResolutionHack patch इस्तेमाल किया गया
  • 4:3 ratio बनाए रखने के लिए letterbox जोड़ा गया

frame rate limit

  • FPS को 60 तक सीमित करने के लिए IDirect3DDevice7::EndScene method को patch किया गया

networking patch

  • multiplayer functionality बहाल करने के लिए WOL mode का उपयोग किया गया
  • winsock को intercept करके एक single client-server connection के माध्यम से सभी communications को tunnel किया गया

IRC server लिखना

  • WOL master server को replace करने के लिए एक basic IRC server implement किया गया

packaging

installer replacement

  • मूल installer खराब होने के कारण एक नया installation tool लिखा गया
  • v1.09 patch लागू किया गया

Westwood Online shared internet components

  • WOL functionality बहाल करने के लिए WOLAPI.DLL को COM class library के रूप में register किया गया

launcher UI

  • सरल settings को adjust करने के लिए एक basic launcher UI बनाया गया

निष्कर्ष

  • लक्ष्य हासिल कर लिया गया, और अब आधुनिक सिस्टम पर Emperor: Battle for Dune को सुचारु रूप से चलाया जा सकता है
  • co-op campaign mode सहित multiplayer functionality बहाल की गई

GN⁺ का सारांश

  • यह प्रोजेक्ट एक महत्वपूर्ण सांस्कृतिक संरक्षण कार्य है, जो पुराने गेम्स को आधुनिक सिस्टम पर फिर से आनंद लेने योग्य बनाता है
  • तकनीकी रूप से दिलचस्प चुनौतियों को हल किया गया है, खासकर graphics और networking समस्याओं को सुलझाने की प्रक्रिया प्रभावशाली है
  • इसी तरह की functionality देने वाले प्रोजेक्ट्स में dxwrapper जैसे DirectX wrapper प्रोजेक्ट शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-07-15
Hacker News की राय
  • Emperor: Battle for Dune को archive.org से डाउनलोड किया जा सकता है

    • लिंक
    • wheybags patch के साथ गेम आज़माना चाहने वालों के लिए जानकारी साझा की गई
    • पुराने pirated release की सूची भी खोज निकाली गई
    • यह जानकर हैरानी हुई कि OST soundtrack भी मौजूद है
  • इस गेम का RTS genre में बड़ा महत्व है

    • यह उन शुरुआती典型 RTS गेम्स में से एक था जिनमें resource harvest करने वाले किसान होते थे
    • मूल उपन्यास की वजह से इसका रूप ऐसा बना, वरना संभव है कि RTS genre किसी और दिशा में गया होता
  • Westwood Online (WOL) अब काम नहीं करता

    • multiplayer सिर्फ LAN के ज़रिए संभव है
    • WOL के offline होने के बाद XWIS.net ने काफ़ी support दिया
    • FreeRA project भी WOL को चलाने में मदद कर सकता है
    • WOL library को replace करना तुलनात्मक रूप से आसान हो सकता है
  • 10 साल पहले Tiberian Sun के networking code को patch करने का अनुभव साझा किया गया

    • किसी और के codebase में उतरना, जैसे किसी shared connection में घुसना हो
    • यह जानकर हैरानी हुई कि modem play के लिए अलग stack मौजूद था
  • लगता है लेखक मज़ेदार और बुद्धिमान इंसान है

    • विस्तार से बढ़ाई जा सकने वाली व्याख्या बहुत उपयोगी और मज़ेदार थी
    • यह जिज्ञासा जताई गई कि CS:GO 2023 में retire हुआ था या CS2 के रूप में rebrand किया गया
  • CnCNet के साथ integration की संभावना सुझाई गई

    • CnCNet पर साथ खेलने का निमंत्रण
  • "28.8 BPS modem" अभिव्यक्ति पर प्रतिक्रिया

    • "active matrix, लाखों तरह के psychedelic colors" जैसी अभिव्यक्ति
  • ब्लॉग पोस्ट में अक्सर दिखने वाले "मैं कोई skilled reverse engineer नहीं हूँ" वाक्य पर प्रतिक्रिया

    • अब तक काफ़ी अनुभव जुटा लिया है, इसलिए आत्मविश्वास रखना चाहिए
  • इतने रोचक और गहराई वाले लेख के लिए धन्यवाद

    • गेम को स्थानीय used goods store में देखा था, लेकिन सिर्फ Dune II खेला था इसलिए खरीदा नहीं
    • अब इसे ज़रूर खरीदने का मन बना लिया
  • UI design के प्रति उत्साह जताया गया

    • Steve Yegge की ब्लॉग पोस्ट की याद दिलाता है