1-sentence summary: Create a virtual hair salon in p5.js and explore the physics of hair!
Inspiration: I am inspired by the Toca Hair Salon Game. It is an application available on the Apple App Store that allows players be a virtual hairstylist. You can choose which character you would like to style and play with their hair. You can choose to cut, brush, color or wash the character’s hair as well as pick out accessories for them to wear. Below is a trailer of the gameplay:
This is one of my favorite kids game that I enjoy playing with my little cousins. The visual and sound design is so rewarding and really satisfying (even as an adult)! It is no secret that I am a big kid at heart so I am really excited to develop a project that imitates the features of this gameplay.
Code reference: I started working on this idea for my midterm project with my Pendulum Hair sketch. This project features a happy, girl character that users can control using their mouse. You can tilt her head left or right and her hair will swing according to the law of physics! As you move her head, her facial expression changes to react to the changing environment.
What do I hope to accomplish: I am really interested in exploring how to animate different hair hair textures, such as curly hair. I can see this being modeled using both a pendulum and spring algorithm. I am also interested in just experimenting with hair “behavior” in general.
There are 3 main goals that I have for myself with this project:
- Add at least one other character. I want there to be diversity in the characters that players can select. With more time, there could be more customization features in this area. However, I want to make sure to include at least one other option to illustrate that this is something that I am conscious of.
- 2. Allow players to wash the character’s hair. This is something that can be implemented pretty easily with a particle system that is triggered when the mouse comes in contact with a hair strand.
- 3. Allow players to rinse characters hair. I also feel this can easily be achieved with a particle system that removes suds when a water droplet touches a sud bubble.
Challenges: The biggest challenge for me is to limit the scope of this project. There are endless possibilities of what I can implement. Depending on the speed of my development for the 3 main features above, I will explore additional options such as adding a blow dyer feature. Overall, I am really excited to work on this. I also appreciate the feedback I received in today’s Zoom proposal presentation session. I really like the idea of using an external library, for example matter.js, as a possibility to speed up this development process and be able to add more features.