I suppose I thought that it was unlikely anyone would change it from TCP to UDP while the program was running and if the underlying implementation was changed it would be handled there.
The Spring Engine uses UDP but I've read at
GameDev.net that it's good to use TCP and UDP only in extreme cases.
Gamasutra has an interesting article on the
Age of Empires networking which uses a peer-to-peer model.
I don't think that any of the problems I'm having in GAE's network play are related to actual networking or data transfer issues, rather that of cooperating with the mechanisms that the Glest engine uses.
The game loop recommended by the Game Production unit at uni has it set out like:
[li]Update Scene-Graph with Network information
[li]Update Scene-Graph via AI
[li]Update Scene-Graph via Physics and Animation
[li]Render Scene-Graph to Screen via Graphics System
[li]Render Scene-Graph to Audio System
Glest has it like this (from program.cpp - Program::loop()):
[li]programState->render();
[li]programState->updateCamera();
[li]GraphicComponent::update();
[li]programState->update();
[li]SoundRenderer::getInstance().update();
[li]NetworkManager::getInstance().update();
I'm not sure how much of a difference it would make.
I would like to have a measure of how much data is being sent over the network (like there is fps). eg 10kbs