Inspiration
Our team came together to create a UMass-themed game of the beloved and classic childhood game BloonsTd. Our game, UMass Duck Defense, tells the story of the famous pond ducks attacking the pond. The player must stop the ducks on their path to destruction by shooting seeds at them in order to satiate their hunger. We made sure to include the most notable UMass symbols including the library, student union, and of course Sam the Minuteman! All of which was drawn by a member of our team who created all the art from scratch.
UMass Duck Defense is made to be a fun, UMass themed game to share our favorite things about UMass to others so they can experience the joy and school spirit of UMass. It also was a cool opportunity for our team to learn more about what goes into making a game especially seeing as many of our team are either computer science majors or show interest in computer science.
New Technical Knowledge
Our team consists of mostly programmers with little experience with web development, Javascript, and html/css. Through research, asking questions, and experimenting, we learned the skills to develop a game using Javascript, Tiled, and Github.
JavaScript, HTML, CSS
While some of our team had used JavaScript previously, we overall had very little knowledge when it came to creating a project completely from scratch. However, throughout this project as we coded more and became more familiar with our code, we gained a better understanding of the language. From object-oriented programming to event listeners to set intervals we continuously needed to expand our knowledge of the language.
Tiled
In order to create the background map of our game, we used Tiled to break a pdf into a grid-like map.
Github
Our Github experience ranged from adequate to never used before. We learned how to use branches in order to simultaneously work on code at the same time without overriding each other. There was also a learning curve when using GitHub desktop to push and pull from the origin.
Soft Skills
As a team we learned to work on the same code by utilizing GitHub, delegating tasks to code efficiently, and constant communication to adjust both game design and code based on discussions about development progress. Throughout the 36 hours, we learned the importance of communication when developing big programs like UMass Duck Defense. Not only did we need to make sure we delegated the coding tasks, we also needed to constantly expand and revision our game design as new challenges or ideas arose.
How We Built Our Project
We combined JavaScript, HTML, and CSS along with an external program called Tiled to create our game. First we created a basic draft of our map and used Tiled to subdivide the map into a grid of Tiles. Next, we made the grid clickable so we could add towers to the non path area. Then we broke into teams of two in order to work on the home screens, drawings, tower attributes, and enemies and bullets. For the enemies and bullets, we had to add movement to the sprites, make the enemies follow a certain path, create collisions, and allow the bullets to aim at the enemies, using coordinate tracking. For the towers, we made two different types of towers that had different attributes: one slowed the enemies and one harmed the enemies. Two buttons allowed you to choose the type of tower and then click where on the map to place them. We then imported the drawings in in order to customize the game. Finally we adjusted the game to fit the new customizations. There was also a cutscene to emphasize the storyline of our game.
Challenges
We faced many challenges when it came to the code especially at the beginning of the process as we struggled to become comfortable with Javascript. In the early hours of Saturday morning after hours of struggling, we started to brainstorm other possible ideas since we felt hopeless on achieving success with the idea we were working on currently, however after more perseverance, we finally reached a breakthrough that motivated us to continue with our original idea. In the end, staying with our original idea was the best decision we made as we were able to create an extensive project that we were passionate and enthusiastic to create. However, was only the first hurdle as we continued to face struggles with creating movement, collisions, aiming, and a clickable grid. We spent many hours trying to turn our Tiled data into a clickable grid and then struggled to overlay our final map png. Furthermore, merging our code caused us many issues as we often had merge conflicts or pieces of code that needed extra debugging once they were combined in order for the game to run smoothly. On top of any code issues, we also faced many instances of needing to change our game design on the fly in order to accommodate realistic coding goals.

Log in or sign up for Devpost to join the conversation.