Skip to main content

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

Thank you for the feedback! We'll work on some of the bugs after voting ends.

Interesting thing, we actually didn't use any shaders! The submarine itself just alternates rotating 1 degree and -1 degree over a 4 second period, and the background is just a sprite I made in Aseprite using the built in dithering in gradients, which slowly moves down as the game progresses and moves 24 pixels left then resets on a loop to do the movement effect.

That's a really fun effect!

  •  I'm guessing that the viewport was bigger, then? Not pixel perfect?
  • I guess I need to look into how sub-pixel rotation works in Godot! I imagine at a small viewport size and viewport mode, it would have produced jaggies, but at a bigger size and canvas mode it does some sort of subpixel antialiasing that roduced the effect?
  • I'm curious– I had to deal with pixel art rendering for the scale mechanic in my entry, but I didn't play with rotation at all.

I picked up on the background sprite moving slowly, which I remember thinking was really subtle and clever.  Now that I'm thinking about it, were the bubbles done in the same way?

(+1)

The pixel art was made primarily in a 382x216 scale, while the viewport was twice that at 764x432. I think the Submarine's pixels were actually on that scale instead of the smaller scale. Should have been pixel "perfect" in that it scaled evenly, but when the rotation occurs there is some distortion that happens that coincidentally looked like water.

Bubbles are actually just GPU Particles! I spawn them along the X axis below the screen and apply negative X velocity to have them move left.

Very cool!