Maintenance

posted in: Senior Team | 0

We are moving forward with the Ripple Game. But before we did, we needed to do a little maintenance on our code base. Since we were each working on three separate directions for the game, we separated our work flow into three separate branches in Git. The first branch contained what Willie was working on in the original prototype and what he continued to work on for ripple interaction. The second branch contained what David was working on with the music integration for the game. I was on a third branch for the mobile build.

We decided that it would be best if we are start on the same commit for the next sprint, so my job for the week was to merge the three branches together to form a starting point. Thinking it would be fairly simple, I dove right in to merging the branches together. But I ended up running into a problem. Even though we all worked on different aspects of the game, things did not merge together as nicely as I had hoped. In the end, only four files were in conflict with each other. One of the files it didn’t matter which version was used. One file was a unity scene, the other two were scripts for controlling the ripple and the player.

The scripts were the two that took the longest to sort through and debug. First I needed to familiarize myself with what was written by David and Willie and then figure out the best way to fit the code nicely together. The biggest problem was that we are working with prototype code, so it’s an unoptimized mess. After dealing with the merge process with what we had for the player controller object, it became clear that we needed a better way to organize our code. So the plan is for us to sit down and refactor what we have, figuring out how we can split up the code into nice digestible chunks.

The unity scene was the other main issue that occurred during the merging of the branches, but it wasn’t as bad as I initially thought it would be. Originally, each of us were working on the same copy of the initial scene in the prototype. Since the scene isn’t a file I can open up and edit easily with a text editor, relying on git merging wasn’t an option. What I ended up doing was going through each of the branches and making a new scene that was a copy of the one we were each working on individually. When the branches merged, I went in to each scene to make sure that they worked properly, and added in the missing components and created new prefabs of the combined objects. That seemed to do the trick. And for the most part we are ready to move forward with the next steps of the project.

-Jack Storm