Saturday, February 26, 2011

Woes on the hacked network protocol

As some of us, specifically me, know the entire network protocol was added as a mere afterthought after the rest of the program had been written.

This is starting to really suck.

For one, there is a bug when 0.0.0 is run as standalone. It just fails to take control of it's ships, as it waits for the server to tell the client to control a ship, but there is no server. The fix is to just run a server and client on the same machine.

Oh, and by the way, you can't connect to any server except localhost without recompiling. This will be fixed by 0.0.1.

For another, the only things transferred over the network in 0.0.0 is the engine magneto state, the ballast tank data, and the airfoil control surface controls. This means that when the launcher tries to launch the torpedo with a given forward velocity, this velocity doesn't actually take effect. This will also be fixed by 0.0.1.

For those who don't know: the server/client protocol has a concept of "control," which is assigned to different clients by the server. The different 'brains' of the ships, so to speak, are housed in python files. Only the client with "control" over a ship is allowed to run the python file that takes in environmental data (position, speed, etc.) from the server and outputs controls (airfoil deflection, engine throttle, etc.) back to the server.

I'm considering moving to SourceForge. Any thoughts?

1 comment:

  1. Sourceforge is fine now that they're using subversion... When they only did CVS it was a pain :-(

    ReplyDelete