Posted October 01, 2025 by Voided Pixels Studio
For asteroid generation, I’m using a pretty simple but flexible system. It all starts with a 32×32 image. Each pixel in that image acts as a blueprint: the color determines what gets generated—walls, floors, borders, or even different types of walls.
The process goes pixel by pixel. If a pixel is transparent, nothing is drawn. But if it has color, I decide what to place based on that color. On top of that, the outside of the rock is also created from this image. I add some randomness by letting the color shift slightly depending on the pixel’s X coordinate, so it doesn’t all look uniform.
In the end, I combine the outer layer and the generated interior, save those images, and then render them in the game. The result is an asteroid that feels both structured (since it follows the base image) and organic (thanks to the randomization).
In my next tech discussion, I’ll dive into how I built the chunking system for the game. This system is what keeps everything efficient and manageable, making sure the world doesn’t overload while still feeling seamless as you explore. I’ll break down how it works, why I chose this approach, and some of the challenges I ran into along the way.