1 puan yazan GN⁺ 2024-08-24 | 1 yorum | WhatsApp'ta paylaş

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)
  • --engineversion argü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 build klasöründe SurrealEngine, 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

 
GN⁺ 2024-08-24
Hacker News görüşleri
  • Quake III web'e taşınmış ve çok oyunculu ile mobil desteği eklenmiş

    • Unreal Tournament da taşınmak istenmiş, ancak henüz oynanabilir durumda değil
    • Keşke Epic de id Software gibi eski sürümleri GPL ile yayımlasa
    • UT yerine bir sonraki proje olarak Serious Sam düşünülüyor
    • Serious Engine açık kaynaklı ve zaten bir web portu var (çok oyunculu yok)
  • Bu projenin, UE1 oyunlarını UE5 üzerinde barındıran projeye benzediği düşünülmüş

    • Aslında aynı proje ve DXU24'te Surreal olarak yeniden markalandı
    • Açık kaynaklı bir frontend de eklendi
    • Geliştirici YouTube'a çeşitli WIP videoları yükledi
  • Bu proje çok sevindirici ve birçok anıyı canlandırıyor

    • Video oyunu arşivleme çalışmaları için teşekkürler
  • Unreal Tournament 99 ve Deus Ex, oyunlarla ilgili en mutlu anılardan bazıları

    • Bu proje çok iddialı ve eski oyunların sevilmeye devam ettiğini görmek güzel
    • Hâlâ bir Deus Ex remake'i umuluyor
  • 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

    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'ı sıfırdan yeniden yazmanın ne kadar geliştirme süresi gerektireceği merak ediliyor

    • Bu bir port değil, özel bir motorla yapılan tam bir yeniden yazım
  • UT99 çok özleniyor ve modern FPS oyunları o kadar sevilmiyor