Hacker News new | past | comments | ask | show | jobs | submit login
Quake3e, a modern Quake III Arena engine (github.com/ec-)
264 points by pdenton on May 14, 2021 | hide | past | favorite | 85 comments



Both Quake3e and ioquake3 are engines, but not the game. To play, you still need pak0.pk3 file which is not free. It is included if you buy the game. Bethesda [1], GOG [2], Steam [3].

[1] https://bethesda.net/ru/store/product/QU3CSTPCBG01

[2] https://www.gog.com/game/quake_iii_gold

[3] https://store.steampowered.com/app/2200/Quake_III_Arena


Open Arena is an open source shooter based on the original open source quake 3 engine that you can play without licensing the original creative work: https://en.wikipedia.org/wiki/OpenArena


I used to like OpenArena, but there often is a lot of cheating/aimbotting and no one ever does anything.


You could conceivably download the demo and use that too, right?


You can, but it doesn't have all assets.


[2] Doesn't work for me. I get redirected to https://www.gog.com/games?page=1&sort=popularity. Is it geo blocking?


Not sure, but it works from US.


You can still play standalone mods with q3e or ioq3 and not need baseq3.


If you like Quake-likes, let me recommend Xonotic. It's a free and open source game based on a heavily modified Darkplaces engine.

It's a friendly community, with a wide age distribution (lots of old quakers like myself). If you don't like death match, clan arena or CTF, login to a CTS defrag game (time races for movement training).

https://xonotic.org


The problem with Quake clones is that most of them have really small playerbase and it's hard to find someone to play with, especially when location is considered (I live in Eastern Europe). The potential playerbase is also fragmented between various clones.

I gave Xonotic a go a few minutes ago. The game is nice but right now I can see 6 only servers populated. That's not a lot to be honest.


Agreed. If you're in Europe look for the two Eris servers.

Sometimes it's hard to find a deathmatch game, so you end up joining clan arena, getting killed and then spending the remainder of each match spectating and not actually improving your skill. Freeze tag is huge fun but it's rarely voted for.

The one good thing about the small player base is that you will always bump into those superhuman players who destroy everyone. That gives you something to aspire to. Once you start leveling up to them, you know you're getting good.


Xonotic is great, been playing it almost since it started. Also contributed some music to it!

I've always been amazed in particular by how polished it is for an open source game. Don't think I've ever heard anyone that tried it say they didn't enjoy it either, though generally folks don't stick around, save for a couple.

Most of the current playerbase is situated in Europe though I think, so you gotta play at times that make sense for those time-zones if you wanna see players (evenings usually pretty active).


And lots of Russians! Super game. I've only been playing it for about a year, and didn't really do much gaming for about 20 years prior to that. It reminded me of the best of Q3 and UT2004 in one game.

I've probably killed you / been killed by you a bunch of times.


Slightly rarer for me to play lately, haha! But you may have seen some of my clanmates, such as psyx|Pendulla, he plays quite often.

You're right about the Russian presence, it has gotten to the point where using "))" to indicate smileys has become a community thing, Russian or not :D


Warsow is also quite good and very close to late 90's shooter's idea of multiplayer

https://warsow.net/


Or Diabotical. Free on epic games store.


Also worth mentioning (and playing) is Nexuiz, which also used the modified DarkPlaces engine:

https://en.wikipedia.org/wiki/Nexuiz



it is fun idd. however, i wish there were more players online.


I still play the Movie Battles mod for Jedi Knight 3, which uses this engine. https://www.moviebattles.org


It's really incredible that there hasn't been another Jedi Knight game since JK3; it's still the best lightsaber combat you can find in any Star Wars game.


Cool, I will check that out! I hopped on JK2 again a few months back, always amazed to find other people playing.

Sadly, insta ctf died out


The #massassi chat moved to Discord a while back. There's usually a bunch of us in there.


I couldn’t tell from the site: is that an offline single player mod or an online multiplayer mod (or both)?


online multiplayer

Edit: ex MB2 dev here, hi


A different angle: there's quakejs which you can use in your browser - http://www.quakejs.com/


Amazing that the game just runs with 60fps on my mid range phone.


Considering I played it on Pentium 2 with a very old 3D accelerator this isn't too surprising.


This blows my mind. I remember begging my dad in 1999 to buy me a Voodoo 3 3000 and literally crying until he agreed. He wouldn’t let open the Compaq and install it myself, and so I walked him through the installation. It was a big upgrade from the ATI Rage Pro card we had.

All that so I could play Quake 3 with higher detail at 1024x768.


> He wouldn’t let open the Compaq and install it myself, and so I walked him through the installation.

This sort of thing happened to me all the time in my childhood. I knew a ton about computers relative to my whole family, yet they never trusted me with it and in fact often blamed me when stuff went wrong. My favorite was my grandpa saying I overloaded his computer by playing Starcraft after he had to get it replaced 6 months after I visited.


Hah, so from ATI Rage Pro to Voodoo 3 for Quake 3 (and UT) - that means we had exactly the same upgrade path :D


Any eye candy screenshots anywhere?


It looks the same, but I'm getting 500 fps at 4K (highest details) when I set com_maxfps to 500. I can also get 1000 but there's some bug happening...


It's not making it look better, it's making it run faster.


I've spent so many hours reading Quake source code, trying to figure out how it all works. Such a marvelous game.


For those who find this topic interesting, there is a walkthrough of the Quake source code by Fabien Sanglare here.

https://fabiensanglard.net/quake3/index.php

He has also written a number of Game Engine Black Books on other games such as Doom.

For the graphics side of things there is a PDF by Michael Abrash that also covers Quake.

https://www.gamedev.net/tutorials/_/technical/graphics-progr...


You may be confusing the various engines. The first link is about the Quake 3 engine, the second one is about Quake 1.


Quite right, thanks for pointing it out.


The Quake rasteriser inner loop with its overlapped fdiv is still one of my all time favourite pieces of code.


I loved Q3, and Instaunlagged ctf was my favorite mod and gametype. Here's an old demo from the day: https://www.youtube.com/watch?v=ZGWcoYM6o7o

Lately, I've been learning modeling and ue4. My first map attempt is a remake of old q3ctf1: https://www.youtube.com/watch?v=qWJJu3Jov7Y


First video is private for me


Fixed it. thanks.


Quake-derived game died off because people use various kind of hacks (particularly aimbotting) and no kind of management for that was ever implemented.

So, getting good at any of those game means that sooner or later you'll start actually getting very very angry at people cheating.


Another thing is the skill disparity between median and ceiling player-skills is very far.

Many players often get accused of cheating in Quake, but they're just really good.


FYI you need Quake 3 Arena installed to play.

I bought the game when it was new, but I have no idea where that copy/cdkey is anymore.

sad trombone


Here you go [0]. No need for a serial to install the game so you can install it and put ioquake3/OpenArena/etc on top of that installation.

[0] https://archive.org/details/Quake_3_Arena_-_No_serial_number...


I was digging around in a closet at home and found my 3 CDs for q3a... Mac, Windows, and the Linux version. All retail copies which I have purchased.

what a timeless game. all these years later and it's still so much fun to play.


There's Open Arena for F/OSS content for Quake 3, but I don't know if it's drop-in compatible with this. Also OA's content doesn't look as good as the originals.


I own the game, I have the box and the CD. So I feel justified in getting a pirate copy to play.


There’s a metaphysics discussion about whether a ship that has had all its parts changed is still the same boat (ship of Theseus).

With that in mind, if you own the game, box and cd, and are only replacing the data… is that actually piracy?


“Piracy” (copyright infringement) is a legal construct. It has very little to do with either morals or metaphysics.

Yes, legally, it is copyright infringement to make copies not authorized by the copyright holder.

Morally I would claim the entire concept of copyright is wrong and the cause of far more evil than any extra copy could ever match.

Metaphysically I would say the law is just silly since the legal definition of what constitutes a copy has so very little to do with physics.

Edit: This comment was also silly. Let’s not start a debate on copyright. Keep the discussion focused on quake.


Funny, my old Q3A and Half-Life cd keys are burned into my brain. Good news is I suspect if you really don't wanna go to GOG or Steam (understandable) you can likely find a cd key generator no problem


My friends and I all own/owned it legitimately (we had LAN parties nearly every weekend), but over time we'd lose the key. Just entering all 3s has always worked and it accepts it as a valid key.


I believe that just spamming 2 or 3 for the whole key will work.


It's $10 on Steam right now (Sale) or $20 on GOG. If you an be bothered to to set up a new engine you can surely cop a new copy. The most expensive part will be your time tinkering.


I wonder whether it still uses fast inverse square root algorithm.



> t.i = 0x5f3759df - ( t.i >> 1 ); // what the fuck?

classic


It would be a crime to remove that, or the comment.

It's legitimately a part of history, specifically the dawn of FPS gaming, and utterly brilliant besides. The comment even helps reassure the new programmer that they're not alone in thinking that at that line.


I hope it's just kept as a historical curiosity or for backwards compatibility with official Quake 3 servers. I can't imagine this trick still being useful on modern hardware.


I tried to use it on an 8-bit AVR one time, and the native sqrtf function was faster!


I could see sqrtf(x) being faster than 1/rsqrt(x). An integer software implementation of sqrt and division will be similar (in fact, I think if implemented with Newton's method, sqrt will be significantly faster), and you still have to compute rsqrt.

But, if you were computing 1/sqrt(x), I highly doubt the quake3 style rsqrt(x) was slower than that. If both implemented with software floats, rsqrt(x) would be strictly less work. They're almost the same computation, except you'll probably get a better initial guess for rsqrt (the "what the fuck" line), and each iteration produces more accuracy.


you were doing that kind of floating point math on an AVR? good lord...


Yep, for that project I implemented an RC airplane attitude controller. It would keep pitch and roll at 0 degrees with an offset based on the joystick input, toggle-able by a switch. It was fun, you could do really foolish stunts and just flip a switch to level out immediately if you got too disoriented.

The AVR was reading a 6 axis IMU chip and estimating attitude using a floating point quaternion based complementary filter, at 100hz. Sqrt was used when normalizing vectors and quaternions, probably two or three times per cycle.

It was also reading 6 channels from the radio receiver, and producing 6 RC PWM outputs. I believe the output was synchronized to the input, so that the throttle and servos would go limp if the radio went out of reception, rather than have the plane just keep flying level into the sunset.

I vaguely remember it using about half the available CPU cycles doing all that. I even managed to get it talking to an RC simulator, so I could debug it without crashing my real plane. It worked perfectly on the first test flight!


Those were the days-- fast integers and slow floats!


In what engine version does the DeFRaG CGazHUD movement deceleration bar display properly? The graphic showing acceleration seems to work fine but not deceleration, and I'm needing a bit of help getting the muscle memory correct.


Cool, but Im not up2date anymore since a decade. Could someone give me a hint where still to get a few nice maps and mods for a retro session with Friends?


I wonder if id Software will continue the tradition of open sourcing stuff under Bethesda.


The last id engine released under the GPL was id tech 4, i.e. the Doom 3 engine (and the updated BFG version)*. id tech 5, 6, and 7 have since been used in Rage (2011), Doom (2016), and Doom Eternal (2020). Carmack was the only guy who both cared about open-source and had the juice to make it happen, but he left in 2013. So I kinda doubt it.

* https://github.com/id-Software


Another possible reason is that newer game engines tend to have dependencies on external libraries that aren't easy/legal to open-source or reimplement.


Nope. It stopped because he wasn't there to help make it happen. id Tech 5 was supposed to get an OSS release, but Carmack resigned before it could be completed.


They could still dump the remainder of the engine and people would fill in the holes.


https://github.com/TTimo also cared about open sourcing these engines


re: Carmack. I wish we'd see GPL Oculus firmware.


From Facebook?


They did release the DOOM 3 engine as open source in 2011 after being bought by Bethesda in 2009. Microsoft owns them and Bethesda now and they have been getting more open source lately. Although I think it was more Carmack who was pushing for the engine's to be open sourced.


Yeah, something like open sourcing an engine is a “default no” for companies unless you have someone very high up as a champion. That was Carmack and he’s gone now.


That's one of the reasons I won't do game development anymore, the industry as a whole is still very hostile to the idea of open source. I don't see that changing any time soon.


Pretty much a hard no. Bethesda has stated that Id engines are to be used for internal projects only.


I don't think they have open-sourced anything since they were bought by Bethesda.


You mean under Microsoft, right?


Microsoft has embraced server-oriented Linux initiatives, but they abstain to participate on Linux desktop and Linux gaming related initiatives.

I do not expect to see Office for Linux, a proper release of Minecraft for Linux with feature parity with Windows, etc. I also do not expect to see Xamarin development on Linux. I do not expect to see a proper release of Skype on Linux either. The only exception to this trend is VS code.

Edge for Linux doesn't bring anything new to the Linux desktop. There are already plenty of browsers such as Firefox and Chrome and others.

And I am deeply thankful that Microsoft won't buy Discord. Discord works very well on Linux and I hope it stays that way.


Nice! As a massive quake fan, I can't wait to fool around with this. Thanks.


Does id still release it's older engines as open source?


You can see a list of all their open sourced projects here: https://github.com/id-Software




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: