Race to the end and try to beat the other players! If you fall out of the screen, you are eliminated!
Made by Kristy Lau, Varshaa Maxwell, Erin Lee, and Evan Zheng.
Built with Unity and C# with original sprites and animations.
Ninja Zoomies was created for DurJam 2020 and won first place.
Video Demo: https://youtu.be/-DTPI1vvEeI
For this hackathon, we wanted to make a fast-paced, competitive, and enjoyable party game for friends. We were especially inspired by platformers like Super Mario Bros. We eventually settled on creating a racing-based game with Mario-like powerups, physics, and obstacles, in order to promote friendly competition. That’s how Ninja Zoomies was born!
What it does
Ninja Zoomies is a 2D multiplayer platformer game where 4 individuals race against each other to reach the end of the map first. The objective of the game is twofold, don’t fall off the screen, and/or be the first ninja to finish the race. The map is riddled with many obstacles and powerups to keep players engaged throughout. These obstacles include crates that block the players’ path and lasers that stun on contact. Question-mark boxes conceal a variety of power ups including speed ups, low gravity, and double jumps. The players can also collect energy, which compiles and allows them to travel faster on the map. The ultimate purpose of Ninja Zoomies is to make players crack a smile and (maybe even) shed a few tears.
How we built it
Before beginning any programming, we created a list of tasks that needed to be completed, and delegated certain tasks to each team member. We used a Unity 2D platformer game asset to create a basic framework for the tilemap, players, and some elements of the built-in code. Next, we coded sections of the game to make it function similar to a race: locking the camera position to the frontmost player, setting winning and losing conditions, and setting keybindings for a 4-player game. Following the code, we played with the graphics. This included utilizing the tile map and tile palette to create a basic course, creating character/token sprites for animations, and the design for the background. After importing the graphics, we spliced the sprites and created the animations. When the main graphics were completed, we created functions so that the powerups and obstacles could interact with the characters, then added in the necessary sprites and animations to make the components come to life. Finally, we created a start menu to display the title, instructions, credits, and choices of starting or quitting the game. Then, we added the end menu that stated the winner and gave a choice to play again or to quit. By the end, after adding audio, we had a fully functional, epic game!
Challenges we ran into
Throughout the game-making process, we faced many challenges. Being new to the software, there were challenges at almost every point in the creation process. Some of which included coding with an unfamiliar language and navigating a new software. We had to learn how to share and work on the same Unity file using git. Most of us were new to the software and we sometimes faced merge errors, and problems with pushing and pulling. However, we resolved any git-related problems by communicating and deciding who would work on the file at certain times.
Accomplishments that we’re proud of
These past 4 days have given all of us a chance to explore a new software and look into game development. Despite being first-time users, we were able to create a fully functional game that is bug-free. We created all the animations from scratch, adding our personal aesthetics directly into the game. Formulating the correct functions to allow the power-ups we imagined to come to life, is something that we were worried about but in the end turned out amazing. Most of all, we are happy that despite current circumstances (only interacting digitally) we were able to work as a team to overcome any challenges that came our way.
What we learned
We learned how to use many of the features Unity provides, gaining experience in animating, designing, and coding. Besides being able to manipulate individual aspects, we also learned how things come together. For example, altering code specifically so that designs can run seamlessly in the game scenes.
What’s next for Ninja Zoomies - DurJam Hackathon Game
To heighten the competitive experience, we would love to create an online version of Ninja Zoomies so that players can play with friends from anywhere. This would also allow more space than cramming everyone onto one keyboard. Additionally, we would like to implement the option of 2-4 players. Outside of the time limit, creating multiple designs for the map would allow for players to have different game experiences while still enjoying the same gameplay. To create a more user-friendly interface, we are also looking to create an options/settings menu, as well as a pause menu. For some extra fancy details, composing our own music/sound effects is something we are also interested in adding.