It exists permanently during the entire game session. Unlike the main and orthographic camera-projector, it is not unique for each scene. In addition to the cameras mentioned above, we use another one during our rendering process, which is intended to render the user interface. Eventually, in the next two draw calls, the calculated and previously drawn shadows and glow effects are applied. They are followed by particle systems, some small details of the foreground, and, finally, models using a vertex animation (more on this below). Then we render all parts of the location of the foreground, then the background objects, and then the background itself, which is a plane with a texture size of 1024x512.
SHADOW FIGHT 3 RELEASE DATE PLUS
In this frame, the glow process calculation took 15 draw calls, plus two more to blur the effect.įirst of all, the parts of the armor and the weapons of the characters are rendered. Then a blur is applied and the information is saved as an alpha texture, which replaces the texture with the result for the previous frame in the dynamic “BlurCube” material. That means the blue channel acts as a “mask” for projecting the glow - you will see more about this below, in the section about character materials. Glow effects are projected on it every frame, based on information stored in the blue channel of the RGB texture of the material of the glowing object. A “BlurCube” is created around the model with luminous elements. The process of creating a glow effect on the armor and weapons of the characters is similar to the process of creating dynamic shadows. This approach helps us to avoid the need to calculate real shadows and draw them on all models in the location, which would have a significant effect on the overall performance.įor this frame, the process took 20 render calls. The result takes the form of an alpha texture which replaces the same texture with the render result of the previous frame in the dynamic material of the “ShadowReceiver” object. This camera follows the midpoint between the opponents and creates their projection onto the plane based on their current position. In addition to the main camera used for the main frame, an additional orthographic camera projector is installed on the scene, designed to draw the shadows from the characters onto a separate surface we call a “ShadowReceiver”. Both of these processes have their own peculiarities and they should be explained in detail. The first step of rendering in Shadow Fight 3 is drawing the dynamic shadows of the characters and the glow effects for the luminous elements on the armor and weapons of the characters. This GIF shows how a single frame is rendered Our goal was to minimize the number of calls to 100 per game frame on average. Each draw call requires CPU resources, so an important step in optimization is to reduce the number of these calls. During the rendering of a game frame for each static group of objects sharing the same material, Unity uses draw calls and overlays them on each other. One of the most important factors for us was the number of draw calls used per one frame in the game. There are many factors that directly affect the performance of the game and the number of frames it can display per second. In this article, I will give you insight under the surface of the game and reveal how we managed to achieve this visual quality. Journalists and players often praise the visuals of Shadow Fight 3.
To reach such a large audience, the development team had to perform well in optimizing the game - and as a result of their efforts, the game runs at 60 frames per second on most modern devices.
SHADOW FIGHT 3 RELEASE DATE ANDROID
The game was released on iOS and Android in November 2017, and since then the number of installations has exceeded 50 million. Shadow Fight 3 is an RPG action game developed on the basis of the Unity engine.