Rave Mom: My Love Letter to Raving Culture
I am a passionate supporter of rave music and culture. As you all know the coronavirus pandemic has put a long hold on everyone’s lives and this includes concerts. I decided I would make a game about my love that is currently on hold.
I am a new graduate from the software engineering program at Flatiron School Denver. When I go to music festivals, I always take a nurturing role and make it a point to make sure my crew is taken care of and hydrated. I decided to create a game depicting the “rave mom” in the wild. In this article, I want to outline the process of making this game and the many challenges that I encountered along the way.
Conceptualizing the game, I wanted to make a take on the classic bomber man game. I always thought this game was such an enjoyable classic. I had many ambitious ideas. I wanted to make an opponent driven by AI and I wanted to incorporate the Websocket API to allow players to compete online. These ideas proved to be too ambitious for a three week capstone project. I had to learn how to use phaser 3 after all and this proved to be difficult. So, I ended up with the one player survival game.
Rave mom consists of controlling a player to get water to your friends in your crew. Getting to each friend scores you a point. Your friends disappear and relocate after a period of time if they get too dehydrated. You need to also dodge the lasers going off or else you get knocked out by the heavy bass music. There were a few significant challenges in the development of this game that I would like to highlight.
The first challenge was the creation of the custom sprites. I wanted to make the game personalized, so I needed to learn how to create my own sprite sheets. I downloaded and learned a program called Asesprite. The challenge was that I needed to create custom animations for each laser bomb position. This required the generation of 40 different laser bomb animations. This was the most tedious part of the development of the game. I also created a custom animation for the player losing.
The second significant challenge was the interaction of the laser bomb animations and the player. Initially, I thought I could just set up a collider interaction between the player and the bomb animation. But, when I set this interaction up, I realized that the bomb animation took up the whole game field. This resulted in the bomb animations continuously colliding with the player resulting in the player losing at game start. This was a problem! So, I had to really think this through. I determined that I could determine the player losing condition by comparing the location of each bomb explosion and the location of the player. This was used instead of using a collider interaction.
Overall, my capstone project was a rewarding experience. I learned a lot about getting up to speed on a new technology and also about general problem solving when one hits a roadblock. I will be deploying Rave Mom soon on Heroku and Google Firebase. I also want to develop a two player version and play around with the Websocket API to see if I can make an online version where two people can compete remotely.