additional x and y velocity for platform behavior

This forum is currently in read-only mode.
From the Asset Store
The complete source file for my Youtube platformer game tutorial series.
  • Hi,

    two additions to the platform behavior would make it drastically more versitile. an "additional x velocity" and "additional y velocity" would not only make effects like wind/water current, and standing on conveyor belts near effortless, but they could also be used to counteract the "normal velocity" of the behaviors movements, allowing to create perfect slow-motion effects on movements without loosing the actual momentum once you bring time back to normal by setting these "additional velocities" back to zero.

    currently, if one tried to ajust the velocities of the platform behavior to simulate time, the actual inertia would be lost would it not? In other words, If you slow down the y velocity to create the illusion of a jump, you've lost the actual timing for your jump. it would be near impossible for perfectly simulating time-slowing for a platform behavior without imperfections due to these issues.

    I know lots of people will say "program custom platofrm behaviors" but my point is this small addition to the built in behavior would make it far more powerful and useble no mater how fancy someone wants to get with their gameplay.

    thanks for listening

  • [quote:n942oxc7]I know lots of people will say "program custom platofrm behaviors"

    People don't say that around here . In fact, the goal is to make the Platform behavior so complete and so useful that you would only need to make a custom movement under very rare circumstances.

    And I agree completely that the platform behavior should have "Additional X Velocity" and "Additional Y Velocity" settings (in fact, I requested this very same thing a long time ago). That is basically the one advantage that the MMF2 Platform Movement Object has over the Construct Platform Behavior.

    It's pretty much the only thing that MMF2's platform object can do easily that Construct can't do, without wrangling PV's around and manually updating the speed of the Platform behavior.

    I noticed that David has put in a similar feature into the Custom Movement behavior (you can add velocity in addition to setting velocity) so maybe this could be something to consider for the PB as well?

    Just in case anyone is wondering what the use of such a thing might be, let's say there was an "Add to X Speed" action along with the existing "Set X component of motion" action. Then you could do this to make an easy conveyor belt:

    + Player is overlapping Conveyor at offset (0, 1)
        -> Player: Platform: Add -200 to X Speed
    It would take just one action to make a conveyor belt that moves the player to the left.  Currently you would have to create a system to override the normal movement of the player and hard-set the speed to playerTargetSpeed + conveyorSpeed, which can be a pain if you want to retain natural acceleration and deceleration of the player.  You're looking at a series of events to handle the whole thing rather than just one action.
  • that would surely be nice.

  • I completely agree .Davo, add this. You know how.

  • Only two people beside myself would like this feature added?!? I guess there arent as many MMF2 users here who've expericenced how wonderfully easy to use and how much time and code it can save someone who wants to make really advanced platformer games.

    Anyone else out there know what we're talking about?

  • I guess it would be nice.

    If you're looking for slow motion, do try changing timescale.

  • No, not slow motion for the whole game.. the ability to make any character on screen set to different amounts of slow-motion.

    for instance give the playe rthe ability to slow time, but he and perhaps some special enemies are immune or partly immune.

    additional x and y would not only allow for easy implimentation of conveyor belts and wind, but would also allow for the time effect In hoping to create.

  • for instance give the playe rthe ability to slow time, but he and perhaps some special enemies are immune or partly immune.

    There is a pretty easy way to do this I forget how off the top of my head I think you multiply the speed of the character by what you diide the time scale bye. Ie time scale = .5 multiply the speed by two.

    Byt yes I agree it would be a good feature to have.

  • Its not that easy... The speed depends on what move they're doing. and you have to adjust the animation speed (also depending on what animation is playing, AND thered the daunting task of jumping. You cant just slow down someones Y velocity. It will kill the total height of their jump. They should jump slowly in slow motion, but eventually reach the same height as if time were not slow. One would have to some how reduce gravity as they reduce speed, which might be really hard to perfect.

  • set time scale takes care of all that for you. You were talking about making things run normal when you slow down the time scale.

  • Hummm a per-sprite timescale would also be really nice

    set timescale(0.5)

    sprite set timescale (0.5)

    total timescale for sprite would be 0.25

    seems simple to code... hmmm request

  • No, Aeal5566,

    Timescale effects the entire game and every thing in it does it not? I want to effect time on a per-sprite basis. I wish and had originally requested for a PER sprite timescale. I want some sprites to run in slow motion, and some at normal speed and maybe some at zero speed, including animation speed, inertia, jumping, falling etc...per sprite.

    Madster understands what I want. This is what I requested when I suggested timescale in the first place.:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's perfectly plausible to custom code independent timescales for objects - even jumping - you just have to adjust the gravity accordingly as well. Gravity is a uniform acceleration applied to all objects, and acceleration is dependent on the timescale. If you're read the article on timedelta, you'll know that adjusting a speed by an acceleration involves speed + acceleration * timedelta.

    The main reason timescale is global is that it was easy to code Per-object timescales is possible, but would have to wait until Construct 2.

  • Thanks Ashley. Construct 1 is shaping up to be an awesome authoring system and at this rate version 2 will be earth-shaking! I hope per-sprite time scaling makes it in 2.

    In the mean-time, any chance of the original request of this thread? Additional x velocity and additional Y velocity for making things like conveyor belts and wind super easy?


  • I find myself in need of the additional X/Y velocity lately too.

    Would be really really great if this feature could be added soon.

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