Friday Flashback #431

Shin Sangoku Musou Online

SOFTIMAGE | XSI User Case Koei Co., Ltd.


By Takashi Umezawa

Koei is a company that has been developing historical strategy simulation games such as “Sangokushi” and “Nobunaga’s Ambition” since the heyday of PC98. While games for consoles are still the mainstream in Japan, the network game “Nobunaga’s Ambition Internet” for PC was released in 1998. “Shin Sangoku Musou Online” (hereinafter referred to as “Musou BB”), which started its service on November 1, 2006, is Koei’s latest network game. I heard that XSI’s custom display host (hereinafter referred to as CDH) was used for this development, and I immediately talked to the person involved in the development.

How is it different from the past “Shin Sangoku Musou” series?

“In a nutshell, this game is a multiplayer online action game. There is a city and a battlefield. In the city, you meet various people, make parties with your friends, and head to the battlefield, which is the action part. The goal is to fight against other players and finally lead your army to a turbulent unification. “

On October 26th, when the interview was conducted, users could use it as a pre-opening before the official service between 5 pm and 3 am, but since the interview was in the morning, they showed us the Musou BB using the in-house server. The user first sets the character to use, but there are quite a lot of choices, including gender, physique, facial features, hair, skin color, eye color, and voice. I was surprised to find that the number of voice choices has increased so that the characters used by users in the city and in battle can be personalized and easily distinguished. It seems that the main character this time is created with 3000 to 3500 triangles. First, I was asked to explain the skin color and eyes.

“The in-game character model allows the user to set the color of the face, hair, and eyes arbitrarily. This uses the diffuse value of the material, but this alone tends to result in poor texture. , The brightness of the specular is automatically adjusted in conjunction with the diffuse value. For example, if the skin is black and the specular value is the same as that of white skin, the glossiness of the skin will be lost. Therefore, when the diffuse is dark, I investigated how bright the specular should be to make it look like human skin on the CDH of XSI. The results are plotted, made into a functional formula, and incorporated into the actual machine, which is unnatural. I used to highlight my eyes by hand, but this time I used Specular to create a more lively expression. “

Also, you can choose various weapons. The default equipment is normal, but as you progress through the game, you will get various equipment, which will actually be reflected in the characters on the screen.

At the beginning of the game, you start from your own house, which has an armory, a clothing box, a writing desk for exchanging emails, and a medal box for viewing medals and play history. This house is also small at first, but it gets bigger and bigger as the game progresses. When I stepped out of the house, I was amazed at the beauty of the city, which was particular about the details that spread out in front of me. 

Even the appearance of the water surface of the pond swaying and reflecting was realistically expressed. This title is the first title to use a real-time shader for the next generation. When asked,
“There is no battle scene in the city, it becomes a little heavy as many players gather and there is no big problem to play even if the frame is dropped, but it is related to victory or defeat on the battlefield, so 60 FPS or less We are making various efforts such as reducing the weight of the data so that it does not fall into the air. Since there was also a proposition to challenge new expressions, we used specular maps and bloom effects to effectively express the brilliance of light. The armor on the character’s shoulder is golden, but when the sun shines on it, you can see that the light is diffusely reflected. “I mainly use two parallel lights as the light source, and I also use hemispherical lights. I didn’t go to image-based lighting, but I aimed for something close to it. First, time change. Then, sunny, rain, The weather changes like snow, cloudy weather, fog, etc. The orbit and amount of light of the sun can make a big difference in the impression in winter and summer. Also, at the object level, such as trees blooming or withering. Among them, the lighting is a particularly elaborate part, and we focused on shading expression and environmental effects. It also simulated the diffusion of sunlight called light scattering, and it seemed to be hazy. It also expresses the realistic atmospheric conditions. “

I asked him if he used textures for the background used in the streets or if he burned them into the vertex colors.

“Basically, the color is a texture. I also use a real-time shadow called a shadow map. I use it for both characters and backgrounds, and when I use it for the background, it’s rather heavy, but the sunbeams under the shade of the trees It is possible to express it as if it hits the ground or a character. In the background, we also use the vertex color. No matter how much real-time shadows are, there are still many subtle shadows that are drawn by hand. I’m using vertex colors for those areas because I can’t draw unique shadows on the areas where I’m tying the texture, which I’ll explain later in the modeling section. “

Well, when I asked him if he would need hardware with the appropriate specifications to use all of these graphics, he actually opened the setting screen and explained.

CDH_Preview_water_640x468“We want as many users as possible to enjoy it, so we can set graphic options for each city and battlefield according to the user’s playing environment. Screen resolution, texture resolution, distant view display, model display, light Various settings such as diffusion (bloom effect), water quality, real-time shadow, etc. are possible. Initially, there was a plan to use reflection, normal map, etc. for the character, but many players can be displayed. It could not be realized due to the special circumstances of the online game with sex. However, the background uses polygons relatively richly. The water surface uses the real-time shader of the normal map. There are various shaders of this water surface. There are various parameters, and I adjusted and checked the color, transparency, reflectance, etc. on the CDH. “

battle_sc_640x480After this, I moved to the battle scene and was able to actually play for about 10 minutes. As he said,

“The good thing about Musou is that you can enjoy it even with simple operations.” It was made so that even I, a game-on-chi, could enjoy it very much. This game is recommended for those who want to enjoy the exhilaration.

You can check the same thing as the actual machine with XSI!

Next, I asked about the use of CDH, but every time I listened to it, I muttered “wonderful …”. That’s how ideal the CDH is used.

CHD_scr02_640x480“I “I think that the most used XSI function is CDH. This is mainly modeling, but when you need a temporary check while modeling, you can check various things in real time with XSI without outputting it to the actual machine. The Musou BB is an actual machine = PC, but if it is a title for PLAYSTASION3 (hereinafter PS3), it can be seen in the same way as the actual PS3 machine. In Koei, PC, Xbox 360 ( Below 360), I am creating a graphic library of games that can be expressed in the same way on all PS3s. Of these, by putting the engine for Windows on the CDH of XSI, it will be possible to preview on XSI. The preview uses the same engine as the 360 ​​and PS3, that is, the actual machine, so you can check the appearance on the spot. ”It is explained briefly, but from the designer’s point of view. It’s a really nice environment.

“This is a render tree of materials, but it contains the necessary information for use on the actual machine. The scene is converted to the actual machine data by the in-house converter and loaded into the actual machine and the game. The conversion By doing the processing itself in the CDH, it looks the same. “

“First of all, we call it the standard shader used in Musou BB, which we call the standard shader.” Here, from the CDH, open the shader setting screen and “change the color of the ambient parameter. Or, if you change the color of the diffuser or change it with the slider, the result will be the same as the actual machine. ”You can clearly see that the shading in the CDH is changed in real time. “This lighting setting itself is the same as the actual machine. By changing the attributes of this material to increase the intensity of the specular or changing the color of the specular, the same thing as in the actual machine is XSI. You can see it in the CDH. Not only that, but by editing in this CDH, the edited result will be reflected in the Render Tree of XSI. The data created by this CDH can be reflected. By outputting the material edits while checking, the data will remain in XSI properly and there will be no rework. This is the basic idea and usage of CDH. ”What a wonderful, really ideal CDH.

“Shaders can also be expressed in various ways, and I created them in-house. There is a tool to do what kind of shader to assign to the material. For example, if you want to do pixel lighting, apply that shader. And then reread the model in the CDH, the specular results are done pixel by pixel instead of vertex, and you get smooth results. What shader to use is ruled by the name of the material, STD is a standard, PSTD is a perpixel effect, and so on. For reflection expressions, you can also check the selection of the reflection map and the reflection setting that changes depending on the model. There are various shaders. I request parameters, but I embed information in the shader as to what kind of parameters to request. Based on that information, the necessary parameters are automatically created on the CDH UI. The variables used in shaders are called annotations, and the parameter names, descriptions, required numbers, and UI types are embedded in them. In the case of reflection shaders, this annotation information is CDH. Allows you to read and edit and check its parameters. Of course, the data remains in XSI. Normally, you write shader code. In the node where you write real-time shader code such as DxProgram of Render Tree It stores user-defined data picked up from annotations, so shader-specific parameters can also be checked and set in CDH and saved in XSI. With XSI material settings, one or more This mechanism is used to store a value of 1 or more as a character string, even if the value is not entered. “

It is a natural but very effective method to store data that cannot be handled in XSI as a character string and leave that information in the tree information of the material.

“Next, I’m using a slightly complicated lighting model, and I’m thinking in terms of material. For example, if you apply a material called copper, you can see the reflection model of copper in the CDH. Is this using the BRDF idea? “Yes, that’s right. Of course, the result edited here is embedded in the node of XSI. This copper uses a normal map, but the appearance of the specular changes according to the normal map. And the result is also reflected in the XSI tree. You can check it like this. Recently, I think that there are shadow maps and post effects on the actual machine. However, it is better to be able to confirm it with CDH, and it may be the final output only if such things are included. Since it is as close to the actual machine as possible, shadow expression and post effect expression can also be done here. We are proceeding with development. Blair effect, depth effect, etc. can also be confirmed in the CDH. 

“Also, the effect of lighting can be saved as a parameter. At this stage, it is a function that will be used by the test function, but lighting and camera information can be saved as text. Parallel light source, depending on the type of lighting, It is possible to spit out what the point light source is used, the color, the position of the camera, and read the settings. For example, by having the environment set on the actual machine written out in the specified format, This CDH can read the setting file of what the character looks like under a light environment in a certain background, and it is possible to reproduce the same environment as the actual machine. “

Only the word really wonderful comes out. I think designers who can work in such an environment are happy. I think there are few companies that can afford to actually develop such a workflow part. It can only be said to be the result of the efforts of the developers. However, the person who developed it humbly said, “No, rather than trying hard, I just collected the source code from the person who actually made the engine and converter and put it on the CDH.” Designers using CDH say:

“Musou BB was the first title in the company that used a newly developed shader, so at first I was groping for what kind of parameters should be given to the shader to make it an effective and good feeling” like “texture. It was work, but the function of this CDH was very useful there as well. The fact that we designers were able to move the slider on the real-time preview of CDH and determine the value while checking the result directly on XSI to determine how much value should be given to make it look like that is to improve work efficiency and 3D. It greatly contributes to improving the quality of the model. “

Character modeling

Next, I asked the person in charge of character modeling how he used XSI in this project.

face_toolber_640x468“This is the toolbar palette for custom scripts used by the character team. In SOFTIMAGE | 3D, these plugins were managed locally, but in XSI, custom toolbars and workgroups. These toolbars can be created almost automatically by dragging and dropping, etc. “” Simple script-level tools are often created by the designer. “The character manager continued,” It’s very useful in creating character models. It’s a simple script of the command history of frequently used features, which makes it very efficient and edge. The function that can be selected at once is very useful for editing hair etc., and the Smooth function of Deform is often used when you want to put the specular cleanly when making skin. XSI is very useful even with the default function alone. It comes in handy. The rest is Synoptic View. This is used when creating images of character poses for publicity, setting facial animation, etc. If you have this, animator It’s very convenient because even people other than you can easily make poses. “

The background is the User Normal Editing tool and ambient occlusion (ABO).

“The background is the same as the character team, and it was very helpful to have the edge loop selection and modeling functions enhanced,” the person in charge of the background started explaining. “Since this game has a lot of characters, I thought about what I should do to make it look rich where it can not be used so richly. So I edited the normals to make it look smooth and have volume. Especially I use the User Normal Editing tool included in XSI . 


For example, in an easy-to-understand example, this is a tree model, but the left is the default model. The number of polygons is small and one side The shadows are not beautiful because it is done by drawing. For the model in the middle, forcibly turning the normal upward to make it brighter was a common method until now, but look at the model on the right As you can see, thanks to User Normal Editing, I was able to edit the normals quite as I wanted. It was convenient to put out the volume and adjust the feeling of shadows with the normals to add shadows arbitrarily. And I was working while reading the adjusted ones into the CDH and checking them. “

“In the other background group, the number of polygons is not rich, so I burned the shadow to the vertex color. I also use self-shadow, but when that does not work, I used the vertex color. Until now. I used to do that almost manually, but this time I’m using it because it’s easy to burn ABOs with XSI’s render vertices feature. Since there are multiple background objects, I’ve done the past work. At that time, I was wondering which way to attach the light side. If I attach it in the direction of the light, it will be a model that can only correspond to one side. 


ABO is shaded by shielding, so it is omnidirectional You can burn shadows that can be handled from. That is, you can set the vertex color for shadows that can be safely withstood from any side with the setting button. This model burned ABO with the default settings. It’s just that, but it’s still quite ready for use in actual projects. I’ll make some adjustments after this, but some models don’t need to do that, so it’s really convenient because it speeds up my work. “

Indeed, if you look at the model actually used in Musou BB, you can see that it is well shaded.

Script function

Finally, he talked about the usefulness of the script function.


“Is it still a script? Scripts are relatively easy to understand even for us designers, and batch processing that makes conversion to multiple databases at once from an action-like usage that just lists commands. Multiple using simple VBS I also use it quite often for things like repeating the same process for the model of. An example of using it for Musou BB is a fly animation of the camera before the battle stage. For example, it is a simple deceleration from A to B. Even with animation, it takes time to do it programmatically, but this time it was very easy because I could use the output of XSI motion data as it is. The background coordinate data picked up by the designer is a CSV file. I typed it in, read it into XSI with a script, created an animation with the function curve adjusted at the touch of a button, and automatically converted the data. Besides this, the script is an idea. Depending on the ingenuity, it can be used very conveniently, so I always use it. “