Crossover: 2014
Chapter 186 The Wind of Helsinki
Chapter 186 The Wind of Helsinki
Pananin said: "Maybe we shouldn't be too preconceived and follow the idea of a game engine. We should think about how we would develop if we didn't have a game engine?"
Immediately after Pananin asked: "My old man, if you asked you to develop the same effect in the game "HILL CLIMB RACING", what would you do? You might as well take this game as 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 the most amazing thing about the rain scene is actually three points.
First of all, the 'rain' designed by GRAY FOREST is very layered.
Secondly, the rain scene designed by GRAY FOREST did not have the blowout or intermittent weather particles in general games.
Also, some of the transitions involved in the beginning and end of the rain scene in the game "HILL CLIMB RACING" are very natural. "
Benito Vasilyevich continued: "The latter two problems 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 is nothing more than 2D performance in the form of 3D, so as to achieve a pseudo 3D effect. "
Pananin's impression of performing a 2D-like performance in 3D:
First, set the 2D rendering area in the 3D game scene.
In the 3D rendering area, put multiple 2D pictures that you want to express.
Of course, the 2D pictures are not randomly placed, and the plurality of 2D pictures should be rendered into a 3D form of folded album pages in which the edges on both sides of adjacent pictures are sequentially connected.
This is done when the program starts to respond to input (such as a swipe gesture on the touch screen).
The folded album that has been "placed" in the 3D rendering area in advance will unfold toward the direction previously set by the program.
This process also needs to intelligently adjust the arrangement order and the size of the pictures in the corresponding folded album to determine the unfolded position and unfolded angle of each 2D picture in real time.
If this process is successfully implemented, each 2D picture can be rendered into a pseudo-3D form corresponding to its unfolded position and unfolded angle in real time.
How to understand this process specifically?
Pananin thought of a "pop-up book", which is the kind of book that can see a three-dimensional picture when you open it.
To some extent, setting a 2D rendering area in a 3D game scene and then displaying multiple 3D pictures in the 2D rendering area is very similar to the operation process of a pop-up book.
It's just that the process of constructing this "pop-up book" is far more complicated than drawing a real-life pop-up book.
This process needs to involve layering the 2D game scene.
It is necessary to set the area where the folded album is located in the 2D game scene as a 3D rendering layer adopting a 3D rendering strategy.
The 3D rendering layer not only needs to correspond to the 3D rendering area, but also avoids some defects.
It is also necessary to set the background area in the 2D game scene as a 2D rendering layer adopting a 2D rendering strategy.
The 3D rendering layer is then overlaid on top of the 2D rendering layer.
Usually this coverage takes the form of:
—Projecting the 2D rendering layer in an orthogonal projection manner, and projecting the 3D rendering layer in a perspective projection manner.
It's not just a simple overlay.
When it comes to performance in the game, it is necessary to draw the 2D rendering layer to the color buffer.
Setting all pixel depths of the 2D rendering layer to the maximum depth to form the background of the 2D game scene;
Draw the 3D rendering layer to the color buffer:
All pixel depths for the 3D rendering layer are set to be less than the maximum depth.
The picture generated by the projection of the 3D rendering layer covers the corresponding area of the 2D rendering layer where the background is located.
Only in this way can the 2D visual effect be realized on the 3D screen.
This process sounds cumbersome.
Although I don't understand the principle of simplicity, Pa/Na/Ning also believes that troublesome things often mean that problems of one kind or another are prone to occur during actual operation.
Anyway, Pa/Na/Ning thinks that the method used by GRAY FOREST is definitely not this method.
In front of his old partner, Pa/Na/Ning naturally did not hide it.
He expressed his idea to Benito Vasilyevich without reservation.
Benito Vasilyevich was convinced.
Pa/Na/Nin said: "My old man, you have confused me.
You just said that what GRAY FOREST does is nothing more than performing 2D performance in 3D to achieve 3D visual effects.
But you also agree with what I just said - that GRAY FOREST is not taking the approach of building a 'fold book' by introducing a 3D rendering area.
Could it be that what you want to say is that besides the method I just mentioned, there are other ways to perform 2D performance in 3D images?
In addition to the method I just mentioned in computer games, there are indeed many other methods for 2D performance in 3D images.
But with all due respect, I really can’t think of other technologies that can achieve 3D effects in 2D images besides building 3D rendering areas in mobile games.
Oh, my dear Benito Vasilyevich, don't go around and tell me what you think. "
Benito Vasilyevich rationalized his thoughts, and then said: "First of all, when it comes to the point of view you just mentioned, I have the same opinion as you.
It is theoretically feasible to use a form similar to a folding book to realize the layered picture in the rain scene in the game "HILL CLIMB RACING".
But it’s only in theory, this method is absolutely not used by GRAY FOREST in “HILL CLIMB RACING”.
If the method you mentioned involves overlaying the 3D rendering layer on top of the 2D rendering layer during actual operation.
This process requires that the 2D rendering layer be projected in an orthogonal projection manner, and the 3D rendering layer be projected in a perspective projection manner.
The calculations involved in these two projections are extremely large.
In particular, perspective projections are typically computationally intensive, and the process involves triangular calculations.
It is not a simple trigonometric calculation like sin x and cos x. The trigonometric calculation involved in this process is usually accompanied by additional operations including matrix and vector multiplication.
As the amount of details recorded in the 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, if it involves the scene of rain, if the perspective projection is carried out according to the method you mentioned.
The amount of real-time calculation will show exponential growth with the increase of the number of raindrops.
With all due respect, don't say that the A5 processor in the 7s is a desktop processor.
Even if the processing performance of the A7 processor is doubled on this basis, I am afraid that it can only barely meet this computing demand.
A clever woman can't cook without rice. If this method is really adopted, the existing CPU level cannot provide technical support at all.
Assuming that this is really the way Gray Forest adopts.
So at the current level of technology, what kind of reaction will there be when running such a game with a lot of calculations?
These extra calculations will most likely require the game to be played at the reduced frame rate of a mobile device.
However, after our actual measurement, when the same 5s model is running the game "HILL CLIMB RACING", the frame rate will not decrease in the light rain link of the roof scene.
This also verifies our previous judgment from the side.
That is to say-GRAY FOREST used in "HILL CLIMB RACING" is definitely not the way to introduce a 3D rendering area and then build a folding book.
In addition, I think the method adopted by GRAY FOREST is not a game rendering in the traditional sense.
Generally speaking, the steps usually taken for game rendering corresponding to 2D game screens are:
First obtain the 2D game screen data and then analyze the initial coordinates of the 2D game screen components;
After the initial coordinates are obtained, the actual coordinate system of the 2D game screen element is constructed according to the initial coordinates.
Then, based on the actual coordinate system constructed above, the 2D game screen is mapped to the visual effect that only the 3D game screen has.
Afterwards, the data of the mapped 3D game screen will be cached in the buffer.
When receiving the running command of the 2D game, it only needs to call the data of the 3D game screen generated in the buffer according to the running command.
At the same time, in order to enhance the form of expression, it is also necessary to further render the transferred 3D game screen.
The above-mentioned process has high requirements on the GPU, and the GPU must have powerful real-time rendering capabilities.
Although this approach is theoretically feasible, it is only feasible to serve dishes on Apple phones after jailbreaking or Android phones after ROOT.
But it's not realistic at all in a normal mobile phone.
After all, the GPU that an application can call is quite limited in most cases.
Therefore, I think that this method is definitely not used by GRAY FOREST in "HILL CLIMB RACING". "
Pa/Na/Nin: "Then what method do you think Gray Forest adopted?"
Benito Vasilyevich: "I can only guess at this point that the way one designs a game has a lot to do with one's development style.
Although GRAY FOREST has risen very quickly, like a rising star, this person's development techniques are quite sophisticated.
After all, before developing the game "HILL CLIMB RACING", GRAY FOREST had already developed three works.
These works have been verified by the market and are widely loved by gamers.
GRAY FOREST who can achieve such results can also be said to be an extremely experienced game developer.
And such a person cannot create trouble for himself out of thin air when it comes to specific game development.
Therefore, I deduce that the method adopted by GRAY FOREST must be the simplest method.
In addition, not long ago, GRAY FOREST uploaded the code he designed for the development of "2048" on GitHub.
I didn't take it seriously at first, because the form of this code is not very concise.
But it is definitely the most efficient to run on iOS.
In fact, for a simple game like "2048", even if there is a difference in operating efficiency, it will not affect much.
But GRAY FOREST must have the most efficient one.
This shows that this person pursues high efficiency in his bones.
Such a person who blindly pursues efficiency must use the most efficient scene construction in the design of the game "HILL CLIMB RACING".
The most efficient way in 2D games is definitely not to introduce an additional 3D rendering area.
Based on the analysis of efficiency and the judgment of the game screen.
I think that the reason why the raindrops of Gray Forest look very layered in the raining scene is that it uses a kind of visual deception. "
Pa/Na/Ning asked in confusion: "Visual deception?"
Benito Vasilyevich: "That's right, it's visual deception. Generally, we subconsciously think that 'near is bigger than far away'.
Therefore, when it comes to the raindrop layering structure, it is only necessary to express the raindrops in different sizes.
Of course, when it comes to such dense raindrops, it is absolutely impossible for GRAY FOREST to paint drop by drop.
Normally, a 2D screen is a screen with only X and Y axes, and there is no Z axis;
The 3D screen is a screen with X, Y, and Z axes.
The approach adopted by GRAY FOREST should be to introduce a virtual Z-axis in 2D games.
I'm guessing that GRAY FOREST does this specifically.
Because in games, things like raindrops are generally represented by particle systems.
[Generally speaking, particle systems represent techniques for simulating some specific blur phenomena in [-]D computer graphics (CG).
The reason why these phenomena are called blurring is because of the realistic game graphics that are difficult to achieve with other traditional rendering techniques.
Phenomena that are often simulated using particle systems include abstract visual effects such as fire, explosion, smoke, rain, sparks, fallen leaves, clouds, fog, and luminous trails.
The core of the particle system is the particles with independent behavior generated by the particle emitter, which jointly build animation]
After introducing a virtual z-axis to the game.
In this way, when we construct the layering of raindrops in game development.
It is completely possible for the particle emitter to give the weather particles (raindrops) a virtual depth value Z when emitting weather particles (raindrops).
The virtual depth value Z remains constant throughout the lifetime of the weather particle;
There should be a function between the Z value and the state of the weather particles (raindrops),
The role of this function is to scale the raindrops.
And this function will give weather particles with different depth values different visual sizes and motion states.
Then, the scaling transformation results are sent to the particle size display unit and the particle motion state display unit respectively
In this way, in theory, the weather particles in 2D games should have a sense of hierarchy.
Of course, this is just my guess. To know the real answer to the question, further analysis is needed.
Or, we have to seek answers from GRAY FOREST himself. "
(ps: ... weather particle layering is a pig farm technology that originally appeared at the end of 14)
Hearing this analysis, Pa/Na/Ning seems to have gained some new inspiration, but he also has some puzzles.
Pa/Na/Ning said: "Is it just like this? I remember that this similar near-large and far-small effect is often used in architectural scenes of many games. Especially when it involves some games such as castle colonnades, the near-large Far smaller settings are actually quite common.
Even this design is more or less retro. "
(End of this chapter)
Pananin said: "Maybe we shouldn't be too preconceived and follow the idea of a game engine. We should think about how we would develop if we didn't have a game engine?"
Immediately after Pananin asked: "My old man, if you asked you to develop the same effect in the game "HILL CLIMB RACING", what would you do? You might as well take this game as 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 the most amazing thing about the rain scene is actually three points.
First of all, the 'rain' designed by GRAY FOREST is very layered.
Secondly, the rain scene designed by GRAY FOREST did not have the blowout or intermittent weather particles in general games.
Also, some of the transitions involved in the beginning and end of the rain scene in the game "HILL CLIMB RACING" are very natural. "
Benito Vasilyevich continued: "The latter two problems 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 is nothing more than 2D performance in the form of 3D, so as to achieve a pseudo 3D effect. "
Pananin's impression of performing a 2D-like performance in 3D:
First, set the 2D rendering area in the 3D game scene.
In the 3D rendering area, put multiple 2D pictures that you want to express.
Of course, the 2D pictures are not randomly placed, and the plurality of 2D pictures should be rendered into a 3D form of folded album pages in which the edges on both sides of adjacent pictures are sequentially connected.
This is done when the program starts to respond to input (such as a swipe gesture on the touch screen).
The folded album that has been "placed" in the 3D rendering area in advance will unfold toward the direction previously set by the program.
This process also needs to intelligently adjust the arrangement order and the size of the pictures in the corresponding folded album to determine the unfolded position and unfolded angle of each 2D picture in real time.
If this process is successfully implemented, each 2D picture can be rendered into a pseudo-3D form corresponding to its unfolded position and unfolded angle in real time.
How to understand this process specifically?
Pananin thought of a "pop-up book", which is the kind of book that can see a three-dimensional picture when you open it.
To some extent, setting a 2D rendering area in a 3D game scene and then displaying multiple 3D pictures in the 2D rendering area is very similar to the operation process of a pop-up book.
It's just that the process of constructing this "pop-up book" is far more complicated than drawing a real-life pop-up book.
This process needs to involve layering the 2D game scene.
It is necessary to set the area where the folded album is located in the 2D game scene as a 3D rendering layer adopting a 3D rendering strategy.
The 3D rendering layer not only needs to correspond to the 3D rendering area, but also avoids some defects.
It is also necessary to set the background area in the 2D game scene as a 2D rendering layer adopting a 2D rendering strategy.
The 3D rendering layer is then overlaid on top of the 2D rendering layer.
Usually this coverage takes the form of:
—Projecting the 2D rendering layer in an orthogonal projection manner, and projecting the 3D rendering layer in a perspective projection manner.
It's not just a simple overlay.
When it comes to performance in the game, it is necessary to draw the 2D rendering layer to the color buffer.
Setting all pixel depths of the 2D rendering layer to the maximum depth to form the background of the 2D game scene;
Draw the 3D rendering layer to the color buffer:
All pixel depths for the 3D rendering layer are set to be less than the maximum depth.
The picture generated by the projection of the 3D rendering layer covers the corresponding area of the 2D rendering layer where the background is located.
Only in this way can the 2D visual effect be realized on the 3D screen.
This process sounds cumbersome.
Although I don't understand the principle of simplicity, Pa/Na/Ning also believes that troublesome things often mean that problems of one kind or another are prone to occur during actual operation.
Anyway, Pa/Na/Ning thinks that the method used by GRAY FOREST is definitely not this method.
In front of his old partner, Pa/Na/Ning naturally did not hide it.
He expressed his idea to Benito Vasilyevich without reservation.
Benito Vasilyevich was convinced.
Pa/Na/Nin said: "My old man, you have confused me.
You just said that what GRAY FOREST does is nothing more than performing 2D performance in 3D to achieve 3D visual effects.
But you also agree with what I just said - that GRAY FOREST is not taking the approach of building a 'fold book' by introducing a 3D rendering area.
Could it be that what you want to say is that besides the method I just mentioned, there are other ways to perform 2D performance in 3D images?
In addition to the method I just mentioned in computer games, there are indeed many other methods for 2D performance in 3D images.
But with all due respect, I really can’t think of other technologies that can achieve 3D effects in 2D images besides building 3D rendering areas in mobile games.
Oh, my dear Benito Vasilyevich, don't go around and tell me what you think. "
Benito Vasilyevich rationalized his thoughts, and then said: "First of all, when it comes to the point of view you just mentioned, I have the same opinion as you.
It is theoretically feasible to use a form similar to a folding book to realize the layered picture in the rain scene in the game "HILL CLIMB RACING".
But it’s only in theory, this method is absolutely not used by GRAY FOREST in “HILL CLIMB RACING”.
If the method you mentioned involves overlaying the 3D rendering layer on top of the 2D rendering layer during actual operation.
This process requires that the 2D rendering layer be projected in an orthogonal projection manner, and the 3D rendering layer be projected in a perspective projection manner.
The calculations involved in these two projections are extremely large.
In particular, perspective projections are typically computationally intensive, and the process involves triangular calculations.
It is not a simple trigonometric calculation like sin x and cos x. The trigonometric calculation involved in this process is usually accompanied by additional operations including matrix and vector multiplication.
As the amount of details recorded in the 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, if it involves the scene of rain, if the perspective projection is carried out according to the method you mentioned.
The amount of real-time calculation will show exponential growth with the increase of the number of raindrops.
With all due respect, don't say that the A5 processor in the 7s is a desktop processor.
Even if the processing performance of the A7 processor is doubled on this basis, I am afraid that it can only barely meet this computing demand.
A clever woman can't cook without rice. If this method is really adopted, the existing CPU level cannot provide technical support at all.
Assuming that this is really the way Gray Forest adopts.
So at the current level of technology, what kind of reaction will there be when running such a game with a lot of calculations?
These extra calculations will most likely require the game to be played at the reduced frame rate of a mobile device.
However, after our actual measurement, when the same 5s model is running the game "HILL CLIMB RACING", the frame rate will not decrease in the light rain link of the roof scene.
This also verifies our previous judgment from the side.
That is to say-GRAY FOREST used in "HILL CLIMB RACING" is definitely not the way to introduce a 3D rendering area and then build a folding book.
In addition, I think the method adopted by GRAY FOREST is not a game rendering in the traditional sense.
Generally speaking, the steps usually taken for game rendering corresponding to 2D game screens are:
First obtain the 2D game screen data and then analyze the initial coordinates of the 2D game screen components;
After the initial coordinates are obtained, the actual coordinate system of the 2D game screen element is constructed according to the initial coordinates.
Then, based on the actual coordinate system constructed above, the 2D game screen is mapped to the visual effect that only the 3D game screen has.
Afterwards, the data of the mapped 3D game screen will be cached in the buffer.
When receiving the running command of the 2D game, it only needs to call the data of the 3D game screen generated in the buffer according to the running command.
At the same time, in order to enhance the form of expression, it is also necessary to further render the transferred 3D game screen.
The above-mentioned process has high requirements on the GPU, and the GPU must have powerful real-time rendering capabilities.
Although this approach is theoretically feasible, it is only feasible to serve dishes on Apple phones after jailbreaking or Android phones after ROOT.
But it's not realistic at all in a normal mobile phone.
After all, the GPU that an application can call is quite limited in most cases.
Therefore, I think that this method is definitely not used by GRAY FOREST in "HILL CLIMB RACING". "
Pa/Na/Nin: "Then what method do you think Gray Forest adopted?"
Benito Vasilyevich: "I can only guess at this point that the way one designs a game has a lot to do with one's development style.
Although GRAY FOREST has risen very quickly, like a rising star, this person's development techniques are quite sophisticated.
After all, before developing the game "HILL CLIMB RACING", GRAY FOREST had already developed three works.
These works have been verified by the market and are widely loved by gamers.
GRAY FOREST who can achieve such results can also be said to be an extremely experienced game developer.
And such a person cannot create trouble for himself out of thin air when it comes to specific game development.
Therefore, I deduce that the method adopted by GRAY FOREST must be the simplest method.
In addition, not long ago, GRAY FOREST uploaded the code he designed for the development of "2048" on GitHub.
I didn't take it seriously at first, because the form of this code is not very concise.
But it is definitely the most efficient to run on iOS.
In fact, for a simple game like "2048", even if there is a difference in operating efficiency, it will not affect much.
But GRAY FOREST must have the most efficient one.
This shows that this person pursues high efficiency in his bones.
Such a person who blindly pursues efficiency must use the most efficient scene construction in the design of the game "HILL CLIMB RACING".
The most efficient way in 2D games is definitely not to introduce an additional 3D rendering area.
Based on the analysis of efficiency and the judgment of the game screen.
I think that the reason why the raindrops of Gray Forest look very layered in the raining scene is that it uses a kind of visual deception. "
Pa/Na/Ning asked in confusion: "Visual deception?"
Benito Vasilyevich: "That's right, it's visual deception. Generally, we subconsciously think that 'near is bigger than far away'.
Therefore, when it comes to the raindrop layering structure, it is only necessary to express the raindrops in different sizes.
Of course, when it comes to such dense raindrops, it is absolutely impossible for GRAY FOREST to paint drop by drop.
Normally, a 2D screen is a screen with only X and Y axes, and there is no Z axis;
The 3D screen is a screen with X, Y, and Z axes.
The approach adopted by GRAY FOREST should be to introduce a virtual Z-axis in 2D games.
I'm guessing that GRAY FOREST does this specifically.
Because in games, things like raindrops are generally represented by particle systems.
[Generally speaking, particle systems represent techniques for simulating some specific blur phenomena in [-]D computer graphics (CG).
The reason why these phenomena are called blurring is because of the realistic game graphics that are difficult to achieve with other traditional rendering techniques.
Phenomena that are often simulated using particle systems include abstract visual effects such as fire, explosion, smoke, rain, sparks, fallen leaves, clouds, fog, and luminous trails.
The core of the particle system is the particles with independent behavior generated by the particle emitter, which jointly build animation]
After introducing a virtual z-axis to the game.
In this way, when we construct the layering of raindrops in game development.
It is completely possible for the particle emitter to give the weather particles (raindrops) a virtual depth value Z when emitting weather particles (raindrops).
The virtual depth value Z remains constant throughout the lifetime of the weather particle;
There should be a function between the Z value and the state of the weather particles (raindrops),
The role of this function is to scale the raindrops.
And this function will give weather particles with different depth values different visual sizes and motion states.
Then, the scaling transformation results are sent to the particle size display unit and the particle motion state display unit respectively
In this way, in theory, the weather particles in 2D games should have a sense of hierarchy.
Of course, this is just my guess. To know the real answer to the question, further analysis is needed.
Or, we have to seek answers from GRAY FOREST himself. "
(ps: ... weather particle layering is a pig farm technology that originally appeared at the end of 14)
Hearing this analysis, Pa/Na/Ning seems to have gained some new inspiration, but he also has some puzzles.
Pa/Na/Ning said: "Is it just like this? I remember that this similar near-large and far-small effect is often used in architectural scenes of many games. Especially when it involves some games such as castle colonnades, the near-large Far smaller settings are actually quite common.
Even this design is more or less retro. "
(End of this chapter)
You'll Also Like
-
The original god's plan to defeat the gods is revealed, starting with the God of Fire saving th
Chapter 117 21 hours ago -
The end of the world: My refuge becomes a land of women
Chapter 430 21 hours ago -
Return to Immortality: One point investment, a billion times critical hit!
Chapter 120 21 hours ago -
Steel, Guns, and the Industrial Party that Traveled to Another World
Chapter 764 1 days ago -
The Journey Against Time, I am the King of Scrolls in a Hundred Times Space
Chapter 141 2 days ago -
Start by getting the cornucopia
Chapter 112 2 days ago -
Fantasy: One hundred billion clones are on AFK, I am invincible
Chapter 385 2 days ago -
American comics: I can extract animation abilities
Chapter 162 2 days ago -
Swallowed Star: Wish Fulfillment System.
Chapter 925 2 days ago -
Cultivation begins with separation
Chapter 274 2 days ago