The highest priority refactorings, as I see them, are these:
- There is no reason whatsoever to have single player mode use network messages to communicate between the client and server. The proxy pattern prescribed in the original tech design would solve a number of current frailties and intermittent failures, as well as improve performance..
- The network modules really need to operate on a publish/subscribe model. The observer pattern would greatly simplify the message handling code (which is a huge chunk of the system), eliminate some recurring errors, improve the functionality of the user interface, and go a long way to clean up the overall architecture of the client.
- I may do away with the authoritative, standalone game server. Not sure about this yet. I fear that the added simplicity of the game client would come at the cost of testability.
So much to do, so little time!
No comments:
Post a Comment