Black Triangles
Posted by Rampant Coyote on August 12, 2014
One of my most popular posts was also my very first… which has since been lost to the Great Blog Devouring of ’14. So… here’s the post from over ten years ago (has it been that long?!?!?!) about an event from almost twenty years ago. Still stuff I have to remind myself about some days.
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.
Years later, I was chatting with another SingleTrac alumnus, and was excitedly relating my work on the multiplayer code. I’d spent a little over a week working on the underlying architecture, trying to make it clean and reliable and easy to use. It was all UDP rather than TCP/IP (for speed), so I created my own “guaranteed delivery” protocol for those rare packets that needed to be guaranteed. I’d rarely worked low-level network code 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 IM, 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.
Filed Under: Game Development - Comments: 2 Comments to Read
Cuthalion said,
Always good to remember. Most of my recent improvements have been very much the invisible sort. Caching images so we don’t load each identical menu background separately, fixing analog stick sensitivity issues in menus… but it’ll all add up to make better things possible or just run more smoothly.
Rampant Coyote said,
I dug this up last night as we were moving hell and earth to get a decently photogenic screenshot for FK2 ready for fliers for Salt Lake Comic Con. We’ve been in “graybox” mode for a long time – which is functional, but after a while you get used to it and forget that your game looks like crap. All the effort that went into producing a single screenshot was… a little crazy.
But it gets a little easier after that. The procedure, the system, the early textures that get reused a lot, the know-how of setting everything up, the game code so that you aren’t just showing a mock-up but a real in-game shot (well, real enough)… that’s all Black Triangle stuff.