How do I make the screen effects like RVVZ's Track Mash?

((Sorry if this is in the wrong topic.))

I am a new scripter who got accepted into the devforum recentely. So please don’t make fun of my current skills.

So some of you may know RVVZ’s game “Track Mash”. That game contains screen effects that zoom and cause blur depending on the sound’s PlaybackLoudness, and I was just wondering on how I would do that, as I am working on a “Vibe” game. (New trend.) and I think that that one effect would really help the game grow.

Any help would be appreciated. c:

5 Likes

Hi anonymous6778, first, welcome to the DevForum. Nobody will make fun of you, since we all go through the same moment in which we did not know how to write print("Hello world!") on the console, and after attempts, mistakes, and learn from mistakes, and from community, we have acquiring more knowledge and, little by little, we were achieving better things.

To achieve effects like these, you can learn more about the Blur effect here.
According to what you explain to me, what could help you is to change the Size of the Blur relatively with the PlaybackLoudness of the sound.

3 Likes

Are you able to show an example of what you mean? Some of us haven’t played Track Mash and would appreciate a visual example of what you’d like to accomplish without going to the game itself.

By the way, its creator is on the DevForum, so you could also ask him if he’s willing to impart the know-how on accomplishing this kind of system.

cc @RVVZ

1 Like

The game uses Sound.PlaybackLoudness from sounds to control everything.

All the the players including yourself are animated on the client through a RunService.RenderStepped loop. I simply achieve the bass drop effect by having the PlaybackLoudness go over a specific value, and most songs in the game have a different level of this value.

E.g.

local Value = game.ReplicatedStorage.Songs["Name"].AmountValue.Value
if Sound.PlaybackLoudness > Value then
BassHit()
end

Animations are controlled using Animation:AdjustWeight() and Animation:AdjustSpeed()

Visual effects use ColorCorrection, BlurEffect and other properties in game.Lighting.

e.g.

local VisualAmount = Sound.PlaybackLoudness * 0.05
BlurEffect.Size = VisualAmount

If you want it to be smooth, the best way is to use TweenService. I have one number value which is tweened on, and all the other effects use it.

This all needs to be done on the client. The only thing that the server really does it set the songs and what animations the players have.

16 Likes