1. Hello Guest! It's with a heavy heart that we must announce the removal of the Legacy GMC Archive. If you wish to save anything from it, now's the time! Please see this topic for more information.
    Dismiss Notice

game feel in platformers

Discussion in 'Game Design, Development And Publishing' started by scorpafied, Jul 17, 2019.

  1. scorpafied

    scorpafied Member

    Joined:
    Feb 8, 2019
    Posts:
    9
    so game feel is argueably the most important part of a game to get right. you dont notice when its done well because it feels smooth and well made. but done purely and notice right away. i think the best example of platformers that have great game feel is super mario.

    so i thought it would make a great community forum is we try to recreate the physics of afew ppular mario titles such as:
    max speed, acceleration, friction/deceleration, gravity, min jump height, max jump height.

    from the main games where there physic changes:

    nes mario, super mario world (snes), super mario world 3 (snes), new super mario bros (ds)

    understnad that these games dont have a soruce code. its honestly just a matter of recording hgameplay doing tests. using a bit of math and then getting the figures. recording gameplay of our own oof a basic engine and comparing until perfect. so the forum will have something to measure game feel based on.

    heres my findings so far:
    oringial nes game:
    measured at 60fps
    acceleration: it takes 3 frames and then it moves 1 pixel. and its exactly 1 pixel. no decimal point.
    max speed:
    walking
    moves 1 pixel every frame. exactly 1 pixel no decimal place.
    deceleration: it took 4 pixels to comes from max speed to a complete stop. each movement is exact pixel movement. it took 2 frames to move 1 pixel each time except on the last one which took 3 frames.

    min jump:
    1st test
    over the course of 7 frames he jumps 19 pixels. in the following arc:
    1st frame - 3 pixels
    2nd frame - 3 pixels
    3rd frame - 4 pixels
    4th frame - 3 pixels
    5th frame - 3 pixels
    6th frame - 2 pixels
    7th frame - 1 pixel

    2nd test
    the character moved the following amounts: 6, 13,18,22

    max jump: 66 pixels. im yet to calculate the arc.

    falling: from a minimum jump it fell in the following arc.
    1st frame 2 pixels
    2nd frame 4 pixels
    3rd frames 7 pixels

    i really didnt have it in me to measure the max jump height and dont know how to calcuate the variable figure would be for gravity based on any of these findings.



    id love to see some community evolvement here, and someone willing to convert these findings into an actual figure that could be used. interested to see replies.
     
    Last edited: Jul 18, 2019
    pixeltroid and SilentxxBunny like this.
  2. SilentxxBunny

    SilentxxBunny Epsilon

    Joined:
    Jun 21, 2016
    Posts:
    94
    Hey,

    Have you seen this? https://marketplace.yoyogames.com/assets/3915/hdtdt-mario-bros

    I haven't used it, so I don't know how accurate it is - but it may be worth taking a look at, either way. If you decide to purchase it, let me know your findings.

    Regardless, I hope that you keep up what you're doing. I dig the approach you took, and have followed this thread.
     
  3. sitebender

    sitebender Member

    Joined:
    Sep 13, 2016
    Posts:
    840
    There are quite a few free / open source all in one Mario platformers out there. Whether you agree with their physics or not, everything can be tweaked.
     
    SilentxxBunny likes this.
  4. SilentxxBunny

    SilentxxBunny Epsilon

    Joined:
    Jun 21, 2016
    Posts:
    94
    Absolutely. I only mentioned it because scorpafied is doing precise measurements, and I was curious:
    1.) Whether or not they'd seen it.
    2.) If so, how the HDTDT engine compares to their findings.
    As I understood it, he's trying to get as close to the original game as possible.
     
  5. scorpafied

    scorpafied Member

    Joined:
    Feb 8, 2019
    Posts:
    9
    thanks man, i havent checked it out. im not sure how accurate the physics are but based on how the screenshots look it looks like a big job to get it to work correctly.

    so i updated my first post. so with the jump ive now tested a bunch of times and i cant manage to recreate the first result. to get it as accurate as possible and ive managed to get a few different results. but the most common result was like a frame jump which increases between 5-6 pixels a frame there abouts. and varied between 21 and 22 pixels max which was probably due to my inputs.

    in any case ive got as theory on how to replicate the movement side of things. fraction dumping sytem o make it pixel perfect movement. and then an acceleration rate of 0.34 and a max walking speed of 1. i think that would get it perfect. as for the jumping physics im not sure if i need to get a jump to a specific height sorta system or play around with the traditional methods such as gravity and jump amounts. i honestly havent ever looked at this in this much detail before. lol

    so ill keep you all informed as i discover more. the jumping parts gonna be a gigantic pain in the ass lol. cause basically my process is to screen capture at 60 fps then go through the video frame by frame via screenshots and compare distances on each frame. which is gonna be horrific as time goes on lol. hehehe

    the point isnt to make a mario clone, but to create the physics behind the games. alot of those arent actually accurate to how the games work.
     
    SilentxxBunny likes this.
  6. NeZvers

    NeZvers Member

    Joined:
    Mar 24, 2018
    Posts:
    320
    Tracing Mario physics will give you a response of Mario physics. All you'll get is feel of Mario. Your game will need your own values for acceleration, max speed, jump speed, gravity (jumping and falling if want it like Mario). Make descent physics logic and tweak values to find what feels right for you.
    I love physics from Lizard and it's mostly open-sourced.
     
    Phil Strahl and Khao like this.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice