- Mar 24, 2020
- 51
- 138
If you are talking about converting images to lower quality, that can be automated, but if you mean reworking all the scenes that could be, and making sprites and all that, no, that would have to be done manually.
I think something like this could be done to significantly reduce the game size in terms of optimizing animations. With a simple(ish) python script you could compare the frames of a particular animation, and get which areas of the images remain unchanged throughout. You could filter those areas from every frame (except the first one, so you can use it as background) and make them transparent.No, I don't mean either of them. As I said manually work at this current status the game is a workload no one is willing to take.
And is is obviously that you can only shrink a image to some degree, before we could switch back to 8bit pixel art.
What I mean is to automaticly comb through all over 16000 images and indexing between "I-frames" and "P-frames" as every video codec do it. (You must be registered to see the links)
So you diff between two similar images and insted of e.g. have 10 "I-images" have 1 "I-image" and 9 "P-image". Could be automated, I'm certained here, but as stated a pre sorting would be needed othwise you compare every image to all the others ones...
Also I don't mean sprite, I mean layers (You must be registered to see the links) although I think we both have mean the same.
Then, you could set the first frame of the animation as "background" and cycle normally to get the animation. So in theory, it could work. In practice, I don't know. As said above, there are around 16k images. A lot of them are for animations, and luckily they are named appropiately so that images of the same animation are next to each other. Tweaks in the script would be needed set the first frame as background. I'm sure there are other (multiple) complications that would make this a rather hard thing to do.
From a quick search, this could be done just with numpy and pillow. The caveat is that running the script would probably be kind of slow without proper optimizations and such.