I am making a game that has almost 20 enemies.
Each enemy has 3 animations.
Each animation has 60 frames.
Each frame rounds between 102x200 to 200x200.
In terms of space, each enemy requires around 5 mb, with all the animation frames.
With 20 enemies it requires almost 100 mb, only from enemy sprites!
That's a lot...
Im doing my animations in Spriter, but im exporting it to construct2.
I plan to do my game for mobile and desktop.
Im exporting larger sprites so it can go to 1920x1080 desktop and not lose quality.
But the game is so so large, it takes lots of time to load on weaker smartphones and pcs..
what is my solution here?
1. Solution: Cheat a little bit. Use 30 Frames but run them half the speed. Sometimes this works.
2. Solution: This is really dirty, but sometimes I also do it: When your project is 100% finished, go to tinypng.com. Then resize all your files and pack them back in your folder. Voilá. Make sure you won't change anything in the project, since you have to do it every time you change something in c2.
Compressing PNGs does not save memory. They are decompressed when loaded (effectively to 32-bit BMP) so the file size does not affect that. Also C2 does very good compression already on export - see Construct 2's export-time optimisations.
60 animation frames is a lot. See Remember not to waste your memory.
Ashley: But doesnt it help for example for other exporters like cocoonjs? I mean don't they have their own image handling?
Develop games in your browser. Powerful, performant & highly capable.
No, it doesn't. Every single platform decompresses images before rendering them. It is not actually possible to render compressed formats like PNG and JPEG without first decompressing them.
the solution to your problem is to use spriter's plugin for construct.
what it does is that it uses only one set of png's per character and regardless how many animations you have for him ,it just takes the same ones and tweens them in real time during runtime. it is also A LOT smoother than using traditional png's for animation and you can speed it up or slow it down in your code.
p.s just dont use tilemaps for your game if you use the spriter plugin..... !#!$@%%^&%^&%^&*$Q@#
tiny png is very nice, i download a software named PNGoo.
now i can reduce my pngs to half the space and it has the same quality.
i will try do that to all my graphics in the game and see how it works.
im doing it right now, but i can see that the download size is going down but the memory use is the same..
thats because construct2 already does the png compression
i tried to insert the spriter plugin in my project, but i have some issues:
1 - when i run the animation inside construct 2 with spriter plugin some little movements of the animations look like they are only 4 frames.. like everything is 60 fps smooth and only the head, that moves only a little is like 4 fps..
2 - i have z order by y in my game, and i dont know how i can do this with spriter..
3 - my enemies have a brightness webglfx that lights up when enemies take a it, im not sure how i can do that with spriter (having 5 sprites with effect against 1, i dont know the performance impact)
4 - im not sure if the perfomance is better in cocoon..
That's what I meant before. Of course the memory size is the same, but at least the download size is smaller. Potential users might not download huge apps, so I think it's worth it
yes, but i really want to improve the performance of the game, it has already 200mb of memory use and i have only 7 enemies from 20!
go to youtube and find brashmonkey channel.there he has all the tutorials for you to get started.after you study them and you get stuck i will try to help you out
cocconjs do not support layout by layout loading.this means that the second you fire up your game it loads all assets (from all levels even if you do not use most of them for the first one) to memory and most cell phones with less ram than 1gb are having a really difficult time loading a game like that.
so your problem lies with your assets.
make smaller pngs in size
READ ASHLEYS TUTORIAL ABOUT PERFORMANCE!
i think that spriter plugin isnt dealing well with small movements.
my monster walk cycle has a small head movement, but when i put it into construct, this movement looks like very not smooth.. i dont know why.. looks like frame skipping..
it has to do with the way you design the outlines in photoshop or the color pallet that you use vs your backdrops.
very small lines and excessive detail don't work well with real time tweening or 2d animation in general.
this is a very big topic and i do not know how experienced of a graphic artist you are but in general,
creating games in a high level (not flappy bird) creates huge conflicts between technologies and you have to adapt in each and every new challenge that comes ahead.
but it looks like the small movements are'nt doing well like its doing only integer values and not the little movements, that looks like frameskip only in the monster head