Looks very cool!
How did you approach the minimap?
Thanks!
So, my world generation happens in stages. I make all of the grass tiles, then the dirt, then I add water, and then I add trees, rocks, wildgrass, clovers, etc.
Before all of this happens, an image is made that is as many pixels wide/tall as the level is in tiles (a 32x24 tile scene would be a 32x24 pixel image.) Each time a tile is added or one of those actors is created during the world generation, I change the pixel at that specific point (column/row) to the colour I have assigned to that type of object/tile.
For example, it starts out filled with green, but then every time a dirt tile replaces a grass one, a brown pixel replaces a green one.
You may notice that it isn't flat colour, and instead varies. It's just a little thing I think is more aesthetically pleasing. Basically, each part of the world (grass, dirt, etc) is made with Perlin noise images. When I set the pixel on the map to that colour, I also tweak it based on the Perlin Noise image. If it's in a dark spot of the Perlin Noise, it's darker on the map. Here's an example of the code that does this:
The player's white pixel isn't actually a part of the map. It's just an image on top of it that gets cleared every frame, and then a pixel is set on it in respect to the player's location. Also, no matter the level size, the map always gets resized to 96x72.
I suppose I could also add these different types of land as different layers so I can make a dynamic map, but that's something for another time.
I hope I explained it well enough to be understood! I do like explaining how my stuff works, so if anybody wants to know anything else, feel free to ask and I'll try my best.