Point where developers narrowed down the wisdom to make "Tekken Tag Tournament 2" operate at 60 fps
Today is Japan's largest game developer conference being held in Pacifico Yokohama from Tuesday, September 6, 2011 to Thursday, September 8 "Computer Entertainment Developer's Conference 2011 (CEDEC 2011)As part of "2 to 4 bodies! Is it? ~ Drawing System in Tekken Tag Tournament 2 and Reduction of Load -"From September 14, 2011, the latest work of popular fighting game which starts to operate nationwide"Tekken Tag Tournament 2Mr. Yoshiki Dodama from Bandai Namco Games who was the leader of the drawing program on the drawing system and load reduction (mainly drawing) used in the meeting attended the lecture and gave a lecture. If you read the whole contents and slides of the lecture to be posted below, you should be able to taste the feeling of auditing at the site quite realistically.
Programming | CEDEC 2011 | Computer Entertainment Development Developers Conference
Yoshiki Dojima's lecture "2 to 4 bodies!? ~ Tekken Tag Tournament 2 drawing system and load reduction ~" started.
Good morning, ladies and gentlemen. I was pretty worried about how many people will come when I heard that there is Inage's session at the same time zone in the morning session, but I did not think that it would come so much, so it was very embarrassing I am glad. Although introduction was delayed, I am a dojo who is a programmer at the "Tekken Project" by NAMCO BANDAI Games. Thank you.
Today I will talk about the drawing load and drawing system in "Tekken Tag Tournament 2". If I have time, I think that I can make a little talk about Q & A and the drawing method. First of all, let me briefly talk about "Tekken Series". "Tekken Series" is a franchise that has released 40 million copies worldwide for the home, and has become the world's share number 1 software as a fighting game. In recent years, we have sold 400 to 6 million copies per series, and core fans are also quite well, and it is a very high-pressure game when developing. This time, I will talk about "Tekken Tag Tournament 2" at the bottom of this page, but this week we will run at the game center nationwide on September 14th. There are several important series related to that, there is some important series, "Tekken 6 Tekken 6 BLOODLINE REBELLION" for business purposes such as "Tekken 6 Tekken 6", after that I was doing "Tekken 6 Tekken 6" for home use.
So "Tag 2" is said to be "Tag 1", but "1" is released in 1999. So it will be the first time in 12 years for a tag system game. So I forgot to mention important things and also become an advertisement, but from the other day "Tekken Brad BengensMovies are screened, so please be sure to visit them. It is advertisement over. I'm going to shed a video of what "Tekken Tag Tournament 2" is about. Please look.
TEKKEN TAG 2 - Combo Exhibition - YouTube(It is different thing from the movie which flowed at the venue)
Yes, it is a game like this. So, I will introduce some technical selling points of "Tekken Tag Tournament 2", we adopt SYSTEM 369 which is PS 3 compatible board. In the previous work "Tekken 6 BLOODLINE REBELLION", I was using SYSTEM 357, its power up version of the board. There are also such things, we are trying to improve the graphic system better than the previous work. I mentioned earlier that "Tag 1 from the first sequential in 12 years", but the system with the tag system is the biggest point of this time. It is not a 1: 1 battle like a previous work but a 2: 2 fight.
Here you will see a screenshot of the previous work "Tekken 6 BLOODLINE REBELLION". Of course it is one to one so it will be like this kind of composition.
Since this time "Tag 2" is 2 to 2, there are situations where two people are attacking against one person.
◆ "Tekken Tag Tournament 2" project started
I'm going to tell you the story when "A Tekken Tag Tournament 2" is about to come.
In the period of time, it is about the head of 2010 for the home use of "Tekken 6" who saw the chronology earlier, but from the upper side "Next will be a sequel to the Tekken Tournament" The story came. Since I was supposed to be in charge of drawing system at that time, my impression had a very negative impression of "Do you display 4!?" Well, honestly I thought it was a job I do not want to do for a moment.
This is my first image, but since it is a tag, I have shown 4 people, and it is said to be in a condition not to be processed in this state. I got a little head to this.
Here I will explain the background of the story of "Tag Tournament 2", if it says simply, it is an instruction by Harada of the "Tekken Project" leader. "Tag 1" of the previous work was very popular, so it became a story called "do it." It was easy to say, honestly, I was suffering throughout the development period.
Specifically, what is worrying about, the first thing is "memory". As I mentioned a little bit earlier we have adopted SYSTEM 369 and I mentioned power up from the previous work, but the memory itself is the same as SYSTEM 357 of "Tekken 6 BR", so secure 2 more characters of character I was troubled by having to do. Since memory can not be commercialized if it overflows, the area is very uneasy here.
For every subsequent concern, there is a thing called "drawing load". Just thinking and needing to draw 2 bodies. Since the drawing load becomes heavy as it is a character, I was worried about adding 2 of it. Of course, fighting game is software that is required to operate at 60 fps, so you have to worry about drawing loads while considering the sides.
I decided to look at the previous work as to how the person of "tag 1" was processing.
This is a combination technique that the lower character raises the upper character and activates it, and the other side will thrust in after the camera has switched. At this point, the character that I was raising up is no longer visible. As it is, the opposite side came in and the character completely replaced, it means that it is displaying 2 bodies.
I did not participate in the project at that time, so I asked again what kind of thing he was doing to the seniors. Then, as I saw earlier, I was dealing with copying the camera angle so that skillfully displaying only 2 bodies during the tag technique.
I was relieved to hear that, I thought that the same coping would be okay this time. At that time I was relieved, but after all I am about to come up with a little sweet idea.
It is actually the image the planner was thinking in this work, is it displaying the 3 bodies with the same feeling as before. If you display 1, 2, 3, 4 and 4 bodies as well. Depending on the situation, I was told that such a situation is possible.
In addition, from the artist's side of the writing of the character, "Screen Space Ambient Occlusion (SSAO)"Because such requests came to ourselves, I thought that it was absolutely necessary to take some countermeasures.
I will summarize so far. After all, when I say what I was worried about,Whether the memory fits"And"Whether it is okay to stop processingIt will be a story. Although it is central to the basic things to talk about from now on, please get involved till the end.
◆ First Anxiety "Memory"
First of all, I think that we will talk about "memory" which is one of worries. A local memory that stores visual resources, that is, the texture of the character and model data, a common nameVRAMIt is explanation about. In the previous work "Tekken 6 BR" I used VRAM at a comparatively reasonable price, but there was also a slight uneasy aspect.
I will explain the flow of management of "Tekken 6 BR" here. Although it is a slightly simple picture, the left side of this is the area of VRAM and the right side is a rough indication of the character, background and other resources, texture etc etc. In order to draw on the screen, we need to transfer those resources to the VRAM, so we will shift more and more.
First move the character and move the background this time.
Next, character 2 is required. And store character 2 like this. Since there is only one area, it will be stored in order from the beginning, so the game will advance for the moment. For example, when character 1 becomes unnecessary, of course, it opens and erases like this, and when another character 3 becomes necessary, it moves to VRAM again. It is placed after 2 because it does not enter a little bit in size this time.
That is, the red part here is wasted. If you are a programmer you know the situation, "fragmentation of memory" happens, so it will be very useless memory usage.
In this way, the era of "Tekken 6 BR" was designed so that "memory fragmentation" is likely to occur, so the order of reading characters and the size of the texture of the character itself became important, making it difficult to identify defects It was. For example, on the Continue screen, it seems unnecessary to load your own character and background, but in reality, the re-reading of your character and background occurred, and it was receiving criticism in terms of loading time . Even so, I was able to survive because the memory was a little tasty when "Tekken 6 BR", but this time it is Tag, so I can imagine VRAM becoming more severe.
I designed it because it is necessary to take measures. Although it is simple as a mechanism, trying to divide the VRAM not as one area but into a rough unit to some extent. It loads in each area, such as character area and background area. I will show you the actual size later, but the size of the category themselves was very helpful for the previous work "Tekken 6 BR" figures.
I will divide this in the same situation as before, into each area like this, and transfer the resources.
First move character 1 to character area 3, put the background in the background only area, and put character 3 in character area 1 this time, I will store it with such feeling.
Also put character 2 in character area 2.
As in the case of fragmentation just before, when you want to replace the background with another one in the game, you released the background from the background area and put it this way. I think that you can understand that different areas can be safely managed without contaminating other areas.
To summarize so far, it seems that the mechanism itself was simple, even though it was simple. I think that it was great that it was necessary to care about the size individually for characters and backgrounds. In the case of the previous work, even when the problem that the VRAM runs short is caused, each person in charge thinks "Because it is being pressed by any other factor?", The problem consciousness may be thinned and it is very dangerous I thought. Again this time, there is a drawback that it is difficult to use full color texture test-like, but because I solved the point of problem consciousness etc. by category division, I think that it was good to keep it separated.
Next, we will show you excerpts of characters and background from various situations of memory. What I would like to pay attention to here is the size of the area of the character. 19.5MB was able to be used at the time of the previous work, but this time it is almost the same as 19MB per one body.
As with the traditional "Tekken series" this time customization of the character is very substantial, it is such feeling. As a part of customization, there are elements to change the color of the character's clothing.
I will continue talking in comparison with the previous work, this is the red dress of the default costume of Anna.
There are 8 kinds of color change in this.
When you look at the color change drawing flow of "Tekken 6 BR", the resource on the left is in the HDD, and it is necessary to move it to VRAM in order to draw. Regarding normal and mask textures, only one is needed, but decal is doing a bit more aggressive thing to have eight kinds of different colors. So, when actually transferring to VRAM, normal and mask textures can be transferred as it is, decal is selected appropriately from among those in HDD and stored in VRAM. This time I chose a whitish decal. As a result, I drew this dress with these three pieces. This time I chose white decal, so colors of course are also white.
In summary, "Tekken 6 BR" draws like this with PS3DXTThis is the mechanism because it is the main body. Even if you have more than one decal in PS2 or PSP generation, it is good because there is a palette. However, there are many disadvantages born by having multiple decals. For example, it is impossible to change the capacity of the HDD or change it to a certain color. Because it is serious when debugging, I think that the disadvantage was more conspicuous as a result.
In this time, we planned from the beginning to add mask texture for color change on the basis of them and want to be able to change colors freely to some extent.
I cut out only the pants part of the character called Eddie on the right, but decal and normal, it is the mask just before. The specular mask itself is the same as before, and a color mask in the lower right is added in a form attached to it, and at the same time, green and yellow are displayed as numerical values as color information. And when pants are drawn from these pieces of information.
If you look at the color information, if you switch to red and blue like this, it will of course be changed to the color of red and blue principal.
This method seems to be universal at first glance, but the texture for the color mask is new and necessary. Although it assembled according to the way of VRAM, as for the character it is not so much different from "Tekken 6 BR" so it will be a big disadvantage in the meaning of creating a character if one is added. So I thought what to do. Then, "Let's make decal texture already color-changed on actual machine". This is one big point.
Here is the official method of this time. With the same compliance as before, 4 textures are always placed in VRAM.
In this state, we create a temporary buffer, decal, color mask and color information decolated from color information, at this time we will draw in full color once.
At this point the texture of color mask becomes unnecessary and it releases.
Then it clears a bit, but from this point overwrite the temporary buffer over the original decal area and copy it. At this time, if decal is DXT 1 or 5, this is full color, so if you take the form of overwriting it while compressing it.
Doing so will make temporary buffers unnecessary, and as a result, these three sheets will remain and it will be in a form that is quite refreshing. This is how to draw Eddie's pants.
This is a temporary buffer burned. If you overwrite it and overlap the lower left handle, you can also make decal in the green part. When drawing with this method, there was a big merit that such a feeling can carry a pattern freely.
I talked about it in one type now, but it is also possible to overwrite dongdon with two kinds of patterns, three types. This time I made this kind of customization realized. In the current method, since the color mask is no longer needed, the VRAM capacity per one body is suppressed, and it is about the same degree as the previous work. Since the processing of the shader is also simple, the drawing load becomes lighter and the merit is very big, such as being able to overlap the pattern, but since the DXT compression is done when drawing back to the decal, the block noise stands out somewhat I think that it is a future research subject because there are problems in terms of quality such as. For the moment memory was cleared a bit with these techniques.
◆ Second Anxiety "Drawing Load"
I will talk about "drawing load" for each subsequent concern. As I mentioned several times earlier, since there are two more characters, we need to add plus loads of drawing as much. Nonetheless, it is somewhat different from memory and it seems to be a field that is still easy to adjust. Extreme story, if resolution is extremely reduced, it will be solved in terms of drawing disappearance. With that in mind, I decided to keep developing in mind that it should be designed to make adjustments easy for me.
Here I would like to see various situations during the "Tekken Tag Tournament 2" game, but basically the "two people display fighting each other's tags" is the most common situation.
Occasionally, there is a time when my partner supports it, this time it will be in the form that three people are displayed in total.
There are not many situations, but there are rare occasions when four people are displayed like this when throwing throws while doing "tag-throwing".
Considering so far, as a basic one-to-one situation, that is, the situation of two people display is the most, occasionally 3 or 4 occasionally occurs. To minimize the drawing load, it is easier to control the drawing resolution slightly, so we designed it to dynamically switch the resolution dynamically according to the situation.
List specific concrete numbers. The drawing resolution here is 1024 x 720 when two people display the most. When three people are 900 × 720, when it is 4 people display it is extremely low and draws with 800 × 720. When processing these by switching dynamically.
This time, we included processing to lower the resolution with the number of people as the axis. When it seems impossible even with the resolution, the processing to lower it further is put in it. Even if this process is entered, it seems to be a bit difficult for three or four people in the end, so we are cutting SSAO at such times.
This is the basic story to reduce the load. Here are some special examples. Since customization is abundant this time, there are many types of stages as well, so in some cases simple drawing customization will make the drawing load lighter, there are also some light backgrounds. At that time, I think that you would like to see it with high resolution, so when introducing 2 people, we introduced processing that can be done with as high resolution as possible.
Here is the basic flow. At the start of the round, I will draw the upper limit resolution of 2 people at 1280 × 720. Even if it seems that the drawing will fall from there, it will be set to 1024 x 720 the previous time and even if it seems a little light after that, I will leave it as it is to the end of the round just in case.
I will just explain in the figure, at the start of the round it has already been drawn with 1280 x 720, and when it is heavy due to customization etc, it is already 1024 x 720 at this moment. Well, as it is at the start of the round, it is done with the feeling that processing can be dropped.
When the battle actually advanced and a slightly heavy effect appeared and it seemed that the drawing would be dropped, I dropped it to 1024 x 720 at this moment and draw it.
After that, there are situations where it seems quite light, but now I give up and continue drawing at 1024 x 720 until the end of the round.
This is the second special example. With special skills, the camera may be brought to the character like the image you are seeing. In this figure, the character called Paul releases the technique of defeat, and the camera is pretty close. As the drawing area of the character is increased, the load also increases. When we say that the camera has gotten close at the game side, we lower the resolution to the lowest level and gradually return it.
When the usual state is 1024 × 720, when using a special technique or the wall breaks, it gradually reduces to 720 × 720 low gradually and it will return gradually. Because it is a moment, it makes me feel less conspicuous even if I make it so low.
Then the last special case. There is an appearance director of the character, since the background is like the LED and it is light, it draws with 1280 × 720, if there is room, 2 × MSAA is applied. In addition, if the character is not displayed on the ranking screen and only the background is enough, I will draw 2 x MSAA all the time.
When summarizing the drawing load, this time, we changed the mechanism based on the number of people displayed. Because it is a fighting game, it is the situation with the most number, that is, because it is often two people, I thought about that as the axis. Here we made the structure of the neighborhood at the beginning of development. By doing so, we make a mechanism that makes the adjustment more effective when it says "Since the load here is light," like the last special example.
◆ Drawing load with "Victory effect"
There was another thing to worry about drawing load. I will dig into the special example of "winning director" and talk about it.
As the name suggests, the victory production will be a special production when you win the battle. It is a situation that requires something of high quality for all because it is "directing". Of course it does not matter the background display, sometimes it is displayed even with tags, and post filter is necessary, and so on. On the other hand, because the camera often comes close to the character, it is very stressful as load.
Although you are seeing the image of the actual machine, the camera is extremely close and the post filter is also applied using the shader seems to be great.
It is up to display 2 people, and it feels like quality is high anyway.
There is a scenario campaign in the original mode for "Tekken 6" for home use, but in that demo I adopted frame skip. So I took permission as if I could use it again this time ....
Around the middle of development, a great person said like this. I can not say "No, I can not do it" if I was told in such a dress, so I decided to do my best.
Although I thought about countermeasures, even if I tried to suppress the drawing area with the same method as before, since it is directing, I must improve the appearance. There was concern also that the screen got lost, it got dirty, and the value of the product went down. I thought about taking measures by pulling the camera, but depending on the customization situation it is still incomplete, so it is useless.
In order to reduce the load, it is best to reduce the area, so when thinking about what to do, I thought that the approach of "interlacing" could be applied. I will briefly explain about interlacing.
It was a method of alternately changing odd lines and even lines of the picture every frame, in other words, it is an image that draws one picture over 2 frames.
Here, one square represents one pixel. This is the final image of 8 horizontal and 8 vertical.
For the sake of clarity, we will consider the red line as an odd line and the black line as an even line.
Considering the chunks of odd lines and chunks of even lines from here, if you collect only red, you will get an odd line, and collecting only black will create a block of even lines. If you set the number of pixels, you can have two lumps of width 8 and vertical 4.
In actual interlace drawing, we first draw odd-numbered chunks towards the drawing surface of the first frame, and we copy once every odd number of lines to the frame buffer actually displayed on the screen.
In the next frame, leave the frame buffer intact and draw even chunks of lines on the drawing surface in that state. Copy this only to the even line of the frame buffer.
By doing so, I think that you can see that the same image as the final image is completed. Well this is what we call interlacing technique.
I used this and actually adapted it with "Tag Tournament 2" is this flow. Lumps in the upper and lower parts are chunks of odd lines, clumps of even lines respectively. It is rendering taking into consideration the one shifted by 1 line each, it is synthesized with shaders, and it becomes the final one picture of 1280 × 720. Well, I wonder if it came to be seen as split.
Returning to the story of the load, in the meaning of the drawing area it was decided to use an extremely small resolution of 1280 × 360. That is why the load has decreased considerably, but a big problem occurs.
When moving in a production and synthesizing lines alternately, it is said that it is a very dirty picture. It is hard to understand, so if you enlarge a part, you should be able to understand that horizontal stripes are included. Since it is alternating lines, horizontal streaks occurred with this feeling and it became very unsightly one.
The cause is simple, it draws one picture over 2 frames, so half of it is one frame before as it is, so it will be displayed as stripes. It is the cause that makes this feel very dirty. In order to solve this problem, we tried a method to stretch the odd line mass and the even line line chunk and alpha blend.
Here is its image. It is a technique to make up with alpha 50 by stretching with alpha blend synthesis, but the picture made with it will be here.
It will look like this when you expand. There are two frames as information, but it seems to be seen because it is not a stripe like a while ago.
This is a bit incomplete. When the directing took the end, if it looks on the actual machine, it gets blurred overall.
After all, when it is not moving much, the line alternate composition is good, and when moving it thought that alpha blend synthesis is good and adopted the same motion blur as the previous work. If you use velocity maps for motion blur, you can use the amount of movement for each pixel of that character so you can make use of it, it is good to synthesize by judging that it is moving greatly for each pixel, not moving Kana
I will dig into it and talk about it. This is the scene that this character is sweeping down the right foot.
This is a velocity map of motion blur. I would like you to catch it with nuance, but the upper body is not moving so much. The right foot of the lower body is just the part that is moving a lot. That is stored per pixel.
I will go back to the talk of what to do with the synthesis method earlier, but refer to the velocity map, and since the upper body does not move so much, I will synthesize alternating lines using interlacing. And we decided to synthesize with the shader in the way that the right foot is processed by alpha blend synthesis.
The final flow is here. Although it was only two odd even even chunks ago, I refer to the velocity of motion blur and use the 3 pieces to draw the final 1280 × 720 thing. Eventually I decided to release the product.
As supplementary, this motion blur is also the same as the previous work as it is only a character, so you may think that the direction of the background will do. I decided what to do with the whole from the amount of movement of the whole camera, for example, shaking the camera greatly or moving the camera itself, and then deceive it by strongly applying the depth of field as a production. After all it costed compositing in this way, but since it drastically decreases in the meaning of the drawing area and it is surplus in the reverse, we could put something rich in the depth of field. The drawing load is over.
I think that the aspect of "memory" and "load" has become fairly clearer so far, so from now on I will talk about debugging and talk about the measurement of whether the load is okay.
I also have a CPU load, but I need to check the drawing load checking whether processing drops. There are absolutely many combinations such as types of customization and stages, so there are absolute limits manually, so "automatic measurement" is inevitably required.
So we made a simple thing called an attract room. It is a thing that fights without permission (with each character) when left unattended. I turned it all the way and made a mechanism to capture the screen when processing dropped. The character was random, the stage was turning in turn, etc. I made a system that corresponded to various situations and it turned around.
Although these are the pictures that could actually be taken, the impression is that there are many places that are attacking, and the process is almost instantaneous.
This is where the processing is lost. Various circumstances are made to be understood by the filename of the bitmap below. It is the date and time that this series of numbers was actually taken. It is the type of stage, and the display status and type of the player. CPU loading is written, the place where GPU is written is the drawing load number. It is understandable by looking at the file name that the CPU is 82 and the GPU is 105 that the drawing is not lost.
You can judge various situations based on this file name. I decided on Perl and so on, output it to csv and created a statistics table. For example, for each character, it will become possible to grasp the situation as such as who is easy to fall and which one is easy to fall down.
When we implemented these systems in the beginning without customization, we had 354 pictures taken in 5 hours. Since it is about 70 sheets in 1 hour, it falls pretty well. As a product it is a bit scary level. So, we decided to hold an emergency meeting by gathering artists and planners besides programmers.
I was able to narrow down easily situations easily by watching captured images with everyone. For example, there is a situation where the floor cracks when attacking and knocking on the floor. When this is out, you can take a lot of captures. After examining for a while, the shader used for this crack was rich, so I replaced it with a light one.
Then there is a combination technique called Tag Assault in many situations. I think that you can see that there is a white outline, but it is easy to fall off when this is out. So this wasteful processing at the time of drawing too, so we dealt with it by doing best and optimizing.
This is the scene that goes to help the partner. When I asked the planner if I thought it would be a countermeasure, I had already dealt with it because the scene had already been cut.
After applying various other measures, and then turning it again with the same system again, we have reached the result that "no detection even when turning for 24 hours" has been achieved for the foreseeable future.
As a summary of automatic load measurement, I think that it was easy to grasp visually as it was captured. By doing so it was easy to talk to artists and planners. Although there is a thing to eat the capacity with images, it is good as a whole.
About recording debugging
As one part of debugging, I will tell you about "recording debugging".
Although it is a bit earlier than automatic measurement, there is a need in the development to record the screen. When recording HD images, it is very troublesome and time consuming to have a capture board on the PC, or arrange a professional PC in some cases. After thinking with it, I thought that I could use the recording function in SDK and tried it.
Here is what actually recorded with the real machine using it. It is about 20 seconds 18 MB like this. Although the resolution is coarse, I can do such things.
I mentioned earlier that "I want to use recording debugging for load measurement", but eventually it took processing for the recording itself, so I never used it for its original purpose. However, I think that it was very useful for narrowing down situations such as encounter occasionally as a malfunction, such as motion collapse by 1 frame or high drawing load by 1 frame only. I wonder if it was the largest that I could record individually without needing any special equipment.
◆ Drawing method
This time, we will only talk about a new introduction with "Tag 2".
We are powering up drawing methods by requests from artists and proposals by programmers. For example, if the shadow is soft,Screen Space Ambient Occlusion (SSAO)We introduced the water surface expression also rich, I also changed the writing of the character.
Although it will be only one in terms of time, I will tell you about "character dirt expression". From the planner, it was told to try "dustproof" or "wet expression" when falling to give a realistic feeling of battle. So I advanced my research and tried to make something like this with a dust like this.
As I will talk about "basic principle of dirt", it is simple as a mechanism, it only handles on vertex from top to top. Actually I wanted to paste the texture, but I decided to give up on time. I think that it is peculiar from here, but processing is carried out holding "stain degree" parameter of how dirty every vertex and "unique irregularity information".
The biggest information is "unevenness information". I decided to give moderate unevenness for each vertex because it is not interesting if it is uniformly stained. This is randomly given from 0 to 1 when loading the model of the character. It is a feeling that it increases the degree of dirt steadily when the skinning result (world coordinates) enters the dirty range when "degree of soiling". From these two parameters, we are processing so that a specific color determined for each stage can be placed in the shader.
I'm doing it with a king character, but this red block is in the actual stain range so that it is dirty with extreme green so that it is easy to understand. It is dirty to such a feeling only in the range that entered.
Next is about unevenness. If you try to contaminate this character, it will not be uniform, if you draw this with unevenness and drawing in a realistic way. When this is chased after each vertex, in the meaning of "dirty condition", it becomes a parameter which is dirty from the lower side with feeling like 5, 3, 2, 0.5, 0 from the lower side. Also, there is a thing called unevenness information individually, which is a different value for each vertex.
I use these to express "unevenness". Besides, when it is not in the dirty area, we also gradually dry it.
I am sorry that I am running fast, but I think that I will enter into the summary of today's session.
In this time, the main story was "Tag format" that struggled with memory and load. Regarding "memory", although it is a simple mechanism, I think that it is important to have the restriction "Character 19 MB" at the first stage and ask the artists etc. to make it and make it. If you specify the capacity, the artist is also a professional, so we will make something tight with that capacity. I think that I think that I was very blessed with artists and staff in such a meaning this time. "Load" is a field that is somewhat difficult to design, unlike memory. Because it does not understand without actually displaying it. There is such a thing, so I think that it is very important to create a mechanism that allows adjustment to be made later.
As a summary of "load measurement", I think it is very important to make the measurement result easy to understand. Although we captured the screen this time, it was very easy for the artists and planners to propose and consult by seeing the captures. I wonder if such ingenuity is absolutely essential to take close cooperation. Finally, I think that it is the most important thing that "I think too much, feeling pressure and do not break my body." I think that it is a stupid story, I think that memory and loading may also eventually take action to ask the artist to ask the artist to scrape down data or lower the resolution when pinching. To that extent, you may be told something like "low quality" on the net, but I think that there is absolutely no need to hold the responsibility so far with one person. I am in charge of dreaming occupations such as game development, so I wonder if it is best to work long and enjoyable. All above, it will be finished.
◆ Q & A
Since I think there is time, I'm thinking of entering a question and answer session, but if there are any questions, please hand it. Does not it seem to be? Oh, please.
Nakatani of Nintendo:
"To change the resolution dynamically", it was said that once you set the resolution to the lowest position, gradually raise it from there. It seems to be strange in the scene where the resolution changes, did anything have been done there?
We have not taken any particular countermeasures. Even when I saw them when artists and planners gathered together, there were scenes that could not be noticed even if they changed. If there is one point and devised place, if it is continuous when it lowers the resolution and returns it immediately, once it is returned it will not return several frames, such ingenuity is being stored for a while There is.
Although it is said to "lower the resolution", is there making various resolutions in advance?
Well, I will make various resolutions in advance. In this time I can not reduce it by 1 pixel unit, I have something of a predetermined resolution and I am doing it down.
Thank you very much. Another problem with the CPU load did not arise?
Besides drawing, the CPU has various other factors such as game processing ... .... Well, the CPU also had a hard time, but there was multithreading and turning physics to another thread, or dealing with such things muddy.
Thank you very much.
Thank you very much for attending this session today. This will end the session. Thank you very much.