Midterm Project Documentation

We began this project by trying to come up with a game that could be optimized for a mobile application and had something to do with music. Both Tina and I originally were interested in creating a game that pulled from popular culture and aesthetics, so we settled on creating a game about Coachella, a popular annual U.S. music festival. We were also really interested in the Vaporwave/Synthwave design trends, and decided to place the setting of the game into a futuristic space world, making the final concept of musicians racing to the moon to perform at the festival.


The endless runner-style game structure was inspired by the game Alternate, where the player had to move their character to avoid getting hit by lightning bolts thrown by another character across the screen.


We replaced the throwing of negative objects with objects the player had to collect, and restricted the movement of the player to the y axis to increase the game’s difficulty.

In our game, the player plays through four different rounds as a unique performer flying on their way to Moonchella. The player must avoid colliding with obstacles that vary in each scene and collect 5 clothing items so that they are dressed to perform. Once the character is fully dressed, the player advances to the next level, which contains a new set of characters, items, backgrounds and music. After all of the rounds are completed, the player gets to watch and listen to a short animated performance by all of the players.

Some original drafts of the possible characters:


Junyang helped us set up Perlin Noise generation of the obstacles and items, and constrained them to our playing scene using the map function. Additionally, because each character had to change its appearance when it collected a new item, they were coded as objects that changed states based on the items they collect. We used a lot of arrays in this game to hold the various clothes and iterations of each character, as well as the background music and sound effects. Most of the changes in the game were triggered by a global game state that changed once the player collected enough items. Tina also implemented particle systems in some of the background to add more depth to the parallax, an example of which could be seen in the second level of the game.

When we were originally creating this game and wanted to make it functional on an iphone, we wanted to use functions such as Touch and mouseIsPressed and drag the player character up and down the screen. However although this may have worked better for a touchscreen, it created an unpleasant user experience in the desktop version, so we decided to use the WASD keyboard controllers instead.

If we were to continue working on this project, we would find a way to also make it playable on a touchscreen device. Additionally, we would add increased difficulty with each level, because the first three levels of the game are currently at a relatively similar playing difficulty.