Disclaimer: I am not a music guy, beyond what I’ve picked up from osmosis. Let the actual music maestros (com_poser/bossman/owlpuzzle/mindwanderer/etc) validate anything in this document first!

This exercise came about from Bossman’s comment about a note being 2 tiles away and 1 tile up being equivalent to a half-tile (having a semi-solid under a note block). Can’t recall really ever seeing that in action, we always just talk about semi-solids only, and I wanted to test for other equivalences and behaviors. One thing led to another, and... might be able to do 176 BPM songs in cheetah mode?

Image below shows music note location and time delay, with colors matching equivalencies. The thick black line is the highest you should put an entity based on typical bounce behavior (various entities have different behavior and can shift this line up or down).

First table is for normal music notes, second table is for music notes with semi-solids (highlighted yellow):

The half tile subdivisions are what allow BPM 147 by subdividing 4 tiles into 3 tiles per beat.

Noting the fact that four rows up you start seeing quarter tile subdivisions, means you should be able to subdivide 4 tiles into 2.5 tiles per beat for a BPM of 176. (You could also subdivide to 3.5 tiles for BPM of 125.7, though I have no image reference for that)

As an example, here’s the comparison of a song intro at different BPMs (110, 147 and 176):

Note the obvious limitations of BPM 176:

  1. Because you have to drop from at least 4 tiles up, you need a LOT of space above, so you’re stuck working mostly on the lower half of the level and up to the A# key.
  2. No parachutes for ANY ⅛ notes.
  3. Really impacted by bounce behavior of entities, and some don’t even bounce high enough. For example, Bullet Bill only bounces up 3.5 tiles (but it WILL bounce 4 tiles with a semi-solid on the note block, oddly enough). Sometimes you can get around this with wings. On the other hand, some bounce really high (and wings can make them bounce higher), and there’s tons of equivalencies for quarter notes if you can go high enough.

A benefit of the quarter tile subdivision is it can also help with 1/16 notes on the BPM 147 songs. For BPM 176 songs, you’re kind of hosed on 1/16 notes though. The closest you can do is to try to approximate it:

BPM and Song Length

So for Cheetah Auto-Scroll, you get approximately 29 seconds of music from 13.25 measures (53 beats, assuming 4 tiles per beat subdivision) for main-world and sub-world each.

For other subdivisions, you’re still getting 29 seconds of music, but assuming you can get enough music in outside of the entity limits, this comes out to:

  • BPM 125.7: 15.1 measures (~61 beats, with 3.5 tiles per beat subdivision) per world.
  • BPM 146.7: 17.7 measures (~71 beats, with 3 tiles per beat subdivision) per world.
  • BPM 176: 21.2 measures (~85 beats, with 2.5 tiles per beat subdivision) per world.
  • BPM 220: 26.5 measures (~106 beats, with 2 tiles per beat subdivision) per world.

This is, of course, not counting parachutes at the end of the level or repeating sections (via pipes/doors and possibly on/off switches to update music), which you can use to potentially fit in more music.


Other things:

  1. Note Activation: There is a 1 tile activation delay for music notes when an entity is not right on top of it.  This is why equivalence effects start 2 tiles back for drops & 6 tiles back for parachutes (instead of 5).
  2. Parachute Observation: Beyond the note activation, there is an additional +0.25 tile delay on bounce behavior. Only matters if you want to try and reuse an entity afterwards.
  3. Bounce Behavior: Majority of entities bounce 5.5 tiles on music notes. With a semi-solid, they will bounce 6 tiles. Useful for adjusting donut/cloud location for drops equivalences.

    Wings add +3 tiles to the bounce of sprites (wings cannot be used with power-ups) unless noted otherwise.

    Fractional tile bounces aren’t really relevant, but noted in case that ever changes.
  4. Additional Exceptions/Observations:


And of course, there’s the boss sprites, which you have a 3 entity limit on for Bowser/Bowser Jr, and 5 entity limit on Boom Boom:

I generally didn’t test entities that require damaging a sprite (shoe or shell-less koopas), Link’s Bombs, or Bowser’s Fire.  Yoshi, I might test if I can set-up something to automatically dump him on a note after hatching.

I also didn’t test Mario, I guess.

Beyond those, unlisted power-ups/sprites should bounce as initially noted (for example, snow balls, master sword, sledge bros, etc).


Oh and just because I don’t see it in com_poser’s google doc on cheetah tricks or pinned on discord (nevermind, somehow forgot I was a mod, I pinned it there now):

Blue platforms tricks

  

Based on screenshots/comments from Owlpuzzle/Com_poser (1st image) and Overcrow (2nd image)

You can move a sprite two tiles to the right and put a 7-tile wide blue platform on it to get an equivalent sound in cheetah speed.

Every tile shorter the blue platform is, you need to add half a tile distance between note’s original location and blue platform location.

So a 3-tile wide blue platform is equivalent to a note originally located four tiles earlier.

A 4-tile wide blue platform is equivalent to a note originally located three tiles earlier, with a semi-solid.

A 5-tile wide blue platform is equivalent to a note originally located three tiles earlier.

...etc.