Spriter/C2 - (9-16-2019 - bug fix)

  • jayderyu

    My bug report was not mentioning pinning, but rather setting position to another object every tick, or setting position to a particular X, Y every tick. I just mentioned that I tested pinning as well as an alternative test.

    Do you mean that the pinning behavior does exactly a "set position to x,y" every tick as well?

    Edit: jayderyu but i'm interested to know why you think this would not be a bug report: I mean, if you pin an animation to another sprite object, then there will be no delay at all from what we can observe, it's just that the scml object has currently some important delays on the Y axis, compared to any other type of object that doesn't have such a delay problem.

  • Pin or not the logical order of objects updates determines the reaction of SetPosition.

    So let's break down what is happening.

    scml.setPosition( ply.x, ply.y )

    ply.setPosition(newx, newy)

    so what happens here?

    the first object updates the position to the current player position. Then the player is updated. This leaves the scml(or any other object) 1 tick update behind. Is this a bug? no it's an architecture design issue. The solution.

    ply.setPosition(newx, newy)

    scml.setPosition( ply.x, ply.y )

    ok ok, but of course there is a problem. I'm aware of it too. The player is likely to be using a behaviour like Platformer. Which means we can't actually control the order of position. And as a >>>hunch<<< it goes like this.

    EventSheet

    Behaviours

    And of course we can't actually control that order So instead try

    wait0

    scml.setPosition( ply.x, ply.y )

    So is it a bug or is the result of design architecture. How can we create a fundamental change mixing plugins and ES code? The best we could get is the toggle ES/Behaviours order. But that won't fix the problems for PIN. How do we order which behaviours go last in the order structure? This is kinda the thing that just has to be. We get a massive awesome tool, but we need to accept the design architecture.

    If Ashley decides to put the actions of PIN after all other updates. Then that breaks up the speed flow. As the object updates, other objects update, then goes back to PIN objects. This would reduce performance as this increases object loop update size.

    Your noticing this on the SCML. I've seen it on a lot more. It really depends on some other form of object ordering. For now try the Wait 0 and see if that fixes up the problem. However it's still not an SCML issue.

    And just assist you a topic made two years ago.

  • plugin changelog 4/22/14

    • Fixed a bug that prevented the plugin from working when exported for Wii-U
  • About that lag issue on every tick, well in my project I build a way to Set Animation action ever tick below the main every tick that set the position of the player.

    https://www.dropbox.com/s/8nhrxd39el5zcnv/sample.png

    Here I have 2 vars: animationSet (With the name of the animation) and animationType (A number to chose from the animation possibilities)

    With this, there is no lag at all.

    But in case of this been actually a bug from the .scml/.scon file, I will implement the normal way of set animations anyway and let deactivate.

    I hope I could help, sorry for no .capx file, just took the picture from my project.

    So basic, If you set the animation every tick below the main every tick where you set the position of the .scml/.scon to the rectangle, will be no lag.

  • About that lag issue on every tick, well in my project I build an way to Set Animation action ever tick below the main every tick that set the position of the player.

    https://www.dropbox.com/s/8nhrxd39el5zcnv/sample.png

    Here I have 2 vars: animationSet (With the name of the animation) and animationType (A number to chose from the animation possibilities)

    With this, there is no lag at all.

    But in case of this been actually a bug from the .scml/.scon file, I will implement the normal way of set animations anyway and let deactivate.

    I hope I could help, sorry for no .capx file, just took the picture from my project.

    So basic, If you set the animation every tick below the main every tick where you set the position of the .scml/.scon to the rectangle, will be no lag.

    Thanks for sharing!

  • I was looking a .capx of spriter for many months.

    We did not have an example .capx, need to know how to implement it.

  • I was looking a .capx of spriter for many months.

    We did not have an example .capx, need to know how to implement it.

    I will try to make one today, but I am need to make a Spriter animation first, a really simple one, then I post the .capx file here.

  • > I was looking a .capx of spriter for many months.

    >

    > We did not have an example .capx, need to know how to implement it.

    >

    I will try to make one today, but I am need to make a Spriter animation first, a really simple one, then I post the .capx file here.

    And here it is the .capx file: https://www.dropbox.com/s/ygnth1vy0fjl3 ... ample.capx

    I think it will be more easy to see the lag with your own animation, so just replace the scml file.

    The animation I used only have 2 Bones.

  • About that lag issue on every tick, well in my project I build an way to Set Animation action ever tick below the main every tick that set the position of the player.

    https://www.dropbox.com/s/8nhrxd39el5zcnv/sample.png

    ...

    So basic, If you set the animation every tick below the main every tick where you set the position of the .scml/.scon to the rectangle, will be no lag.

    Thanks, I will try your method <img src="{SMILIES_PATH}/icon_e_wink.gif" alt=";)" title="Wink">

  • - lucid - I still get these IID errors with certain spriter objects. In this case, after the error, many of the background objects disappeared.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Pin or not the logical order of objects updates determines the reaction of SetPosition.

    So let's break down what is happening.

    scml.setPosition( ply.x, ply.y )

    ply.setPosition(newx, newy)

    so what happens here?

    the first object updates the position to the current player position. Then the player is updated. This leaves the scml(or any other object) 1 tick update behind. Is this a bug? no it's an architecture design issue. The solution.

    ply.setPosition(newx, newy)

    scml.setPosition( ply.x, ply.y )

    ok ok, but of course there is a problem. I'm aware of it too. The player is likely to be using a behaviour like Platformer. Which means we can't actually control the order of position. And as a >>>hunch<<< it goes like this.

    EventSheet

    Behaviours

    And of course we can't actually control that order <img src="{SMILIES_PATH}/icon_e_sad.gif" alt=":(" title="Sad"> So instead try

    wait0

    scml.setPosition( ply.x, ply.y )

    So is it a bug or is the result of design architecture. How can we create a fundamental change mixing plugins and ES code? The best we could get is the toggle ES/Behaviours order. But that won't fix the problems for PIN. How do we order which behaviours go last in the order structure? This is kinda the thing that just has to be. We get a massive awesome tool, but we need to accept the design architecture.

    If Ashley decides to put the actions of PIN after all other updates. Then that breaks up the speed flow. As the object updates, other objects update, then goes back to PIN objects. This would reduce performance as this increases object loop update size.

    Your noticing this on the SCML. I've seen it on a lot more. It really depends on some other form of object ordering. For now try the Wait 0 and see if that fixes up the problem. However it's still not an SCML issue.

    And just assist you a topic made two years ago.

    viewtopic.php?f=152&t=67260&p=572493&hilit=pin+delay#p572493

    About that lag issue on every tick, well in my project I build an way to Set Animation action ever tick below the main every tick that set the position of the player.

    https://www.dropbox.com/s/8nhrxd39el5zcnv/sample.png

    Here I have 2 vars: animationSet (With the name of the animation) and animationType (A number to chose from the animation possibilities)

    With this, there is no lag at all.

    But in case of this been actually a bug from the .scml/.scon file, I will implement the normal way of set animations anyway and let deactivate.

    I hope I could help, sorry for no .capx file, just took the picture from my project.

    So basic, If you set the animation every tick below the main every tick where you set the position of the .scml/.scon to the rectangle, will be no lag.

    jayderyu, Alves thank you both for all your explanations and suggestions <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile"> I'll test and see what happens.

  • - lucid - I still get these IID errors with certain spriter objects. In this case, after the error, many of the background objects disappeared.

    please send me the capx at

  • lucid

    Found another bug: the Spriter object shakes a bit (tested by two persons with the same results in capx from scratch) and it it way more visible if you use a complex enough object with bones etc (the scml/scon I used doesn't have bones):

    Capx: https://www.dropbox.com/s/1pi2a5p0xf42f3y/shakingSpriterb7ScrollTo_C2r168Stable.capx

    The situation is:

    Using a PlayerBox sprite object with platform behaviour, in a runner game with scroll to X instead of using bullet behaviours for solids (and unbounded scrolling set to yes on the left layout properties)

    Every tick:

    • simulate control PlayerBox platform pressing right
    • scroll to PlayerBox.X+200 pixels
    • set spriter position to PlayerBox object

    There's also a little bit of lag on the X axis this time in addition to the lag on the Y axis, it seems to be caused by the "scroll to X."

  • I read this topic for a long time and I can't understand FOR THIS MOMENT can I create a mobile game with a Spriter plugin or not? After the first implementation I saw a critical lag which made me frustrated and all about this implementation is unpredictable and uncertain. For example I implemented the Spriter object on new layout and after I open this layout c2 is going to hung.

    I'm not a programmer and a little bit embarassed with a question but what the situation with every tick depends on? The capx which was provided didn't solve the problem, so in my game when my hero is running there are glitches which make process uncomfortable.

    Spriter plugin + Construct is it now still working or traditional animation is a better way to design an animation system? I am very interested in situation with plugin because there are games where smooth fighting animation is a very sufficient part of gameplay and export to png works very bad

  • I read this topic for a long time and I can't understand FOR THIS MOMENT can I create a mobile game with a Spriter plugin or not?

    Yes. CocoonJS has been working with the plugin for a while now. If you have any issues with any other export, please let me know. I don't personally own every platform C2 exports to, so I can't test every platform, but I can still fix issues on those platforms if you report them.

    After the first implementation I saw a critical lag which made me frustrated and all about this implementation is unpredictable and uncertain. For example I implemented the Spriter object on new layout and after I open this layout c2 is going to hung.

    Please refer to this tutorial for the basics. If you have any issues after seeing that, please let me know what part isn't working for you.

    I'm not a programmer and a little bit embarassed with a question but what the situation with every tick depends on? The capx which was provided didn't solve the problem, so in my game when my hero is running there are glitches which make process uncomfortable.

    Please send me the capx at if you're still having an issue after the tutorial.

    Spriter plugin + Construct is it now still working or traditional animation is a better way to design an animation system? I am very interested in situation with plugin because there are games where smooth fighting animation is a very sufficient part of gameplay and export to png works very bad

    I don't think traditional animation is a better method, though of course I'm a bit biased. The gap will only get wider from here. Once Ashley is done with changes C2 side, you will be able to reskin characters with character maps and trigger sound effects to happen at specific points in an animation. Recently the ability to have animated control points (action points in Spriter) was added, as well as the ability to blend from one animation to another. We've kept up to date with reported bugs, and incorporated most suggestions, so if you have any more, please let me know.

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