Skip to main content
code -> quote
Source Link
Tetrad
  • 30.1k
  • 12
  • 96
  • 143
How to balance load problems? 

How to balance load problems?

fixed geographical size + multiple instances is the easiest solution. The guys working on SWG tried dynamic size and regretted it.

How to manage the game state? 

How to manage the game state?

Server is authoritative.

How to keep things synchronized? 

How to keep things synchronized?

Periodic sync updates from server. (not quite sure what the concern is here)

How to protect the communication and client from reverse engineering? 

How to protect the communication and client from reverse engineering?

Impossible. just make sure you don't trust anything you receive from the client, and that the server is authoritative.

How to work around latency problems? 

How to work around latency problems?

This goes miles deep, but superficially you run the same simulation on the client as the server and when the sync happens, fix things. All decisions made on the client are simulated on the server as well, so there may be bad decisions, but things generally work out.

Which things should be computed local and which things on the server? 

Which things should be computed local and which things on the server?

Think of the client as running a non-authoritative sim of what is going on on the server. Responsiveness is key for the player experience, so you have to do something every time a player makes a decision, even if it is just starting a bar.

Truth be told, a lot of these problems are orthogonal, and can have solutions applied later. Just start doing the game and don't worry too much about these things.

How to balance load problems? 

fixed geographical size + multiple instances is the easiest solution. The guys working on SWG tried dynamic size and regretted it.

How to manage the game state? 

Server is authoritative.

How to keep things synchronized? 

Periodic sync updates from server. (not quite sure what the concern is here)

How to protect the communication and client from reverse engineering? 

Impossible. just make sure you don't trust anything you receive from the client, and that the server is authoritative.

How to work around latency problems? 

This goes miles deep, but superficially you run the same simulation on the client as the server and when the sync happens, fix things. All decisions made on the client are simulated on the server as well, so there may be bad decisions, but things generally work out.

Which things should be computed local and which things on the server? 

Think of the client as running a non-authoritative sim of what is going on on the server. Responsiveness is key for the player experience, so you have to do something every time a player makes a decision, even if it is just starting a bar.

Truth be told, a lot of these problems are orthogonal, and can have solutions applied later. Just start doing the game and don't worry too much about these things.

How to balance load problems?

fixed geographical size + multiple instances is the easiest solution. The guys working on SWG tried dynamic size and regretted it.

How to manage the game state?

Server is authoritative.

How to keep things synchronized?

Periodic sync updates from server. (not quite sure what the concern is here)

How to protect the communication and client from reverse engineering?

Impossible. just make sure you don't trust anything you receive from the client, and that the server is authoritative.

How to work around latency problems?

This goes miles deep, but superficially you run the same simulation on the client as the server and when the sync happens, fix things. All decisions made on the client are simulated on the server as well, so there may be bad decisions, but things generally work out.

Which things should be computed local and which things on the server?

Think of the client as running a non-authoritative sim of what is going on on the server. Responsiveness is key for the player experience, so you have to do something every time a player makes a decision, even if it is just starting a bar.

Truth be told, a lot of these problems are orthogonal, and can have solutions applied later. Just start doing the game and don't worry too much about these things.

Post Made Community Wiki
Source Link

How to balance load problems? 

fixed geographical size + multiple instances is the easiest solution. The guys working on SWG tried dynamic size and regretted it.

How to manage the game state? 

Server is authoritative.

How to keep things synchronized? 

Periodic sync updates from server. (not quite sure what the concern is here)

How to protect the communication and client from reverse engineering? 

Impossible. just make sure you don't trust anything you receive from the client, and that the server is authoritative.

How to work around latency problems? 

This goes miles deep, but superficially you run the same simulation on the client as the server and when the sync happens, fix things. All decisions made on the client are simulated on the server as well, so there may be bad decisions, but things generally work out.

Which things should be computed local and which things on the server? 

Think of the client as running a non-authoritative sim of what is going on on the server. Responsiveness is key for the player experience, so you have to do something every time a player makes a decision, even if it is just starting a bar.

Truth be told, a lot of these problems are orthogonal, and can have solutions applied later. Just start doing the game and don't worry too much about these things.