Live data from Hacker News

Michael Abrash on Quake: "Finish the product and you’ll be a hero."

bluesnews.com

81–90 of 104 posts

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#81
post #62

Earlier quoted context omitted.

Descent came out over a year before Quake and was full 3D (except the annoying hostage sprites). It may have taken advantage of being set in a mine to have twisty passages that obstructed views, but it did have its fair share of wide open spaces (most reactor rooms, for instance). I think the reason Quake gets all the credit is due to its popularity, not for being the first.

There was also Driller in 1987 which had full 3D representations though you could rarely take advantage of it. It was based on the Freescape technology which I played with in 3D Construction Kit in 1991 and that was definitely full 3D in terms of movement (though not a game in itself).

Was this similar to Oblivion? Where you had to plant some gas valves to relieve the pressure on the planet? Awesome, frustrating little game :)

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#82
post #58

Earlier quoted context omitted.

Don't forget Wolfenstein 3D. While not directly germain to the topic at hand, this makes Quake second and probably more likely its development was handled like any other software project.

I think you misunderstood the parent post. Wolf3D was not really 3D, nor was Doom after it, and many other FPSs that came around at that time. Quake was the first really 3D FPS (e.g. you could walk under a bridge without "tricks"). I don't know what development process they had at ID at the time, but given that it was a Carmack project, I very much doubt it was anything like "any other" software project.

> Quake was the first really 3D FPS (e.g. you could walk under a bridge without "tricks").

Sometimes the tricks were cool.

In Bungie's Marathon for instance, the map format allowed you to have multiple rooms occupying the same physical 3-d space. Imagine a spiral stair case that doesn't go up or down, you just run around and around this long corridor like a manifold mobius loop. Quite fun in multiplayer maps with radar. Also worth noting that Marathon was the first game that allowed rocket jumping due to being able to look up and down slightly.

Obviously Marathon had nothing on Quake, but it was really a great multiplayer FPS for its day.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#83
post #13

I got the hero speech too, once. If anyone ever mentions the word "heroic" again and there isn't a burning building involved, I will start looking for new employment immediately. It seems that in our industry it is universally a code word for "We're about to exploit you because the project is understaffed and under budgeted for time and that is exactly as we planned it so you'd better cowboy up." Maybe it is differen…

3 guys wrote the world's first game that rendered a truly three-dimensional world, and they did it in software, and it ran at 20+ frames per second on my Pentium 75. It's not quite correct to talk about Quake the way you would talk about almost any other software project. BTW, if you're curious, Abrash goes into greater depth at the end of his "Black Book of Graphics Programming", which I think is now freely availabl…

Abrash's Graphics Programming Black Book was my favorite programming book in high school. I read it everywhere I went, even when camping. I highly recommend it to anyone who wants to learn how the lowest-level graphics primitives were drawn before GPUs. The first half of the book also makes for an excellent guide to optimizing algorithms by reducing overhead and converting to assembly language.

My only complaint about the book was that the publisher (Coriolis?) included a notice at the front saying that no code samples, algorithms, etc. could be used in any project without their express approval, but most of the algorithms and code were previously published elsewhere.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#84
post #9

Earlier quoted context omitted.

Haven't the newer games had advances in this area?

Quake really wasn't playable over the internet until the QuakeWorld "extension" came along. It used prediction and delta codes, and actually ran the server and client (and still runs) at 72 fps, no other online multiplayer game that I know of has done it ever since. This means if you have ping 14 milliseconds, you really have ping 14 milliseconds. If you've played Quakeworld with solid 72 fps (this only really became…

Quakeworld was such a revolution.

The gameplay is brutal. You have to put things in context. At the time Quake was designed rocket jumping was an unknown concept. Using the mouse was a controversial and new idea (you had to enable +mlook!). As such the game doesn't fit the mold of a refined and balanced FPS. Everything is raw and frenetic. You have to master rockets and lightning gun, you have to exercise strong map control, you have to aim and fire faster than any other FPS before or since. There's no weapon balance to allow for specialists, or forgiving maps to let you stage a comeback. They'll never make another game like it.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#85
post #40
post #36

Earlier quoted context omitted.

Thanks for the pointer to fountain codes. Though, since I'm working on a networked game that works over websockets, this is basically something I wouldn't bother with since websockets are TCP, not UDP, and as such they are guaranteed delivery and correct order of arrival. I realize TCP vs UDP is something of a debate in game networking, but it's a simple solution here. Let the protocol do the work and just send (comp…

Yes, it's for the protocol to worry about. imurray basically described a protocol to build on top of UDP that has slightly weaker guarantees than TCP. (Or does the construction that immurray described benefit from domain knowledge about the underlying data?)

A comparison of transport protocols to consider if anyone reading this ever decides to try their hand at implementing such a quasi-reliable UDP-based protocol:

https://secure.wikimedia.org/wikipedia/en/wiki/Transport_lay...

In addition to that list, there are µTP and rpp, plus others no doubt.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#86
post #13

I got the hero speech too, once. If anyone ever mentions the word "heroic" again and there isn't a burning building involved, I will start looking for new employment immediately. It seems that in our industry it is universally a code word for "We're about to exploit you because the project is understaffed and under budgeted for time and that is exactly as we planned it so you'd better cowboy up." Maybe it is differen…

I think games are fundamentally different than web apps in a couple of ways. (1) There tends to be times where having the product ready is much more profitable than other times (holiday season) (2) It's a lot harder to rev games. The end result is you often end up on death march slogs. And unfortnately the state of project management is that they're surprisingly hard to avoid. Part of the reason is human nature. If w…

"I'm not saying death marches are a good thing. But I've seen that in certain industries they do seem harder to avoid."

How hard they are to avoid depends entirely on how good the management is at coming up with excuses for them and at using carrots and sticks, and on how gullible and desperate their developers are.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#87
post #13

I got the hero speech too, once. If anyone ever mentions the word "heroic" again and there isn't a burning building involved, I will start looking for new employment immediately. It seems that in our industry it is universally a code word for "We're about to exploit you because the project is understaffed and under budgeted for time and that is exactly as we planned it so you'd better cowboy up." Maybe it is differen…

You don't get to be Carmack or Abrash by working 8-5. They didn't have a slave driver boss standing there making them work, they did it because its what they love doing.

A corollary of your point is that you don't get to be them by working 7-7 six days a week. You actually have to love what you're doing, which can be hard for the best of us after a six month death march.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#88

Earlier quoted context omitted.

3 guys wrote the world's first game that rendered a truly three-dimensional world, and they did it in software, and it ran at 20+ frames per second on my Pentium 75. It's not quite correct to talk about Quake the way you would talk about almost any other software project. BTW, if you're curious, Abrash goes into greater depth at the end of his "Black Book of Graphics Programming", which I think is now freely availabl…

Abrash's Graphics Programming Black Book was my favorite programming book in high school. I read it everywhere I went, even when camping. I highly recommend it to anyone who wants to learn how the lowest-level graphics primitives were drawn before GPUs. The first half of the book also makes for an excellent guide to optimizing algorithms by reducing overhead and converting to assembly language. My only complaint abou…

I used to do graphic demos in Pascal, in 286 mode, using hand-coded procedures in assembler for the graphics parts, using Mode X for buffering the animations, like 320x240 resolution, 256 colors and only one virtual screen (although more were possible).

Doing 3D was pretty cool too - I couldn't do fancy stuff, but I could display and rotate 3D objects, drawing only visible polygons, draw textures and even have simple lighting.

To me it seems weird how kids work these days. I don't know what a pixel shader is for instance.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#89
post #86

Earlier quoted context omitted.

I think games are fundamentally different than web apps in a couple of ways. (1) There tends to be times where having the product ready is much more profitable than other times (holiday season) (2) It's a lot harder to rev games. The end result is you often end up on death march slogs. And unfortnately the state of project management is that they're surprisingly hard to avoid. Part of the reason is human nature. If w…

"I'm not saying death marches are a good thing. But I've seen that in certain industries they do seem harder to avoid." How hard they are to avoid depends entirely on how good the management is at coming up with excuses for them and at using carrots and sticks, and on how gullible and desperate their developers are.

I'm not sure that's true. But if you look at certain industries, like web startups, death marches are almost the complete culture.

Try to be employee #1 of a YC startup while being upfront that you work 40 hours a week, period. Not going to happen in many cases. The death march starts on day one in this industry.

Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."

#90
post #13

I got the hero speech too, once. If anyone ever mentions the word "heroic" again and there isn't a burning building involved, I will start looking for new employment immediately. It seems that in our industry it is universally a code word for "We're about to exploit you because the project is understaffed and under budgeted for time and that is exactly as we planned it so you'd better cowboy up." Maybe it is differen…

While I have worked a heroics shop and learned to not do that again, I got a completely different read of that. It is a PG real artist ship speach not a to the death, or for queen and country speach.
Post reply on HN