Clean-room implementation of Half-Life 2 on the Quake 1 engine
code.idtech.space
code.idtech.space
https://github.com/FWGS/xash3d-fwgs
Easy to use Mac build here: https://www.macsourceports.com/game/halflife
[1]: <https://github.com/FWGS/xash3d-fwgs/blob/f0342763547d9bcf486...>
You're right! It looks like Linux has a native build too. Apparently the Windows version, through Proton, runs better though (not that it matters).
The Linux and Mac ports happened in 2013 or so (presumably getting one working went a lot of the way to getting the other working, though there is some speculation that Apple poured in some money to help make it happen).
Later it became clear why: the Apple Silicon transition, and Rosetta 2, which is optimised for running x86-64 binaries on Apple's Arm64.
But the same change is looming on Linux: Ubuntu tried in 2019 but was persuaded not to, Fedora has tried more than once.
WINE 11 can run Win32 binaries on a pure 64-bit host OS without 32-bit libraries. So, you can run some 32-bit Windows games on 64-bit Linux and macOS which cannot run the 32-bit binaries of their own older versions.
Apple merely jumped first. I think it's not to be blamed here. It'll happen everywhere in time.
EDIT: this was for HL1 I’m not sure about HL2
Unfortunately, by the end of the earth levels and certainly on Xen, the levels switch over to original designs. They become massive and sprawling, boring and confusing. They really should have stuck to doing a like for like reimplementation.
I grew up on Half Life, so playing the first half of Black Mesa a few years ago was one of my favorite adult gaming experiences. But I gave up who knows how close to finish line after Xen was insufferable.
Replacing a 5 minute level with a 20 minute level, even if it's better, ruins that pacing. There's just not enough content in the game to support it.
I agree Xen was by far the weakest of the original levels, but I don't think it's a coincidence that it was also pretty short. I think they knew it had novelty but no staying power and probably cut it to the bone.
> Unfortunately, by the end of the earth levels and certainly on Xen, the levels switch over to original designs
By original designs, do you mean HF1 version, or pre-HF1 designs that didn't get implemented in HF1?
Black Mesa is a masterpiece.
Genuine question, as I own both versions and don't know which to play.
I'll add, if you have a VR headset, modded HL1 runs beautifully on it with full hand controller support for gun aiming and crowbar smashing. I've also heard lots of praises for HL2 VR mod bringing the game to new levels, I have yet to try it myself.
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.
Then again maybe that level of detail even in idtech1 would have required more computing than was available for many years.
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.
But it is the same overall code structure, the same game, etc.
All these oss quake engines, are they quake? Ironwail, quakespasm vkQuake?
Half-Life 2 sure won't play quake maps nor will it play hl1 maps.
Not without modifications but Half-Life: Source is essentially a tech demo to show that they can be ported easily (if you are OK with dropping some pesky features like randomized wall textures).
I see impressive stuff with reimplementations such as Surreal Engine, but they will require far more powerful machines.
If Surreal had a software renderer (not requiring AVX or similar) running under an SSE2 machine, that would yield even more respect, because if your reimplemented engine runs in legacy machines the portability would explode. Just have a look on Scummvm on how many platforms and OSes can it run. Or the Super Mario port for PC, where some fork supports even 3DFX under DOS, and GL 1.2. Thus runnable under TinyGL with no 3D accelerators and even under Plan9/9front with custom tweaks.
Seems to be using a dnsft.cloud.zyxel.com certificate. Is this a home router?
# 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::Thx for the replies.
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.
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.
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.
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.
Now you can just kind of pile it into a block of RAM, aim a chunky ASIC at it, and pull the trigger every frame.
In the late 90s a mate of mine did a phenomenal video of a Quake demo (you could record all player movements and camera positions as a "dem file") that he'd rendered out, raytraced in POVRay. I printed it to VHS for him as part of a showreel, and never thought to keep a copy myself.
It was either ZHLT or VLHT, or something like that; looks like more alternatives have been written since then.
For standard Q1 mapping ericw tools [0] is great (the page has some nice previews).
This project seems to use Nuclide for building which by default uses vmap compiler [1][2]. Which is really Q3 but I think FTE handles that well internally as the newer format has some more modern features.
> Powerful BSP compiler. Use VMAP to bake levels like you're used to from similar engine technology, with high quality lightmaps, cubemap-based environment mapping and adjustable vertex colors on spline-based meshes.
[0] https://ericwa.github.io/ericw-tools/
[1] https://developer.vera-visions.com/d4/d50/radiant.html#autot...
Most of the original textures are under 128×96 px and some suffer from awful palletisation artefacts with purple and orange halos. We still cannot use more than 8 bpp but we can use 512×512 textures and do a better job at reducing to 256 colours. I use pngquant for that.
In GoldSrc lightmaps cannot get more intricate though, they're tied to the texture scale so you cannot get a finer lightmap unless you also make larger textures and scale them down, and these two combined will wreck your "AllocBlock" budget in which all your textures and lightmaps must fit.
ericw-tools and its dirtmapping are still welcome improvements over the "traditional" *HLT compilers.
AFAIK some of the improvements include much better light bouncing techniques, transmission of surface colors like source does, more accurate lights, spotlights that emulate what source spotlights does and faster compilation (computers also got faster and MT support helps a lot). That alone allows level designers to be more ambitious by taking advantage of faster iteration and place even more lights.
I do agree that there are likely dozens if not hundreds of reasons why maps can and usually do look way better today than what could be done in the past. Hell, even level designer proficiency with the tools as time goes is also surely a reason.
Good job keeping me away with Anubis, btw.