I agree that the current plan for orders is probably overcomplicated, and is certainly clunky. It would be great if we had a more elegant way of skinning the same cat. I'd like to consider the option you outlined here, but frankly I don't get what you want to do from what you wrote; it's a little confusing. Could you rewrite this paragraph another way?
Quote:
At first I thought that executing orders client-side would involve a large slowdown in processing the turn updates, but now that I think of it, it shouldn't. Each time we receive an update, we have to XMLEncode the universe state, then xpatch it, then reconstruct it based on the resulting XMLElement. If we simply store the XMLElement we used to construct the universe after the turn update, we could throw away the changes we made, and just patch that element to produce the new state. Since the server will still execute all the orders we do (and in the same sequence) there's no reason the states wouldn't match.
And specifically, which XMLElement do you mean when you say "If we simply store the XMLElement we used to construct the universe after the turn update..."?