Font
Large
Medium
Small
Night
Prev Index    Favorite Next

Chapter 831 Caton and Delay

After a little bit of Yunnian, I thought about it and organized the following language.

Because what he wants to say next will be a little complicated, it is very likely that if he does not have this technology, it will be a bit difficult, so Jester was thinking about how to make what he wants to say more easily and easily understand.

Jester then wrote in his new reply.

"What I want to say next will be much more difficult to understand, but at least if you think about it carefully, it is actually that's the case."

"After talking about the simple concepts and terms above, let's look at a new concept. The proper noun of this concept is called 'interpolated frame'. So what is 'interpolated frame'?"

"In fact, interpolated frames are a technique used to smooth the action of objects in a game, such as the player. In essence, interpolated frames are used to smooth the action of an object between two points. The delay of interpolated frames is usually equal to 2 snapshots, but it will also change. It may be a bit difficult to understand, but we can give an example to illustrate."

"If a player runs straight, he is at 0.5m at tik1 and at 1m at tik2, then after the interpolated frame processing, it is displayed on the client, and he moves very smoothly from the starting point of 0.5m to the end point of 1m. However, the server always and just "observe" the player at 2 positions, not between 2 points."

"Is it understandable?"

"That is, if the server processes two tik snapshots of IQ, if there is no interpolated frame, the game will become interpolated, because the client can only know the behavior of objects in the game after receiving updates from the server. The interpolated frame behavior only occurs unilaterally on the client."

"Interpolated frames essentially reduce the rendering speed of the entire game on your computer, which is usually equal to 2 snapshots, and generally all games are like this, but some games allow you to change these, such as Counter-Strike, which are what people refer to when talking about rates. They refer to update rates and interpolated frame latency."

This time, Jesterbin did not write all the things he wanted to say in a post, because these things are not easy to understand now, so he is now explaining the relationship between card and no card in a concept.

Let more players not argue about these trivial matters without understanding.

After talking about interpolated frames and posting the post explaining this concept, Jester started a new post, which is still continuing the topic above.

"I talked about interpolated frames before, so many people will be curious. Since there are interpolated frames, are there any extrapolated frames?"

"The answer is yes, this world is born with symmetrical, and there will be external, and the so-called extrapolated frames are another client-side technology to compensate for delays. In essence, the position of the object inserted outside the client reduces the rendering of the entire client. This approach is generally not as good as interpolated frames, especially for fps games where players cannot judge their actions."

"So, when discussing the standard FPS game "Counter-Strike", I won't introduce this concept in too much detail, because he is not the protagonist of the topic I want to talk about."

The posts written by Jester about what a card is and why it is stuck immediately attracted the attention of players. Although some of them were difficult to read, they gradually understood that the so-called "stuck" or not is actually a very complicated process, so there were a few likes below Jester's post.

Of course, what Jester wants to say has not been finished yet.

"Then, it is a top priority concept. We call it hit-wave internally, which can be simply interpreted as hit box or hit area. This seems to be as the name suggests. A character's 3D model contains some areas to judge hits. The length, width and height data accurately describe an object in the 3D world. You cannot see the hit box, you can only see the player model. The hit box can be large or small, or it can be unable to hit to some extent. This depends on how the game is written. In terms of hits and misses, the hit box can bring a greater difference than the snapshot rate."

"Another very important thing is called lag compensation, which may have completely different performances in different games."

"Stutter compensation is a function on the server, which is intended to reduce the intuitive feeling of client delay. If there is no stutter compensation, or the stutter compensation is not ideal, you will aim at a target and want to hit it. However, because the delayed game world that the client computer "sees" by the client computer, you will not hit the area you originally aimed at. In essence, stutter compensation is to interpret the actions received from the client, such as firing, although the action has already occurred. The difference between the server game world and the client game world, or what we usually call client delay, can be summarized as: client delay = (1/2* delay) + interpolated frame delay."

"This is actually a very complex mechanism. I originally wanted to explain it clearly in a few words, but I found that there is no way to do it. So I will talk in detail about what is lag compensation or a more precise statement, which is how the lag compensation mechanism works?"

"Now I will describe a game scene like this player in the game, and through this scene, I will briefly talk about what is lag compensation."

“This is the scenario.”

"Player a sees player b moving towards a corner, player a fires 1 shot, and the client sends the action of shooting to the server. The server receives the data after xms, x is half of player a and lateny. The server then checks what happened in the past (in memory loading) and finds the location of player b when player a shoots. In the basic example, the server will return (xms + player a interpolated frame delay) to the time when player a sees player b, but other numerical factors may be determined by how the game programmer wants to implement lag compensation."

"The server decides whether the gun shot by player a hits. If the gun is counted as a hit, it must be hit in the hit box of the player model. In this example, the server thinks that player a hits player b. Despite this, player b's screen may have seen himself behind the wall, but the difference between the time when player b sees himself behind the wall and the time when server thinks that player b is hit is equal to: 1/2 player a delay + 1/2 player b's delay + time from the last snapshot."

"In the next snapshot, the server updates the data on the client side of players a and b. Player a sees the position x of the hit target, and player b sees his health decrease or dies."

"After reading this process, have you got a completely different and clear definition of what is lag or delay?"

After Jester finished writing these, he wanted to post the post. But he suddenly remembered a problem that players often argued, and he could use this opportunity to explain it. So he wrote below the post: "I suddenly remembered a classic problem of frequent quarrels between fps game players, that is, I opened fire with another player at the same time. And the same hit, why did I die but nothing happened?"

"Because this is the reason that different games have different settings. In some games, such as "Counter-Strike", if the target is killed when the first shot arrives at the server, then any subsequent fire of all hit targets that arrive at the server will be ignored. In this case, it is impossible to kill at the same time, because 2 players fired at the other party in 1 snapshot and both died."

"However, in some other games, such as "League Fortress", which some people have tried, it is feasible to kill together. Here is something called weight that affects the progress of the game."

"If you use the Counter-Strike model, players will have a clear advantage with good delays, and at some point there may be a situation where 'oh, I shot him before I died, but he wasn't dead!'. You'll even hear the gunshots you made before you die. But it still doesn't cause any harm."

"If you use the current "League Fortress" model, the slight difference in reaction time does not mean much. For example, if the server snapshot continuous shooting rate is 64, if player a shoots 15ms faster than player b, but they all complete this action in a 15.6ms snapshot, then they will die together. The whole process is actually that simple."

"If the lag compensation is excessive, it will show that I shot him after him but still killed him."

"If the lag compensation is insufficient, the result will be displayed that I need to move the sight to hit him."

"If you just look at this, anyone will think it's very simple. But if you look at it separately, it will be very complicated. What I just said is just a little bit of fur. In fact, I am not a professional network engineer, and I only know a little bit of fur about this."

"Many people may ask, I have no interest in what you said, I want to know what I should do if I get stuck. What can I do to solve my own lag?"

When Jester wrote this post, he posted it and then posted another post.

He decided to talk about this issue in detail in the new post.

"If you want to significantly improve your delay, then first of all, you have to make sure that the lag you feel is not caused by the game provider. Some problems such as server load may make you feel that the game is not smooth, but this has nothing to do with you. If you make sure that others are very smooth, but I am not smooth, then what I said below may help you, of course, it may not."

"First and most importantly, your network connection. The lower the latency, the better. At the same time, any excessive shunts connected to your home network will cause delays. The lag compensation can help in the part of 'what are you firing at', but if you have a bad latency, you're more likely to experience 'I've run behind the wall and got a shot' or 'I fired first, but I'm still dead'."

“If your client has a low frame rate, as long as it is below or below the refresh rate of your monitor, this will increase the feeling of delay and feel more obvious and frequent than different snapshot burst rates.”

"Modify the interpolated frames, if the game allows it. Most games have a default interpolated frame time, at least 2 times the snapshot interval. The reason for this is that if a single packet is lost, the player's actions will not be frozen on the client screen. If your network link is good and 0 packets are lost, then you can set the interpolated frame time to exactly equal the interval of 2 snapshots, but if 1 packet is delayed, you will see a break. Take Counter-Strike as an example, this is much different than switching from a 20 snapshot server to a 64 snapshot server. If you set this value very low, it will cause interpolated images."

"This is also what many players often talk about when talking about the lag problem. In fact, this is the problem of interpolated frames."

Jester said a lot of things like this, and finally he summed up: "Anyway, there are many ways to solve some problems, but they cannot solve all problems, such as lag. Why do I post a few posts to explain the reason for these problems is very simple, because I found that too many people don't understand what network code is, and even know nothing about this problem, but they always complain that they are killed behind the wall."

"Sometimes, you're shot to death behind a wall, not just because of the server, but more because there are some problems with your own machine or network broadband."

When Jester finished writing the entire post, he actually found that hundreds of replies had appeared in his post.

Many people are thanking Jester for replacing the development team and taking the time to answer questions and solve the players' questions during their busy schedules. Of course, these are complaints about the development team of "Counter-Strike" that are not often seen in the player community like other Mars Entertainment games. However, Jester's explanation for this is that different development teams have different styles, and he does not force this.

He likes to communicate with players in the player community, but does not require all development groups to be like this.
Chapter completed!
Prev Index    Favorite Next