Answer the question
In order to leave comments, you need to log in
Tell us about optimizing multiplayer on PC?
1. I am interested in the problem of the lack of interactivity with the environment (furniture, household items, stones) in terms of why objects are static.
2. What loads the user/server experiences in such cases. What is it in terms of graphics can be compared in terms of load (I have no other associations).
3. What optimization methods are used? (In some DayZ the environment changes the model/texture to a lower quality, why don't they turn them off at a certain distance?)
4. How is the transfer of information between the server and the user. (Let's say a mug fell off a table, players see that it has changed its initial coordinates, but everyone has it in a different place, what the hell?)
5. Can a multiplayer open-world game with dynamic objects that can be picked up, hit, thrown, etc. be created in the near future?
6. What can be read on this topic for the unit.
Answer the question
In order to leave comments, you need to log in
1. The more static objects, the less information needs to be transferred between the server and the client, the less the load on the server and its bandwidth, the less "lags" and "bugs";
2. The client does not experience any problems. The server experiences problems only if many clients are connected to it and each needs to calculate a lot of information. Because of this, the client waits longer for a packet with data from the server and in the game, depending on the algorithm for calculating interactivity, game items can teleport or lie still for a long time;
3. There are no graphics on the server. There are solid vectors and mathematics;
4. There are various algorithms. For example, if the client is always waiting for a response from the server, then the movement is jerky (as response packets arrive from the server). If extrapolation is installed on the client, then the client calculates several steps ahead and draws them, checking what has already been drawn by packets from the server. However, if there is any discrepancy, then "teleports" start from the client side;
5. The hardware on the servers is already very good and there are no problems with the calculation of huge amounts of data. It's all about slow communication channels and their bandwidth;
6. A lot of things) There are interesting articles on the same hub about how they deal with slow communication channels in high-speed shooters, how they calculate the flight of a bullet and hitting a target. For example, in the same overwatch a headshot is considered a decent sphere around the head.
I'm not an expert in gaming, but I'll try to explain how I understand the process myself. Let the gurus fix it.
Information about the position of the object, its properties, coordinates, etc. Stored in the client and on the server, respectively, the server and client exchange information in a two-way mode (with a delay associated with the Internet and provided by the developer). Accordingly, if 10 users interact with 1 object, let's say a mug, at the same time, everyone pulls it in different directions. Then there must be an algorithm that solves this conflict. Each game engine has its own methods. They are optimized differently and bugs are associated with optimization. Suppose your client draws your actions on a mug without contacting the server, since this is often not necessary, sends data to the server about the change in the position of the mug. But the server has already accepted changes from another player. And in response you get coordinates that are completely opposite to yours, Your client redraws the mug according to the reference (came from the server) coordinates. And you see how the mug disappeared in your hands and appeared in another place. To resolve such conflicts, there must be a fundamentally different method, different from the server + many clients. The world must be in 1 place, and the player must be an object of this world. When the power of computers increases, it will probably be so. 1 server that thinks through everything and renders frames for each player individually, rather than assigning this function to the client. Calculating all the forces and their vectors that act on the object. The world must be in 1 place, and the player must be an object of this world. When the power of computers increases, it will probably be so. 1 server that thinks through everything and renders frames for each player individually, rather than assigning this function to the client. Calculating all the forces and their vectors that act on the object. The world must be in 1 place, and the player must be an object of this world. When the power of computers increases, it will probably be so. 1 server that thinks through everything and renders frames for each player individually, rather than assigning this function to the client. Calculating all the forces and their vectors that act on the object.
In fact, our world is arranged exactly as you want, but enormous power is used for calculation. Therefore, we simplify some things.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question