What is visual look development?
Visual look development is the process of nailing down the visual look of a game and how it can be realized in the game engine. The goal is to answer the question: What is your game going to look like and how are you going to do it? By the end, you should have an in-game demo showing your environment at near shippable quality.
Keep the area small. If there are multiple environments, develop one at a time. Choose the most important environments first.
This article describes the process using a case study: Star Trek Online.
Star Trek Online takes place on board ships, in space and on the ground. Each of these environments will be different and will require a separate look development. For our first visual look development cycle, we chose the interior of starships. By the end of the cycle, we wanted to show the interior of a galaxy class starship in-game at near shippable quality.
To manage the workload, we kept the number of rooms low. We chose a hallway and a conference room from the Next Generation series.
Why do visual look development?
You need confidence that you can achieve your visual look. If your game is all about shadows and moody lighting, you better be sure you can pull it off.
You don't have time to do everything. The number of graphics techniques available to PC games is increasing rapidly and differ widely in the effects they produce. Implementing them takes time. Figure out what effects are going to give the biggest bang-for-the-buck.
You can't build assets for technology you don't understand. The graphics techniques you choose will often impose restrictions on the way assets are authored. For example, if you use stencil shadows, your geometry must consist of closed manifolds. Figure out the restrictions on your assets before you start building them.
The Star Trek Online team faces these same issues. In particular, we had to be sure we could meet expectations set by the television show. Star Trek fans know what the interior of a starship looks like. It is one of the most recognizable aspects of our IP. We had to make sure we could deliver it.
When should you do visual look development?
Visual look development must be done in pre-production.
You need to have your core technology understood before you can begin creating assets. If you start producing assets before you understand the parameters for their construction, you may end up with a lot to throw away.
Once production starts, there won't be enough time to experiment. Your developers will be working hard to get the systems in place so that artists and designers can do their jobs. It is difficult to justify trying out things that might not work when other people are blocked.
Star Trek Online is in pre-production. We have done one visual look development cycle and plan on doing several more before pre-production ends.
How do you do visual look development?
Form a small team
Form a look development team and keep it small. A couple artists and a couple engineers should be all you need. Communication is important. The engineers can't be serving too many masters. If they are, the turn around time is going to suffer.
The Star Trek Online visual look development team had two artists and one programmer working together. The programmer was completely focused on serving the two artists. When the artists asked for something, it would be delivered in a matter of hours or even minutes. Everyone knew exactly what one another was doing.
Choose a deadline
Have a deadline and clear goals. Have the team form both so they buy into it. When the deadline is reached, have a presentation. Without a deadline, the development process can go on indefinitely. Knowing you're going to show the fruits of your efforts to an audience is a great motivator.
For our most recent look development cycle, we scheduled 30 working days. At the end of it, we presented the results to our team and company executives.
Start with concept art
The visual look of a game begins with concept art. Look at the concept art and extract the key features which sell the look. These are the features you will want to reproduce in engine.
The kinds of details that are important to your game are going to vary widely. These questions should help get at them: Are there lots of lights? Are the shadows soft or hard? Are the surfaces highly detailed? Does the lighting have strong contrast or is it more diffuse? What will players spend most time looking at? Is realistic skin important?
We set out to reproduce the interior of a starship from the television show, so we began by examining shots of the sets. Looking over the images, we made a few observations. There are many light sources. The lighting is diffuse. Shadows are soft. There are several types of material with different reflectivity and specularity. These were the features we wanted to reproduce in game. We thought they were the key to the look.
You can see some of our reference shots below.
|A reference shot of a Federation starship hallway.|
|A reference shot of a Federation starship observation lounge.|
|Star Trek Online Federation turbo lift reference.|
Try lots of different things
Once you have an idea of what you are trying to accomplish, experiment. Seek out ideas and try them. You never know how well a technique will work until you use it. If it isn't working, put it aside and try something else.
Look all over the place for ideas. Look at other games and game demos. Read Gamasutra. Become familiar with the major video card manufacturers' developer sites. Try out sample code with your assets.
Star Trek Online looked to other titles for inspiration for lighting our interiors. We studied and contrasted the approaches taken by Doom 3 and Half-Life 2. Both produce outstanding results, but the look of these two games is extremely different.
Doom 3 uses a direct lighting solution. Light is cast from light positions in the world and calculated in real-time. There is no bounce lighting. Shadows have hard edges. Only basic light types are supported – point, directional, spot lights, etc. The result is a high-contrast and dynamic lighting environment.
Half-life 2 uses a pre-calculated radiosity solution. The lighting information is calculated offline by specialized software. Light can be cast by any surface. Bounce light is calculated. Shadows are soft. The result is a highly realistic but static lighting environment.
We wanted to experiment with both of these techniques. We started by using Maya to experiment with the direct lighting approach. It became clear that the number of lights would be prohibitive. We put that technique aside and turned to Mental Ray for a radiosity solution. After a lot of experimentation, we were able to create the lighting we were after. It looked good in Maya so we invested the time needed to get it in game.
Experiment in Content Creation Tools
Have your artists try things in their favorite content creation tool. Study how they accomplished the effect. Reproduce the effect in engine.
Our artists created the look they wanted using Maya. I sat down with him and learned how he accomplished it.
Keep your expectations flexible
If you can't achieve the look you are after, change the look. If something is working really well, take advantage of it. This process is about finding a visual look which can be realized in game. Not only does the desired look inform the type of technology used, but the capabilities of the technology inform the visual look. Take advantage of your strengths. Move away from your weaknesses.
During our exploration, we realized that the radiosity solution was working really well. This meant static lighting environments. We made a decision that dynamic lights were less important than diffuse lighting.
Keep iteration time short
The time it takes to go from an idea to seeing it in game must be as short as possible. Keep the tools simple and quick. Don't spend time optimizing the geometry. Make it easy to add and change shaders. Don't optimize the shaders. Write throw away code if you need to. Use tools like FX Composer and Rendermonkey.
On Star Trek Online, our programmer was immediately available to make implementations changes. The exporter and runtime code allowed new shaders to be added quickly. Shaders could be changed and reloaded without restarting the game. Assets could be changed and reloaded without restarting the game.
Have daily meetings
Get everyone together at least once a day. Keep the meetings short. These meetings have two major goals:
1. Keep everyone aware of what one another are doing. Have everyone answer the questions - What did you do yesterday? What are you doing today? What do you need from one another?
2. Look at what you have achieved in-game and talk frankly about the status. Would you want to present this as the results of your hard work?
On Star Trek Online, we had a 15-minute meeting every day at 10 AM to touch base. Later in the day we would gather around one machine to see what we had in game. At first, we were looking at very crude environments and it was a bit painful. This prodded us to push ahead and soon these daily meetings were an opportunity to pat one another on the back as things started to come together.
What are the results?
The most important result of visual look development is an in-game demo showing your environment at near shippable quality.
The demo must be in-game. You cannot say confidently that you can achieve your goals without in-game proof.
The results have to be near shippable quality. Reach a level of quality that you would feel good showing an executive. The level of quality does not have to be final. The last 10 percent takes 90 percent of the effort, so don't spend too much time on polish.
Performance doesn't have to be final. Understand your performance. Make sure you have confidence that the performance can be improved.
The results of the Star Trek Online visual look development for starship interiors can be seen below.
|Star Trek Online Federation turbo lift demo.|
|Star Trek Online Federation starship hallway demo.|
|Star Trek Online Federation starship observation lounge demo.|
Our results were not final, but we had enough confidence in the process that we'd eventually get to where we wanted to be.