Construct 3 suggestions & ideas

Suggest and vote on ideas for Construct 3! Please note this is only one aspect of planning. We do not guarantee any features here will be implemented, even if they are top-voted ideas. The aim is just to collect feedback. Remember to search for existing submissions before adding an idea, describe your ideas as comprehensively as possible, and vote for plausible ideas that are well thought out. Please see our full guidelines on suggesting features.

192 VOTE

Tween/Easing IN/OUT Behavior

Basically the LiteTween (by Lunnaray) movement behavior.  Something like that to make built-in easing and movements smoother.  Other game engines like UE4 have this built in, I think C3 should as well.

  • jobel
  • Apr 5 2017
  • Shipped
  • Oct 29, 2018

    Admin Response

    An official tween behavior shipped in r123!

  • Attach files
  • shinkan commented
    April 5, 2017 15:01

    Tweening / easing or whatever we will call it would be the best built in the editor itself. So you could tween everything.   For example you can't tween easily "scrollX"  you have to create an object add tween behavior to it and then patch that tweening into a "scrollX" value.   But what if you could to it in events?  something like 
    ScrollX set to tween(start, end, duration, tween type....etc) 

  • Guest commented
    April 5, 2017 15:10

    This would be best in expression form like lerp.

  • Richard Lems commented
    April 5, 2017 15:14

    The current LiteTween behavior is very good. If Lunnaray is willing to build a C3 version I'd say this is a low priority. I do feel that tweens are very much a must in game development. There's only so much you can do with lerp.

    So I'm giving this a +1.

  • jobel commented
    April 5, 2017 15:36

    I like the way UE4 handles it with their Timeline node.  Create a movement behavior relative to wherever the object is currently. 

    And yes I agree with Newt I would separately like an Ease() function - but that might be a different idea.

  • oosyrag commented
    April 5, 2017 18:10

    This is a fair request for a useful behavior. Of course it can be done with events - all of Constructs behaviors can be remade with events. It is something that is commonly needed though: moving an object from point a to point b over a certain duration of time.

    The structure can be similar to the pathfinding behavior without the pathfinding.

    Key elements - Start Point (or trigger), end point, duration, speed, easing

  • oosyrag commented
    April 5, 2017 18:12

    Ack can't edit these posts.

    Bonus functionality - Applicable to rotations, size, opacity and other transformations.

  • bird boy commented
    April 5, 2017 18:17

    The lack of tweening was something that irritated me when I first tried out C2. Both other engines that I use have built in tweening with a few/lot of these easing variants http://easings.net and I'm constantly using that. E.g. for moving Ui elements fluidly or to tween the score variable up to make it more interesting than just increasing it. There are tons of things that I need easing for in my games.

  • bird boy commented
    April 5, 2017 18:23

    Like oosyrag pointed out best would be if you could basically tween everything... like opacity, rotation, size, position, variables.

  • Elliott Bear commented
    April 5, 2017 20:17

    If drag and drop has it's own behaviour, which is functionally easy to recreate with everyTick, Touch and setPosition; then tweening should as well.

     

    This gets the full +3 from me.

  • Jerbens Jarman commented
    April 5, 2017 22:46

    I use the javascript plugin for this on a regular basis. Definitely a +3 from me

  • Helena Hultén commented
    April 6, 2017 01:30

    I use Lunarray's plugin all the time!

  • Rablo Games commented
    April 6, 2017 09:17

    +3! I'm lost without LiteTween... ^^'

  • Ethan commented
    April 7, 2017 17:57

    Tweens should be functions of the "system object" like lerp(). They would then return a value which could be applied to anything. These should have been there from the start.

  • Massimo Fabbri commented
    April 11, 2017 12:07

    The current LiteTween is an absolute neccesity for me...

  • NaSTy commented
    April 20, 2017 14:52

    Please i need LiteTween for C3 ... 'cause i use in all my C2 projects!!

    Thanks

  • Guest commented
    July 12, 2017 12:57

    Maybe Scirra should consider buying some of the already developed 3rd party plugins and integrate them as built in addons....?

  • Ike Chu commented
    July 12, 2017 19:52

    Hi Guys

    After Searching i found this for liteTween. I hope it helps

    https://www.dropbox.com/s/5dy6rz2mj94hp7j/lunarray.litetween.c3addon?dl=0

     

    Also some other plugins and behaviors

    https://docs.google.com/spreadsheets/d/1TvRj9-ULQoCe2XkGGZmlZbYjTf9ldj9E-L284UUTt1E/edit#gid=862259506

     

    cheers

  • Mikael Thomsen commented
    October 5, 2017 20:10

    I would like something where you can do stuff like this:

    1. In your layout you add a timeline object.

    2. One or more sprites can be attached to the timeline object.

    3. For attached sprites, you can add key-frames for on the timeline.

    4. A key frame can contain sprite properties (e.g. position or opacity of sprite)

    5. A timeline have action like: Play, Pause, Rewind, Goto(seconds) and so on.

    6. When a timeline is playing it will change the properties of all attached sprites, according to key-frames value. It will calculate values between key-frames according to an easing (http://easings.net/en).

     

    I think that would be a really cool feature!

     

    See also https://construct3.ideas.aha.io/ideas/C3-I-76

     

     

     

  • Mikael Thomsen commented
    October 7, 2017 06:53

    Just something that might be useful when this (and hopeful a timeline thingy) is going to be implemented.

     

    http://pixijs.github.io/examples/#/spine/spineboy.js

  • Guest commented
    January 18, 2018 08:09

     Hope I can preview the Tween effect in the editor

  • Matthew commented
    March 4, 2018 07:40

    Now that Rexrainbow is no longer supporting his plugins, this is an absolute necessity to replace his "Moveto" with an official C3 behavior.

  • Unconnected commented
    May 4, 2018 09:57

    For mobile, it would be interesting to include a way to boost performance on tweens.

    Instead of calculating the position 60 times a second, I would like to see a way to reduce how often it moves to 1-60 times a second.

     

    I found some objects can animate 10 times a second and it still appears correctly on screen when animating. I made events for this and mobile performance increased.

  • Mateus Sales commented
    July 18, 2018 15:52

    And please add a "stop on collide with solid" checkbox, this is a must have for creating dynamic non-buggy movement for world objects!

  • Pooya Estakhry commented
    August 12, 2018 12:05

    tween plugin is must have for many types of 2d games. 

    i'm using lite tween behaviour too, but seems that its not getting updated anymore.

  • Guest commented
    September 13, 2018 14:37

    I don't agree that Tween plugin can replace MoveTo.

    With MoveTo you have full control of the movement - can set acceleration, deceleration, max speed, change speed while moving, set stop by solids, etc. There is also a bunch of events like "compare speed", "on stopped by solid", "move to distance-angle". All these are impossible or very hard to achieve with tweening, where you can basically only change easing function and duration.

  • KENYONB .com commented
    September 18, 2018 01:00

    I hope the Tween behavior can replace all the same functionality available in the MoveTo plugin.

  • Rablo Games commented
    September 27, 2018 14:31

    Awesome news! Good luck with the development of this one, guys. Can't wait to try it!

  • Jaydon Teh commented
    September 27, 2018 14:47

     OMG it's coming!!

  • tarek2 commented
    September 27, 2018 14:47

    There is a reason why we voted for MoteTo alone and Why we didn't want to Merger in with the (Tween/Easing IN/OUT Behavior)
    I use moveTo for in gameplay Movement to have Full control of the movement for enemies, Players etc.....not for Tween/Easing menus I would have prefered if you have left the MoveTo alone, simple and clean with all the settings that it already had which were simple and perfect for our needs, I think we should have had the right for the people that Voted for MoveTo to have the right to vote if we wanna merge the Idea or not at the end of the day we created the Request and we voted and waited for it, this invalids the purpose of this site to request anything we wish to see on C3 because at the end of the day you can change the ideas as you wish without our concern

  • Jaydon Teh commented
    September 27, 2018 14:58

     @tarek2 Why would you need 2 things when they can all be just one thing? Even the OP that suggested the moveTo behaviour agrees with the merging. Besides, you have no say in deciding what must be in the engine.

  • Mateus Sales commented
    September 27, 2018 15:41

    In development!! Yes!! :D

  • Admin
    Ashley Gullen commented
    September 27, 2018 15:42

    MoveTo also appears to be very similar to the existing Pathfinding behavior, which can move objects to a point with the (very significant) added ability to navigate around obstacles.

    I'm afraid I don't think there's a way to un-merge ideas so if you feel strongly that this should be a separate feature, please file a new suggestion, but it should include an explanation of what it would do differently to the tween or pathfinding behavior that warrants a separate feature.

  • Guest commented
    September 27, 2018 16:49

    FWIW I opened an idea for a Platform Moveto addition to the platform behavior which is pretty essential for doing stuff like cutscenes etc and could probably pretty easily be added to the existing platform addon:https://construct3.ideas.aha.io/ideas/C3-I-573

  • Guest commented
    September 27, 2018 17:11

    You have to think about everything that can be "juiced". You tween things like size, angle, opacity, not just xy's.

  • tarek2 commented
    September 27, 2018 17:56

    @Jaydon Teh
    How about you leave the Scirra super Hero Cover and read Properly the Comments before you replay? you guys jumping like crazy in comments without even read the properly what the OP had commented, the super Hero thing blind you that much that you can even read properly?
    Firstly there is no job here for super Hero as there is no attack towards Scirra or anything like that, so you are looking for a job in the wrong Place mate, I don't know what are you trying to make of this child comment.

    I Voted for MoveTo and waited for a long Time and I think I have the right to express my comments as at the end of the day I voted for one specific thing and has been changed so I can express my thinking and it just simply a comment with my concerns nothing more you are the one trying to make big deal of my comment for nothing.

    Quote : "Besides, you have no say in deciding what must be in the engine."
    firstly Read my comment again as I referred as Plural, not single meaning all the people that had voted for it had the right to decide if could be Merge in my opinion. but if you weren't that worry trying to play the Super Thingy you would have seen it very clear.

    Secondly just to remind you as it looks like you forgot already where you are:
    We are on (construct3.ideas.aha.io/ideas) website where this site was created specifically for the customers to give their (wishes/Ideas) of what they would like to see on the Engine and from there if they Accepted or not, So Noooo Definitely I'm not deciding what must be in the engine I'm just using what Scirra has provided for us to (suggest or Vote) that's all, I'm not pointing a Gun to Scirra saying you must do this like you trying to make it look with your comment which is way out of context.
    Its Simple Bro:
    Idea Request >>>Vote >>>>>>>(Accepted or Not)>>>>>>>Where do you see the People is deciding what must be in the engine??? and Why I have to end up given explanation to you witch you don't even work on Scirra

    There is a reason why I Voted Separately for both (MoveTo) & I voted for (Tween/Easing IN/OUT Behavior) separately I didn't mind to spend more votes to support both as like both Behaviours but each of them for different use

  • Guest commented
    September 28, 2018 04:56

     I created a new idea - to Keep MoveTo and Tween as two separate behaviors

    Please vote if you agree.

  • Wacky Toaster commented
    September 28, 2018 11:16

    So I guess my tween addon will be obsolete soonish. I´m ok with this, I´m curious how scirras approach to the matter will be compared to mine.

  • bilgekaan commented
    October 22, 2018 11:35

    I'm waiting for this plugin to continue my game. Is there an ETA?

  • Guest commented
    October 29, 2018 13:14

    Tested Tween behavior and it works! Great job, Ashley, thank you!
    Will it be possible to initialize tween in behavior properties (on the left panel)? Also, there is no information shown when previewing in debug mode.

    And what about the MoveTo? Will it be implemented? (I'm actually at this very moment replacing MoveTo events with Pathfinding in an old project, and this is not a pleasant job...)

  • Rablo Games commented
    October 29, 2018 13:33

    Amazing! We really needed this as an official plug-in. Looking forward to start using it... when Brashmonkey guys will release an SCML plugin update for the C3 runtime. ^^'

  • Guest commented
    October 29, 2018 14:21

    Interestingly, when I try to start a second tween while the first one is running, the results are quite weird..
    For example, if there are two actions one by one without wait:
    Sprite Tween X to 100 in 3 seconds
    Sprite Tween X to 500 in 2 seconds
    As a result, the sprite will move fast for about 580px in 2 seconds, and then slow down for the remaining 20px.. So you need to remember to always stop the tween before restarting it again.

    I also noticed a bug - In Bounce and In Out Bounce functions don't work.