Game Client in Design Philosophy
|
|
This idea really came to me while I was responding to a post about the Dream Maker Software, and one of the drawbacks was the lack of Client-Side processing. This was something that could drastically increase the size and speed of games, so I thought of something. Instead of asking for Client-Side processing from Tom and Lummox, why not do it myself? This wouldn't be a terribly difficult task to be perfectly honest, and it works almost exactly like a client for other games.
The Game Client would be created, It would have everything to make the game work on its own. All of the processing, the calculations, and everything else would be done off of the players CPU, not the server's. The client would be set up to only allow the player access into the world if it could establish a connection with a central processing server. If a connection was made, it would periodically send signals to the processing server to send back to all game Clients connected to that server. These signals would only be sent when something is done that would effect other players, whether physically or visually. This means that signals will be sent whenever a player moves, attacks, speaks, ect. This will let the server know what the player is doing and will send appropriate responses to everyone else, showing the player moving from one spot to another. The player client calculates the amount of any damage or healing and simply relays that number to the server.
I'll bore you not with further details as I assume you get the point. Therefore I'll add this last bit.
TL:DR - The player client processing all math and whatnot, only sending signals to a main server whenever necessary. This would, in theory, relieve a lot of stress off of the main server.
The only thing that may make the entire system fail would be the amount of signals required to make this possible. It may just be that they might be in great enough amount that they would bog the server as much as, if not more than, a normal Server-Side game. This is my only predicament before pursuing a model of this system.
Any thoughts?
|
IainPeregrine also made use of inter-world communication with his Artemis project. Basically, it allowed you to chat with people between games. One person logs in to Game A, another person logs into Game B. Both games support Artemis. Anyone in Game A can chat with anyone in Game B over world chat as if it were one game. People in Game A and B can also chat with Ceres, which I think was some kind of hub.
So, it's definitely possible, but it's really complicated.