Time to break out the graph paper!
The client can send motion commands now. The server is spewing random telemetry entries rather than honoring the the rover commands. Also it has no map awareness -- just a shell to exercise the networking layers and build the skeleton code. At this point it's finally time to take a Cartesian plane ride! (sorry)
shoulda had a tweet
["3450", "aL", "-234.040", "811.100", "47.5", "8.450", "b", "-220.00", "750.00", "12.000", "m", "-240.000", "812.000", "90.0", "9.100"]
<Icfp_telemetry:0x1e050 @speed=8.45, @turn="L", @craters=[], @dir=47.5, @accel="a", @boulders=[#<Icfp_boulder:0x1dac4 @y_pos=750.0, @x_pos=-220.0, @opaque=true, @radius=12.0>], @ypos=811.1, @ts=3450, @aliens=[#<Icfp_alien:0x1d9d4 @velocity=9.1, @y_pos=812.0, @angle=90.0, @x_pos=-240.0, @opaque=false, @radius=0.4>], @xpos=-234.04, @home=nil>
finally, some client / server interchange
Finally! Basic client server interop: https://trac.foognostic.net/changeset/12
Hello, Sunday.
Well, I was hoping to have a network-enabled client and server by this point. Unfortunately concentration is in short, short supply around here this weekend. Take that with several large grains of salt -- everyone around here will tell you I get cranky when I obsess over things.
Go figure. But I am still planning to deliver a solution.
So far I have client-side deserialization of all the packets implemented. The initialization and telemetry messages are the most complicated so those have rote testing. I think I'll write a server which reads from stdin and spits it over the socket. That should make testing pretty easy.


