Live data from Hacker News

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

bluesnews.com

21–30 of 104 posts

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

#22
post #4

The 90% + 90% is soooooo true. Everyone wants to do new shiny stuff, nobody wants to fix bugs so the product can be pushed out of the door.

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.

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

#23
post #18

Earlier quoted context omitted.

I get your point, but I think that's really not what Michael Abrash was meaning here when referring to "heroes". His point is simply to show how hard it can be to finish a product, no matter how well or ill managed the team is.

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 follow; you will always be left with critical last minute tasks that are anything but fun and relaxing to complete. You can choose to work on the kinds of projects where this doesn't crop up as much, but games with blockbuster aspirations were never that kind of project.

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

#24
post #18

Earlier quoted context omitted.

I get your point, but I think that's really not what Michael Abrash was meaning here when referring to "heroes". His point is simply to show how hard it can be to finish a product, no matter how well or ill managed the team is.

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.

This article resonated with me and it has nothing to do with poor management or exploitation or enemies: for some of us starting projects (personal or otherwise) is always a lot easier and more fun than finishing them. Finishing projects can just be hard. And this isn't just within the realm of programming, although there I find it especially true.

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

#25
As a computer games development student, this feels very relevant to me (as, I'm sure, it does to other software developers). Even a project I'd like to do, on my own, for a week, is very hard to finish. There never really seems like there's a point to polish after I've learned what I wanted to learn. I'm battling this literally as I write this comment - this is only another way to procrastinate. I find keeping rigid office hours helps, as does keeping in mind that this project or that will look good in a portfolio, or might bring in some cash.

Really, though, it's just damned tough to continue something that you view as finished. The next games project I start will be rather boring to code, but hopefully fun aesthetically. That way, I'll concentrate more on the second 90%, but getting past the first 90% might be harder than usual.

If you've got any tips for surviving the second 90% of a project, I'd love to hear them. My short attention span coupled with my low focus really makes it difficult to finish anything, and it's getting me down.

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

#26
post #9

Earlier quoted context omitted.

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

Quake 3 sent the game state update to clients as a delta relative to the last state they had acknowledged receiving: http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Ne... On a different end of the spectrum there is Unreal's replication model, still used today by all UE3-based games: http://udn.epicgames.com/Three/NetworkingOverview.html

I remember that MW2 used a different model where one of the players was the host.

That was great for folks away from servers, like me - until the guy decided to disconnect, when a new host had to be chosen.

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

#27
post #18

Earlier quoted context omitted.

I get your point, but I think that's really not what Michael Abrash was meaning here when referring to "heroes". His point is simply to show how hard it can be to finish a product, no matter how well or ill managed the team is.

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.

I don't think that's true. Shipping is really hard - basically the end result of execution. A perfectly run project can still suck to work on at the end. The problem is that for most people the fun part of working on a project is the discovery phase when you're building something new. The last 20% of squashing bugs and going from "the code is working" to the "code is shippable" is generally not a good time.

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

#28
post #26

Earlier quoted context omitted.

Quake 3 sent the game state update to clients as a delta relative to the last state they had acknowledged receiving: http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Ne... On a different end of the spectrum there is Unreal's replication model, still used today by all UE3-based games: http://udn.epicgames.com/Three/NetworkingOverview.html

I remember that MW2 used a different model where one of the players was the host. That was great for folks away from servers, like me - until the guy decided to disconnect, when a new host had to be chosen.

That's still a client-server model, only one of the clients happens to be the server as well. Quake 1 worked that way, too. The Halo games use a client-server model but support transparent host migration if the original host quits mid-game. That's really tricky to get working even halfway decently!

The Call of Duty games all ultimately descend from the Quake 3 code base, so I wouldn't be too surprised if MW2 and BLOPS were still using a recognizable variation of the networking model described in the article by Brian Hook in my link.

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

#29
Shipping is like a project in itself - and I'm not even just talking about the process of finishing the product, but the act of preparing something for public consumption once you're finished is like a whole other dimension. It's enough to leave you cowering in the cupboard. And you'll never be happy.

Ship in fragile terror my friends. It's the only way.

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

#30

Quake was a huge part of my formative nerd years. I remember fondly the first time I ran the BSP calculation for a level I built, fired it up and crapped my pants at how smooth the rendering was. The game itself was pretty bizarre, but so many nerdgasms were had over the insanely beautiful shit they were able to render in real time. And then if you got a 3dfx Voodoo Graphics card you would get translucent water and b…

And then if you got a 3dfx Voodoo Graphics card you would get translucent water and bilinear filtering on the textures....

It's hard to explain to those who were not around the revolutionary change that occurred when GLQuake + the Voodoo card came out.

It was one of the few 'holy shit' moments in my technological life. I knew then and there that everything changed going forward.

Post reply on HN