Just got back from a lovely weekend away
Thank you both for your comments. I agree with both of you; in a real game you want a light-weight server which can run on Linux for the general reduced hosting packages (or both platforms even better if extended to multi-server). But also you need maths classes for calculating physics, trajectories, and such.
I think the style in which you write the server, and the libraries you use, largely reflects upon the type of game.
A quake-like peer-to-peer game will probably want the server to be part of the client, which will include EE. Another, more large-scale case of this scenario, is with peer-to-peer economyless virtual environments, for example a node partitioning framework like VAST or http://www.solipsis.org
A client-> multi-server MMO will want an extremely light-weight cross-platform cluster of servers, which probably will want only RakNet, and perhaps a couple of math headers, and some very sophisticated load-balancing tools.
In the case of a tutorial, I thought it best just to provide a demo which is "what you see is what you get" which doesn't require additional libraries or more vector maths headers. This is the very reason I chose to integrate the server directly with EE; to keep it easy to understand for the beginner, reusing the EE style on later physics classes, and having made that decision I figured I may as well make a fancy GUI (although it's not very fancy
), which is part of EE anyway.
I completely agree Dynad, you almost never need fancy gui's on servers - especially if their mmo's.
From a design perspective, is there anything people can help me improve? Else I'll just try and tidy it more this week (it's only had about a nights work so far), perhaps mentioning more on different game architectures in the comments.