Font
Large
Medium
Small
Night
Prev Index    Favorite NextPage

Chapter 186 The Wind of Helsinki(1/2)

Chapter 186 Rumors in Helsinki

Paananin said: "Maybe we shouldn't be too preconceived and follow the idea of ​​​​a game engine. We should think about how we will develop if we don't have a game engine?"

Then Paananin asked: "My old man, if you were asked to develop the same effect in the game "HILL CLIMB RACING", what would you do? You might as well take this game to the roof

Let’s analyze the rain scenarios involved in the map.”

Benito Vasilyevich said: "I have considered several possibilities about this before.

I think when it comes to the scene of rain, the most amazing things are actually three points.

First of all, ‘Rain’ designed by GRAY FOREST is very layered.

Secondly, the rain scene designed by GRAY FOREST does not have the blowout or discontinuity that weather particles often show in general games.

Furthermore, some of the transitions involved in the beginning and end of the rain scenes in the game "HILL CLIMB RACING" are very natural."

Benito Vasilyevich continued: "The last two questions are a little more troublesome, but when it comes to the sense of hierarchy, it is not difficult to guess how GRAY FOREST did it.

It’s nothing more than 3D expression in 2D form, thereby achieving a pseudo-3D effect.”

Paananen's impression is that a 3D-like performance is performed in 2D:

First, set the 3D rendering area in the 2D game scene.

In the 3D rendering area, multiple 2D pictures that you want to express should be placed.

Of course, the 2D pictures are not randomly placed. The multiple 2D pictures must be rendered into a 3D form of a folded album in which the edges on both sides of adjacent pictures are connected in sequence.

This is done when the program begins to respond to input information (such as swipe gestures on the touch screen).

The folded album that has been "placed" in advance in the 3D rendering area will be expanded in the direction previously set by the program.

This process also requires intelligently adjusting the arrangement order and the size of the pictures in the corresponding folded album to determine the expansion position and expansion angle of each 2D picture in real time.

If this process is successfully implemented, each 2D picture can be rendered into a pseudo 3D representation that corresponds to its expansion position and expansion angle in real time.

How to understand this process specifically?

Paananin thought of "pop-up books", which are books that can see three-dimensional images when opened.

To a certain extent, the act of setting up a 3D rendering area in a 2D game scene and then displaying multiple 2D pictures in the 3D rendering area is very similar to the operation of a pop-up book.

It's just that the process of constructing this kind of "pop-up book" is much more complicated than drawing the pediatric-like pop-up book in reality.

This process involves layering the 2D game scene.

To set the area where the folded album is located in the 2D game scene as a 3D rendering layer using the 3D rendering strategy.

The 3D rendering layer should not only correspond to the 3D rendering area, but also to avoid the appearance of some defects.

Also set the background area in the 2D game scene to a 2D rendering layer using the 2D rendering strategy.

Then the 3D rendering layer needs to be overlaid on top of the 2D rendering layer.

Typically this override takes the form:

——The 2D rendering layer is projected using orthogonal projection, and the 3D rendering layer is projected using perspective projection.

It’s not just a simple matter of superposition.

When it comes to specific performance in the game, the 2D rendering layer must be drawn into the color buffer.

Set the depth of all pixels of the 2D rendering layer to the maximum depth to form the background of the 2D game scene;

Draw the 3D render layer to the color buffer:

The depth for all pixels of the 3D render layer is set to less than the maximum depth.

Make the picture generated by the projection of the 3D rendering layer cover the corresponding area of ​​the 2D rendering layer where the background is located.

Only in this way can the 3D visual effect be achieved on the 2D screen.

This process sounds cumbersome.

Although he does not understand the principle of simplicity, Pa/Na/Ning also believes that troublesome things often mean that problems of this kind are likely to occur during actual operation.

Anyway, Pa/Na/Ning feels that this is definitely not the method used by GRAY FOREST.

In front of his old partner, Pa/Na/Ning naturally did not hide anything.

He expressed his idea to Benito Vasilyevich without reservation.

Benito Vasilyevich thought so.

Pa/Na/Ning said: "My old man, you have confused me.

You just said that what GRAY FOREST does is nothing more than 3D expression in 2D form to achieve 3D visual effects.

But you also agree with my point just now - you think that GRAY FOREST does not adopt the approach of introducing a 3D rendering area and then constructing a 'folding book'.

Could it be that what you want to say is that besides the method I just mentioned, are there other ways to achieve 3D expression in 2D images?

In computer games, in addition to the method I just mentioned, there are indeed many other methods to perform 3D representation in 2D images.

But I really can’t think of any other technologies that can achieve 3D effects in 2D images in mobile games besides building a 3D rendering area.

Oh, my dear Benito Vasilyevich, stop beating around the bush and tell me what you really think."

Benito Vasilyevich calmed down his thoughts, and then said: "First of all, speaking of the point you just mentioned, you and I have the same opinion.

Although it is theoretically feasible to use a form similar to a folding book to achieve the layered picture in the rain scene in the game "HILL CLIMB RACING".

But this is just a theory. This is definitely not the method used by GRAY FOREST in "HILL CLIMB RACING".

If the actual operation involves covering the 3D rendering layer on top of the 2D rendering layer according to the method you mentioned.

This process requires the 2D rendering layer to be projected using orthogonal projection, and the 3D rendering layer to be projected using perspective projection.

The calculations involved in both projections are extremely large.

In particular, perspective projection is a typical calculation-intensive projection, and this process involves trigonometric calculations.

It is not a simple trigonometric calculation like sin x, cos x. The trigonometric calculations involved in this process are usually accompanied by additional operations including matrix and vector multiplication.

As the amount of recorded detail in a scene increases, the number of lengthy calculations used to render the scene will also increase, which is a great test for the CPU.

Under normal circumstances, projection calculations involving general objects are very CPU intensive.

What's more, when it comes to the scene of rain, if perspective projection is carried out according to the method you mentioned.

The amount of real-time calculations will increase exponentially as the number of raindrops increases.

With all due respect, let’s not say that the A7 processor in the 5s is a desktop processor.

Even if the processing performance of the A7 processor is doubled on this basis, I am afraid it can barely meet this computing demand.

It's hard to make a meal without rice. If this method is really adopted, the existing CPU level will not be able to provide technical support at all.

Assuming that this is the method adopted by GRAY FOREST.

So under the current technical level, what kind of reaction will there be when running such a computationally intensive game?

These additional calculations will most likely require the game to be played at reduced frame rates on mobile devices.

However, through our actual testing, when the same 5s model is running the game "HILL CLIMB RACING", the frame rate will not decrease during the light rain in the rooftop scene.

This also verifies our previous judgment from the side.

That is, what GRAY FOREST used in "HILL CLIMB RACING" was definitely not the method of introducing a 3D rendering area and then constructing a folding book.

In addition, I think the method adopted by GRAY FOREST is not game rendering in the traditional sense.

Generally speaking, the steps usually taken when it comes to game rendering corresponding to 2D game screens are usually:

First obtain the 2D game screen data and then analyze the initial coordinates of the 2D game screen elements;

After obtaining the initial coordinates, the actual coordinate system of the 2D game screen element is constructed based on the initial coordinates.

Then, based on the actual coordinate system constructed above, the 2D game screen is mapped into the visual effect that only the 3D game screen has.

Then the data of the mapped 3D game screen must be cached in the cache.

When receiving the running command of the 2D game, it only needs to retrieve the data of the 3D game screen that has been generated in the buffer according to the running command.

At the same time, in order to enhance the expression, the retrieved 3D game screen needs to be further rendered.

The above process places high demands on the GPU, which must have powerful real-time rendering capabilities.

Although this approach works in theory, it only works on jailbroken iPhones or Android phones after rooting.

But it is simply not realistic in a normal mobile phone.

After all, the GPU that an application can call is quite limited in most cases.

Therefore, I think this is definitely not the method used by GRAY FOREST in "HILL CLIMB RACING"."

Pa/Na/Ning: "Then what method do you think Gray Forest adopts?"

Benito Vasilyevich: “I can only guess that the way a person designs a game has a lot to do with his or her development style.

Although GRAY FOREST has risen very quickly, like a rising star, his development methods are quite sophisticated.

After all, before developing the game "HILL CLIMB RACING", GRAY FOREST had already developed three works.
To be continued...
Prev Index    Favorite NextPage