My concrete goals for this week was to create a well-defined server-side game engine architecture so that it's easy to expand and develop game mechanics. Since I was familiar with the Unity engine, I aimed for a GameObject class that can be inherited by any in-game object for any purpose, and a game loop that updates all GameObjects per server tick.
I was able to create a rudimentary game loop using GameObjects, though currently only one object is supported when sending the state back to the client. I also created a system for simple input buttons that can be easily defined and sent from the client to the server.
I ran into quite a few hiccups due to Windows build issues and unfamiliarity with OOP using C++, though I am getting more used to it. I had also hoped to get started on simple physics but that will be pushed to the next week, as it was better to have a solid expandable architecture running first, rather than hardcoding a physics object that will need to be reworked to work with everything else in the future.
My goals for next week are to allow more than one GameObject to run on the server and to be communicated to the client, and begin work on a very simple inertial physics model. If the game starts shaping up a bit more, I can go a bit further into game design and determine the initial mechanics we should work towards.
I learned more about memory management and OOP in C++, which are things I wasn't familiar with, coming from higher level languages. I'm also learning a great deal more about client-server architecture and multithreading, simply from inspecting and using the code my teammates wrote.
My morale is good, as I feel like the entire team is contributing a good amount, but personally I feel like I could be moving a bit faster. I'm a little worried that my messy code will get in the way of the others, so I hope I can polish it up a bit more.