Latency, Authoritative Server, Lag Compensation, Course Correction, Packet Drops and Client Side Prediction. These are things you would worry about when attempting to build a MMO game. For companies where the delay matters these logics are a must. This post is on setting up an Authoritative Server. There are different ways of setting up the authoritative server. Some of them is mentioned here. You have N clients and one client acts as the authoritative server: Imagine N clients with different machine configurations. The server would need to decide the best possible machine and have the physics simulation run in that. We then have issues with client disconnecting in which case we need to swap the authoritative client to another machine. This means we have to maintain all the state the game was in and move it to the new authoritative client. In an online environment this is simple nothing but nonsense. There is a dedicated server which simulates everything including physics and ...
I needed a good interpolation system for my cars in the mmo world. I tried a few in the internet but nothing served its purpose. The logic used server time and current network time to figure out how old the packets were to based on which it would interpolate or extrapolate or simply snap. For most part the logic worked fine and so I don't blame all the wonderful articles I found in the internet. The problem I had was lag, frequent snapping, and sometimes slow and quick acceleration of the car. There wasn't a smooth movement. It would move smooth as long as the packets arrived fine and once they delay it would begin doing all crazy things. After dumping all logs it was evident that the problem was with the packets arriving very late. This is because over the wire through UDP there were lots of packets being dropped. This means on a high speed racing game where I collect and do a lot of things I definitely have a great deal of this loss and this magnifies where there are mo...
Are you struggling to make a given set of scripts from a project compile error free? If that is true, then you are in the same boat as I am right now. I have come across projects where logic is scattered around to get a functionality out of the pipeline with limited value to object oriented programming, and the most valuable and time saving of all is the plugin architecture. This is as best as it can get. Let me explain.. A producer has an idea and wants to make a quick prototype. He opens a new project, drags and drops the packages he needs and boom the game runs. Obviously you don't expect a producer to code (unless he is from development). The game would not be perfect, but at least it would get the ball rolling and you don't need a developer to assist the producer. Now, to do this, you would want the packages to follow a common rule. You can do this using an interface and have classes implement them. For example, the avatar package and the pet package can implement the...
Comments