need information on how to share data in special type of game?

Started by
2 comments, last by hplus0603 6 years, 1 month ago

hi. 

I have worked on turn based games but I just started a practice project on making real-time online game that there is possibility  to turn to a publishable game. I want to know about how different types of data are updated through net. for example in a shooter game how player positions are updated? is it updated for every frame or amount of frames or just input is send to server?   how aiming and shooting is implemented? for example just player shoots and raycasting is calculated on client side. if it was a hit result will be sent to server or other are other methods? how different pings and connection problems are handled? are these issues should be obtained by test and fail or there are standards for all types of games in game industry? is there any reference to handle these or other mis-counted issues that I said?

 

thank you for helping

 

Advertisement

Perhaps one place to start is Lee & Chang's paper On "shot around the corner" in first-person shooter games if you have access (http://ieeexplore.ieee.org/document/7991545/, but search on google for the title, authors sometimes have copies elsewhere). They briefly talk about synchronization but also reference a lot of neat information that you might want to check out.

There are many, many ways that this happens, depending on the specific games.

Some games send the inputs for each player for each simulation frame to all other players, and implement deterministic / lock-step simulation.

Some games send inputs for each player to all other players, but buffer some number of simulation ticks at a time, and then let the server "correct" player positions every once in a while.

Some games send inputs only to the server, and the server sends a stream of entity updates at some network tick rate.

Some games send player positions to server, which forwads to others. (This option makes it pretty easy to cheat, so it's less common.)

I highly recommend you download the source code for a number of games for which the source is available, and check them out. This may be anything from good-old Quake III, to the latest Unreal Tournament Next.

 

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement