How do I recreate some Mario features?

Get help using Construct 2

Post » Fri Aug 05, 2016 4:58 pm

**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.
ImageImageImage
B
39
S
22
G
11
Posts: 486
Reputation: 9,913

Post » Fri Aug 05, 2016 5:22 pm

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.
Image ImageImage
B
168
S
50
G
163
Posts: 8,221
Reputation: 105,061

Post » Fri Aug 05, 2016 5:32 pm

newt wrote: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?
ImageImageImage
B
39
S
22
G
11
Posts: 486
Reputation: 9,913

Post » Fri Aug 05, 2016 5:36 pm

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. :P
Image ImageImage
B
168
S
50
G
163
Posts: 8,221
Reputation: 105,061

Post » Fri Aug 05, 2016 5:39 pm

newt wrote:Also thanks, now the water level music is in my head. :P


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
ImageImageImage
B
39
S
22
G
11
Posts: 486
Reputation: 9,913

Post » Fri Aug 05, 2016 5:40 pm

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! ;)
B
67
S
28
G
24
Posts: 970
Reputation: 18,675

Post » Fri Aug 05, 2016 6:07 pm

Magistross wrote: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.
ImageImageImage
B
39
S
22
G
11
Posts: 486
Reputation: 9,913

Post » Fri Aug 05, 2016 10:01 pm

Magistross wrote: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

Image
Image
ImageImageImage
B
39
S
22
G
11
Posts: 486
Reputation: 9,913

Post » Sat Aug 06, 2016 6:54 pm

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

Image
Image
ImageImageImage
B
39
S
22
G
11
Posts: 486
Reputation: 9,913

Post » Sun Aug 07, 2016 12:54 pm

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?
ImageImageImage
B
39
S
22
G
11
Posts: 486
Reputation: 9,913

Next

Return to How do I....?

Who is online

Users browsing this forum: Cubus32, tarek2 and 8 guests