I've always been a fan of the Metroid series, and more generally nowadays, the metroidvania genre. One thing that I've loved, and most others have praised highly, are the unique and diverse environments and levels you can find in such games. Being able to tell exactly what room someone is in from a simple screenshot is a prime staple to such things.
I have been working on a 2D metroidvania game that's intended to be kind of my personal tribute to the genre, but I feel like I may have put myself in a bit of a corner conceptually. The game takes place on a barren, lifeless planet that's being harvested for resources by a sprawling autonomous mining/factory complex. Throughout the game, you travel throughout the complex, visiting each of the sites that make it up and gaining upgrades to become powerful enough to take down the AI at the center of it all (yeah, original, I know).
So, the conceptual corner... I'll be blunt. As you can probably tell from the title, and the setup in the first paragraph, I'm seriously worried that the areas in my game are going to feel too "same-y" and repetitive. I mean, and it's justified too: my selections of environments are "lifeless, rocky landscape", "lifeless, rocky caves", and "industrial metal corridors", and my selection of enemies consists of "robots", "more robots", and "different, bigger robots". I mean, it's hard to have different environments when the setting you're in has no life to support an "environment". But, I know it can be pulled off. Just look at Hero Core. It manages to pull off distinct and unique areas with much of the same restrictions I have, and with only just two colors to boot!
In closing, and yes, this is just basically an expanded restatement of the title, what are some things I can do to make the areas in my game feel markedly distinct from eachother, despite most of them having a common overarching aesthetic?