Original SMB and SMB2j Player Physics - Exhaustive Guide

Discussion in 'Game' started by Jdaster64, Feb 25, 2012.

  1. Jdaster64

    Jdaster64 Level 2: Koopa

    After hours of poring over memory addresses in the original SMB and SMB2j, I've pretty much figured out exactly how all aspects of player physics work in both games (except the wind in SMB2j, that still seems pretty much random). You can see a complete guide to it (770kB, 800x6,000px PNG) here. I'd like to see a few things implemented better in SMBC; mainly stopping/skidding and air physics, and I wanted to see exactly how they worked in the original games before saying anything. If anyone has any questions (other than how hex works), fire away.

    I'll probably come up with a similar guide to enemy physics at some point in the future.

    EDIT: Check it out, here's a guide to SMB3 physics as well, for the lulz! (300kB, 600x3800px)
    EDIT: And here, a supplemental SMA4 Luigi physics guide!
     
    ThomasMink, Crownjo, Frozsoul and 4 others like this.
  2. TheomanZero

    TheomanZero Level 9: Spike Top

    This is awesome; you are the best. I don't know much about flash games, but hopefully having all of the relevant values spelled out like this will make it easy to implement.
    Incidentally, if it's not too much trouble . . . after you do enemy physics, could you do a guide for SMB3 Mario physics? And, if possible, SMA4 Luigi physics?
     
  3. Jdaster64

    Jdaster64 Level 2: Koopa

    Potentially; Super Mario Bros. 3 and onward didn't use subpixels and such as much, and there's a lot more randomness involved, from what I've heard. I don't think SMA4 Luigi actually controls any differently outside of the e-Reader levels, despite the "floating" noise suggesting otherwise.
     
  4. aliceandsven

    aliceandsven Level 9: Spike Top

    I have noticed that in SMB, when you jump and pick up an item in mid air, your vertical velocity is suddenly cut down even if you just started the jump. I don't think this happens in SMBC but honestly the way SMB handles that is confusing and has killed me plenty of times. I don't usually play SMB or Mario in Crossover because of how hard he is to control.
     
  5. TheomanZero

    TheomanZero Level 9: Spike Top

    Well, if changing something to be more SMB-faithful would hinder playability, I think we can leave it out. Apart from that though, we ought to be as accurate as possible.
     
  6. Jdaster64

    Jdaster64 Level 2: Koopa

    I did forget to mention that; if you collect a powerup in midair, it no longer lets you hold down A to reduce the gravity, effectively cutting off vertical momentum. That is honestly something I could live without in SMBC, though.
     
  7. Ya Dad

    Ya Dad Level 1: Goomba
    Patron

    This is amazing. Jay needs to see this.
     
  8. Jdaster64

    Jdaster64 Level 2: Koopa

    Incidentally, I do have pretty much all of SMB3's physics figured out as well, Theoman. Turns out it's a bit more straightforward than SMB, and easier to explain as well. I'll probably post it within the next couple of days, once I get it nice and organized.
     
    TheomanZero likes this.
  9. TheomanZero

    TheomanZero Level 9: Spike Top

    Thanks! You're swell. I'll be interested to see how much they differ from SMB1's.
     
  10. Crownjo

    Crownjo Level 7: Bloober

    This is a very nice guide. I love how detailed it is.

    I don't really care bout SMBA4 since I only want to see the nes games physics. I would like to see just SMB Mario, SMB2J Luigi and SMB3 Mario.
     
  11. TheomanZero

    TheomanZero Level 9: Spike Top

    SMA4 is just the GBA version of SMB3. It should have the same physics for Mario. I'm interested to see how Luigi's physics are different.
     
  12. Jdaster64

    Jdaster64 Level 2: Koopa

    Since SMA4's not going to have the same memory addresses (I should think), I'm not going to bother with that, sorry. The only change that was made to Mario's physics from SMB3 to SMA4 that I can definitely notice in playing is that running on the ground resets Raccoon/Tanooki Mario's flight timer. That'll make more sense once I finish the SMB3 guide, but any people that have played both versions will probably know what I mean.
     
  13. TheomanZero

    TheomanZero Level 9: Spike Top

    Yeah, it was fun to keep landing in a run and taking off again right away . . .
    Anyway, I guess for Luigi we could just take all the differences between his SMB2J values and Mario's, and then apply them to Mario's SMB3 values, or something like that.
     
    Omicron likes this.
  14. Jdaster64

    Jdaster64 Level 2: Koopa

    Not sure if his ground speeds are actually any different than Mario's, to be honest. At any rate, I've finished the guide, you can see it here (300kB, 600x3800px). I used smaller fonts and such this time, and I think it looks a bit better.

    Again, if you have any questions, shout 'em out (again, other than how hexadecimal works).
    One thing that's for sure is that SMB3 uses a ton more frame counters/timers than the original SMB did; there's a host of others that I didn't mention as they're not really related to Mario's physics directly.

    At any rate, here's hoping for a playable SMB3-style Mario at some point in the future!
     
    TheomanZero likes this.
  15. TheomanZero

    TheomanZero Level 9: Spike Top

    Hooray! This is very interesting, and I hope it makes things easier for Jay.
     
  16. Crownjo

    Crownjo Level 7: Bloober

  17. Jdaster64

    Jdaster64 Level 2: Koopa

    Well, turns out the SMA4 memory values for X and Y speed were stupidly easy to find, so I probably will add Luigi's physics to that guide.

    One thing that I can confirm is that without the proper e-Switch or playing in e-Reader mode, Luigi's physics are identical to Mario's (despite all that midair kicking and such suggesting otherwise). I'll update the guide pretty soon.
     
  18. TheomanZero

    TheomanZero Level 9: Spike Top

    Well, if we can get the values for e-Switched Luigi, they should be used for SMB3 Luigi in SMBC. What I'd really like is to have a Luigi that plays like an SMB3-ified version of SMBC's current Luigi in some way, and I'd prefer if it came from an official version of SMB3.
     
  19. Jdaster64

    Jdaster64 Level 2: Koopa

    Well, I don't know what to think of these findings, but apparently Luigi's jump height is actually lower than Mario's in most cases, despite his having lower gravity. I verified the heights I got for both characters, and it seems to hold up (Luigi just barely gets on top of blocks 6 blocks high with a sprinting jump, and even then, he clips the edge by a couple of pixels, whereas Mario can easily clear them.)

    Here's the link; it's a much smaller image, so I don't feel the need to warn about size.

    EDIT: Also to make something clear concerning the original SMB3 guide; the "Flying Distances" mentioned at the bottom are only for up until Mario's flight timer runs out. In reality, he would be able to cover over three additional screens horizontally while descending if he held "B" and left/right and mashed "A" the whole way.
     
    TheomanZero likes this.
  20. TheomanZero

    TheomanZero Level 9: Spike Top

    Really? Huh.
    . . .
    Okay, maybe we shouldn't use these values. Sorry for wasting your time.
     

Share This Page