For random fun, here's a little one-day-only (Halloween) splash screen that I had made for a Rift internal build back in 2009 -- before it was called Rift. Ironically, it ended up that there was no build that day! So it was never used.
As " Senior Technical Artist" on Rift, my tasks often involved the creation of specialized tool software; helping non-technical people within the art dept (usually) solve specific problems; interfacing between the art, management, and engineering groups... But the part of my job that’s been most-visible to game players is shading.
The funny thing is that while shading is visible everywhere -- every pixel you see is a shaded one -- shading is a hidden art, like photographic lighting. It rarely has much of a narrative representational thrust of its own. You can make a drawing without shading, just as you can make a photo without any effort or thought about lighting. Yet you'll be hard pressed to find an un-shaded painting (or drawing) in a gallery or museum, just as you'll rarely see photos without very deliberate lighting in those venues, or in portrait or advertising studios; or especially in films, where the creators of those media have long learned and understood the value of careful control over tone, grading, and color. Not just on one costume or in one shot, but across the whole of their dramatic/artistic enterprise.
In computer image creation, shading -- the assignment of colors to pixels at all levels of detail -- is usually accomplished by the use of micro-programs called "shaders." In the case of Rift, I wrote nearly every shader, re-wrote those I didn't initially create, or created the shader-writing software that generated the shaders.
The exact meaning of "shader" can be a bit squirrelly for some. Engineers may prefer to call them "streaming processor functions" because they may not be "shading" visible images at all (see Mark Harris's excellent GPGPU.org for some counter-examples). Most of the time, artists use the term "shader" and "material" interchangeably. The difference between a identically-colored materials that look like chalk, or ice, or plastic, or metal, or glowing ooze? The shader.
Shaders and interactions between shaders are also used to create lighting effects, glows, glints, shadows, depth buffers, and more. We'll talk about them as they come along in this series.
In the case of Rift, shaders for materials (and other purposes) not only had to look great for the best, high-end computers, they also had to be "heterofunctional": they needed to work on a wide variety of different PC's and in different environments. Some players had top-drawer computers with high-dollar GPU cards, while others had rather modest hand-me-down laptops. It was important to provide the best experience possible -- both pictorially and in terms of playable frame rate -- for all of these many thousands of players, across literally hundreds of material variations.
To complicate matters further, nearly all material shaders needed to have working analogues that run not only in the game as shipped, but also in our art-creation tools. This meant that each material needed its own OpenGL CgFX versions for use in Maya, custom preview modes for model building and animation, special DirectX versions for use in our modified Gamebryo 2.6 toolchain, some experiments with WebGL and Unity, and of course the various editions for player consumption at varying degrees of performance (at least two, sometimes up to five different versions).
As usual, the way to manage vast complexity is to bite off a little at a time and revise/polish as you go. I used to say (to steal a bit of a metaphor from.. Paul Graham? Not sure at this point, but we all steal from the best) that we started by jumping off a cliff and I built an airplane on the way down.
Four years ago I departed a good job at NVIDIA to join a start-up games company called Trion World Network -- Trion’s plan was to revolutionize online gaming in the US, and their stated goals were ones that I also shared: to create a new, innovative, more-immersive and immediate online-gaming experience.
I really believe that graphics matter. That great art is more than just simulating realism, and that it goes right to your emotions without waiting for rational analysis. That it’s those emotions that bring you back again and again to entertaining experiences, more than DPS and EXP and leveling-up to get the next BFG. Those are just background. Beautiful, vivid imagery -- even a beautiful image of an ugly subject -- goes right to the heart of an audience’s mind.
Among games, online ones had to that point been rather poor cousins in the graphics and art departments, with titles like Farmville and World of Warcraft. I’d had conversations with developers of other online games who declared “we don’t want to do anything more than Blizzard is doing” -- instead of seeing a future of ubiquitously-cheaper and more powerful machines for entertainment, they could only see that WoW had millions of subscribers & thought the only way to proceed was via a zero-sum “WWWD?” -- “What Would WoW Do?” -- mindset.
Given the fact that game development cycles are now often longer than hardware-deployment cycles (a next generation of hardware may appear every year or so, while games to use that hardware take much longer), this vision gap was increasingly obvious. The future was being held back by a desire to simply repeat the successes of the past.
From my evangelist/consulting role at NVIDIA, it seemed like the shortest route to really show people what a beautiful online game experience might be like was not to advise the established developers, but to lead by doing: to simply go and create the future myself. And so I jumped, just hours before the stock market crash of 2008 got fully underway.
Two and a half years later, Rift: Planes of Telara opened to rave reviews; reviews that nearly always began with accolades about how great the game looked (Ten Ton Hammer: Graphics 95, “outstanding”; The Escapist: “One area where Rift definitely delivers is the graphics”; IGN: “an undeniably gorgeous game”; etc).
We continued to ramp it up for future revisions: so much so that previewers of the first expansion set, Rift: Storm Legion, expressed their excitement about the “new renderer” (there was no new renderer, but I’d upgraded nearly all of the lighting and atmospherics code). When the expansion was released it received similar critical praise, such as this review from Gaming Trend: “[Storm Legion has] the best looking things in gaming, period, right now.”
Quest Completed! You are dead.
However, the executives at Trion had a very different view. In December 2012, just a very few weeks after the release of Storm Legion, despite the superlative reception, they laid off a big chunk (most?) of the remaining Rift-focused art team: forty people including myself. If I were to speculate, the company seems to be backing away from “Triple-A” content focus and moving toward licensing deals with other production companies along with a focus on smaller, faster-iterating projects. Less “vision of the future of entertainment” and more same-ol’ game publishing. That’s just speculation on my part, but they’ve certainly reduced their ability to create top-shelf experiences like Rift in the short term future. Speculation.
While I’m not happy with the choices of management, I hope Rift continues to find an audience -- the whole point was to make something worth showing and sharing, a better gaming experience than what had been offered by anyone before. The effort means nothing if no one gets to experience the world we’ve created.
I’ve also decided to write a series here on some of the challenges and solutions in my process of collaboratively creating and tweaking the artwork and graphics for the game. While most of the art department has already been publicizing their work, as in this Polycount Art Dump, we were specifically forbidden from revealing “technical details.” Which means that if your work is nearly all technical details, well... you’re not allowed to talk about your work! Now I can. Watch this space.