Zebbi's Recent Forum Activity

  • Any ideas?

  • I'm trying to understand if I set a condition on a sub-event, does each successive sub-event check itself against it's the parent(s), or do they all just run one after another if the parent is true?

  • From 7 years of experience with Construct.

    Still keen to know how you could recreate r0j0s or Rex's plugins with events?

  • Colludium looks awesome! Am I using the newest bespoke jump strength feature correctly? I'm trying to match the speed the Platform+ object here jumps away from the wall, but I can't seem to slow the jump away speed down at all with the new feature? dropbox.com/s/kq0pqcemjyozf6l/walljumpbuiltin3.capx

    Here's Platform+: dropbox.com/s/1km48l9kp8t3g9r/platform%2B.rar

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Zebbi,

    I'll have a look into that. You could also do it easily via events, I guess:

    VelocityX = 0 for > 0.5 sec, set accel/decel to normal values

    abs(VelocityX) > cut-off value, set accel/decel to super-human

    Hmm, not so sure about using fixed time for it, since we're trying to keep momentum if the opposite key to the direction travelling is pressed quickly before the player has decelerated entirely to a stop so as to not have such a floaty/drifty turn (it's the same for air and ground). Check my example: construct.net/out - I test entirely if the speed is above the point where, if the speed is any lower, the acceleration speed doesn't matter, the player is already nearly stopped. Here's a video of it: gfycat.com/MedicalLastingKingsnake - the differences are because of the video capture messes up Platform+, but in realtime, those are matched almost perfectly.

  • Colludium I've made an example using different accel/decel speeds when at full movement: dropbox.com/s/d7q9h64pnoheybk/walljumpaccdec.capx - Platform+ and quite a few platformers seem to use this approach, particularly Jazz Jackrabbit; he takes a while to accelerate, but once up to speed, he can turn almost instantly. Do you have any plans on adding a variable acceleration and deceleration speed depending on the current movement speed? Again, I haven't tested this enough to say if it's a solid enough event set, but it would be handy to have built into Platform2. My example is matched to Platform+'s built-in method.

  • Would "Additional X velocity" and "additional Y velocity" be possible? This would be perfect for adding wind from any direction and of any speed to games, or a very easy way to handle conveyor belts.

    Also the ability to "Trigger a jump" at any time, not just when on the ground would be fantastic! This would obliterate any current Y velocity and trigger a jump... maybe even let us set the jump strength within the action to either the default jump strength or a custom amount. This would allow for super easy implementation of double-jumps, triple-jumps, or even swimming like in Mario or flying like in Joust.

    I think you can trigger a jump using Control Input > Jump? I had a little trouble using it for the wall-jumps, so I used velocity Y, but I wasn't sure if it was my events or an issue with jump?

  • Zebbi,

    I'll see what I can do. The trick will be to implement it without breaking the current plugin... I doubt I'll get it done today - if I don't then it might take me a couple of weeks to set it up (due to work).

    Colludium that would be incredible if possible! One quick question in the meantime, I'm still porting my old events from platform+ over, and I've come across a snag. Platform+ has "ignore input" which is also present on 8-direction built-in movement, and I believe standard platform built-in. It's just a really easy way of not listening to any inputs without having to add in lots of other bools or whatever in the events. It's not the same as enable/disable, since it still functions as a platform movement (falls, jumps, elevators and such will still complete and work). Would it be possible to add this to Platform2 so I can continue seamlessly converting my events over? So far I've managed to do almost all of it seamlessly, it's just a little difficult now without ignore input ;)

  • Zebbi,

    That wall jump mechanic you have is excellent and I couldn't really improve on it.

    I'm not sure what you were trying to do for wall-hang and move, but you need to set Solid2 to Type: "Wall hang" in the properties window. Wall hang then happens on wall collision if a control input is selected to move towards the wall.

    Regarding improving the wall hang - are you asking for a wall-slide velocity option (so the player can slide down the wall) and/or for the x velocity to be set away from the wall with a wall jump?

    Very kind of you to say that, thank you! Yes, my wall-slide example is identical to how Platform+ worked, and several other wall-slide methods I've used, whereby you have a slide down when you press the key against the wall, and then you can just away from the wall with that brief inverted key direction, before the player comes back into the wall. If there is any way of you implementing what I've done with events directly in the code for a built-in wall slide/wall jump mechanic, it would be a massive help and ensure a really solid, bug-free movement (and a perfect drop-in replacement for anyone using Platform+)

  • Zebbi,

    I'll take a look and let you know if it's possible or not.

    Wonderful, I'd really appreciate that! I̶'̶m̶ ̶t̶h̶i̶n̶k̶i̶n̶g̶ ̶t̶h̶a̶t̶ ̶m̶y̶ ̶m̶e̶t̶h̶o̶d̶ ̶o̶f̶ ̶c̶h̶a̶n̶g̶i̶n̶g̶ ̶t̶h̶e̶ ̶f̶a̶l̶l̶ ̶s̶p̶e̶e̶d̶ ̶m̶i̶g̶h̶t̶ ̶n̶o̶t̶ ̶b̶e̶ ̶t̶h̶e̶ ̶b̶e̶s̶t̶,̶ ̶p̶e̶r̶h̶a̶p̶s̶ ̶u̶s̶i̶n̶g̶ ̶w̶a̶l̶l̶ ̶c̶l̶i̶n̶g̶ ̶a̶n̶d̶ ̶m̶a̶n̶u̶a̶l̶l̶y̶ ̶s̶e̶t̶t̶i̶n̶g̶ ̶t̶h̶e̶ ̶y̶-̶v̶e̶l̶o̶c̶i̶t̶y̶ ̶m̶i̶g̶h̶t̶ ̶b̶e̶ ̶b̶e̶t̶t̶e̶r̶.̶ ̶P̶r̶o̶b̶a̶b̶l̶y̶ ̶w̶h̶y̶ ̶a̶ ̶c̶o̶d̶e̶d̶ ̶m̶e̶t̶h̶o̶d̶ ̶w̶o̶u̶l̶d̶ ̶b̶e̶ ̶f̶a̶r̶ ̶s̶u̶p̶e̶r̶i̶o̶r̶!̶ 😄 EDIT: I couldn't get wall cling to work :p

  • Zebbi,

    The differences you see are because the plugins use different calculations to determine y position when jumping.

    The standard plugin (and Platform Plus) both incorrectly approximate the new y position as if the velocity over the previous tick was constant - they assume that y distance traveled is equal to velocity multiplied by time; the error here is that velocity is not constant because of acceleration due to gravity. Newton's equations account for this and Platform2 uses one of them to correctly set the new y position. By not using the correct equations of motion, the standard plugin suffers from inconsistent jump behavior when delta-time varies (jump heights change if delta-time changes).

    Unfortunately that means that it is not possible for the Platform2 jumps to ever be the same as the standard plugin's - you can tweak jump velocity and gravity so that the jump height or jump time are similar, but you can't have them all the same - you are asking if there's a way to make the Platform2 jumps behave like the standard plugin's (non-quadratic movement) when really you should be asking scirra to fix the standard plugin so it uses correct calculations to determine jump position...

    Thanks for the explanation, it's been driving me nuts trying to figure out where I was going wrong! Indeed both built-in and plus are nerve-wracking, I can barely ever match anything due the inconsistencies of the jump heights, fall speeds, etc. I used to do a similar thing with matching the awful built-in Clickteam platform movement to their far superior platform extension, and even though the built-in didn't have proper push-out (you could see in debug the character going into the ground, then placed on the floor surface!) the movements still matched, so I can't imagine why Scirra left it like this.

    As a compromise, I'll probably leave it with a matched jump height and fall time, that was at least nothing in the game will be compromised in terms of jump distances.

    Colludium Here's a wall-jump capx that uses Platform+ and Platform2: dropbox.com/s/6bn837q29lklnzj/walljumpplatformplus.capx - I've tried to match the walljump from Platform+ as best as I can, but with the difference in gravity, the only similarities I can match almost perfectly is the jump out distance and the point in which they return to the wall. Hopefully, someone better skilled can look at these events and improve them, as they might serve as a solid basis for any Platform2 games that require wall jump. If something like this was built into Platform2 it would be a lifesaver, is there any consideration for adding a wall-jump like this to the engine? I'm sure with code it could be a lot more reliable, certainly than my own events ;)

  • Colludium thanks so much, makes things a lot easier to test! Here's an example: dropbox.com/s/l4ticlv1aclhhgo/EXAMPLETEST.capx

    Needs platform+ ( dropbox.com/s/1km48l9kp8t3g9r/platform%2B.rar - put in behaviors folder)

    This has three different players that all jump when Space is pressed, Platform2 on the left, Platform+ in the middle, and platform built-in on the right. All three use different settings, and I have approximated two of three things:

    1. All three hit the same exact pixel height (Yes)

    2. All three hit the ground at the exact same time (Yes)

    3. All three match the same pixel positions when accelerating from launch and decelerating to fall (No.)

    It seems impossible to be able to make Platform2 match Platform+ or Platform built-in's curve of motion, I've tried every iteration I can come up with of Jump Strength, Gravity and Fall Speed. Is there any way, using the debugger and stepping through the entire jump motion, I can match every pixel perfectly between platform2 and platform+ or platform built-in? What is causing the difference, and could a launch/acceleration and fall descent option be added to allow for more precise fine tuning?

Zebbi's avatar

Zebbi

Member since 20 Jan, 2014

None one is following Zebbi yet!

Connect with Zebbi

Trophy Case

  • 10-Year Club
  • x3
    Coach One of your tutorials has over 1,000 readers
  • Email Verified

Progress

12/44
How to earn trophies