Color is one of the main instigators of emotions in human psyche and has been a long time tool artists have used to create moods and set environments. Color correction is the idea of using a post processing algorithm that provides a mapping between colors on individual pixels of a rendered image. Valve’s implementation edits the colors of these pixels independent of its neighbors using a simple texture lookup operation. This then allows an artist or game modder remap the colors in a scene of a game to offer a very different visual look.
This method of change the look and style of scenes has been around since the early days of movie creation. The most obvious title in recent memory was definitely Sin City, where the film creators used color mapping to highlight very specific colors and parts of scenes in order to get the attention of the viewer where they felt it was most important.
Other titles like Minority Report, Hero, and The Aviator also used different types of color mapping to set the mood and environment of their movie appropriately.
Games can use these same methods in a dynamic fashion that allows the game artist to create the mood or lighting or environment of a level or scene. This begs the question of why this would be important to developers and gamers in today’s world. The answer is two fold; first this allows developers to add or edit game content on the fly towards the end of production, without the need to completely redesign the source artwork for the game in its entirety. This means that as the game development progresses, and the need arises to change the color styling (such as moving into a night time setting), a simple color correction map can be applied.
Secondly, this allows developers and modders the ability to reuse the source artwork by applying game, level and event specific color maps to neutral source data and create unique and specific games. The modding community will definitely find the ability to globally change the way an environment feels in order to specific tune the style to their modification design goals.
Color correction can also be used to affect game play as Valve showed us in several demos. This allows the game developers to give information to the user in a different than simply manually moving the camera somewhere or flashing a solid polygon across the screen in red whenever you are get shot. Imagine the world going to a high contrast black-and-white color map when a grenade explodes near you and jars your vision; or perhaps turning up the intensity of the red and blue flags in CTF modes in order the draw a user’s attention to those locations. The implementations are really only limited by the artist’s creativity.
The creation of these color maps is all done in the Source engine directly and anyone familiar with how the operators in Photoshop work (curves, levels, color balance, etc) will be familiar with the tool the engine provides. You can create layers that combine different effects and when the artist is satisfied, save the effect to disk and the implement in whatever instances they deem necessary. The effects are attached to nodes in the game, which could be distance-based or trigger based (such as entering a room or blowing a tank up, etc).
Multiple of these effects can be active at once and the Source engine does the work on blending them smoothly. However, the more effects you have active, the most pressure is going to be put on the graphics card in terms of work load. Each node constitutes a different texture and every time a pixel needs to be color corrected, access to that texture is required. In affect, creating multiple nodes in a level that overlap their spheres of influence would be a very good benchmark of the vertex shader power of a GPU.
Below are a few examples provided to us by Valve: