Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

Hmm, sounds like an issue for sure.. Thanks for the detailed info, I just tried to recreate it myself but couldn't really find it happening.

Also maybe I'm a little blind, but I don't see in your animation where the jumps happen? Maybe you could post an image of the affected spritesheet.

(3 edits) (+1)

 It's definitely hard to spot sometimes. 

Spritesheet is over the 3MB limit unfortunately. I can see it with any initial planet seed (from when the page first loads) - set pixels to 400, and export the spritesheet as 20x21 tiles.


asdf

I tried to record the in-browser version next to it, not necessarily as a direct comparison, but for the sake of having a smooth animation as a visual benchmark. If you stare at the line between the two, it's more noticeable after a few loops.

I think I got a good part slowed down that shows it pretty well. 

asdf2

If you look to the bottom left cloud cover, where it starts opening up to a circle above an ellipse, and watch as the end of the ellipse opens up, that's where it jumps - that moment where it opens up. I admit it's a very slight jump, as mentioned in the first comment probably only 1 missing frame, but after staring at the planets for a while and watching other 60fps animations moving around it, it starts to become a lot more evident.

I also tried generating a double-wide 40x11 sheet and that seems to at least reduce the frequency of the jumping, so that may be a workaround in the meantime if I regenerate all the planets at a smaller size with fewer rows.

(+1)

Okay thank you for the very detailed bug report, that definitely helps! I'll admit that I'm still struggling to see it a bit, but I'll try and recreate it to figure out what's going wrong and hopefully fix it.

Until then I hope the workaround is good enough, thanks again!

(+1)

That small issue aside, thanks for the util. It's amazing.

Hi! I had a similar problem, and I solved it in a kind of hacky way.

If you match the number of frames to 2 times the width of the planet, so that each frame moves one pixel, it will create a smooth pixel by pixel animation. I wanted 60 pixel wide planets, so I exported the spritesheet with 120 frames. The actual exported sheet was 24 columns by 5 rows.

Doing this lets you have a smooth animation and you can adjust the speed in the code.

Probably any multiple of the planet size would work, so for 400 pixels wide, your case, 800 frames would give a 1 pixel movement, but 400, 200, or 100 frames should work; the movement per frame for those should be 2px, 4px, and 8px. But without any frames skipping. (Any multiple should work, so 80 frames = 10px/frame, etc)

Your mileage might vary, but it worked for my use case. Good luck, and cheers!