How do I recreate some Mario features?

0 favourites
  • 12 posts
From the Asset Store
Create a boss fight with this easy to follow game pack. Recreate the classic attacks of Mutoid Man from Super Smash TV
  • **Note: First post is initially forethought to get some insights. Will try to post features as created or specific troubleshooting questions as I go so can be a reference post to others.

    I have been thinking of how some of the features from Mario 3 could be created in Construct. I am not remaking or cloning Mario but understanding how to create some of those features would help in implementing my own.

    Features I'm thinking of:

    • Sprinting/Turbo: probably not difficult: change movement speed and jump strength when button held. Only change if on ground though? Enabling turbo mid-air doesn't seem right. And I believe Mario you could run faster/jump farther if you got a small running start. So maybe start timer upon sprint start and increase speed and jump strength even further upon that timer.
    • Flying Racoon: Not sure if should switch from Platform to Physics or custom movement behavior. I don't see how with Platform behavior you can recreate the upward movement upon tail flick, unless you can reset the double jump every time.
    • Swimming: Similar to the flying but also have to detect when in water. Not sure the best way to do that without taking a lot of cpu with collision checks. Also need to detect when near the top so can change from swimming to the jump out of water

    That is probably enough to focus on now. I'll post an update when I get a chance to try it out.

  • Just change the fall speed for tanooki.

    Overlapping for water, set the jump speed low, fall speed low, and add a on keyboard simulate jump for unlimited double jumps.

    Edit:

    Simulate won't work, use set vector x, and y according to mirrored, unmirrored.

  • Just change the fall speed for tanooki.

    Overlapping for water, set the jump speed low, fall speed low, and add a on keyboard simulate jump for unlimited double jumps.

    Edit:

    Simulate won't work, use set vector x, and y according to mirrored, unmirrored.

    Was going to say 'ah, if you can have unlimited double jump then it should be much easier' but just saw your edit pop up. So no unlimited double jump?

  • I would add a is falling, to keep it separate from jumps.

    It's still basically unlimited jumps without the double jump option.

    Also thanks, now the water level music is in my head.

  • Also thanks, now the water level music is in my head.

    Lol Mario music has been stuck in my head for a while. Can't wait for the NES mini to come out.

    Will try it out this weekend or early next week and post. Thanks

  • If I recall correctly, the P-Meter in SMB3 made you accelerate faster as well as make you run faster. I guess you could hold default values for the platform behavior in variables, and set the actual behavior values according to those and some sort of formula with your own "p-meter" variable.

    You can manipulate the X and Y movement vectors of the platform behavior directly. Knowing this, "jumping" mid-air in a raccoon suit should bump the Y-Vector a little upward when the "p-meter" is full, or limit the minimum value otherwise (to get the fluttering effect).

    Same thing goes for swimming, although you will need different formula/threshold and what not.

    Good luck!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • If I recall correctly, the P-Meter in SMB3 made you accelerate faster as well as make you run faster...

    I initially thought the same thing but as I was posting I reasoned it was probably that you subconsciously thought you were speeding up just because the P meter was filling up. I think there were actually only three speeds: 1) no sprint 2) sprint 3) full P meter.

    But not sure because I haven't played in forever—need to change that!

    Those specific details are really irrelevant to what I'm doing though as I don't care to clone exactly but learn from it. But I still find it interesting to dissect it. Even those subtle changes of speed helped make the game great (IMO) but are often overlooked. I can still remember specific spots on levels where it was difficult to get that running start that you needed.

  • You can manipulate the X and Y movement vectors of the platform behavior directly

    I must have not noticed these actions—thanks!

    Getting him in the water is easy...gotta get him out of the water now

  • Almost there on the swimming. Need to add something to not allow skipping across the top of the water though:

  • What is the best way to store all these speeds as variables? So I can say set jump strength to standard/sprint/water/etc. instead of having to change in multiple places when tweaking. Can a dictionary take care of that? Or will I have to resort to instance variables for each?

  • Nice going there man!

    Having those default values stored as instance variable of the player sprite would make the most sense, as those values are directly tied to how that particular sprite behaves. However, global variables or a dictionary wouldn't be bad either. So I guess in the end it all boils down to what you prefer.

  • Nice going there man!

    Having those default values stored as instance variable of the player sprite would make the most sense, as those values are directly tied to how that particular sprite behaves. However, global variables or a dictionary wouldn't be bad either. So I guess in the end it all boils down to what you prefer.

    Thanks!

    Another option I may just take is make a function for each (setSprintSpeed; setWalkSpeed; etc).

    I have a list of issues I need to work out, especially with the sprint (using x button), but thought I would share a link anyway to what I have right now: (sometimes its fun to see the progress)

    http://loubagel.com/archives/louPlatform/080716/

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)