Live data from Hacker News

Source code for Quake 2 rerelease

github.com

111–120 of 232 posts

Re: Source code for Quake 2 rerelease

#111

Quake II was my first experience writing C. The code is clear, coherent, and straightforward. I’m not going to say it’s the best source code I’ve ever read, but it set a high bar. I’ve read source code to games since then, and I’ve seen all sorts of weird stuff… I’ve seen functions with nesting levels that go past the right side of the screen, I’ve seen functions a mile long that do a million things, you know. It was…

Can you share any screenshots of the results of this course? It sounds amazing!

Re: Source code for Quake 2 rerelease

#112
post #40

Incredible and just sent me way back to the nineties. To be fair, I'm talking about the first Quake game here. I had a PC rig on my bedroom floor which as I recall was a Pentium 166MMX, and my friend came over with a similar machine which was a bit faster (a 233) perhaps. No LAN cards insight. Using one of my dad's ancient parallel cables and fooling Windows into thinking it was a LAN connection, which worked well en…

I had 8gb of downloaded-over-modem and sometimes T1 mods, maps, skins for quake 2 multiplayer. I miss the mods so much.

The endless amounts of user created mods, maps, and skins many of us enjoyed in early days were killed off so that game publishers could make a fortune charging us for a small selection of sanctioned DLC. In the process they killed off an entire ecosystem that grew up around user created content. Forums, review sites, file hosting, and generations of new talent who found their love of programing by creating mods all lost due to greed and a desire for control.

Re: Source code for Quake 2 rerelease

#113
post #95

I'll drop my Quake II anecdote here. Quake II was the first FPS I ever beat (at least I think I beat it). I did it over a week in the summer when visiting a friend out of state (never would have been allowed otherwise). When I started, I had only ever played the original DOOM, so I used those controls, and lo and behold they worked, and I thought nothing of it. At some point as I was playing along, my view suddenly b…

> Glad to see the source code released! In case you were unaware, this is actually the source code of the rerelease of Quake II. The source code for the original Quake II has been released for many years[0], along with many of the id Software classics[1]. [0]: https://github.com/id-Software/Quake-2 [1]: https://github.com/id-Software

In case you were unaware, the source code of the original is included along with the re-release in this repository, as stated in the first sentence of the readme.

Re: Source code for Quake 2 rerelease

#114
post #66

Earlier quoted context omitted.

They used to open source the code after 5 years, but I think they stopped open sourcing their games after Carmack left. It could just be that they started using other proprietary components in their code though. Would've loved to read the source code for Doom 2016!

Yeah they use a substantial amount of proprietary middleware now, so even if they wanted to open source the engine it would be difficult to pull off. As of Doom Eternal they're using middleware for at least audio (Wwise), video (Bink), compression (Oodle), physics (Havok), culling (Umbra) and networking (Playfab), plus any references to console SDKs would have to be meticulously scrubbed from a public release, which…

Doom 3 even had that issue to a smaller degree. They had to rewrite some sort of lighting middleware before open sourcing. That's just one piece of middleware though, and modern stuff is probably much more hairy and complex.

Re: Source code for Quake 2 rerelease

#115
post #15

What are people's thoughts on using "_t" as a suffix for types in C/C++, as this source does? My understanding is that it is technically reserved for language defined types, but I haven't come across a reasonable alternative (and having no suffix makes for odd code, for example a custom type for a "viewport" is better imo as "viewport_t viewport;" than "viewport viewport;")

I use and prefer capitalization for typedefs.

Cube instead of cube_t.

Re: Source code for Quake 2 rerelease

#117
post #81

Earlier quoted context omitted.

It was one of the very first FPS games where you had true mouselook. All the predecessors either didn't (wolf3d/doom/rott), or faked it (ultima underworld). Notable exception is Descent (which is probably the actual first 3d FPS game), but IMO controlling a spaceship in 3d was a barrier to entry that Quake didn't have.

Descent had mouselook? Now I feel stupid. Or maybe I just didn’t have a mouse when I used to play it with friends, can’t remember.

TBH I could certainly be wrong about that. I remember playing with two hands on the keyboard and a gravis on the floor that I used my feet on to press buttons because movement was so complicated.

Re: Source code for Quake 2 rerelease

#118
I hope we'll see some old Quake 2 mods dusted off and reapplied to this new version. There were some greats back in the day - Action Quake 2, Transformers Quake 2, Superheroes Quake 2, etc.

Re: Source code for Quake 2 rerelease

#119
post #66

Earlier quoted context omitted.

Yeah they use a substantial amount of proprietary middleware now, so even if they wanted to open source the engine it would be difficult to pull off. As of Doom Eternal they're using middleware for at least audio (Wwise), video (Bink), compression (Oodle), physics (Havok), culling (Umbra) and networking (Playfab), plus any references to console SDKs would have to be meticulously scrubbed from a public release, which…

Doom 3 even had that issue to a smaller degree. They had to rewrite some sort of lighting middleware before open sourcing. That's just one piece of middleware though, and modern stuff is probably much more hairy and complex.

That one wasn't middleware but rather a patent issue, the code in question was written by Carmack but he had unwittingly rediscovered a technique that had already been patented by Creative Labs. Id licensed it from Creative for Doom 3s commercial release but legal wouldn't sign off on including it with the open source version so Carmack swapped it out for a different, slower algorithm.

https://www.gamedeveloper.com/design/patent-issue-forces-new...

Re: Source code for Quake 2 rerelease

#120
post #46

Why do people like Quake so much? I'm too young to understand. Does it do something unique compared to other shooter games?

To be honest, a lot of it is nostalgia. The gameplay was pretty danged good, but feels pretty repetitive and meaningless to modern players - basically no plot or progression to speak of, an endless array of elaborately sculpted mazes with monsters in them for you to explore to find the way to get to the next level.

However, Carmack was the most brilliant engine developer of his time and was heavily committed to open platforms, so that meant these games looked head and shoulders above their peers and played amazing online and had massive communities of modders and admins running the online games. Basically they created the modern FPS genre.

Until Unreal Tournament and Counterstrike came along, the Quake series was the king of online FPS gaming. And even after they appeared, Quake 3 held its own.

Post reply on HN