SurrealEngine: UT99를 플레이할 수 있는 Unreal Engine 오픈소스 재구현
(github.com/dpjudas)- Surreal Engine은 Unreal Engine 1을 다시 구현하려는 프로젝트이며, 현재는 Unreal (Gold)와 Unreal Tournament(UT99)를 플레이 가능하게 만드는 데 집중함
- 프로젝트 범위는 향후 더 많은 UE1 게임으로 확장될 수 있지만, 현재 상태는 별도 Status 문서에서 확인하도록 안내함
- 실행에는 플레이하려는 UE1 게임의 원본 사본, Windows 10 이상 또는 최신 Linux 배포판, Direct3D 11 또는 Vulkan 지원 그래픽 카드가 필요함
- 사용자는
SurrealEngine실행 파일에서 게임 폴더를 추가하고, Games 탭에서 게임을 선택한 뒤 Play를 누르는 방식으로 실행함 - Nightly 빌드는 GitHub Releases에서 제공되며, Linux에서는 Arch AUR와 Nix 패키지로도 설치할 수 있음
프로젝트 목표와 현재 범위
- Surreal Engine은 Unreal Engine 1을 재구현하는 프로젝트임
- 현재 초점은 다음 게임을 플레이 가능하게 만드는 것임
-
Unreal (Gold)
- Unreal Tournament (UT99)
- 프로젝트 범위는 앞으로 더 많은 UE1 게임을 포함하도록 확장될 수 있음
- 현재 구현 상태는 Status.md에서 확인하도록 안내함
-
실행 요구사항
- Surreal Engine을 실행하려면 다음이 필요함
- 실행하려는 UE1 게임의 원본 사본
- Windows 10 이상 또는 최신 Linux 배포판
- Direct3D 11 또는 Vulkan 지원 그래픽 카드
빌드와 다운로드
- 빌드 방법은 Building.md에 정리되어 있음
- Nightly 빌드는 GitHub Releases의 nightly 태그에서 받을 수 있음
- Linux 배포판 패키지도 제공됨
- Arch: AUR
- Nix: Package Search | Quickstart
게임 실행 흐름
SurrealEngine실행 파일을 실행함- Folders 탭에서 실행하려는 UE1 게임을 추가함
- Games 탭에서 플레이할 게임을 선택함
- Play를 클릭해 실행함
명령행 실행과 옵션
- 기본 명령행 형식은 다음과 같음
SurrealEngine [--url=<mapname>] [--engineversion=X] [Path to game folder]
- 게임 폴더를 지정하지 않고 실행 파일이 System 폴더 안에 있지 않으면, Windows에서는 Epic이 원래 설정한 레지스트리 키를 검색함
--url을 지정하지 않으면 ini 파일의 기본 URL을 사용하며, 기본값은 intro map임--engineversion은 엔진이 감지한 내부 버전을 덮어쓰며, 디버깅 목적으로만 사용해야 함- Discord 서버는
https://discord.gg/5AEry4s에서 안내됨
댓글과 토론
Hacker News 의견들
-
멀티플레이와 모바일 지원을 넣어 Quake III 웹 포트를 만들었음: https://thelongestyard.link/
이 프로젝트를 Unreal Tournament에도 쓰고 싶었지만, 아직 플레이하기엔 충분하지 않은 것 같음
Epic도 id Software처럼 예전 릴리스를 GPL로 공개했으면 좋겠고, 특히 UT2k4를 갖고 싶음. 대학 때 ONS-Torlan을 정말 많이 했음
UT 대신 다음은 Serious Sam을 해볼 수도 있음. Serious Engine은 오픈소스화됐고, 이미 멀티플레이 없는 웹 포트도 있음: https://www.wasm.builders/martinmullins/serious-sam-in-the-b...- UT2k4는 정말 훌륭했음. 데모를 처음 하던 날, 의자 위 CRT로 플레이하다가 친구가 “저격수에게서 구해주겠다”며 몸통박치기를 해서 이마에 흉터가 남았음
취침 시간은 있었지만 기상 시간은 없어서 새벽 4시에 일어나 등교 전까지 CTF-Face instagib를 4시간씩 했음
Q3DM17도 마음속에 특별한 자리가 있고, 몇 주 뒤 Impressive 엠블럼 문신을 할 예정임. 세기 전환기 FPS 게임플레이와 그때의 반사신경이 매일 그리움 - UT2k4는 계속 살아남을 가치가 있지만, 솔직히 지난 15년 동안 플레이어가 많지는 않았음. 브라우저에서 바로 플레이할 수 있게 되면 그게 실제로 개선될지 궁금함
- UT2k4도 좋지만 UT2k3 메뉴 음악도 빼놓을 수 없음: https://www.youtube.com/watch?v=IberpcWz9mU#t=0m10s
NFL 테마곡들도 이건 못 이김 - 멋짐. inolen/quakejs를 기반으로 썼는지, 아니면 새 포크인지 궁금함. WebRTC를 쓰는지도 궁금하고, HumbleNet을 들어봤는지도 궁금함
그쪽도 Q3 포크가 있었음: https://hacks.mozilla.org/2017/06/introducing-humblenet-a-cr...
관심 있는 사람에게는 FTEQW에도 emscripten 포트가 있고, FTEQW로 Q1, Q2, 그리고 대부분의 Q3 맵을 플레이할 수 있음: https://github.com/fte-team/fteqw/blob/1f9f3635f0aef3b2eed6b...
Q3 맵을 브라우저에서 확인하는 데는 LvL LiveView도 좋음: https://q3js.lvlworld.com/play/2043/media/633a9623b1b6458735... - 지난 주말 친구와 순수 LAN 환경에서 ONS-Torlan을 조금 플레이했는데, 기억만큼이나 환상적이고 재미있었음
저중력, 큰 머리 모드, berserk 같은 재미있는 변형 옵션을 잔뜩 켜는 걸 좋아함
- UT2k4는 정말 훌륭했음. 데모를 처음 하던 날, 의자 위 CRT로 플레이하다가 친구가 “저격수에게서 구해주겠다”며 몸통박치기를 해서 이마에 흉터가 남았음
-
정말 기쁘고 추억이 많이 떠오름. 비디오게임 아카이브를 통해 이런 옛 게임들을 계속 플레이 가능하게 만드는 노력이 정말 고마움
- 이것도 재미있을 수 있음: https://osgameclones.com/
과거의 무언가를 찾아 더 많은 즐거운 추억을 떠올릴 수 있길 바람 - Facing Worlds 스크린샷을 보자마자 그 레벨의 음악이 머릿속에서 바로 재생됐음
- 이것도 재미있을 수 있음: https://osgameclones.com/
-
처음 든 생각은 “UE1 게임을 UE5 안에서 실행하는 그 프로젝트 같은데”였고, 알고 보니 같은 프로젝트였음
DXU24에서 Surreal로 리브랜딩했고, 이제 라이선스 제약이 있는 UE5 프런트엔드 외에 자체 오픈소스 프런트엔드도 있는 것 같음
개발자가 작업 중 영상들을 YouTube에 올려뒀음: https://www.youtube.com/@dxu2424/videos- 그건 아닌 것 같음. SurrealEngine은 UE5가 전혀 필요 없는 독립 실행형 엔진으로 첫 UE1을 재구현하도록 설계됐음
-
Unreal Tournament 99와 Deus Ex는 가장 행복했던 게임 추억 중 둘임. 정말 야심찬 프로젝트이고, 옛 게임들이 다시 관심을 받는 모습이 보기 좋음
아직도 Deus Ex 리메이크를 기다리고 있음- 이 프로젝트가 결국 원작 Deus Ex를 현대화할 수 있는 상태가 되면 정말 좋겠음. 리메이크까지는 필요 없고, 현대적인 편의성만 있으면 됨
이미 광범위한 모드들이 있다는 건 알고 있음 - 원작 게임 위에 GMDX를 설치하면 됨
- 이 프로젝트가 결국 원작 Deus Ex를 현대화할 수 있는 상태가 되면 정말 좋겠음. 리메이크까지는 필요 없고, 현대적인 편의성만 있으면 됨
-
Epic도 과거의 주요 경쟁자였던 id Software가 예전 idTech 엔진에 했던 것처럼 원래 엔진을 오픈소스로 공개할 수 있을 것 같음
- 예전에 그런 계획이 조금 있었음
“Unreal Engine 2나 3은 복잡한 라이선스 요구사항이 있는 많은 외부 비공개 미들웨어 패키지 의존성 때문에 절대 오픈소스화할 수 없습니다”
“Unreal Engine 1의 오픈소스화는 가능할지도 모르지만, 소스와 의존성을 배포 가능한 상태로 만드는 데는 많은 정리 작업이 필요하고 아직 그 시간을 찾지 못했습니다. 언젠가는 할 수 있기를 바랍니다” [0]
[0] https://forums.unrealengine.com/t/unreal-engine-1/14084/6 - 그렇게 된다면 정말 좋겠고, 특히 BSD 같은 더 자유로운 라이선스를 선택하면 더 좋겠음
소프트웨어 렌더링을 좋아하는데, Unreal Engine 1은 원래 Quake 1·2 엔진보다 그 영역에서 더 발전된 기능을 갖고 있음
언젠가 공개된다면 wasm으로 포팅해보고 싶음
https://github.com/RedPandaProjects/UnrealEngine도 있지만 법적 문제 등이 어떤지는 모르겠음 - Epic의 예전 DOS 게임 카탈로그 코드도 공개해주면 좋겠음. 아마 16비트 어셈블리 더미일 가능성이 크지만, 아직 갖고 있다면 그래도 좋을 듯함
- 예전에 그런 계획이 조금 있었음
-
지금 올리기 좋은 것 같음. Unreal Tournament 2004를 Docker화했고, Linux x86_64에서 그럭저럭 실행됨
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 -
추천: Civvie 11의 Epic Unreal Megaspecial https://www.youtube.com/watch?v=5PtU2stZK0M [01:15:46]
-
Epic이 아직도 현대적인 Unreal Tournament 게임을 내지 않았다는 게 믿기지 않음
- 작업은 하고 있었지만, 그 뒤 Fortnite가 엄청난 돈을 벌었음
- 이 장르에서 추천할 만한 게임이 있을까? 요즘 게임들은 대부분 너무 느림
- Unreal Tournament 3 정도로 복잡한 게임을 만들려면 개발자 급여만으로도 수백만 달러가 듦. 한편 UT3는 아직도 플레이 가능하고, 원하면 누구나 할 수 있음
- 원작이나 UT2004보다 나아야 할 이유를 찾아야 함
- 이미 만들었고 실패했음. 그게 Unreal Tournament 3였음
-
UT99가 정말 그리움. 현대 FPS 게임들은 그만큼 좋아하게 되지 않았음
- UT99는 Quake 3와 CS 사이의 꽤 독특하고 흥미로운 위치에 있었음. Q3만큼 빠르진 않았지만, CS만큼 느리지도 않았음
- 미술 방향이 다른 많은 게임보다 훨씬 멋져 보임
-
다른 개발자가 Surreal 98을 만들고 있는데, Deus Ex와 UT 같은 UE1 게임을 UE5 아래에서 VR, 모드, 기타 현대적 기능과 함께 플레이할 수 있게 해줌: https://www.youtube.com/watch?v=p2M0hrLoA5M