don't click here

Find Wing Fortress's Unused "Badnik" Finally Solved?

Discussion in 'General Sonic Discussion' started by Clownacy, Aug 20, 2023.

  1. Clownacy

    Clownacy

    Tech Member
    1,061
    607
    93
    (Cross-post from my blog)

    Sonic 2 has an unused object that can be placed in Debug Mode (Edit Mode), which appears to be a spinning pole that acts like a Badnik: it hurts Sonic when he runs into it, and it explodes when he jumps into it. Based on that description alone, it's unclear what exactly this thing is meant to be, but I believe I've found a good explanation!

    [​IMG]

    Sonic 2, like Sonic 1 before it, groups its assets together in a logical fashion: in particular, it groups each zone's Badnik sprites separately from the rest of the zone's assets. Interestingly, the sprite for this unused object is not grouped with the zone's Badniks, but rather its non-Badnik sprites. Most tellingly, it is located right next to the zone's propeller sprites.

    Propellers spin, and the pole spins too... could it be?

    [​IMG]

    The sprites fit very well together. The 'pole' even has a pair of little sockets that the propeller sprites fit perfectly into:

    [​IMG]

    So why does it behave like a Badnik? That's because its collision type is set to that of an enemy in its sub-object definition. This isn't the only thing that gives it Badnik-like properties, however: the object also calls the 'MarkObjGone' function, which is used by objects which are capable of being destroyed and permanently removed from the level, typically Badniks. This, combined with the object's Badnik collision, suggest that this propeller was indeed intended to be destroyed by the player. The fact that this object is just a pole, and the propeller itself is an entirely-separate sprite, suggest that perhaps the pole would be the only vulnerable part of the contraption, with the propellers doing nothing but injure the player. This is all just conjecture, however.

    Neither TCRF nor the wiki mention the possible link between this unused object and the propeller sprites, so perhaps I'm the first to make this connection? Then again, the game's over 30 years old, so surely someone must have guessed this at least once, right?
     
    Last edited: Dec 13, 2023
    • Informative Informative x 39
    • Like Like x 4
    • Useful Useful x 2
    • List
  2. HEDGESMFG

    HEDGESMFG

    Oldbie
    1,300
    1,242
    93
    Seems like this object would've been a pain in the butt for the player if you had to jump onto a very, very narrow hitbox, while the wider propeller would've injured you. It's not hard to see why they'd remove it if that was the case.
     
  3. Blue Spikeball

    Blue Spikeball

    Member
    2,361
    958
    93
    I imagine the idea was that you would have had to roll under the blades and hit the pole to destroy it. They probably scrapped it because it was counterintuitive. Most players probably wouldn't have figured out that it was destructible on their own.
     
    Last edited: Aug 20, 2023
  4. Espyo

    Espyo

    Member
    81
    1
    8
    Portugal, Porto, some street
    A Pikmin fan engine - Pikifen (https://pikminfanon.com/Pikifen)
    Are the propellers in the zone used? If so, what's holding them? Or are they just floating in the air?
     
  5. Brainulator

    Brainulator

    Regular garden-variety member Member
    I had a feeling that the badnik-esque collision was the result of them using the badnik collision type, but I suspect that they have just set the size without regard to which collision type was used. I find it telling that, according to the Nick Arcade prototype's symbol data, this is how these types were originally laid out:

    Code (Text):
    1.         move.b    colino(a1),d1    ; get collision number
    2.         andi.b    #$c0,d1        ; reduce to top two bits: XX000000
    3.         beq.w    pcolnomal    ; if XX = 00, use enemy collision
    4.         cmpi.b    #$c0,d1        ; if XX = 11...
    5.         beq.w    pcolspecial    ; ...use custom collision
    6.         tst.b    d1        ; if XX = 10...
    7.         bmi.w    pcolplay    ; ...use harmful collision
    8.  
    9. pcolitem:                ; if XX = 01, it's either a ring or an item box
    10.  
    The design doesn't seem like one that lends itself to exploding and spawning an enemy, any more than Blaster's projectiles in Sonic 3 alone, where it is unused. At least you can't destroy the badnik just by walking into it.
     
    • Informative Informative x 2
    • Like Like x 1
    • List
  6. Hez

    Hez

    Oldbie
    I'm almost positive people have made this connection, but not with as much evidence to back it up as you have. This is basically the smoking gun at this point. I'd be curious where they intended to use them.