The Black Triangle

A great story I remembered reading once on someone's blog. The link is now broken but I found the story copied on Wayback machine:

The Black Triangle
Reposting of a .plan I released a little over a year ago at GarageGames: 

In October of 1994, I’d just started as an honest-to-goodness videogame programmer at a small startup called SingleTrac – which later went on to fame and glory (but unfortunately not much in the way of fortune) with such titles as Warhawk, the Twisted Metal series, and the Jet Moto series. But at the time, the company was less than 20 employees in size and had only been officially in business for about a month. It was sometime in my first week – possibly my first or second day. In the main engineering room, there was a whoop and cry of success. 

Our company financial controller and acting HR lady, Jen, came in to see what incredible things the engineers and artists had come up with. Everyone was staring at a television set hooked up to a development box for the Sony Playstation. There, on the screen, against a single-color background, was a black triangle. 

“It’s a black triangle,” she said in an amused but sarcastic voice. One of the engine programmers tried to explain, but she shook her head and went back to her office. I could almost hear her thoughts… “We’ve got ten months to deliver two games to Sony, and they are cheering over a black triangle? THAT took them nearly a month to develop?” 

What she later came to realize (and explain to others) was that the black triangle was a pioneer. It wasn’t just that we’d managed to get a triangle onto the screen. That could be done in about a day. It was the journey the triangle had taken to get up on the screen. It had passed through our new modeling tools, through two different intermediate converter programs, had been loaded up as a complete database, and been rendered through a fairly complex scene hierarchy, fully textured and lit (though there were no lights, so the triangle came out looking black). The black triangle demonstrated that the foundation was finally complete – the core of a fairly complex system was completed, and we were now ready to put it to work doing cool stuff. By the end of the day, we had complete models on the screen, manipulating them with the controllers. Within a week, we had an environment to move the model through. 

Afterwards, we came to refer to certain types of accomplishments as “black triangles.” These are important accomplishments that take a lot of effort to achieve, but upon completion you don’t have much to show for it – only that more work can now proceed. It takes someone who really knows the guts of what you are doing to appreciate a black triangle. 

When I was working on Void War's principle development, I remember chatting with another SingleTrac alumni, and getting very excited about my multiplayer code. I’d spent a little over a week on the underlying architecture, trying to make it clean and reliable and easy to use. It’s all UDP rather than TCP/IP (for speed), so I created my own “guaranteed delivery” protocol for those rare packets that need to be guaranteed. I’ve rarely worked with UDP before, so it was kind of a new experience. When all was said and done, I had another computer join the game – and boom. There it was, on the host machine. Wow. No updates, it did next to nothing, but the core architecture was there. The rest SHOULD come together quickly. Explaining this to my buddy over messenger, I explained, “It’s a black triangle.” He understood what I meant immediately. It’s a convenient shorthand metaphor.So feel free to steal the term. And when progress seems a little slow because you are doing a bunch of hardcore architecture work, just remember – it’s a black triangle. 

Labels: programmingretro

- posted by The Rampant Coyote @ 1:09 PM (Permalink)