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

Surreal Engine

इस प्रोजेक्ट का लक्ष्य UnrealEngine के मूल संस्करण का पुनः-कार्यान्वयन करना है, ताकि Unreal Tournament (UT99) मैप्स खेले जा सकें।

वर्तमान स्थिति

  • इंजन मैप्स को लोड और रेंडर कर सकता है
  • Unrealscript VM लगभग पूरा हो चुका है, लेकिन arrays और network conditional execution अभी लागू नहीं किए गए हैं
  • सभी level actors को लोड करके मैप को initialize करने की कोशिश करता है
  • मेनू और HUD दिखाई देते हैं, लेकिन कई native functions अभी लागू नहीं किए गए हैं
  • कुछ events ठीक से काम नहीं कर सकते, और interaction के दौरान exceptions हो सकती हैं

फिलहाल SurrealEngine निम्नलिखित UE1 गेम्स को detect कर सकता है:

  • Unreal Tournament (v436, v451b, v469(a, b, c, d))
  • Unreal (v200, v209, v220, v224v, v225f, v226f)
  • Unreal Gold (v226b, v227(i, j, k_11))
  • Deus Ex (v1002f, v1112fm)
  • Klingon Honor Guard (219)
  • NERF Arena Blast (v300)
  • TNN Outdoors Pro Hunter (v200)
  • Rune Classic (v1.10)
  • Clive Barker's Undying (v420)
  • Tactical-Ops: Assault on Terror (v3.4.0 and v3.5.0 - UT436 और UT469 इंजन पर चलता है)
  • Wheel of Time (v333)

ऊपर दी गई सूची में केवल Unreal Tournament v436 और Unreal Gold v226 ही तुलनात्मक रूप से खेलने योग्य स्थिति में हैं। दूसरे गेम्स चलाने पर crash हो सकता है।

Unreal Tournament v436

  • गेम चलता है, मेनू options काम करते हैं, और bot match खेला जा सकता है
  • bots की AI लगभग न के बराबर है, और कुछ maps की functionality गायब है (उदाहरण: DM-Morpheus में "X मैच में बढ़त बनाए हुए है" स्क्रीन काम नहीं करती)

Unreal Gold v226

  • गेम चलता है और अधिकांश मेनू options काम करते हैं
  • single-player maps और bot matches खेले जा सकते हैं
  • AI, UT की तरह ही व्यवहार करती है
  • Return to Na Pali के object models टूटे हुए दिखते हैं

Deus Ex v1112fm

  • केवल intro flyby काम करता है
  • keyboard या mouse input detect नहीं होता (Deus Ex, Unreal/UT से अलग तरीके से input handle करता है)

कमांड लाइन पैरामीटर्स

SurrealEngine [--url=<mapname>] [--engineversion=X] [गेम फ़ोल्डर पथ]

  • SurrealEngine executable को UE1 गेम के System फ़ोल्डर में कॉपी करके चलाया जा सकता है
  • अगर गेम फ़ोल्डर निर्दिष्ट नहीं है, तो इंजन registry (केवल Windows) में Epic द्वारा सेट की गई registry keys खोजता है
  • अगर URL निर्दिष्ट नहीं है, तो ini फ़ाइल का default URL इस्तेमाल होता है (डिफ़ॉल्ट intro map)
  • --engineversion argument इंजन द्वारा detect किए गए internal version को override करता है, और इसका उपयोग केवल debugging के लिए किया जाना चाहिए

Windows build निर्देश

  • CMake का उपयोग करके प्रोजेक्ट build करें
  • Visual Studio का नवीनतम संस्करण और C++17 को support करने वाला MSVC compiler आवश्यक है
  • SDL2 एक optional dependency है, जिसे लोकली उपलब्ध कराना होगा (Visual C++ version का SDL2 डाउनलोड करें और CMake configuration में उस फ़ोल्डर को निर्दिष्ट करें)
  • इसके अलावा कोई external third-party dependency नहीं है

Linux build निर्देश

  • CMake का उपयोग करके प्रोजेक्ट build करें
  • build करने के लिए निम्न कमांड्स क्रम से चलाएँ:
git clone https://github.com/dpjudas/SurrealEngine.git
cd SurrealEngine
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 16
  • compilation सफलतापूर्वक पूरी होने पर build फ़ोल्डर में SurrealEngine, SurrealEditor, SurrealDebugger executables बनते हैं

  • निम्न development packages आवश्यक हैं:

    • cmake
    • g++
    • pthreads
    • dl
    • alsa (libasound2)
    • SDL2
    • waylandpp (optional, Wayland के लिए C++ binding, ZWidget Wayland backend में उपयोग होता है)
  • Linux पर SDL2 अनिवार्य है, और SurrealEngine इसका उपयोग window functionality और native Wayland support के लिए करता है (SDL_VIDEODRIVER=wayland)

GN⁺ की संक्षिप्त जानकारी

  • Surreal Engine, UnrealEngine के मूल संस्करण का पुनः-कार्यान्वयन करके Unreal Tournament (UT99) मैप्स चलाने योग्य बनाने वाला प्रोजेक्ट है
  • फिलहाल केवल Unreal Tournament v436 और Unreal Gold v226 ही तुलनात्मक रूप से खेलने योग्य हैं, जबकि दूसरे गेम्स crash हो सकते हैं
  • इसे Windows और Linux पर CMake के साथ build किया जा सकता है, और SDL2 जैसी कुछ dependencies की आवश्यकता होती है
  • यह प्रोजेक्ट पुराने गेम्स को आधुनिक सिस्टम्स पर फिर से खेलने योग्य बनाता है और गेम डेवलपर्स व इंजीनियर्स के लिए दिलचस्प हो सकता है
  • समान कार्यक्षमता वाले प्रोजेक्ट्स में OpenRA जैसे open source game engines शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-08-24
Hacker News राय
  • Quake III को वेब पर पोर्ट किया गया है और उसमें multiplayer व mobile support जोड़ा गया है

    • Unreal Tournament को भी पोर्ट करना चाहा था, लेकिन अभी वह खेलने लायक स्थिति में नहीं है
    • अच्छा होता अगर Epic ने id Software की तरह पुराने रिलीज़ को GPL के तहत जारी किया होता
    • UT की जगह अगले प्रोजेक्ट के लिए Serious Sam पर विचार किया जा रहा है
    • Serious Engine open source है और उसका web port पहले से मौजूद है (multiplayer नहीं है)
  • पहले लगा कि यह प्रोजेक्ट उस प्रोजेक्ट जैसा है जो UE1 गेम्स को UE5 पर होस्ट करता है

    • दरअसल यह वही प्रोजेक्ट है, और DXU24 में इसका rebranding करके Surreal किया गया था
    • एक open source frontend भी जोड़ा गया है
    • डेवलपर ने YouTube पर कई WIP वीडियो अपलोड किए हैं
  • यह प्रोजेक्ट बहुत खुशी देता है और बहुत-सी पुरानी यादें ताज़ा कर देता है

    • video game archive पर किए जा रहे काम के लिए धन्यवाद
  • Unreal Tournament 99 और Deus Ex मेरी सबसे खुशीभरी gaming यादों में से हैं

    • यह प्रोजेक्ट बहुत महत्वाकांक्षी है और पुराने गेम्स को प्यार मिलते देखना अच्छा लगता है
    • Deus Ex remake की उम्मीद अब भी है
  • Epic, id Software की तरह मूल engine को open source कर सकता है

  • एक दूसरे डेवलपर द्वारा Surreal 98 विकसित किया जा रहा है, जो UE1 गेम्स को UE5 में VR, mods और आधुनिक फीचर्स के साथ खेलने योग्य बनाता है

  • Civvie 11 का "Epic Unreal Megaspecial" सुझाया गया है

  • Unreal Tournament 2004 को dockerize किया गया है, और यह Linux x86_64 पर अच्छी तरह काम करता है

    mkdir -p ~/.ut2004/; sudo docker run -it --rm -e DISPLAY=$DISPLAY -e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR -e HOME=/ --network=host -v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 -v /run/user/$UID:/run/user/$UID -v ~/.ut2004/:/.ut2004/ --user $UID:$UID --privileged --name ut2004 ikuinen.earth:5000/ut2004
    
  • यह सोचकर जिज्ञासा होती है कि Quake/Unreal को बिल्कुल शुरुआत से फिर से लिखने में कितना development time लगा होगा

    • यह सिर्फ पोर्ट नहीं, बल्कि custom engine के साथ पूरी तरह से दोबारा लिखा गया संस्करण है
  • UT99 बहुत याद आता है, और आधुनिक FPS गेम्स उतने पसंद नहीं आते