6 ms·
Clean-room implementation of Half-Life 2 on the Quake 1 engine
- shellwizard 8mo agoImpressive, given how old Q1 engine is. It brings back memories of Paranoid Doom mod: https://www.doomworld.com/idgames/levels/doom2/Ports/p-r/paranoid https://www.doomworld.com/idgames/levels/doom2/Ports/p-r/par...
- user____name 8mo agoFTE barely qualifies as a pure Quake engine at this point though, it does tons of stuff.
- vkazanov 8mo agoIt 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 8mo agoYeah, 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 8mo agoWe'd have to come up with definition of quake :-) FTE has a lot bolted on it but the focus us in Quake, quake mods, lifting some limitations and making mod dev convenient. But it is the same overall code structure, the same game, etc. All these oss quake engines, are they quake? Ironwail, quakespasm vkQuake?
- amlib 8mo agoI think the litmus test is weather they are backwards compatible with old maps/campaigns from the original engine/game. Half-Life 2 sure won't play quake maps nor will it play hl1 maps.
- account42 8mo ago> 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).
- amlib 8mo agoAFAIK hl1 maps needs to be open in hammer, tweaked a bit and then recompiled to function in hl2. You also better have those originals .rmfs rather than a .map or a even worse, a .bsp :)
- anthk 8mo agoQames/quake from 9front =). It can run LibreQuake with Malice as a MODs, and that's it. Quake, Quakeworld and everything for vanilla, no modern changes like QuakeSpasm or worse, DarkPlaces. If someone backported HL2 to the original Quake with reduced physics and still run under a Pentium III fast enough, it would be something astonishing. 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.
- hnlmorg 8mo agoThere already is a term: Quake Source Port https://quake.fandom.com/wiki/Source_port https://quake.fandom.com/wiki/Source_port
- spiritplumber 8mo agoWe are all fish.
- CodeCompost 8mo agoSSL_ERROR_BAD_CERT_DOMAIN Seems to be using a dnsft.cloud.zyxel.com certificate. Is this a home router?
- linuxguy2 8mo agoI 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::
- notachatbot123 8mo agoMaybe you are MITM`d?
- CodeCompost 8mo agoAh. Looks like it is being blocked by my corporate software. Thx for the replies.
- opello 8mo agohttps://community.zyxel.com/en/discussion/23595/why-i-get-blocked-by-zyxel-certificate-when-accessing-website 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.
- fp64 8mo ago>The game is not playable from start to finish. You can play deathmatch and other odd modes.
- lucastytthhh 8mo ago[flagged]
- lloeki 8mo agoInteresing, 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 8mo agoEven 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 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.
- deleted 8mo ago[deleted]
- amlib 8mo agoAnd 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.
- ErroneousBosh 8mo agoThe other thing though is that Original Quake Back In The Day ran on a Pentium 75 (needed the maths co-processor) with a dumb framebuffer. All the rasterising of polygons was pure software, as was all the geometry processing. Running GLQuake was a huge improvement but it required an expensive add-in card that piggybacked onto your VGA card, and a whole different binary. 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.
- hiprob 8mo agoHalf-Life 2 looks incredible in Quake 1, what gives?
- Cthulhu_ 8mo agoQuake'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-update/ https://www.nvidia.com/en-us/geforce/news/quake-ii-rtx-v1-2-...
- deleted 8mo ago[deleted]
- koverstreet 8mo agoQuake 2 was when they added multi-colored lighting - it's really aged well.
- anthk 8mo agoWould it work under vanilla quake 1? Ah, no. I can't check it out. Good job keeping me away with Anubis, btw.
- pantalaimon 8mo ago[flagged]
- anthk 8mo agoNo, just a 9front user with a web browser, Netsurf. I shouldn't need JS to read an article you know.
- arifmeticus 8mo agoNot 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 https://www.youtube.com/watch?v=FhuXHGb_4vU
- sho_hn 8mo agoSuper 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.
- its_magic 8mo ago[dead]
- __alexs 8mo agoWhy not just install it from Steam?
- jjordan 8mo agoSomeone did something interesting to them and shared it with the world. That you feel is a waste of time does not add to the conversation and more broadly acts as a chilling effect on others who might want to share their interests. When it comes to something like this, mom's advice is golden: "If you don't have anything nice to say, don't say anything."
- its_magic 8mo agoIt's a waste of time made necessary ONLY because of copyright law. As I explained. As is THIS ENTIRE COMMENT THREAD. And 10,000x other comment threads exactly like it, with you fools arguing back and forth for 300 pages about the subject. What a complete waste of time and energy. Thanks, copyright law.
- sho_hn 8mo agoNonsense. People reimplementing stuff to see if they can is unrelated to copyright. See the many implementations of vi.
- tsunamifury 8mo agoDe-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 8mo agoI 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.
- jamesfinlayson 8mo agoNot sure but I think it might have been getting close to what was possible - I remember reading about Michael Abrash working with John Carmack on all sorts of things to get acceptable framerates.
- unixhero 8mo agoIs this the way we can have HL3 also?
- sdwr 8mo agoWhat 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 8mo agoIt 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 8mo agoHow about the assets?
- blell 8mo agoI assume you, the player, have to provide the assets yourself, and the game won't run without them. Since the code does not contain the assets, there is no copyright infringement.
- giancarlostoro 8mo agoAs long as the assets dont contain code, they're kind of fair game. The rule of thumb is you cannot redistribute them, but if the person owns a legal copy you can point to them on their local system. It is not up to you to figure out if they're pointing to a pirated copy or a legitimate copy mind you.
- bni 8mo agoIf you want to play Half-Life today I highly recommend Xash3D FWGS (yes its a super awkward name) https://github.com/FWGS/xash3d-fwgs https://github.com/FWGS/xash3d-fwgs Easy to use Mac build here: https://www.macsourceports.com/game/halflife https://www.macsourceports.com/game/halflife
- nomel 8mo agoOr, can still be purchased on Steam for $0.99, during sales. Windows only though.
- SXX 8mo agoIts ported to Linux just like cs 1.6. Not sure how good Mac build is though.
- nomel 8mo agoSteam version: This product is not compatible with macOS 10.15 Catalina or above.
- jamesfinlayson 8mo agoYeah Apple's latest round of breaking changes hasn't been addressed (and seemingly won't be). 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).
- lproven 8mo agoMacOS 10.15 dropped support for x86-32 binaries. 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.
- squarefoot 8mo agoInteresting, 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 https://www.youtube.com/watch?v=sKutLsub-80
- huflungdung 8mo ago[dead]
- NSUserDefaults 8mo agoCan I run this on my 486?
- singularfutur 8mo agoThis is what I love about the open source community. Twenty years later and people are still finding ways to make classic games accessible without DRM or platform lock in. Clean room implementations like this preserve gaming history better than any publisher ever will.