No description
Find a file
2025-11-23 12:59:14 +01:00
.github/workflows Squashed 'Thirdparty/ZWidget/' changes from e440c182..432c0690 2025-11-03 16:33:38 +01:00
Assets Replace banner image 2025-09-11 14:02:12 +02:00
Docs Actors: Implement handling of various Zone properties: 2025-10-05 18:02:02 +02:00
Resources Add the editor icon 2025-09-13 19:47:10 +02:00
SurrealEngine Remove TryMove from ActorReachable 2025-11-23 12:59:14 +01:00
SurrealVideo Fix SurrealVideo building under Linux 2025-09-06 22:43:07 +02:00
Thirdparty Merge commit '3a2cf65e85' 2025-11-14 14:08:00 +01:00
Win32Resources Specify that we want UTF-8 so that std::filesystem to works properly 2025-09-29 20:08:15 +02:00
.gitignore Squashed 'Thirdparty/ZWidget/' changes from 64189655..9e1ac1d0 2025-10-20 22:38:58 +02:00
CMakeLists.txt Object properties changed between 436 and 469 2025-11-19 19:06:10 +01:00
LICENSE.md Add SurrealVideo project 2025-09-04 01:12:53 +02:00
PKGBUILD PKGBUILD: Bump package version to a revision number 2024-10-13 16:58:18 +02:00
README.md Update Readme 2025-09-11 21:38:56 +02:00
SurrealEngine.pk3 Add the editor icon 2025-09-13 19:47:10 +02:00
UpdateZVulkan.bat Update to latest zvulkan 2025-08-15 00:02:59 +02:00
UpdateZWidget.bat Update to latest zvulkan 2025-08-15 00:02:59 +02:00

SEBANNER

Welcome to Surreal Engine!

Surreal Engine is a project that aims to reimplement the original Unreal Engine; currently focused on making Unreal (Gold) and Unreal Tournament (UT99) playable. The scope of this project might expand to cover more UE1 games in the future.

Current status

Please refer to Status.md for the current status of Surreal Engine!

System requirements

  • Original copies of the UE1 games you want to run
  • Windows 10+ or a modern Linux distro
  • A Direct3D 11 or Vulkan capable graphics card

Downloads

Nightly builds are available on the Releases section. Just download the zip file for your OS, and either:

  • extract everything to the system folder of the UE1 game you want to play and run the SurrealEngine executable.

or

  • extract it to anywhere you want and provide the path of the UE1 game you want to play as a parameter (see "Command line parameters" section below).

Additionally, Surreal Engine is available on following Linux distributions:

Discord server

Visit us on Discord at https://discord.gg/5AEry4s

Command line parameters

SurrealEngine [--url=<mapname>] [--engineversion=X] [Path to game folder]

If no game folder is specified, and the executable isn't in a System folder, the engine will search the registry (Windows only) for the registry keys Epic originally set.

If no URL is specified it will use the default URL in the ini file (per default the intro map).

The --engineversion argument overrides the internal version detected by the engine and should only be used for debugging purposes.

Building Surreal Engine

Windows

Use CMake to build the project. A recent version of Visual Studio, and MSVC compiler that supports C++20 is required.

On Windows, SDL2 is an optional dependency that you need to supply locally yourself (download the Visual C++ version of SDL2, extract it somewhere and point to that folder in CMake settings). Supplying SDL2 will allow you to use it as an alternative windowing system.

Other than that there are no other external third party dependencies.

Linux

Use CMake to build the project. You're gonna need the development versions of the following packages:

  • cmake
  • g++
  • pthreads
  • dl
  • alsa (libasound2)
  • SDL2 (Optional - Used on ZWidget SDL2 backend)
  • waylandpp (Optional - C++ bindings for Wayland, used on ZWidget Wayland backend)

Note

On some distros, SDL2 is replaced by SDL3, so you'll probably need the devel package for the compat library on these instead.

Note

These packages won't always have the exact names given above, as it can change from distro to distro. In general, if you get an include error that looks like it is trying to include something external, then you are probably missing the dev package for that library. :)

Installing the prerequisite packages

Ubuntu

# apt install cmake g++ libasound-dev libopenal-dev libdbus-1-dev libsdl2-dev libxkbcommon-dev waylandpp-dev

Arch Linux

# pacman -S libx11 gcc git cmake sdl2 alsa-lib waylandpp

Fedora

# dnf install libX11 libX11-devel libxkbcommon libxkbcommon-devel SDL2-devel openal-soft-devel alsa-lib-devel waylandpp waylandpp-devel

After installing prerequisites

Once you've installed all prerequisites, enter these commands in the given order from the folder you want to clone the repo to:

git clone https://github.com/dpjudas/SurrealEngine.git
cd SurrealEngine
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 16

When compilation is successfully finished, build folder should contain these 3 executables: SurrealEngine, SurrealEditor and SurrealDebugger