One interesting project I found that utilizes the power of ML is Blob Opera by David Li and Google Arts & Culture. The main reason I love this project is that both the interaction and animation of the blobs are interesting and cute. I love interacting with the blobs and creating different pitches.
Blob Opera - Google Arts & Culture
<aside> 📌
What type of machine learning models did the creator use?
</aside>
The team actually trained a machine learning model by recording 16 hours of singing to train an algorithm called a Convolutional Neural Network. They also used another machine learning model to enable the blobs to respond to input in real time.
<aside> 📌
What data might have been used to train the machine learning model?
</aside>
According to the description, the team trained their model by recording 16 hours of singing from four opera singers: tenor Christian Joel, bass Frederick Tong, mezzo-soprano Joanna Gamble, and soprano Olivia Doutney.
<aside> 📌
Why did the creator of the project choose to use this machine learning model?
</aside>
The project pays tribute to the beauty of opera singing, so the model should be highly specific and focus solely on opera singing. Therefore, it is best to train their own model to ensure it works optimally when players interact with different voices.
For this week, I decided to create a gummy bear hunt game. The reason I chose the theme of gummy bears is that I was eating them while doing this homework. As a huge gummy bear fan, I told myself I needed to create a game about gummy bears.
I was inspired by the example code that is made by Jack Du https://editor.p5js.org/jackbdu/sketches/JwMBQyES3
Building on this sample code, I want to add an effect where gummy bears bounce around the screen and create a capture system where users can catch gummy bears by using their hands. First, I replaced the image for the quadrangle formed by the hand with an image of mouth. Then, I found gummy bear images online and added a bouncing effect to them. Since I had previously created a bouncing ball project, I used code from that project to implement the bouncing effect.
After figuring out the bouncing effect, I worked on the “capture” function. When height is small enough(mimic the closing of the mouth), the user successfully captures a gummy bear. It took me a while to figure out this part. I created several variables to make it work, such as the variables to track the height of the quadrangle and its center point. I also added a timer and score system, with the game adding one more gummy bear every two seconds.
P5.js link: https://editor.p5js.org/Christinawu/sketches/w_Eqd4fWk
Here is my demo video:
https://drive.google.com/file/d/19hD-E0AauQWKbQvLEAmgRKYRhwvgaP18/view?usp=sharing