Super Mario Game

05 July 2018

For the summative task in my grade 11 introduction to computer science course, we were instrcuted to work with a partner and use the basic Java concepts we learned throughout the course to create a fully-functional game. We decided on creating a Super Smash Mario Battle game, which would be a simple story mode of Super Smash Brothers.

We started by generating a plan for how we wanted to create the game and some of the features we wanted to implement, such as a live health bar on the screen, a ladder to show the user their progression in the game, and the opportunity to powerup and boost their player’s health. The second half of the course focussed on classes and thus we decided on having four classes; a game class, a Mario class, an enemy class, and a graphics class. After drafting up a simple outline of the game we were ready to get started and split up some of the basic tasks.

We were given around two weeks to complete the project and to plan our time accordingly we gave ourselves small checkpoints to meet at the end of each day. For example, each of us would be working on certain methods and would aim to finish them by certain days and we kept track of all our progress in an accountability log. I think we also spent a lot of time working together on designing the logic behind the actual gameplay of the attacks randomly generated by the CPU and the user’s attacks.Throughout the process, there was a ton of trial and error and communication between us on making sure that we were actually creating the game the way we wanted to, such as not taking shortcuts when designing certain features and making sure we weren’t excluding any features to help with the usability of the game. The biggest challenge I faced was working on the graphics and specifically making the health bars for the players work as desired.

Two days before the deadline we knew we had a working version of the game and decided to add one last feature, a leaderboard. I don’t know if we ran into issues with this because we decided to do it near the end of the project or if we just had no idea what we were doing. Looking back, the leaderboard felt as if it was one of the hardest features to implement, as my partner and I were on a call for five hours two-nights before the project was due to ensure the leaderboard could work successfully.

We finally had a working product the way we wanted it and here are some screenshots from the game:

How the game looks while playing

Leaderboard at the end