
So now in the next months I will start some topics about some problems I may encounter and hopefully get some pointers from you guys

Now about networking:
As I see it every client is like a keyboard to a computer that is the server.
So if one client tells the server that he wants to go left, the server take this information and uses it to move the character left, then send back the the characters new position to all the clients.
It is just like pressing left on a keyboard: The keyboard presses left, the computer gets the signal and moves the character left, then uses this information when rendering the scene and sending it to the monitor.
So a client is somewhat a keyboard and monitor in one, and the server is the computer.
Does it make sense?
The problem here is that sending data between a server and client isn't as fast as sending data between a keyboard and a computer and a computer and a monitor.
When using TCP the server may be able to send out new information to the clients about 20 times a second (50 ms). Now lets say that a client sends the information that he wants to move left to the server, the server gets this information 50 ms later, then sends the information with the characters new position out to the clients 50 ms later.
This results in that after a person behind the client-computer pressing left on the keyboard woun't see the camera moving left until 100 ms later.
That doesn't sounds so bad for a traditional DM game that updates about 6 times a second. But imagine a realtime fps game having this constant lag, it would be very annoying!
UDP may solve this problem because it sends its data in a instant. But the thing about UDP is that some data may be lost or come in the wrong order, something that could be a disaster.
I was thinking about creating a realtime 3D DM game (as usual), and I am somewhat splitted about if I should use TCP and suffer the lag, maybe find some way to overcome it by using prediction. Or use UDP and create a way to ensure that the most important information always will be sent.
In the end I want the game to support up to 32 players in a dungeon at once. And that the gameplay should be in 3D and not with step by step movement or floating movment between steps. And I must say that I would prefere TCP before UDP because I have a feeling that UDP will create some bugs in the long run that would be hard to get rid of.
Maybe some of you have some tips about this or just want to discuss it and come up with more not already forseen problems.
One way to get rid of the lag is too "hide" it with some tricks.. Those of you that played warcraft 2 may have noticed that all the orcs says "Yes sire", "Right away sire" when giving them an order, I heard that this was something the developers inserted to hide the lag when moving the orcs. Now when one presses on the position the orc should move too, it says "Yes sire" and THEN moves. Feels natural for the player, but wouldn't be without the talking
