A showcase of some shader code for Godot game engine. Currently there are 8 types of planets, also generates black holes, galaxies, stars and asteroids. Each type has a lot of possible variations. Also allows you to export any planets you like in either a png , gif or a spritesheet.


This tool is incredible. 


I am working on a space monopoly-esque browser game. 


I imported your Planets folder into my game, mounted one on the board to see how it looked, and it's freaking amazing. I will be attributing you big time on these, hands down you'll bring our circle graphics to AAA pixel game graphics :D 


But, when I export it to web, they don't render, and they output a ton of console logs in my browser.


If I want to use this in my own project, should I instead just be using the shaders?


Thanks for the help :)


Pixel Planet Fun Hack


Download 🔥 https://byltly.com/2y4B0d 🔥



Hey! I just released an update to our rendering engine using your tool! It looks so damn amazing. The game is so far from being ready to be put online, but feel free to check out what I did at ! 


Mind you, you'll need to sign in with a gmail account at before the planets will load.

Thank you! This was a big help for my top-down space shooter game. I was redoing the 8 planets of the solar system's art but then I found this to hurry up the process! This can do everything I need! I'll make sure to put this in the credits of the game.

I do have some ideas, I have a WIP for a pixel spaceship generator, but still working on improving that. A continent or maybe a map generator is actually pretty interesting also. Thanks for the suggestions!


This is absolutely AMAZING!!!

I was about to start working on a planet generator using perlin noise until I came across this beauty.

Thank you my friend, you gave me a lot of inspiration to start.

Hey I'm trying to use these shaders in Godot 4. They all work fine accept for the IceWorld's `Lakes` shader, which is now coloring the box that contains the planet (see screenshot). The shader code from Godot 3 -> 4 is identical aside from the the 3 colors in the shader being defined as `source_color` instead of `hint_color`.


I don't know anywhere near enough about shaders to troubleshoot this myself, so I'm hoping you might understand why this is happening, and maybe be able to provide me with a quick fix?



1. Add a hint to spawn: The number of frames it takes for the planet to make one revolution. Games often require continuously rotating planets, but the number of frames generated is often not enough to make the planet rotate perfectly 360 degrees, and the user of this generator has no way of knowing how many frames it will take.

Thank you for the suggestions! The planet should always make exactly one full rotation, regardless of number of frames. If you increase the amount of frames it will simply make the animation more smooth, but still one rotation. You're right on the amount of white space for a star, it's due to the way the generator is programmed. I haven't really seen it as a problem, but if it's an issue I can try a fix.

Thanks for the feedback, appreciate it!


now, planets are usually circular, so we have to find a way to make a circle. There is a very useful distance function which takes 2 points and returns the distance between them. Knowing that the vector (0.5, 0.5) is in the center, we can now give this function the UV and the vector (0.5, 0.5) to know how far from the center we are:

Put this before any other lines in the fragment function. We now have to use this new uv(lowercase) value in our distance function to see the effect. I used 100 for the amount of pixels here, but we can use any amount of pixels by making it into a variable.

Let's make some stuff happen on our planet. For this we're gonna use noise (not the sound kind). The type of noise I used is called Fractal Brownian Motion, I could try to explain how it works, but I would probably fail. So please go read this page from the book of shaders. You can also skip reading it, then just understand a noise function as a function that takes the UV's, and returns a random value, but in such a way that it makes smooth noise like this: Here are the functions for this noise:

The result now looks like this:. Try playing around with some of the uniforms, you can do so by going to the sprite node menu (default right) and going material->material->shader param. I recommend you don't put octaves higher than 10 or so, it wont make a lot of difference in how it looks and your GPU will not like you for it. Note: I have slightly altered the rand() function to create looping noise (a planet loops around after all). you can delete the '=mod(...)' part of the rand function if you don't want that.

Currently our planet looks very boring, it's just frozen. Let's make it rotate! For this we only have to offset the uv we use in the fbm function. the offset should progress the same amount every frame. For this there is a very useful built-in: "TIME". This is a value that increase every frame from the moment your program launches. Therefore it can reach very big numbers and should be used properly. Our fbm function can deal with values of practically any size and still returns values in the range of 0-1, we can use TIME there. By changing our noise assignment to something like this:

I personally like dithering for the pixelart style look, but you can skip it if you don't like it. We will generate a very basic dither pattern using mod functions. By repeating diagonal lines with a width of 1 you can get a pattern like this: By modding the sum of the unpixelized uv.y and the pixelized uv.x over the amount of pixels we can create a diagonal line. By checking that result to the inverse of the amount of pixels we create a dither pattern. It's a bit difficult to explain, but the logic looks like this:

Pixel Painting Dynamics: Paint a new pixel and experience a 4-second delay. Repainting an already colored pixel? That'll be a 7-second wait. And should you reach a 60-second accumulated delay, the canvas temporarily locks until that time elapses.

Politics and Pixels: Given the canvas mirrors real-world geopolitical territories, it's no surprise that participants' national affiliations sometimes bring political undertones to the artwork. This has sparked occasional 'pixel wars' as users compete for territorial representation.

2023 Update: While large portions of the map remain untouched canvases, certain regions have seen an explosion of creativity. The USA, Europe, Mexico, and the Middle East stand out as the current hotspots of pixel activity.

Then, move the keyframe marker to frame 30 or the final frame (I set mine to 30 because that seemed long enough, though it matters not at all), and set the planet to have a rotation of 360 in the rotation panel on the Z axis on the right (in yellow) and keyframe it by hovering the mouse and pressing I.

Working with standard objects means modular thinking, where a composite system based on repeated elements can be used to implement large scale interventions. Departing from the traditional optimization of the building components and the housing unit, we want to move forward into the research about modularity and its advantages from the point of view of sustainability. Pixel Planet will research on standardization, flexibility, automation, adaptability, and evolution through time.

Moreover, if our Planet can be understood as an object of design, we aim at repositioning the prefabrication industry of the 21st Century. Can we turn landscape into pixels, or better, into their three-dimensional version: voxels? How do we script a forest, a beach, a desert, an ocean or a cloud, and evaluate and optimize their functioning? Can we even make all those the voxels fly?

Instruments of pixel manipulation construct these faultless fictions, a technique which is also applicable in the process of image making or architectural storytelling. This performative lecture questions the significance of relocating pixels beyond reality, and the reading of urban identity presented to us from these operations. e24fc04721

download open sauce one font

github link

download krishna aarti

happy b

fearless