Live data from Hacker News

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

bluesnews.com

61–70 of 104 posts

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

#61
post #44
post #40

Earlier quoted context omitted.

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?)

eru makes a really good point, and I suddenly feel much less confident. My intention was to sketch the idea for a protocol that was reliable (with very high probability, just like anything in the real world). So, to repeat the argument: if there's some information we need reliably, whatever cunning thing we layer on top of UDP, we're just reimplementing what TCP does. It seems unlikely we can do better than TCP unles…

> For this particular type of application, the tradeoffs are different from typical internet use?

Absolutely. The value of any one packet is fairly low, you can interpolate the player's path, hell, maybe no one else was looking at him at the time. But with TCP, you basically stop the world for a couple roundtrips to make sure you have that packet, so all the packets you received after the original drop and before the retransmission are no longer useful, and you have to drop them too.

It's also worth noting that TCP does /not/ have a uniformly high latency, it does the sawtooth thing. In other words, if Level3 decides they're going to shovel a bunch of your ISP's traffic into the bitbucket for a second, your packets have been dropped, the server is going to wait until it has a complete set of packets, and your TCP implementation has decided to throttle the number of packets you can send to catch up.

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

#62
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.

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.

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

#63

I'm a huge fan of Michael Abrash and his writting style: He always starts with a totally unrelated story, and somehow manages to relate that to the topic of his article. Check out the other chapters on Quake here: http://www.bluesnews.com/abrash/ The story on the first one is truly inspiring as well.

How old's his daughter these days? He used to start his Doctor Dobb's Journal (DDJ) articles with anecdotes about his (toddler) daughter. I'm guessing she's now older than I was when I was reading those articles.

[deleted]

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

#64
post #62

Earlier quoted context omitted.

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.

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).

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

#65
post #18

Earlier quoted context omitted.

Exciting as it was, we hit the same rough patches toward the end as any other software project. I am quite serious when I say that a month before shipping, we were sick to death of working on Quake. Finishing projects should not require this and anyone who tells you different is your enemy. I mean that.

> Finishing projects should not require this and anyone who tells you different is your enemy. I mean that. Enemy? How melodramatic. Finishing complex multi-year retail projects is never easy. Someone will have to fix those nasty, hard to reproduce crash bugs, find ways to free up another few megs of memory, smooth out those frame rate spikes, etc. It doesn't matter how many politically correct agile practices you fo…

My theory is that un-released software is like physical inventory. Keeping inventory is very expensive because the money spent could have been earning interest elsewhere and product sitting in the warehouse becomes gradually obsolete. As you accumulate a great deal of software inventory towards the end of a big project the cost of keeping the inventory, and therefore the pressure to complete the project, naturally increases. Shipping small increments frequently and not keeping much software inventory is the most efficient process if the product design/market allows. (I'm not saying this is always possible or would have been appropriate in this case, just making a comparison.)

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

#66

Earlier quoted context omitted.

Sounds like a Market for making bug fixing compelling and fun.

Not to be snarky, but that's like saying "sounds like a market for making teeth-pulling compelling and fun". Some things are just hard and sometimes boring too. There's certainly a market for easing the pain, but I'm not sure you can make it fun.

Some things, but not all things. Consider Farmville. Then consider this from the Simpsons in the 90s: http://farm4.static.flickr.com/3022/2461504842_de9b7ef09f.jp...

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

#67
post #19

Earlier quoted context omitted.

Sounds like a Market for making bug fixing compelling and fun.

I like fixing bugs. I hate that you have to replicate them beforehand. That's usually digging out certain versions of the environment setup. The actually theory-validation-cycle of bug fixing is fun, because it is just like science.

I like fixing bugs too. The more difficult and obscure the better. I am often called in to fix a bug that nobody else can find, partly because I'm good at it, and partly because I enjoy it.

My dream job is freelance bug hunter .. I'll track em down and squish em, when you cant, or dont want to :)

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

#68
post #62

Earlier quoted context omitted.

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.

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.

Descent used affine texture projection, which makes texels slide around as your viewpoint changes, unless extremely small polygons are used (they weren't). It also had extremely simple lighting (intensities set at vertices, interpolated in a simple gradient in screen space like the texture projection). Neither of these things means you're wrong in calling it "full 3D", of course. I don't recall if the topology allowed room-internal objects other than the robots; I think it did.

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

#69
post #9
post #3

I liked the discussion of transmitting game state for network play. Quick summary: Doom sent differences of state, which had to be received and therefore acknowledged. Quake sent the whole game state each time, but compressed, so it wouldn't matter if a transmission was lost. Neither approach seems optimal from an information theory point of view. The Doom approach needs feedback, but communicating at the optimal rat…

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 possible many many years after its release) and a good mouse, monitor and decent internet connection, all other games after that feel like clunky puppet shows where you can only vaguely affect the end result. That's the reason why it's still being played. It really feels like you're on the server.

The game also enables amazing moves that can be pulled off by sufficiently skilled players - there is no roof for domination abilities, There can be tens of levels of players that can crush anyone below them easily. This also means that it can be pretty newbie hostile at the same time. But it's pure bliss when dueling with someone your own level.

The game companies assumed (probably correctly) that the average consumer never pays attention to good control or stratospheric skill potential, and rather pays for the resolution, level of detail and nice colors as well as newbie entry easiness.

So, Quakeworld was and probably will always be a one off with no peers, a raw formula one in the world of soft SUV:s.

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

#70
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.

I'm pretty sure a few of the LookingGlass games came out before Quake and would qualify as 3D.

Ultima Underworld came out in 1992: http://en.wikipedia.org/wiki/Ultima_Underworld

Post reply on HN