Live data from Hacker News

Source code for Quake 2 rerelease

github.com

131–140 of 232 posts

Re: Source code for Quake 2 rerelease

#132
post #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…

No plot or progression and just endless shooting? That's almost some kind of meditation for me and other people.

Both the resurgence of "boomer shooters" (at least in PC) and by extension the recent remastering of both Q1/Q2 indicates an existing target group for these kind of games.

Point taken that younger players may see no fun or meaning in games like this, but modern gamer young gamer.

Re: Source code for Quake 2 rerelease

#133
post #5

I saw grumbling elsewhere about how the re-release doesn't include a Linux version, but here they are with the source and it claims to be tested with clang. Big props to iD for sticking to their principles.

I wonder why they released the source code for this one. Is it purely because of the principles, or did they have a legal requirement since the old one is also GPL licensed? I'm assuming they don't have legal requirements since they owned the old code anyway.

I remember in one if Carmack's last Quakecon keynotes, after the acquisition, he was talking about future source code releases. He didn't say anything definitive, but he did tell a story where he spoke with a Zenimax lawyer, and they told him how important the GPL releases were.

Re: Source code for Quake 2 rerelease

#134
post #126

What do the comments like `// ROGUE` or `// PMM` `// STAND` mean? Also, can anyone explain the code in insane.cpp? Lots of magic numbers and hand-crafted arrays.

This nomenclature was often used in licensed Quake codebases to indicate places where a vendor would put their own Mission Pack-specific alterations into the code. I guess they just 'up-merged' the modified code to the main id source when they were done, or perhaps the changes were done by id on behalf of them?

I believe there were similar bits in the Quake 1 source, e.g. for Scourge of Armagon (Mission Pack No. 1) you would see things like '// HIPNOTIC'.

Re: Source code for Quake 2 rerelease

#136

Earlier quoted context omitted.

Rage should still be releaseable as Carmack wanted to release the source code at some point but he left id before that happened. I always found amusing that to replace him Zenimax built a whole new studio in Germany to hire the top programmers from Crytek and even then Doom 2016 used a litany of middleware :-P.

Shame they never finished Rage. It was a pretty good game up to the point where the boss came in and said they needed to have it out the door in a week.

It probably went through some heavy development hell, it was id's longest game in development (7 years) and IMO it wasn't really that great as a game - the shooting bits were great and felt very good (the best part of the game), the driving sections felt bad with the levels being too small to drive around and too large to walk and the quests felt tacked on. The various "bonuses" (like those things that hang in the air and you can pick up by making stunts) feel like excuses to pad out the game's length.

It was like the game didn't know if it wanted to be an FPS or some seamless open world ARPG so it tried to do a bit of both and the only reason the FPS side didn't felt bad was because id was masters at making FPSs by that time - but it was certainly dragged down.

It would have been way better if it was a regular FPS with a linear progression of levels like id's previous games.

Re: Source code for Quake 2 rerelease

#137

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…

Certainly id's code is clean and well-structured, however I always had a tough time trying to grok it as a layperson. Comments (those within the functions) are relatively sparse, and the code often contains quite cryptic expressions that are somewhat bewildering to those without an high understanding of 3D graphics.

This, of course, makes perfect sense as an output from an industry leader in the field (Carmack). However it definitely requires a lot of foreknowledge and, dare I say it, a mathematical bent to follow with confidence.

Re: Source code for Quake 2 rerelease

#138

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…

I never scrutinized the id software source, but man have I seen some horrifying game source. The bar is extremely low.

What's surprised me is that successful, fun to play, and stable enough games have been shipped with such absolute unmitigated disasters behind the curtain.

It makes me question sometimes all the effort(and time) I put into preventing the chaos, when such carelessly bodged together garbage can be perfectly profitable.

Re: Source code for Quake 2 rerelease

#139
post #120

Earlier quoted context omitted.

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…

No plot or progression and just endless shooting? That's almost some kind of meditation for me and other people. Both the resurgence of "boomer shooters" (at least in PC) and by extension the recent remastering of both Q1/Q2 indicates an existing target group for these kind of games. Point taken that younger players may see no fun or meaning in games like this, but modern gamer young gamer.

> No plot or progression and just endless shooting? That's almost some kind of meditation for me and other people.

Indeed, some years ago i'd wake up, take a shower, make some coffee, do a quick play of the first episode of Quake (i stopped at first death but i pretty much knew the game so well by that point that i rarely died before the last couple of maps) to wake up and then go to work :-P.

Re: Source code for Quake 2 rerelease

#140
post #34

If I wanted to read the source code of just one version of Quake, to learn from it, which do you think would be the most interesting?

Quake 1 is most likely the simplest and most straightforward though it does have a bunch of alternative things for stuff like GLQuake vs software rendering.

Quake 3 was designed to be used by 3rd parties and is more well put together, focuses on OpenGL and Carmack considers it his best C code.

I'd say one of these two.

Post reply on HN