I would like to give an update regarding how our group’s project has been coming along, as well as issues I have encountered while implementing the CPU opcodes. First of all, our group has been communicating well, mostly via Slack, but also with a video conference call once per week. I have had to reach out at certain times to clarify specs or ask questions, and I have been impressed with how helpful my teammates have been. It definitely makes working as a remote team better. One thing that I think could make our communication better is more daily standup meetings to discuss the issues of the day, but with all of our team working this is not always practical.
I have also found that I have a learned a lot about lower level programming in implementing our CPU opcodes. I have never had to shift so many bits around in any other class, and while it can be a little mind-numbing to visualize and test, it has definitely made me grow as a programmer. I have also gotten much more comfortable with C++, which I have used on and off since I took the OSU introductory courses back in 2019. Some of the syntax that I had seen in other programs that I didn’t really understand, I now feel like I have a much better grasp on.
The one thing so far that has been the most annoying has been merge conflicts. All of our opcodes and tests live in the same two files, so each group member is updating the same files with each pull request. It can be frustrating to be working on a branch only to find another group member has written new functions or added new variables that are not part of the branch I just finished, so I have to update my branch to reflect changes. I have found that if I don’t update, there might be merge conflicts and fixing those conflicts is not always easy.
Overall, I am happy with the progress our team has made, and I am excited to begin working on the PPU as I am much more of a ‘visual’ programmer.