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

Thanks for your kind words!

1. Yes this is a shader. I made a copy of the background from each area and resized it to 128x128px. Then in the shader I calculated the distance(radius) from the center and rotated the pixels/fragments this radius (this gives a spiral) * sin(TIME) (this unwraps/wraps the spiral over time) + TIME (this rotates the whole thing constantly). I also set the alpha channel depending on the distance from the radius, this makes it a circle). You can find the shader here in the sourcecode: Portal.tscn

2. This is a shader as well. In the beginning I tried to use a Screenreading shader, but the problem was, that I wanted some Nodes in the game to not be affected. So I opted for a ShaderMaterial for every Node that should be grayed out. This was a bit of a pain, but there's a flag "Use parent material" which makes it a bit easier. In this shader I have 3 boolean parameters which are set by the game mechanic and by checking the parameters I disable/enable certain colors (for the disabled colors I use the average from the three color channels). See here: Color.shader (Disclaimer: The calculation of the gray value is not perfect, if I had more time I would've implemented a more accurate calculation)

Feel free to use all of it, I licensed it under an MIT License.

Oh wow! Thank you for such a detailed explanation! Shaders are still legends of myth in my understanding, when I try to engage more, I will definitely come back with more questions now that I found someone who can implement them well :D

Thanks!