Abusing an Assistant Designer

We had to do a 3D game for the Sega CD once (youngsters: the Sega CD was a Sega Genesis plugged into a CD system so you could play from a disc instead of a game cartridge). It wasn’t easy. RandyT had some really clever way to draw triangles, and that helped a lot, but getting the speed we needed to do everything was just impossible.

The game was a zip-around-on-various-alien-landscapes shooter. I realized that we could cheat and do all the vehicles in cylindrical coordinates instead of in true 3D, so the vehicles could turn in a full circle (but, unfortunately, not flip over). All the rotation ended up in a lookup table. All of the sudden, the 3D wasn’t a problem.

But still, to get as many vehicles out there as we wanted, we couldn’t spend any time sorting the polygons that made up each vehicle (we barely had time to sort the vehicles), so I made a tool where you could look at the vehicle and push and pull polygons until everything you needed to see from a given angle was sorted.

 

Sorry Greg

This was really a pain, because you had to look straight on and down onto the ground vehicles, and you had to look straight on and up at the flying vehicles. If you just couldn’t make it work, you had to go to an artist and ask him to add a polygon.

So whomever had to do this had a really crummy job, and it fell to our ambitious assistant designer, GregG, who was busy designing stuff we knew we’d never have time to ship anyway. “Greg, all that great stuff your designing? The weight, weapons, ammo details? Forget that. We just made this really primitive tool. You’ll be manually sorting polygons all day for WEEKS!”

Sorry Greg. I still feel guilty.

Comments are always Wrong

I was taking a break.

I worked at a big game company. My group was porting a PC game to the Amiga. Mostly I was rewriting the slowest parts in 68000 assembly language. We worked all sorts of odd hours, but no matter what hours I was in there, I always got sleepy an hour after lunch, so I walked around to wake up.

We had a nice Atrium with some indoor trees and a restaraunt in the building. Lots of places to go, even in rainy Eugene. Stairs to walk up and down.

I ended up in the big office where the three guys programming the football game sat. I was social with all three. We all had families or were soon to have them.

Their window was open. There was a cool breeze, and you could hear teenagers and buses outside. It was nice. I could sit there and shoot the bull for maybe 10 minutes before getting kicked out.

DaveM was running a batch or a grep or something on some source file he was looking at.

Bang, all the comments were gone. He leaned in and started looking at code.

 

No Comment

“Where did the comments go?,” I asked.

“Comments are always wrong. You should never look at them.”

Wow. This was great. My day had gone from drab to peacock in a blink. There was nothing, nothing better than an argument that started with one of Dave’s provocative statements.

“Well that can’t be true. Some comments must be right.”

Dave and I had managed to distract TimM and GlenW. Tim offered, “All of mine are wrong.” Glen laughed.

This was serious business to Dave.

 

The Code is the Code

“The code is the code. That’s what runs. If you read the comment, it’ll tell you what the guy meant to do, but the guy probably wrote it wrong anyway. And it’s probably changed twice since then. If you believe the comment, you won’t really look to see what the code is doing.”

Glen said, “My favorite kind of comment is the one that says, ‘increment m.'”

“Yeah, and there’s no m anywhere in the file anymore,” Tim joked.

“I just don’t want to see them,” stressed Dave, “they don’t help anyone.”

“Most of my comments mark the places where I don’t know what I’m doing,” I said. I was getting into it. “They say, ‘I should look at this again,’ or, ‘I should do this a better way.'”

Tim said, “Let me look at my comments… Here’s one. It says, ‘I don’t know why this works.'”

Dave said, “I believe that one.”

“Yeah,” Tim said. “Maybe all my comments aren’t wrong after all.”