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…
Michael Abrash on Quake: "Finish the product and you’ll be a hero."
41–50 of 104 posts
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#42Earlier 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.
In the past I would agree with you but nowadays I've come to the opposite conclusion. Shipping crappy, trivial, mundane, or even good software shouldn't require this. But shipping something that is timeless is absolutely mentally, physically, and emotionally draining. I think around eleven men died building the Sydney Harbor Bridge. I'm sure many men will die in the next few decades as we start to commercially explor…
It didn't chase Francis Ford Coppola away from film. It was an isolated example of how bad things can get, a living worst-case-scenario. It wasn't "Tuesday at the office."
Are people dying during game production? No. But they're not in experimental spacecraft, and they're not balancing on I-beams hundreds of feet in the air, either. Given the sleep deprivation you hear about in game production, if they were in either of those scenarios? Yeah. Games would probably take more than eleven lives a year.
/edit: Also, do you consider the eleven men who died during the Sydney Harbor Bridge heroes? Or guys that got stuck with shitty, dangerous jobs in search of a paycheck, for whose deaths I feel more pity for, than respect? I'm more with the latter. Astronauts, well, that I can kinda get as a "hero". The gang that made Guitar Hero: Van Halen? Not on that level.
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#43I 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…
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…
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#44Earlier 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?)
I guess the argument is that a scheme based on UDP can have very low latency a lot of the time, only occassionally stalling while waiting for more data. Whereas TCP, which needs acknowledgements and to keep packets in order, has a uniformly high latency. For this particular type of application, the tradeoffs are different from typical internet use?
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#45Earlier quoted context omitted.
In the past I would agree with you but nowadays I've come to the opposite conclusion. Shipping crappy, trivial, mundane, or even good software shouldn't require this. But shipping something that is timeless is absolutely mentally, physically, and emotionally draining. I think around eleven men died building the Sydney Harbor Bridge. I'm sure many men will die in the next few decades as we start to commercially explor…
The production of Apocalypse Now was by any account HELL. Far worse than any game development example I can think of. (Well, DNF jokes spring to mind, but at least they essentially built multiple games there. Apocalypse Now wasn't released until two years after it finished shooting.) It didn't chase Francis Ford Coppola away from film. It was an isolated example of how bad things can get, a living worst-case-scenario…
Kind of off topic but to answer your question:
If you define hero as someone who puts forth a heroic effort, then sure I would. Does them dying make them heroes? No. Maybe someone was hungover and slipped. But the type of work they were doing I respect.
If you defined hero as a role model, I have no idea of course (didn't know any of them).
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#46I 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…
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 available online.
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#47Earlier 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…
Apart from the timelines, my impression is that implementing fountain codes has some IP issues. Also, there is some code complexity in getting them implemented correctly (as hard to get right as paxos). Anyone know a game that used these? Any body have first hand experience?
(I too would love to hear first-hand experience of anyone who's used this type of code.)
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#48Earlier quoted context omitted.
Sounds like a Market for making bug fixing compelling and fun.
That's the difference between FOSS and commercial software: the latter gives developers a reason to do what is otherwise uncompelling and unfun. Some things are just not fun. Some things are just not compelling. Some things are a big obnoxious hassle which nobody will enjoy doing and nobody will appreciate. Doing those things differentiate the professional from the amateur, and are why the professional gets paid.
Although I don't think this is an issue of good, professional developers vs bad, amateur ones. Sometimes the same developer works on commercial and FOSS projects. It's just about the nature of work.
Work is hard. That's why you have to be paid to do it. If you're doing a project for fun, you'll probably stop when it stops being fun.
For many of us developers, the "first 90%" is fun and intrinsically motivating; the "last 90%" sucks and we do it because it's what we're paid to do.
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#49How quaint.
Re: Michael Abrash on Quake: "Finish the product and you’ll be a hero."
#50I 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've been on fucked projects and projects that shipped industry-leading products. Success doesn't seem to correlate with a well-planned project. Instead it seems to correlate with how bloody-minded the participants are about shipping and moving forward from where they are.
This annoys me, as I used to be quite the process/method evangelist, and of course cynical project managers exploit this.