MAX/MSP_Interactive Mouse ⢠ripple effect
- Fionn Han
- Nov 28, 2023
- 2 min read
Updated: May 11, 2024
In this series of patches, I aim to create an interactive cursor that dynamically interacts with background objects within Max. Specifically, the background objects will alter their directions and colors based on my cursor's real-time position. I've developed four patches to progressively achieve this goal (see below).
This project was inspired by my research of immersion with the game music ofćNieR: Automatać. I have incorporated a few soundtracks from the video game to accompany these patches, excluding the Civilizations ones (showcased above & demo below), for which I created the sound design myself.
ā”STEP 1ā
I utilize my mouse's position data (Cartesian coordinates) to determine how the cursor rotates and points in the right direction in jit.world, employing the cartopol object.
ćsoundtrack: Pascal, by Keiichi Okabeć
ā”STEP 2ā

Using the jit.gl.multipleĀ object, I multiply the cursor icon as the background in the jit.matrix object. Each small cursor inĀ jit.gen is assigned information such as location, size, rotation angle, and color based on my mouse's movement data. TheĀ jit.genĀ content can be seen at the bottom right corner.
ā”STEP 3ā
To enhance the interactive experience, I customize the cursor while maintaining its interaction with the background using the jit.gl.sketch object.
ćsoundtrack: Amusement Park (8-bit version), by Keigo Hoashić

Besides importing different images for your cursor icon using the message box 'importmovie, bang', you can freely decide the objects shown in the background by simply changing the file names in jit.gl.texture object (circled in light beige). The Civilizations showcase (above) and the demo (below) are made by the same patch with minor value adjustments to achieve the best visual effect.
ā”STEP 4ā
Finally, to elevate the playful experience, I send the 'hide cursor' message to Max. This allows participants to explore the relationship between their mouse movements and the background objects.
ćsoundtrack: Treasure Time, by Keigo Hoashić

To enhance the tranquil atmosphere of this composition "Species," I employ the jit.slide object to gently decelerate the color-changing process. In the final touch, I've also incorporated the jit.gl.camera into this patch, providing users with the flexibility to adjust the background's distance based on their preference for proximity.
ćCreditć
Music: MONACA ęéä¼ē¤¾ć¢ćć«Ā
Sound: Hua-Chun Fan
Max/MSP programming: Hua-Chun Fan
