Alright folks, let’s dive into my weekend project – messing around with Igor Gimenez’s stuff. I saw his name pop up on some forum, looked him up, and thought, “Hey, that looks interesting, maybe I can get something from him!”
So, first things first, I started digging around online, trying to find any projects or code he’s put out there. I spent a solid hour just Googling and poking around GitHub. Finally stumbled upon some repositories that seemed promising. I cloned the main one that had to do with procedural generation – looked like a fun challenge.
The Initial Setup

Next up, getting the thing running. Now, his documentation wasn’t the best, I ain’t gonna lie. I had to do some reverse engineering just to figure out the basic dependencies. There were some Python libraries missing. So I fired up my terminal and started pip installing everything it complained about: numpy, Pillow, all that jazz.
After that, I ran the main script. BAM! Errors everywhere. Turns out, some of the file paths were hardcoded and didn’t match my system. I had to go into the script, change the paths to where I actually had the resources saved. Messy, but gotta do what you gotta do. Fixed that real quick.
Playing Around with the Code
Okay, with the script now running, it was time to actually understand what was going on. I started tweaking some parameters in the config file – things like the density of the generated objects, the color palettes, and the overall size of the output. Ran the script again, and… nothing. Just more errors. Apparently, some values weren’t playing nicely with the rest of the code.
Spent another hour debugging, adding print statements to see what the variables were doing at different points. Found a couple of places where the values were going out of bounds. Threw in some clamping functions to keep everything within reasonable limits. Ran it again. Success! The generator finally started spitting out something that resembled what I saw in the examples. It was crude but running.

- First, I installed all the dependencies, fixing errors as I went.
- Then, I adjusted file paths to fit my system.
- Finally, I tweaked the code to handle values, prevent out-of-bounds errors, and run it!
Customization and Tweaking
Now the fun part. I wanted to make it my own, you know? I swapped out some of the texture assets with ones I created in GIMP. Then, I started messing around with the noise functions to get different patterns and styles of terrain. That took a while. I tweaked the octaves, the frequency, and the amplitude until I got something that looked half-decent. I started feeling like the terrain was looking more like my art.
The Final Result
After a whole day of coding, debugging, and tweaking, I finally had something I was happy with. It wasn’t perfect, but it was my own take on Igor Gimenez’s procedural generation stuff. It generated some pretty cool abstract landscapes.
Honestly, it was a bit of a pain in the butt at times. The code was messy and the documentation sucked. But it was a good learning experience. I learned a lot about procedural generation, noise functions, and the importance of good documentation. Plus, I got some cool-looking images out of it.

Was it worth it? Yeah, I’d say so. I’m gonna take what I learned here and try to apply it to some of my own projects. Maybe I’ll even try to clean up Igor’s code and submit a pull request. Who knows?