Platform Behaviour - possible new features

New releases and general discussions.

Post » Tue Sep 15, 2009 10:43 am

I've been working on a new platform game project recently (loving Construct, by the way), and there's a little list of extra features that it'd be great to see added. Some of these have been suggested before, I think, but I didn't want to bump two or three seperate topics.

1. Any plans to add a "sustain jump" action, or at least allow mid-air jumps to be sustained?

The lack of a sustain meant it was impossible to get up after grabbing a ledge with my ledge grabbing code. I did try sticking an invisible solid object under the Player to trick the behaviour into thinking he was stood on the ground, but it wasn't really ideal. In the end I've just disabled the sustain jump, which is a shame. Back in MMF, triggering a "User is holding jump in the air" action was a quick and easy way of programming in a jetpack, too :p

2. Is there likely to be an "additional x/y force" option added in? Again, this was a nice feature in MMF. As it is, it shouldn't be too difficult to program this in manually using timedelta and some calculations, but it'd be cool to see the option there.

3. When you change the direction of gravity, the player controls don't change.

In other words, while on the ceiling pressing Move Left moves you right (Which is left from the point of view of being upside down), and vice versa.

Would it be possible to have some sort of setting to allow context-sensitive directions? For instance, when gravity is on the left or right, the Move Up and Move Down controls will move your character up and down the wall (Which, from his perspective, is left and right). At the moment this movement is controlled by Move Left and Move Right.

Again, this isn't too hard to fake, at least for the ceilings (I just set the gravity to a negative number). And it may be this is in there somewhere and I missed a tickbox or something.

4. Finally, can't really tell if this is a feature or a bug, but if my decceleration is higher than my acceleration, the acceleration is ignored entirely. In other words, you'll accelerate at your decceleration speed.

Edit: Should probably mention that I'm using 99.5 at the moment.
B
3
G
3
Posts: 5
Reputation: 1,010

Post » Tue Sep 15, 2009 3:37 pm

there actually is a sustain jump check box somewhere in the properties bar.
[quote="HermitUK":2n1mf56b]The lack of a sustain meant it was impossible to get up after grabbing a ledge with my ledge grabbing code.[/quote:2n1mf56b]
I've made plenty of working ledge grabbing examples, the simplest way of getting up is to trigger another jump when your player is on the edge.

I believe the additional x/y velocity action is being implemented by Davo (the plugin's creator) in the near future.
B
25
S
3
G
6
Posts: 1,197
Reputation: 5,620

Post » Tue Sep 15, 2009 4:00 pm

[quote="Davioware":3i4p6824]there actually is a sustain jump check box somewhere in the properties bar.
[quote="HermitUK":3i4p6824]The lack of a sustain meant it was impossible to get up after grabbing a ledge with my ledge grabbing code.[/quote:3i4p6824]
I've made plenty of working ledge grabbing examples, the simplest way of getting up is to trigger another jump when your player is on the edge.[/quote:3i4p6824]

Yep, that's exactly how I'd set it up. However, originally I had a small jump strength with a fairly large amount of sustain time. Since sustain jumps do not trigger from a "Jump" action, the jump strength alone wasn't enough to get up. Essentially I dropped the sustain entirely and increased the jump strength.

Cannot find the checkbox you mention - There's a Jump Sustain Time and a Jump Sustain Gravity values in the Behaviour, but no way of making the plugin trigger the sustain off of a custom jump (As in, one handled by the "Jump" action instead of by the Behaviour itself). To be clear - Jump Sustain functions fine when jumping from a solid object, but not if you're in midair and force a jump through actions.

[quote:3i4p6824]I believe the additional x/y velocity action is being implemented by Davo (the plugin's creator) in the near future.[/quote:3i4p6824]

That is good to know, thanks :D
B
3
G
3
Posts: 5
Reputation: 1,010

Post » Tue Sep 15, 2009 6:45 pm

Don't wanna hijack this thread but it'd also be great to have:

1) Simulate events.

If global('Cutscene01') is on, Player walks to X, Y, etc.

If Cutscene 01 is on and player is at X, Y, play animation blabla.

It'd be freaking great being able to simulate the platform behavior for Cutscenes.
B
6
S
2
G
3
Posts: 520
Reputation: 2,690

Post » Tue Sep 15, 2009 10:40 pm

thomas, you can make the player walk to a position with a position compare condition and then set x velocity to the player walk speed.

Also, for the ledge jump not being powerful enough thing, you can hard-force a jump of any height either by

a: setting the player's jump strength to a higher number, jumping, then immediately setting it back within the same event

or more easily....

b: set the y velocity of the platform movement to a negative number (which is what "jump" does essentially)

by controlling the y velocity you can make any kind of jump sustain/ jump system you want, even add a manual sustain to second jumps like you want with a bit of eventing. :wink:
B
25
S
3
G
6
Posts: 1,197
Reputation: 5,620

Post » Wed Sep 16, 2009 4:58 am

[quote="HermitUK":14j4yebb]The lack of a sustain meant it was impossible to get up after grabbing a ledge with my ledge grabbing code. I did try sticking an invisible solid object under the Player to trick the behaviour into thinking he was stood on the ground, but it wasn't really ideal.[/quote:14j4yebb]

What I did before is set the player position to a point up on top of the cliff, set the animation to a cliff-climb animation which has its frames' hotspots set to make it look like the player's climbing up on top of the cliff, and the player can't move or turn while that animation's playing.
B
3
S
1
G
3
Posts: 82
Reputation: 1,189

Post » Wed Sep 16, 2009 8:23 am

[quote="thomasmahler":11jmv212]Don't wanna hijack this thread but it'd also be great to have:

1) Simulate events.

If global('Cutscene01') is on, Player walks to X, Y, etc.

If Cutscene 01 is on and player is at X, Y, play animation blabla.

It'd be freaking great being able to simulate the platform behavior for Cutscenes.[/quote:11jmv212]

with the custom controls object (I think the mouse/keyboard one might work now, too, it might still be broken) you can simulate controls by using the SetControlState actions
like
-Set Control State ("jump",1)

would be like the player pressed the jump button
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Thu Sep 17, 2009 6:44 pm

Haven't tried your custom controls thing yet, Lucid.

The idea is just that we should be able to easily control characters in cutscenes - if I just use X Velocity, the player moves, but the animations will be off, cause the velocity and the animation loop doesn't sync properly - or I'll have to precisely time it, which breaks in cases where a cutscene starts and the player could stand anywhere on the screen, but now has to go to X.

That's the whole issue. It'd have to be like a script, remote controlling the players movement.

If Cutscene 01 is '1', simulate player move to X.

Which means that the player would move to X and the exact settings that I set-up in the platform behavior would still apply. Doing it over X Velocity won't ever work in those cases.
B
6
S
2
G
3
Posts: 520
Reputation: 2,690

Post » Fri Sep 18, 2009 4:58 pm

I don't exactly understand what you mean, aren't your animations set up to work with the velocity of player movement?

[quote="thomasmahler":no91fkyw]cause the velocity and the animation loop doesn't sync properly - or I'll have to precisely time it, which breaks in cases where a cutscene starts and the player could stand anywhere on the screen, but now has to go to X.[/quote:no91fkyw]

If it doesn't sync properly with manually setting of X velocity, then how does does it sync when the player is controlling the character? Isn't the animation precisely timed for player input? Why wouldn't it be synced if the player was standing at any distance from X? Maybe a ss or video would help me me understand correctly.

[quote="thomasmahler":no91fkyw]Which means that the player would move to X and the exact settings that I set-up in the platform behavior would still apply. Doing it over X Velocity won't ever work in those cases.[/quote:no91fkyw]
Like jumping etc? or do you mean accel and decel.
B
25
S
3
G
6
Posts: 1,197
Reputation: 5,620

Post » Fri Sep 18, 2009 9:40 pm

[quote="thomasmahler":7ptrrpe0]Haven't tried your custom controls thing yet, Lucid.

The idea is just that we should be able to easily control characters in cutscenes - if I just use X Velocity, the player moves, but the animations will be off, cause the velocity and the animation loop doesn't sync properly - or I'll have to precisely time it, which breaks in cases where a cutscene starts and the player could stand anywhere on the screen, but now has to go to X.

That's the whole issue. It'd have to be like a script, remote controlling the players movement.

If Cutscene 01 is '1', simulate player move to X.

Which means that the player would move to X and the exact settings that I set-up in the platform behavior would still apply. Doing it over X Velocity won't ever work in those cases.[/quote:7ptrrpe0]

I think you misunderstand me
with the custom controls (or the built in mouse/keyboard, if they fixed that feature)
you can use Set Control State to simulate a control press

using setcontrolstate will make the character behave exactly as they do when you use the keyboard or a controller
it's doing the same exact thing, you're basically using events as the controller instead of mouse keyboard or 360 pad

so it does exactly what you're asking for, it simulates controller presses

so if you wanted it to move like you're pressing a little bit to the right, you can say
Set Control State ("Move Right", 0.3)
or if you want it to be like you just pressed the jump button
you can say Set Control State ("Jump",1)

of course you have to set up extra events to know when a character gets somewhere to stop setting the control state and stop running

btw, if the mousekeyboard one isn't working
you can use the one in my plugin, without setting up all the custom control stuff, you could just use it for the SetControlState action to do that one thing, without worrying about setting up the control system in any other way
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Next

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 5 guests