In October 1994, I just started my career as a bona fide video game programmer at the small startup SingleTrac, which later gained fame and honor (but, unfortunately, not a lot of luck) thanks to such game series as
Warhawk ,
Twisted Metal and
Jet Moto . But at that time the company had less than 20 employees, and officially it worked for only about a month. It happened on my first working week, perhaps on the first or second day. From the office of developers heard enthusiastic shouts.
Financial controller and the current HR-lady of our company Jen went out to see what engineers and artists are celebrating for incredible success. Everyone looked at the TV screen connected to the Sony Playstation development kit. On the screen, a black triangle was displayed on the background of a monochrome background.
“It's a black triangle,” she said in a surprised, but sarcastic voice. One of the programmers of the engine tried to explain to her, but she shook her head and returned to her office. I could almost hear her thoughts: “We have ten months left to release two games for Sony, and are they happy about the black triangle? Did
IT take almost a month to develop? ”
She later realized (and explained to others) that the black triangle was the first step. It did not mean that we just managed to bring a triangle to the screen, we would have coped with this in a day. It was all about the journey that the triangle made to get to the screen. He went through our new modeling tools, through two intermediate converter programs, was loaded as a complete database, and then rendered through a rather complex scene hierarchy, completely textured and lit (although there was no lighting, so it looked black). The black triangle has demonstrated that the foundation is finally ready, the core of a rather complex system is complete, and we are ready to start working on an interesting game. By the end of the day we completed the screen models and already managed them with the help of controllers. After a week we had an environment within which the model could move.
')
After that, we started calling achievements of a certain type “black triangles”. So called important achievements that required a lot of work, but after the completion of which almost nothing could be demonstrated, there was only work that could be done further. To appreciate the black triangle, a person must truly know the inner details of what you are working on.
Years later, I chatted with another colleague from SingleTrac and enthusiastically talked about my work on the multiplayer code. I spent almost a week on the internal architecture, trying to make it understandable, reliable and easy to use. It used UDP instead of TCP / IP (for the sake of speed), so I created my own “guaranteed delivery” protocol for those rare packets whose transmission should be mandatory. I rarely worked on low-level code before, so for me it was a new experience. When I finished everything, I connected another computer to the game - and boom! Everything turned out, he connected to the host machine. Cool. No updates, I almost no longer added, the core of the architecture was ready. The rest MUST be added quickly. Explaining this to my messenger friend, I said: "This is a black triangle." He immediately understood what I mean. It was a convenient and brief metaphor.
You can steal this term. And when progress will seem a bit slow, because you have to do serious work on architecture, then just remember - this is the “black triangle”.