Inspiration

As a child, I would love to play the Papa Louie game series on Cool Math Games. When thinking of a game to create, I was inspired by my love for boba and wanted to create a similar-style game as an homage to the series.

What it does

The game takes in user inputs for movement and action, which allows the user to create drinks depending on the given orders. If a wrong drink is delivered or the user takes too long to deliver, the user will lose a life. Lose all 3 lives and the user loses the game.

How I built it

The game was built solely using the p5.js library. It utilizes many programming fundamentals such as object-oriented programming and algorithms to create the backend and frontend of the game.

Challenges I ran into

Since it was my first time developing a game from scratch, I faced many hardships when creating the game. Many of these hardships revolved around learning how to create and display sprites, updating locations, and manually triggering collisions and actions using user inputs. Another hardship was triggering and preloading audio within the game itself without the game crashing due to infinite loops.

Accomplishments that I am proud of

Despite facing many challenges, there were also many accomplishments. One accomplishment was successfully creating triggers for collisions and events manually. This includes the dynamic changes of the sprites depending on the triggered event. Another accomplishment was successfully incorporating sound effects with every action, which includes picking up items, delivering drinks, and losing lives. Overall, I am most proud of successfully creating an MVP of the game. This game exceeded all of my expectations and I am looking forward to further developing it.

What I learned

I learned so much from creating this game. I learned that game development without using a proper game engine, such as Unity, would require more work and effort. Since collision logic wasn’t already incorporated with p5.js, I learned a lot about how to detect collisions and manage many different types of objects and sprites. I also learned how to incorporate audio in a game project and how to use JavaScript to create a 2D interactive web game.

What's next for BobaRun

I have many plans for the future of BobaRun. For one, I want to move this project to Unity in order to make it easier to develop logic and incorporate simultaneous animations and audio triggers. This would allow event handling as well. I also want to create more varieties of orders and allow the user to customize their character depending on the money they make within the game. This gives them another incentive to play the game well. Another addition I want to make is to incorporate consistent background music throughout the game. There are many more improvements to be made in the future, and I am looking forward to seeing these ideas come to life.

Built With

Share this project:

Updates