Spriter/C2 update 11/2 bug fix for performance mode

Discussion and feedback on Construct 2

Post » Mon May 26, 2014 12:06 am

plugin changelog 5/25/14b
  • Fixed a bug with automatic pausing that was calculating the padded viewport wrong for objects on certain layers
  • Added 'Position is outside padded viewport' condition which returns true if the object is outside of the padded viewport used for automatic pausing.
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Tue May 27, 2014 4:43 pm

plugin changelog 5/27/14
  • Fixed autopausing to set the sprites to invisible when automatically paused. Otherwise you could see them positioned where they were just before the animation autopaused.
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Wed May 28, 2014 5:20 pm

plugin changelog 5/28/14
  • Fixed an issue where using multiple 'set animation' actions each tick would allow an animation that gets set temporarily in events (but never actually displayed) to trigger the displayed animation to loop.
Last edited by lucid on Thu May 29, 2014 2:39 pm, edited 1 time in total.
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Thu May 29, 2014 1:45 pm

Excellent! Keep up the good work. Thanks, Morgan.
Image
B
20
S
4
Posts: 382
Reputation: 2,874

Post » Thu May 29, 2014 11:52 pm

@lucid - since the latest scml update, there is something I call "dislocalization" going on. Often, the first projectile from a projectile attack will originate from a place other than where the event tells it to.
Image
B
20
S
4
Posts: 382
Reputation: 2,874

Post » Fri May 30, 2014 5:46 pm

@lucid

Any plan to reduce or just use one object (scml/scon) in Construct 2?

GreyGuy example with "prettify option" set to off would be 500kb (scml+scon). Having a lot of animations would easily build up duplicate or redundant files and make the size huge.

May I know why we still need two formats ? (XML+JSON)
B
51
S
18
G
13
Posts: 385
Reputation: 10,918

Post » Fri May 30, 2014 9:03 pm

PSI wrote:@lucid - since the latest scml update, there is something I call "dislocalization" going on. Often, the first projectile from a projectile attack will originate from a place other than where the event tells it to.

Please email me how to replicate it with the last capx, or a new one if needed.

tumira wrote:@lucid

Any plan to reduce or just use one object (scml/scon) in Construct 2?

GreyGuy example with "prettify option" set to off would be 500kb (scml+scon). Having a lot of animations would easily build up duplicate or redundant files and make the size huge.

May I know why we still need two formats ? (XML+JSON)

Ashley will need to handle that aspect of things, as the scml is just used for importing. The reason for needing two formats was that after Ashley got everything up and running, I realized the plugin should switch to json (scon) for many reasons, such as speed and cocoonjs support. He discussed making import using scon, but there was never an established time frame that might happen, and I imagine there are number of other things higher on the priority list.

We're going to need one more importer update to support some Spriter 1.x features, and at that point I'll suggest it again.

Also, note that aside from reimporting, you don't need the scml file there for anything after the initial import. So you could just delete it from your project, and copy it back temporarily for any reimports.
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sun Jun 01, 2014 10:25 am

After the amazing job you did with the scml objects pausing off screen i have to ask for one more performance optimization.
I just noticed that every time i add another instance of the same scml object it adds to the Layout object count all the png's that it already has from the first one.
What i mean:
Lets say i have one coin and i has 10 png's inside the scml object for it to tween.
Every time i add another coin the system adds another 10 png's to the layout object count!
so if i have 100 coins in my level i have 1000 objects out of nowhere and it is killing performance on weaker machines.
imagine now what happens when i add many more complex scml animations that have up to 40 png's each and try to make some instances from them.
Since spriter uses one set of images for all animations why does the plugin has to add them again and again for every new instance?
i find this tremendously inefficient and it defies the whole purpose of tilemaps since whatever we gain from there we loose it here.
Before ashley figured out a way to make seamless tiles i had to use sprites as tilemaps and for a 25000x5000 pixels layout i couldn't stay below 3000 objects.
On pc not a biggie(with an i3 and above that is).
But on mobile? forget about it!
With the new tilemap i rebuild my level and i dropped down to 400 objects.
Now imagine my shock when after adding just a few scml instances i saw that number skyrocket again.
Of course i may be doing something wrong so any advice would be welcome.
I have faith in you lucid!
please find the solution! :)
B
15
S
6
G
4
Posts: 277
Reputation: 3,948

Post » Sun Jun 01, 2014 3:49 pm

@Roccinio
I asked for this one before. That Spriter should try to use less Sprite objects by using frames and Sprite.Animations.

That way you can have 1 single Sprite. How this would work is by
Sprite.Animation would be the an object in the Spriter software.
And the Character Map can continue to Frames.

Right now my character mapped Spriter animations don't make use of Sprite.Animations. So it's a waste to creating so many parts when just putting the parts into a Sprite.Animation would be soooooo much more effecient.

Otherwise it's a few pages back. but the current model of handling Sprite object is a mobile killer. And not just for weaker devices. But also any game that want use Spriter as a major component for most animations of anykind of robustly animated game.

It's ok for a few sprites, but not as your suggestion. And it's unfortunate because the Coin example is in the default sample pack. Wher the idea of using Sprites for all animated objects is the idea of getting Spriter to do a lot of grunt gaming work.

Anyways. This change would probably be a large change for both Lucid and Ashley. But personally I think it needs to be a mandatory change. And Rocc you have a good point why. But it's certainly not just for weaker devices.
B
87
S
18
G
9
Posts: 2,455
Reputation: 14,834

Post » Sun Jun 01, 2014 8:05 pm

@jayderyu
I am on the same boat with you.
My biggest surprise when i entered the gaming creation process was the way software devs create new and amazing features without pausing for a minute and think about the future of these features and how they will work and perform when users start to use them extensively and on a larger scale.
when i first started using spriter and saw all that quality and amazing tweening in game i was literally blown away.
But here comes the sad part.
As i improved my skills and my project started to become a real game i started to stumble across huge setbacks that i thought they wouldn't exist.
Of course i am not naive to think that anything that has to do with technology is easy and especially creating games but not in a million years i could have guessed that i would spend almost 3 months conducting experiments ,destroying and rebuilding my game because the tilemap object had seams.
I thought that if it is build inside the software ,then it should work!
now i have the same problem with spriter.
up until yesterday i hadn't noticed that the spriter plugin adds objects for every scml instance.
if this is something that can be fixed ,not a problem.
if not then my whole planning and months of hard work go down the drain.
and this is exactly my point.
I love new features .who wouldn't want to see C2 have 3d volumetricparticlelightningtressfx(lol) and spriter support for 3d max?
But i don't want these, until basic game breaking stuff are working as intended.
I am not complaining since both ashley and lucid rock!
they are pioneers on their field and work hard to give us what we want but sometimes i feel that there is no planning ahead.
I don't mind to be a beta tester (since that's what we are) since this is cutting edge tech the way it is implemented and with our contribution things move forward ,but sometimes i become frustrated when
i encounter problems where in my mind there shouldn't exist.
Love you all,just had to take these things out of my chest :D
B
15
S
6
G
4
Posts: 277
Reputation: 3,948

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: Solomon, zenox98 and 9 guests