Clean-room implementation of Half-Life 2 on the Quake 1 engine (code.idtech.space)
300 points by klaussilveira 11 hours ago
bni 4 hours ago
If you want to play Half-Life today I highly recommend Xash3D FWGS (yes its a super awkward name)
https://github.com/FWGS/xash3d-fwgs
Easy to use Mac build here: https://www.macsourceports.com/game/halflife
nomel 2 hours ago
Or, can still be purchased on Steam for $0.99, during sales. Windows only though.
BlitzGeology91 an hour ago
Eh, I don’t really think that this is an “or” situation. I think that this is an “and” situation. The last time that I set up Xash3D FWGS, I had to copy files from the version of Half-Life that I own on Steam into a different folder so that those files could be loaded by Xash 3D FWGS. I haven’t tried Xash 3D FWGS in a while, but it looks like you still have to do that [1]. Also, are you sure that the Steam version of Half-Life is Windows only?
[1]: <https://github.com/FWGS/xash3d-fwgs/blob/f0342763547d9bcf486...>
nomel an hour ago
SXX an hour ago
Its ported to Linux just like cs 1.6. Not sure how good Mac build is though.
nomel 41 minutes ago
sho_hn 7 hours ago
Super interesting! I'm curious what the purpose is, though?
Edit to answer myself: Looks like this is more of an offshoot of the FreeHL projects by the same author, which rewrite GoldSrc game logic to QuakeC to get those games to run on open source engine stacks, where the utility is more obvious. I guess it was just fun to see how hard it'd be to get HL2 content running.
A bit similar to the OpenMW project working on Oblivion and Skyrim content loading on the side, though perhaps that's a more obvious future vector for that project.
roywiggins 3 hours ago
sdwr 5 hours ago
What does clean room mean in this context? They built it from the assets with the game as a reference , but didn't look at the engine source code?
brynnbee 4 hours ago
It means they didn't reference any existing or decompiled code from the original client. None of it is directly infringing on any copyright, though it may be doing so indirectly since there have been plenty of lawsuits for tools that contain no copyrighted information can but can used to facilitate infringement (e.g. a tool that decompiles a game ROM)
alpb 3 hours ago
How about the assets?
giancarlostoro an hour ago
blell 3 hours ago
squarefoot 2 hours ago
Interesting, I loved both HL1 and 2. Some games never die, brought to mind the Black Mesa remake of HL1 with the HL2 engine that gave it new life. https://www.youtube.com/watch?v=sKutLsub-80
arifmeticus 7 hours ago
Not related to the engine, but it reminded me of a demake of Half-Life 2 in Quake https://www.youtube.com/watch?v=FhuXHGb_4vU
fp64 10 hours ago
>The game is not playable from start to finish. You can play deathmatch and other odd modes.
shellwizard 10 hours ago
Impressive, given how old Q1 engine is. It brings back memories of Paranoid Doom mod: https://www.doomworld.com/idgames/levels/doom2/Ports/p-r/par...
lloeki 9 hours ago
Interesing, there's more here including HL1 (a.k.a "valve")
Funnily enough the looks of this HL2 through this engine makes it flow more with HL1 than I could expect; an interesting reverse Half Life: Source / Black Mesa / demake of sorts.
homebrewer 9 hours ago
Even simple Half-Life 1 mods built on textures and models from Half-Life 2 look much closer to 2 than one would expect. For example this mod, but not only:
https://moddb.com/mods/half-life-dark-future
You won't confuse it with modern Half-Life 2, but the original HL2 engine had far worse graphics than the latest version. Makes you realize how much of the difference between HL2 and HL1 is due to different textures and level design.
amlib 8 hours ago
And Viktor Antonov (rip) art style.
edit: there is also the fact that map compilers for gold source games have advanced far beyond what they could do back in 1999. The lightmaps and light sources alone can be far more intricate nowadays than what you would get from the official valve ones in 1999.
homebrewer 7 hours ago
l-p 4 hours ago
giobox 2 hours ago
ErroneousBosh 7 hours ago
unixhero 5 hours ago
Is this the way we can have HL3 also?
user____name 10 hours ago
FTE barely qualifies as a pure Quake engine at this point though, it does tons of stuff.
vkazanov 10 hours ago
It does a lot, yes, but also is very much a continuation of the original codebase - i've spent quite some time tinkering with internals of it.
jsheard 10 hours ago
Yeah, but Half Life 2's Source engine was itself a continuation of Goldsrc which was itself a continuation of the Quake 1 engine. The lineage is there but beyond a certain point it's not really Quake anymore.
GZDoom/UZDoom is a similar grey area, it is built on the original Doom codebase but they've added so many features that it's practically its own distinct engine now. Those forks can even render arbitrary 3D models, which OG idTech couldn't do until Quake.
vkazanov 10 hours ago
hiprob 9 hours ago
Half-Life 2 looks incredible in Quake 1, what gives?
Cthulhu_ 9 hours ago
Quake's engine is open source and for example nvidia used it in some more recent tech demos, although this one's for Quake 2: https://www.nvidia.com/en-us/geforce/news/quake-ii-rtx-v1-2-...
koverstreet 7 hours ago
Quake 2 was when they added multi-colored lighting - it's really aged well.
CodeCompost 10 hours ago
SSL_ERROR_BAD_CERT_DOMAIN
Seems to be using a dnsft.cloud.zyxel.com certificate. Is this a home router?
linuxguy2 8 hours ago
I certainly don't get that cert. I'm seeing a LetsEncrypt cert for idtech.space with various SANs.
# host code.idtech.space
code.idtech.space is an alias for idtech.space.
idtech.space has address 192.99.32.215
idtech.space has IPv6 address 2607:5300:60:47d7::opello 7 hours ago
https://community.zyxel.com/en/discussion/23595/why-i-get-bl...
Seems like you or someone upstream of you uses a Zyxel brand device that has some kind of dns content filtering enabled. You should be able to get around this on a given machine by configuring an alternate dns provider (dns over https, cloudflare's 1.1.1.1, google's 8.8.8.8, quad9's 9.9.9.9, etc.) or doing something similar at your own router/dns resolver/dhcp server if it's not the thing doing this.
notachatbot123 8 hours ago
Maybe you are MITM`d?
CodeCompost 6 hours ago
Ah. Looks like it is being blocked by my corporate software.
Thx for the replies.
tsunamifury 7 hours ago
De-makes are interesting because they continuously seem to show what may have been possible long ago in ancient engines if teams pushed them even further.
Then again maybe that level of detail even in idtech1 would have required more computing than was available for many years.
plorkyeran 5 hours ago
I do suspect this would not run well on a 75 Mhz Pentium 1. It would be very surprising if Quake 1 was actually the pinnacle of what as possible on the hardware of the time, though. id made exactly one game targeting that generation of hardware, and then their next game had meaningfully higher system requirements despite coming out only a year later. The hardware capabilities were changing so fast that there simply wasn't time to iterate on a specific target.
anthk 8 hours ago
Would it work under vanilla quake 1? Ah, no. I can't check it out.
Good job keeping me away with Anubis, btw.
pantalaimon 7 hours ago
Are you a LLM?
anthk 7 hours ago
No, just a 9front user with a web browser, Netsurf. I shouldn't need JS to read an article you know.