SurrealEngine: UT99 oynatabilen açık kaynak Unreal Engine yeniden uygulaması
(github.com/dpjudas)Surreal Engine
Bu projenin amacı, UnrealEngine'in orijinalini yeniden uygulayarak Unreal Tournament (UT99) haritalarının oynanabilmesini sağlamaktır.
Mevcut durum
- Motor haritaları yükleyip render edebiliyor
- Unrealscript VM neredeyse tamamlandı, ancak diziler ve ağa bağlı koşullu yürütme henüz uygulanmadı
- Tüm seviye aktörlerini yüklemeyi ve haritayı başlatmayı deniyor
- Menü ve HUD görünüyor, ancak birçok native fonksiyon henüz uygulanmadı
- Bazı olaylar düzgün çalışmayabilir ve etkileşim sırasında istisnalar oluşabilir
SurrealEngine şu UE1 oyunlarını algılayabiliyor:
- 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 ve UT469 motorunda çalışır)
- Wheel of Time (v333)
Yukarıdaki listede yalnızca Unreal Tournament v436 ve Unreal Gold v226 nispeten oynanabilir durumda. Diğer oyunlar çalıştırılırsa çökme yaşanabilir.
Unreal Tournament v436
- Oyun açılıyor, menü seçenekleri çalışıyor ve bot maçı oynanabiliyor
- Botların yapay zekası neredeyse yok ve bazı harita özellikleri eksik (ör. DM-Morpheus'taki "X maça liderlik ediyor" ekranı çalışmıyor)
Unreal Gold v226
- Oyun açılıyor ve menü seçeneklerinin çoğu çalışıyor
- Tek oyunculu haritalar ve bot maçları oynanabiliyor
- Yapay zeka, UT'ye benzer şekilde çalışıyor
- Return to Na Pali'nin nesne modelleri bozuk görünüyor
Deus Ex v1112fm
- Yalnızca intro flyby çalışıyor
- Klavye veya fare girdisi algılanmıyor (Deus Ex girdiyi Unreal/UT'den farklı şekilde işliyor)
Komut satırı parametreleri
SurrealEngine [--url=<mapname>] [--engineversion=X] [oyun klasörü yolu]
- SurrealEngine çalıştırılabilir dosyası UE1 oyununun System klasörüne kopyalanıp çalıştırılabilir
- Oyun klasörü belirtilmezse motor, registry'de (yalnızca Windows) Epic'in ayarladığı registry anahtarlarını arar
- URL belirtilmezse ini dosyasındaki varsayılan URL kullanılır (varsayılan intro haritasıdır)
--engineversionargümanı, motorun algıladığı iç sürümün üzerine yazar ve yalnızca hata ayıklama amacıyla kullanılmalıdır
Windows derleme talimatları
- Projeyi CMake kullanarak derleyin
- C++17 destekleyen güncel bir Visual Studio sürümü ve MSVC derleyicisi gerekir
- SDL2 isteğe bağlı bir bağımlılıktır ve yerelde sağlanmalıdır (SDL2'nin Visual C++ sürümünü indirip CMake ayarlarında ilgili klasörü belirtin)
- Bunun dışında harici üçüncü taraf bağımlılık yoktur
Linux derleme talimatları
- Projeyi CMake kullanarak derleyin
- Derlemek için aşağıdaki komutları sırayla çalıştırın:
git clone https://github.com/dpjudas/SurrealEngine.git
cd SurrealEngine
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 16
-
Derleme başarıyla tamamlanırsa
buildklasöründeSurrealEngine,SurrealEditor,SurrealDebuggerçalıştırılabilir dosyaları oluşturulur -
Şu geliştirme paketleri gereklidir:
- cmake
- g++
- pthreads
- dl
- alsa (libasound2)
- SDL2
- waylandpp (isteğe bağlı, Wayland için C++ binding'leri, ZWidget Wayland backend'inde kullanılır)
-
Linux'ta SDL2 zorunludur; SurrealEngine bunu pencere işlevleri ve yerel Wayland desteği için kullanır (
SDL_VIDEODRIVER=wayland)
GN⁺ özeti
- Surreal Engine, UnrealEngine'in orijinalini yeniden uygulayarak Unreal Tournament (UT99) haritalarını oynatmayı amaçlayan bir projedir
- Şu anda yalnızca Unreal Tournament v436 ve Unreal Gold v226 nispeten oynanabilir; diğer oyunlar çökebilir
- Windows ve Linux'ta CMake ile derlenebilir ve SDL2 gibi birkaç bağımlılık gerektirir
- Bu proje, eski oyunların modern sistemlerde yeniden oynanabilmesini sağlar ve oyun geliştiricileri ile mühendisler için ilgi çekici olabilir
- Benzer işlevlere sahip projeler arasında OpenRA gibi açık kaynak oyun motorları bulunur
1 yorum
Hacker News görüşleri
Quake III web'e taşınmış ve çok oyunculu ile mobil desteği eklenmiş
Bu projenin, UE1 oyunlarını UE5 üzerinde barındıran projeye benzediği düşünülmüş
Bu proje çok sevindirici ve birçok anıyı canlandırıyor
Unreal Tournament 99 ve Deus Ex, oyunlarla ilgili en mutlu anılardan bazıları
Epic, id Software gibi orijinal motoru açık kaynak yapabilir
Başka bir geliştirici, UE1 oyunlarını UE5 üzerinde VR, modlar ve modern özelliklerle oynanabilir hâle getiren Surreal 98'i geliştiriyor
Civvie 11'in "Epic Unreal Megaspecial" bölümü tavsiye ediliyor
Unreal Tournament 2004 dockerize edildi ve Linux x86_64 üzerinde iyi çalışıyor
Quake/Unreal'ı sıfırdan yeniden yazmanın ne kadar geliştirme süresi gerektireceği merak ediliyor
UT99 çok özleniyor ve modern FPS oyunları o kadar sevilmiyor