07-04-2025, 07:01 PM
Before lighting - After lighting
C13. Role of Programmers
Most of the programmers in MGS4 performed programming work related to game processing, while at the same time developing in-house tools to support production. They developed a wide variety of tools to make work easier for the designers. These tools include the previously mentioned lighting editor, a preview environment with the same quality as the console, and their own particle engine and particle editor. Kunio Takabe explained that turning the environments, expressions and request items that the designers ask for into reality is an important role for the programmers. This means that good communication and mutual understanding is very important.
Effects used in the game, such as depth of field, dust clouds, snow and camera blur, were also developed by the programmers. The team performed actual lens simulations for the fuzziness in the depth of field to accurately calculate the focal length, angle of view and F value. But in some scenes, if the accuracy was too good it created problems in the display. In such cases they used the old depth of field effect, which designers have used for many years to control the fuzziness.
![[Image: th_im50a.jpg]](http://i292.photobucket.com/albums/mm28/MGSDot/MGSForums/The%20Case%20Study%20of%20MGS4/th_im50a.jpg)
![[Image: th_im50b.jpg]](http://i292.photobucket.com/albums/mm28/MGSDot/MGSForums/The%20Case%20Study%20of%20MGS4/th_im50b.jpg)
Without camera blur effect - With camera blur effect
![[Image: th_im51a.jpg]](http://i292.photobucket.com/albums/mm28/MGSDot/MGSForums/The%20Case%20Study%20of%20MGS4/th_im51a.jpg)
![[Image: th_im51b.jpg]](http://i292.photobucket.com/albums/mm28/MGSDot/MGSForums/The%20Case%20Study%20of%20MGS4/th_im51b.jpg)
Without depth of field effect - With depth of field effect
Since this project was for the next-generation console, a programmer dedicated to real-time shader production was also attached to the team. They used a real-time shader based on the cg language, because it can be used in both PS3 and XSI. The real-time shader work was started after the programmers submitted the basic shader. The team added functions and variations as required. By the end of the project they had developed over 150 different shaders, for characters, background and machines. For example, a derived shader was developed for expressing dirt (such as mud, blood or water) on a body. Further, by finely controlling dirt in apex units, the team achieved highly realistic expressions. A derived shader was also developed for Snake's OctoCamo, which was described earlier.
The simplest shader construction with a relatively light processing load.
Only base color and normal textures are used. In addition, apex colors are used within the shader.
A shader construction with quite a lot of functions and a heavy processing load.Because layers can be used, a second normal map called the subnormal can be used in combination with the first. It is a multifunctional shader that can also apply cube maps. The textures that are used are the base color, layers, normal, subnormal and specular.
In real-time shader development, one problem was expressing water and the sea. The team developed seven or eight shaders just for water through a process of trial and error. These included shaders for murky water, swirling water and transparent water. Real-time shaders were also used for debugging. For example, by assigning a special shader, they could check in a preview whether any tangent baking had been forgotten.
![[Image: thepatriotssig.png]](https://i292.photobucket.com/albums/mm28/MGSDot/MGSForums/General/thepatriotssig.png)