Some mischievous bunnies have taken all the presents and candy canes from the North Pole. To make matters worse, flying sun beams have broken through the ozone and threaten to melt all the ice!
As lovers of Mario and 2D games, we wanted to bring a holiday theme and platformer feel to the some of the aspects of Mario. While we created v1.0.0 for the Hackcoming Hackathon, there was a lot of room for improvement. For Hacky Winterland, we have created our v2.0.0 release with awesome added functionality and bug fixes to improve the gameplay just in time for Christmas!
Save the Holiday! has some cool pretty functionality:
- Use Santa's magic wand to reveal secret gifts or shoot snowballs
- Jump around platforms to collect candy canes and presents
- Collect icicles to grow larger and jump higher
- Avoid mischievous bunnies and flying sunbeams to reach the next level
- Ability to play again from awesome-looking win and lose screens
Save the Holiday! now has a website with a home, about, credits, and play page. In addition to a completely revamped website and a rewrite of the game's functions with Kaboom JS v0.5.0, we have done the following things to the game.
Added Functionality:
- Continuous enemy movement (up, down, left, and right)
- Improved level design and added levels
- Ability to freeze melting ice boxes
- Ability to destroy sun beam enemies with snowballs
- Player lives to repeat current level until all are lost
Bug Fixes from v1.0.0:
- Unlimited firing rates and jumping heights
- Object collision errors preventing enemy motion
- Object collision errors preventing snowball effects
- Music looping into other scenes
We used various tools throughout this process:
- Jitsi was used to stay connected, discuss issues, and share our screens.
- GitHub was used for version control and issue tracking.
- VS Code and the Live Server plugin was used for development and testing gameplay.
- Photoshop was used, along with Kenney free assets, to create the sprites and screens.
- GoDaddy was used to obtain the domain name, and Linode was used to host the Docker containerized game.
With the bugs we encountered in v1.0.0, many were related to functions that did not work as expected in the updated versions of Kaboom JS. This weekend, we ended up needing to re-write the entire game in an older version of Kaboom JS, which fixed many of the bugs but also left us with some limitations. This challenged us to find other ways to implement the functionality we wanted that was limited in the older version of Kaboom JS.
With version 0.5.0 of Kaboom JS, we were able to get all our main functionality working and add some awesome new features. It was quite a rewrite and rebuilding process that ended in a game we are really happy with as new game developers!
When it comes to the website, we have both used templates to build others before, but neither of us had created a website with any kind of styling from scratch. There was quite a learning curve to creating from scratch, but we were very happy with what we were able to do in such a short time!
If you continue to hit walls with a certain version of a language or library, it may mean you need to revert to an older version to get things working correctly. We also learned to use GitHub Project Boards to help with issue tracking!
Some future enhancements include:
- Health bar for player
- Custom magic and snowballs
- A mobile-friendly environment
- High score tracker




