Good one. Houdini uses Bullet Dynamics which is the same as that still available in Cinema. I stopped trying to use the new unified dynamics in Cinema because it was a nightmare and nothing really worked as expected, and lots of stuff seemed just flat out broken, but as soon as I tried it with the old and reliable Bullet Dynamics it was pretty easy and straightforward and the controls seemed to control things as you would expect. I think you could do the dynamic elements of this animation in either Houdini or Cinema without major differences, but the shading elements would be much easier in Houdini. Working with Cinema sadly forces you to use a separate material for each element, or some other sadistic workaround, instead of just simply changing object or object point colors in Houdini in response to any chosen stimulus. Also, I found no direct way to get an object's direction vector in Cinema and had to build a rig to determine that instead. Also I may have overlooked something but I could find no way to get collision data from dynamics inside of Xpresso, so that would have to be eyeballed or timed out as well.
Below is a test I did a few days ago to determine how well I could control the decent rate of the marbles, with one marble hitting quarter notes (180 bmp) and the other hitting eighth notes (360 bmp).
In the end I now feel convinced that all these animations you see on Tik-Tok and the like, and in the past, are not using dynamics at all except to get the initial accelerations and velocities that the different curves and circumstances produce. Dynamics is way too variable and unpredictable and hard to control compared to a simple and predictable align to spline animation where the velocities and accelerations are built into the curves, or even a sequence of offset motion clips.