Last year I interviewed Ken Silverman, creator of the Build engine (used in games like Duke Nukem 3D and Shadow Warrior) as part of a monthly article series I write in Custom PC about graphics engines. While preparing for the interview, I read through his timeline for the engine's development, which is published on his website. Amid all the technical jargon and details of publisher deals was the simple line "Finally added SLOPES!"
It stood out because whereas so much of the information was factual and to the point, this entry conveyed more emotion; a strong sense of both relief and achievement. I asked him what the big deal was, and he responded thus:
"Slopes required hacks to the sector structure, new routines in C and assembly language for rendering a surface that was not parallel or perpendicular to the floor - which is more difficult than it sounds, because without some kind of trick like linear interpolation, a divide would have to be done for each pixel - which would have been unacceptably slow. Many physics functions in the Build Engine had to be amended to support slopes.
"The most difficult thing to implement was to get the depth-based shading consistent with the other walls, ceilings, floors. I eventually realised I could do a lookup table on the screen's y-coordinate. Implementing that was not as easy as it sounds though. Without shading, slopes would have looked ugly and out of place."
Silverman's words highlight what a strange and exciting time graphics development was in the early nineties. A time when people like Ken Silverman and John Carmack were pushing into the unknown, and every development had a significant impact on the kind of game you could make. The effort and ingenuity involved simply to implement surfaces with a gradient. Such a basic thing, and yet massively important. Can you imagine games without any sloped surfaces? Everything would look like Minecraft.
But the times when we'd be amazed that not every surface in a game was rendered at ninety-degree angles are long past. We're used to seeing incredible-looking games on a daily basis, to the point where Ubisoft rendering the entire city of Chicago for you to explore can be considered uninteresting. Graphics have become rote, perhaps even boring.
Except they haven't. Graphics engines and tech are wickedly cool. It's the conversation about graphics which has become monotonous. It has divided into two camps between those who don't care about graphics at all, and those who only care about how fast the game runs and how sharp the image is. The console realm is obsessed with resolutions; questioning whether a game will run at 720p or 1080p over and over while 4k lurks around the corner like a mugger wielding a baseball bat. Meanwhile, over on the PC, if you're games aren't running at sixty frames-per-second then you're viewed as something between an idiot and a criminal who deserves to be lynched.
Ironically, the conversation about graphics has become entirely two dimensional, focused only on the most superficial features. Worse, these tedious and petty arguments of the second camp only serve to confirm the suspicions of the first camp that graphics are dull and not worth talking about.
This isn't the case. Graphics tech goes far beyond these two exhausted topics. While the polygon count might have increased, creating game worlds relies on just as much trickery and sleight of hand as they did when Silverman was hacking slopes into Build. A couple of more recent examples of graphical magic include level streaming and LOD phasing. The former enables games like Skyrim and Dark Souls to render enormous and complex 3D worlds without any loading screens. If you want to understand the effect a good level streaming system can have on what a graphics engine can render, compare the relatively compact levels of The Witcher 2 to the enormous world CD Projekt RED are building for the Witcher 3. This wasn't made possible by a huge leap in graphics technology, but a comparatively simple reworking of how the levels were streamed in their home-brewed RED Engine.
Level of Detail phasing often plays alongside level streaming to ensure objects look pleasant up close but aren't eating away at your GPU memory when they're far away. Yet its uses stretch beyond city skylines. LOD phasing is how the Total War series renders thousands of individual warriors in its massive battles. At the most distant zoom-level, the character models in Rome II are rendered with sprites, just as they were in the original Shogun. It's only when you focus in on the action that the game switches to the more complex 3D models.
Graphical techniques can also influence how games play in smaller, more direct ways. Features like volumetric smoke and fog effects can be used as tools by both developers and players to create more interesting game scenarios. A smoke grenade is only going to work in concealing your movements if the smoke looks convincing and billows out in a three-dimensional space. Perhaps the best use of this effect can be found in Dark Souls II's Shaded Woods, where a soupy mist hides near-invisible ghosts that like to sneak up behind you and stab you in the back.
Even what may seem like a straightforward visual effect may actually have a functional purpose. If you've seen any footage of Frontier Development's ambitious space game Elite Dangerous, you may have also seen the lovely thruster effects on the various spacecraft you can pilot. Yet those chunky blue thrusters aren't designed that way simply because they look pretty against the black backdrop of space, they're deliberately exaggerated in order to telegraph the movements of ships to other players, so you can look at a ship's thrusters when chasing them in combat and can adjust your own direction to compensate without constantly glancing at your dashboard.
These are just a few examples of the vast number of ways graphical tech creates new game opportunities, and how developers can harness this tech for functional purposes. Every graphics engine and many developers have their own unique equivalent, some little technological innovation that aides or enhances their game development. So why are the topics of discussion so narrow and tiresome? The reason is publishers have inadvertently made it that way.
For years the mainstream publishers have been pushing games purely on the visual quality of their technology instead of what that tech or the resulting game actually does. It's why the FPS genre has been driven into the ground, because every game was focused on looking better than the last one rather than doing anything different. It's still happening today with games like Watch Dogs and Dark Souls II, only now the games no longer live up to the visual standards they initially set, further funneling the debate down depressingly predictable courses.
It's this relentless push for better visuals, this sledgehammer approach to promoting graphical fortitude that has caused the conversation about graphics tech to become so dull. It's why the press are disinterested in discussing them, and why many players talk about them in such shallow terms. The mainstream industry has essentially marked graphics out as an object distinct from games themselves, a feature that has its own intrinsic value unrelated to mechanics, writing, sound, AI, or anything else that makes up a game, a value that is perceived by many to be greater than all of those other aspects.
The only way to change this attitude is to stop viewing graphics as a separate entity, a superficial layer that merely acts as a well-dressed window into the game. They are a functional tool inherently bound up in the process of game design. The good news is, some companies in the industry, like Epic and Unity, are cottoning onto this fact, to the point where development kits such as Unity and Unreal Engine 4 can no longer really be thought of as graphics engines. Instead they are comprehensive tool sets designed to cater toward every aspect of game design. For example, Epic are currently working on a plugin for UE4 dedicated to the development of 2D games, with special rendering and physics capabilities geared toward the genre.
It's this point, where technology and designer intersect, where art and mathematics come together, that games are at their most fascinating, and graphics are not exempt from that. We need to stop thinking about graphics in terms of how good they can make a game look, and start thinking about how they can be used to make games great.