SurrealEngine: UT99 चलाने योग्य Unreal Engine का ओपन सोर्स पुनः-कार्यान्वयन
(github.com/dpjudas)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)
--engineversionargument इंजन द्वारा 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,SurrealDebuggerexecutables बनते हैं -
निम्न 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 टिप्पणियां
Hacker News राय
Quake III को वेब पर पोर्ट किया गया है और उसमें multiplayer व mobile support जोड़ा गया है
पहले लगा कि यह प्रोजेक्ट उस प्रोजेक्ट जैसा है जो UE1 गेम्स को UE5 पर होस्ट करता है
यह प्रोजेक्ट बहुत खुशी देता है और बहुत-सी पुरानी यादें ताज़ा कर देता है
Unreal Tournament 99 और Deus Ex मेरी सबसे खुशीभरी gaming यादों में से हैं
Epic, id Software की तरह मूल engine को open source कर सकता है
एक दूसरे डेवलपर द्वारा Surreal 98 विकसित किया जा रहा है, जो UE1 गेम्स को UE5 में VR, mods और आधुनिक फीचर्स के साथ खेलने योग्य बनाता है
Civvie 11 का "Epic Unreal Megaspecial" सुझाया गया है
Unreal Tournament 2004 को dockerize किया गया है, और यह Linux x86_64 पर अच्छी तरह काम करता है
यह सोचकर जिज्ञासा होती है कि Quake/Unreal को बिल्कुल शुरुआत से फिर से लिखने में कितना development time लगा होगा
UT99 बहुत याद आता है, और आधुनिक FPS गेम्स उतने पसंद नहीं आते