Programmer/Software Dev/QA Tester
This week, the team brainstormed ideas for what our game should be. Unfortunately, I couldn't make the meeting, but the rest of thet team did a great job coming up with a few potential ideas.
The focus of this week was to nail down our core ideas for the game and solidify the foundation of the project. This included completing the one-pager and five-pager. I helped out with various sections of the five-pager, but most of my focus was on the level design section. I also put together the game loop diagram, which visualizes the flow of our game's concept, mechanics, and interactions.
I was unable to contribute anything during this time frame as I was dealing with significant medical issues. However, when I did get the latest version of our game on my computer, I was pleasantly surprised by the progress that was made.
Unfortunately, I was out sick this week and unable to attend class. However, the team used this time to adjust to the project and assign roles. A new GitLab repository was established to streamline our version control process with everyone involved.
This week, I focused on refactoring the code for the waffle/pancake station in our game. The previous code was hastily put together by me during crunch time before the last presentation, so I took the time to clean it up and improve its structure. This will ensure smoother functionality and easier maintenance moving forward. This is especially important considering that we have a lot of new members who are unfamiliar with our code.
This week, my goal was to get as much of the waffle station finished as possible. The first thing I did was modify the waffle station so that the time when the player would have to perform certain actions were no longer hard coded. I created an OnBar() function as well as an OnXBars() function that returns a boolean if the player performed a certain action at the same time as a measure/bar change. OnXBars supports the ability to customize how many bars apart you want two actions to be. The team also agreed that we should support the ability to cook multiple pancakes at the same time. For now, we agreed that we should cook six pancakes, so I also added support for that.
Unfortunately, this term for me has been arguably the busiest of my time at Drexel, so there's still much more work I would've liked to do.
This week, I added a heart shape generator as well as the star shape generator. The heart shape works completely, allowing the user to follow the marker in the shape of a heart so a pancake appears. The star shape needs a little bit of work still.
This week, I refactored the waffle/pancake station code to more easily support tracking of how accurate the player is in tracing the shape in rhythm. Some progress on finishing the station is on hold as we figure out exactly how we want everything to be implemented (i.e. whether or not the pancake shapes will be created via particle system, whether or not we will use customizable points to determine the shape the player must trace, etc.).
This week I worked on an on screen metronome that ticks to the beat of whatever song is playing. I couldn't complete it fully in time for the build, but I was able to complete it during class time.
This week, I started working on the new pancake flipping mechanic which involves toggling the spatula with right click and swiping upwards to flip. There still isn't logic in place to handle what happens when the player flips twice or multiple pancakes on the griddle, but I'm satisfied with the progress made.
This week, I wasn't able to make as much progress as I wanted to on the pancake station. My goal was to support a second flip that takes the pancake off screen and scores it as well as supporting multiple pancakes on the griddle. I was able to implement the second flip, but multiple pancakes turned out to be a bigger effort than I initially thought.
This week, I was able to implement the support for multiple pancake locations where each location corresponds to its own pancake object. This involved creating a detector collider to detect if the spatula cursor object and batter cursor object are above a pancake area.
For this final week before the last presentation, I had to fix the multiple bugs that resulted from the implementation of multiple griddle locations. Some of these bugs included pancakes not cooking when flipped, the song pitch changing permanently after changing stations, etc..