My main concrete goals for this week were to contribute / help my teammates finishing the physics mechanism along with advancing the engine up to the point where basic in-game tasks could be implemented already. This is on top of my wish to also help implement mouse input to camera control and cover all of the edge cases of the network infrastructure. But in general, I was planning to just cover my teammates and help where we need and where I can to make sure we got a working demo of the game ready by the end of the week.
I was able to contribute to some engine mechanics, like object rotations, and allowing the server to save, and the clients to render multiple game objects. The latter task ended up requiring some modification to the network infrastructure, which means that part of my goal was technically successful. Along with this, I also was able to make it so that both server and client save each game object's model id, meaning the client would know what model to use to render it.
The week went differently in so many ways. First, during the group meeting, my teammates said that they would prefer if they had done camera control, and physics instead, meaning two of my main goals were now no longer my responsibility (since I also don't want to take what they want to work on from them). Secondly, my other classes becoming more busy made it so that I couldn't work on the project even more during the week, meaning some of my more ambitious goals like advancing up to the point where sub-tasks can be implemented isn't realistic in the end (along with the fact that this required the implementation of things my teammate had to finish either). I believe what I achieved ended up pointing our group to that goal anyway, but it technically isn't how I planned it to be as it's slower than my aggressive and optimistic goals I set for myself last week.
My goals for next week are to again attempt to work on the game mechanics (server-client interaction) to the point where a basic in-game sub-task can be achieved, which includes object collision and event trigger, both of which are the sub-goals I would like to focus on.
I learned more about OOP in C++ and in general, especially how to organize them and how to represent them when sending over the network (like how arrays can't be sent immediately and instead require the server to send size then data). I wasn't expecting this considering I thought that they're pretty simple, but I'm glad to learn more about them and be more comfortable with working with them.
My morale is overall good, since I'm able to finish some of my goals, and the things I previously considered to be difficult like representing rotation and models in the server now becomes trivial and this makes me feel confident I can extend this to whatever the server needs to hold in the real game. Of course my other classes are slowing me down, but I'm overall happy to be productive despite that.