{ LENA DIAS }

Games/Software Engineer

Rainbow Ripple


A playful, interactive browser toy that lets players create satisfying ripples.
The title screen, displaying the rainbow “Rainbow Ripple” logo, “Team Double Jump”, and a rainbow circle. An example of orange, purple, and teal ripples, which appear in star shapes on the white background. Ripples continue until they hit the walls. An example of what ripples look like when the player drags their mouse; they move in a cascading pattern following the mouse. An example of a single light blue ripple. Two ripples placed far apart; orange and purple. An example of several ripples at different stages (salmon, green, and pink). Early stage ripples appear much closer bunched up.

About:

Rainbow Ripple was created as part of a Digital Game Design class at WPI, and evolved over the course of multiple builds. It was created in Perlenspiel, an ultra-lightweight, Javascript-based game engine, which intentionally limits graphical possibilities to encourage intelligent, elegant design.

Players can either click or drag on the white part of the grid to create ripples of randomized colors, which will each create a sound once they hit the sides of the screen. This project was mainly designed to be a fun little toy to mess around with!

Development details:

Completed: 2021
Development time: ~3 days
Languages: Javascript
Tools: Perlenspiel engine, IntelliJ IDEA, Aseprite

Team:

My role:

Lead Programmer

Lead Designer

Lessons learned:

Design for instant, innate satisfaction to get players invested before pushing further.

Development of this one was mainly about making something satisfying to play around with— if it holds player attention for a solid 30 seconds or so, that's a victory, especially for how simple it is. I could've made it more innately gratifying with some code to create more pleasing color patterns (in fact, I had plans to).

Be aware of technical limitations.

There's a bug in here that involves the sound stacking if too many sounds play at once, an unfortunate bug in Perlenspiel itself; it could've easily been alleviated by using an object pool design pattern to track how many sounds play at once. I also planned to have ripples cascade off of each other, but I sacrificed this feature due to framerate issues (though, maybe it could've been fun for the player to "break" the game?)