During high school, I took an introductory course to Computer Science. Looking back, this decision ultimately shaped my career path and future endeavors by thrusting me into the intricate world of programming. Since I had no prior experience in writing code, I was thrilled to learn that the first project assigned to our class would address this issue with the objective of developing a simple game.
On project kickoff, our team and I began by choosing our roles to determine individual responsibilities during the development process. This would ensure that we had an initiative to facilitate better communication skills by working in a team environment where collaboration for delivering a successful outcome is key. Eventually, we began to familiarize ourselves with the Scratch environment. This led us to a visual, block-based programming platform developed by the MIT Media Lab as an introductory setting for beginners to learn fundamental programming concepts. It allows learners to drag and snap blocks of code together to create unique projects, unlike text-based languages used in more complex applications.
Being that this served as my prologue to programming, I was eager to begin but also slightly overwhelmed by the process of beginning to learn various concepts. Initially, this idea was hammered in by the course format. As a flipped classroom structure, it required us as a class to engage in tutorials and experiment with ideas on our own before meeting in-person for our regular class hours. Our instructor briefed us with the task: “design a game that solves a problem.” The prompt encompassed a wide range of topics, where we were given free rein to choose what issue to tackle, as well as what type of game to make.
For this project, our team and I decided to create a simple 2D platformer that addressed the issue of an unhealthy diet. During this, my role was as the team’s lead programmer where I was primarily responsible for player movement and level designs. To maintain and track our progress, we used a scrum sheet.
The goal of the game is to complete all ten levels by reaching different types of fruits and vegetables to move to the next stage. In the event that the player touches harmful obstacles such as the red line or a junk food, they are sent back to the main menu and have to restart the game from the beginning. Originally, we planned to have a scoreboard feature that had a ranking system based on the player’s time to complete all levels. Although we had implemented a timer feature, the leaderboard ranking structure was not fully fulfilled.
Here is a link to the game.