[HN Gopher] Quake3e, a modern Quake III Arena engine
       ___________________________________________________________________
        
       Quake3e, a modern Quake III Arena engine
        
       Author : pdenton
       Score  : 249 points
       Date   : 2021-05-14 21:29 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | ezekg wrote:
       | I've spent so many hours reading Quake source code, trying to
       | figure out how it all works. Such a marvelous game.
        
         | sharken wrote:
         | 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...
        
           | Narishma wrote:
           | You may be confusing the various engines. The first link is
           | about the Quake 3 engine, the second one is about Quake 1.
        
             | sharken wrote:
             | Quite right, thanks for pointing it out.
        
       | reputet wrote:
       | 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
        
         | shdh wrote:
         | You can still play standalone mods with q3e or ioq3 and not
         | need baseq3.
        
         | gogopuppygogo wrote:
         | 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
        
           | znpy wrote:
           | I used to like OpenArena, but there often is a lot of
           | cheating/aimbotting and no one ever does anything.
        
         | jimbob45 wrote:
         | You could conceivably download the demo and use that too,
         | right?
        
           | gsich wrote:
           | You can, but it doesn't have all assets.
        
         | dorgo wrote:
         | [2] Doesn't work for me. I get redirected to
         | https://www.gog.com/games?page=1&sort=popularity. Is it geo
         | blocking?
        
           | reputet wrote:
           | Not sure, but it works from US.
        
       | NaturalPhallacy wrote:
       | 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_
        
         | giantrobot wrote:
         | 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...
        
         | jrnichols wrote:
         | 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.
        
         | Pet_Ant wrote:
         | 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.
        
         | smcl wrote:
         | 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
        
         | Pxtl wrote:
         | 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.
        
         | skibbityboop wrote:
         | 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.
        
         | metalliqaz wrote:
         | I own the game, I have the box and the CD. So I feel justified
         | in getting a pirate copy to play.
        
           | discordance wrote:
           | 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?
        
             | CuriousSkeptic wrote:
             | "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.
        
         | boyter wrote:
         | I believe that just spamming 2 or 3 for the whole key will
         | work.
        
       | sigg3 wrote:
       | 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
        
         | ManlyBread wrote:
         | 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.
        
         | nolok wrote:
         | Warsow is also quite good and very close to late 90's shooter's
         | idea of multiplayer
         | 
         | https://warsow.net/
        
         | je42 wrote:
         | it is fun idd. however, i wish there were more players online.
        
         | Archer6621 wrote:
         | 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).
        
           | raffraffraff wrote:
           | 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.
        
             | Archer6621 wrote:
             | 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
        
         | Nimitz14 wrote:
         | Or Diabotical. Free on epic games store.
        
         | franky47 wrote:
         | Also worth mentioning (and playing) is Nexuiz, which also used
         | the modified DarkPlaces engine:
         | 
         | https://en.wikipedia.org/wiki/Nexuiz
        
           | bmn__ wrote:
           | It's not worth. https://news.ycombinator.com/item?id=20115448
        
       | ctf1er wrote:
       | 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
        
         | eurekin wrote:
         | First video is private for me
        
       | dod9er wrote:
       | 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?
        
       | croes wrote:
       | Does id still release it's older engines as open source?
        
         | sbarre wrote:
         | You can see a list of all their open sourced projects here:
         | https://github.com/id-Software
        
       | mxmilkiib wrote:
       | 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.
        
       | binbag wrote:
       | Nice! As a massive quake fan, I can't wait to fool around with
       | this. Thanks.
        
       | znpy wrote:
       | 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.
        
         | shdh wrote:
         | 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.
        
       | m00dy wrote:
       | I wonder whether it still uses fast inverse square root
       | algorithm.
        
         | m00dy wrote:
         | hehe, there you go
         | 
         | https://github.com/ec-/Quake3e/blob/2c96f6d58619a29589bac577...
        
           | Narishma wrote:
           | 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.
        
             | sgtnoodle wrote:
             | I tried to use it on an 8-bit AVR one time, and the native
             | sqrtf function was faster!
        
               | creato wrote:
               | 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.
        
               | metalliqaz wrote:
               | you were doing that kind of floating point math on an
               | AVR? good lord...
        
               | sgtnoodle wrote:
               | 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!
        
             | fridif wrote:
             | Those were the days-- fast integers and slow floats!
        
           | rubyist5eva wrote:
           | > t.i = 0x5f3759df - ( t.i >> 1 ); // what the fuck?
           | 
           | classic
        
             | NaturalPhallacy wrote:
             | 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.
        
       | janderland wrote:
       | I still play the Movie Battles mod for Jedi Knight 3, which uses
       | this engine. https://www.moviebattles.org
        
         | Insanity wrote:
         | 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
        
           | space_ghost wrote:
           | The #massassi chat moved to Discord a while back. There's
           | usually a bunch of us in there.
        
         | Stevvo wrote:
         | 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.
        
         | schemescape wrote:
         | I couldn't tell from the site: is that an offline single player
         | mod or an online multiplayer mod (or both)?
        
           | a_t48 wrote:
           | online multiplayer
           | 
           | Edit: ex MB2 dev here, hi
        
       | viraptor wrote:
       | A different angle: there's quakejs which you can use in your
       | browser - http://www.quakejs.com/
        
         | holoduke wrote:
         | Amazing that the game just runs with 60fps on my mid range
         | phone.
        
           | paulryanrogers wrote:
           | Considering I played it on Pentium 2 with a very old 3D
           | accelerator this isn't too surprising.
        
             | tracer4201 wrote:
             | 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.
        
               | smcl wrote:
               | Hah, so from ATI Rage Pro to Voodoo 3 for Quake 3 (and
               | UT) - that means we had _exactly_ the same upgrade path
               | :D
        
               | seattle_spring wrote:
               | > 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.
        
       | 29athrowaway wrote:
       | I wonder if id Software will continue the tradition of open
       | sourcing stuff under Bethesda.
        
         | Narishma wrote:
         | I don't think they have open-sourced anything since they were
         | bought by Bethesda.
        
         | salamandersauce wrote:
         | 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.
        
           | bombcar wrote:
           | 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.
        
             | zxzax wrote:
             | 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.
        
         | bitwize wrote:
         | Pretty much a hard no. Bethesda has stated that Id engines are
         | to be used for internal projects only.
        
         | daniel-thompson wrote:
         | 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
        
           | shdh wrote:
           | https://github.com/TTimo also cared about open sourcing these
           | engines
        
           | lostmsu wrote:
           | re: Carmack. I wish we'd see GPL Oculus firmware.
        
             | sigg3 wrote:
             | From Facebook?
        
           | FartyMcFarter wrote:
           | 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.
        
             | Conan_Kudo wrote:
             | 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.
        
         | modeless wrote:
         | You mean under Microsoft, right?
        
           | 29athrowaway wrote:
           | 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.
        
       | qrybam wrote:
       | Any eye candy screenshots anywhere?
        
         | nolok wrote:
         | It's not making it look better, it's making it run faster.
        
         | 0-_-0 wrote:
         | 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...
        
       ___________________________________________________________________
       (page generated 2021-05-15 23:02 UTC)