SurrealEngine: Reimplementasi open-source Unreal Engine yang dapat memainkan UT99
(github.com/dpjudas)Surreal Engine
Tujuan proyek ini adalah mereimplementasikan sumber asli UnrealEngine agar dapat memainkan map Unreal Tournament (UT99).
Status saat ini
- Engine dapat memuat dan merender map
- Unrealscript VM hampir selesai, tetapi array dan eksekusi kondisional jaringan masih belum diimplementasikan
- Mencoba memuat semua level actor dan menginisialisasi map
- Menu dan HUD muncul, tetapi banyak fungsi native masih belum diimplementasikan
- Beberapa event mungkin tidak berfungsi dengan benar, dan exception dapat terjadi saat berinteraksi
Saat ini SurrealEngine dapat mendeteksi game UE1 berikut:
- 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 dan v3.5.0 - berjalan di engine UT436 dan UT469)
- Wheel of Time (v333)
Dari daftar di atas, hanya Unreal Tournament v436 dan Unreal Gold v226 yang relatif dapat dimainkan. Menjalankan game lain dapat menyebabkan crash.
Unreal Tournament v436
- Game dapat dijalankan, opsi menu berfungsi, dan bot match bisa dimainkan
- AI bot hampir tidak ada, dan beberapa fitur map hilang (misalnya layar "X memimpin pertandingan" di DM-Morpheus tidak berfungsi)
Unreal Gold v226
- Game berjalan dan sebagian besar opsi menu berfungsi
- Dapat memainkan map single-player dan bot match
- AI berperilaku mirip seperti di UT
- Model objek di Return to Na Pali terlihat rusak
Deus Ex v1112fm
- Hanya intro flyby yang berfungsi
- Input keyboard atau mouse tidak terdeteksi (Deus Ex menangani input secara berbeda dari Unreal/UT)
Parameter command line
SurrealEngine [--url=<mapname>] [--engineversion=X] [path folder game]
- Dapat dijalankan dengan menyalin file executable SurrealEngine ke folder System game UE1
- Jika folder game tidak ditentukan, engine akan mencari registry key yang diatur Epic di registry (khusus Windows)
- Jika URL tidak ditentukan, URL default dari file ini akan digunakan (default-nya adalah map intro)
- Argumen
--engineversionmenimpa versi internal yang dideteksi engine, dan sebaiknya hanya digunakan untuk tujuan debugging
Panduan build Windows
- Build proyek menggunakan CMake
- Memerlukan Visual Studio versi terbaru dan compiler MSVC yang mendukung C++17
- SDL2 adalah dependensi opsional dan harus disediakan secara lokal (unduh SDL2 versi Visual C++ lalu tentukan folder tersebut di pengaturan CMake)
- Tidak ada dependensi third-party eksternal lainnya
Panduan build Linux
- Build proyek menggunakan CMake
- Masukkan perintah berikut secara berurutan untuk build:
git clone https://github.com/dpjudas/SurrealEngine.git
cd SurrealEngine
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 16
-
Jika kompilasi berhasil selesai, file executable
SurrealEngine,SurrealEditor,SurrealDebuggerakan dibuat di folderbuild -
Paket pengembangan berikut diperlukan:
- cmake
- g++
- pthreads
- dl
- alsa (libasound2)
- SDL2
- waylandpp (opsional, binding C++ untuk Wayland, digunakan di backend ZWidget Wayland)
-
Di Linux, SDL2 wajib ada, dan SurrealEngine memanfaatkannya untuk fitur window dan dukungan Wayland native (
SDL_VIDEODRIVER=wayland)
Ringkasan GN⁺
- Surreal Engine adalah proyek yang mereimplementasikan sumber asli UnrealEngine agar dapat memainkan map Unreal Tournament (UT99)
- Saat ini hanya Unreal Tournament v436 dan Unreal Gold v226 yang relatif dapat dimainkan, sementara game lain dapat mengalami crash
- Dapat di-build di Windows dan Linux menggunakan CMake, serta memerlukan beberapa dependensi seperti SDL2
- Proyek ini memungkinkan game lama dimainkan kembali di sistem modern dan bisa menarik bagi pengembang game serta engineer
- Proyek dengan fungsi serupa antara lain engine game open-source seperti OpenRA
1 komentar
Opini Hacker News
Telah mem-porting Quake III ke web dan menambahkan dukungan multipemain serta mobile
Awalnya mengira proyek ini mirip dengan proyek yang meng-host game UE1 di UE5
Proyek ini sangat menyenangkan dan membangkitkan banyak kenangan
Unreal Tournament 99 dan Deus Ex adalah beberapa kenangan bermain game paling membahagiakan
Epic bisa saja membuat engine aslinya menjadi open source seperti id Software
Pengembang lain sedang mengerjakan Surreal 98, yang memungkinkan game UE1 dimainkan di UE5 dengan VR, mod, dan fitur modern
Merekomendasikan "Epic Unreal Megaspecial" dari Civvie 11
Telah mendockerisasi Unreal Tournament 2004, dan berjalan baik di Linux x86_64
Penasaran berapa banyak waktu pengembangan yang dibutuhkan untuk menulis ulang Quake/Unreal dari nol
Sangat merindukan UT99 dan tidak terlalu menyukai game FPS modern sebesar itu