For networking, our goals for the week were to finish building a full server and client, and to rewrite the server and client so that they could run on both Windows and Mac. We were also hoping to get the client and server working on separate machines.
I was able to rewrite the server code so that it could run on both Windows and Mac.
I was hoping to get the server and client working on separate machines, but the lab computer ports are still not working, so we fell back to our old faithful, localhost. I was also planning to incorporate both the game logic into the server and the input handling and rendering into the client, but that code currently requires using cmake. Angie and I were both having issues getting said code to compile and run with cmake, so we haven't been able to actually start moving that code into the server and client.
The goal for this coming week is to split out the rendering and input handling from the game logic, and get the former added to the client, and the latter to the server.
I learned that I should've taken this class twenty five years ago when firewalls and networking weren't so complicated. In all seriousness, though, rewriting the server code to work on both Mac and Windows meant that I spent a lot of time looking through the documentation for the socket- and networking-related function calls in our code, and as a result, I have a much better idea of what those function calls do. I also learned a lot more than I ever intended to about cmake while trying to get the OpenGL code to run on my laptop.
I'm a little concerned since we're behind schedule, but I'm hoping the hard part (getting someone else's code to run on my laptop) is over, and the rest will be easier.