Here's what this could've been like if these sound effects did exist.
28.01.2026 20:29 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0@rsdkfacts.bsky.social
Posting facts about the workings of Sonic Mania, Penny's Big Breakaway, and other Retro Engine games. Not affiliated with SEGA, Evening Star, or Headcannon.
Here's what this could've been like if these sound effects did exist.
28.01.2026 20:29 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0void Staircase_StageLoad(void) { if (RSDK.CheckSceneFolder("CPZ")) { Staircase->aniFrames = RSDK.LoadSpriteAnimation("CPZ/Staircase.bin", SCOPE_STAGE); Staircase->sfxBlockStop = RSDK.GetSfx("CPZ/CPZ2HitBlocksStop.wav"); Soundboard_LoadSfx("CPZ/CPZ2HitBlocks.wav", true, Staircase_SfxCheck_HitBlocks, StateMachine_None); } }
bool32 Staircase_SfxCheck_HitBlocks(void) { foreach_active(Staircase, entity) { if (entity->stateDraw == Staircase_Draw_Shake) return true; } return false; }
void Staircase_State_Wait(void) { RSDK_THIS(Staircase); Vector2 posStore = self->position; foreach_active(Player, player) { for (int32 i = 0; i < STAIRCASE_STAIR_COUNT; i++) { self->position = self->blockPos[i]; Player_CheckCollisionBox(player, self, &Staircase->blockHitbox); } } self->position = posStore; if (--self->timer < 0) { self->timer = 128; if (!RSDK.IsSfxPlaying(Staircase->sfxBlockStop)) RSDK.PlaySfx(Staircase->sfxBlockStop, false, 255); self->state = Staircase_State_MoveBlocks; self->stateDraw = Staircase_Draw_Blocks; } if (!RSDK.CheckOnScreen(self, &self->updateRange)) Staircase_Create(NULL); }
In Sonic Mania, the Chemical Plant staircases have full functionality for playing a looping sound effect when the blocks are shaking after being hit from below, as well as another playing as they begin moving. However, neither of these sound effects exist in the game's files.
28.01.2026 20:29 โ ๐ 0 ๐ 1 ๐ฌ 1 ๐ 0Although Mania's method is effective, it does result in quirks such as this:
15.01.2026 14:25 โ ๐ 1 ๐ 1 ๐ฌ 0 ๐ 1Mania GHZ collapsing ledges with the RSDKv5U decompilation's hitbox visualizer enabled.
Sonic Mania uses a much simpler approach: it uses a large hitbox based on a given size determined per-entity, and if the player is touching that hitbox while grounded, the collapse is activated.
15.01.2026 14:25 โ ๐ 1 ๐ 0 ๐ฌ 1 ๐ 0In early versions of the game, there's evidence that a file named "CLedgeMask.bin" once existed. This may have been used for the top offsets in the proof-of-concept phase of development, back before tables were implemented in the scripting language the game uses.
15.01.2026 14:25 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Well, these ledges are objects, and RSDK doesn't support hitboxes that are angled or any shape other than a straight rectangle. Rather than make a ton of hitboxes to match the ledge's shape, the devs made one hitbox and used a table and checks to determine the top's offset.
15.01.2026 14:25 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Sonic standing on the lower point of the crumbling ledge. The displayed hitbox matches Sonic's vertical position.
Sonic standing on the higher point of the crumbling ledge. The displayed hitbox matches Sonic's vertical position.
If we enable the RSDKv4 decompilation's object hitbox visualizer, we can see that the top of the hitbox for the ledges get taller or shorter depending on where the player is standing on it, rather than having a hitbox that properly matches the ledge itself. What's going on here?
15.01.2026 14:25 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Sonic standing on a crumbling ledge in Green Hill Zone.
Curious how the crumbling ledges in Sonic 1 work? No? Too bad, here's how it's done!
15.01.2026 14:25 โ ๐ 1 ๐ 1 ๐ฌ 1 ๐ 0Super Tails with the Super Flicky value modified to spawn 2 Flickies, half the regular amount.
Super Tails with the Super Flicky value modified to spawn 8 Flickies, double the regular amount.
Super Tails with the Super Flicky value modified to spawn 32 Flickies, octuple the regular amount.
Super Tails with the Super Flicky value modified to spawn 256 Flickies, sixty-four times the regular amount. Some other objects start behaving improperly with an army this big present.
Sonic 3 & Knuckles handles the amount of Super Flickies present with Super Tails as a single value in the code. Although this value is stored as a constant, this could have theoretically been used to control how many Flickies appear based on certain conditions in development.
11.01.2026 20:55 โ ๐ 13 ๐ 6 ๐ฌ 2 ๐ 0Please know that anything regarding Sonic Origins posted on this account isn't meant to attack the game; I personally love the collection despite its flaws and lack of polish.
Also, I (the owner of this account) don't have a main, so please don't ask what it is.