The background for each room can be unique and it's trivial to create new objects that behave like old objects that look different.
At one point we were looking at Adding a lot of metroid-vania style elements, like unlockable mobility powers (find the jump orb to gain a double jump, etc.) and mazelike levels with a map that fills out as you explore, but as development continues we're finding a lot of our priorities in conflict.
Every character is going to handle a little differently, but will need to explore the same levels. That means that each character would collect the same upgrades, but possibly gain different abilities. We're not sure that's something that would be feasible to balance, particularly with our focus on moddability.
Indeed, making sure that every level is travereable by each character will be a major timesink, which we have not yet begun to approach, and we are cautious about making decisions that would further complicate the process.
The core function of unlocking abilities in a metroidvania game is to allow players access to new areas that they couldn't reach with their old abilities (providing new mechanics to keep the game fresh is nice too, but it isn't really the point). However, cooperative multiplayer is a major part of the experience we're trying to craft, and we wouldn't want players to be shut-out of the areas where their friends are playing. Thus, we would want to focus on obstacles that could be circumvented by one player, for the benefit of all. Castlevania HD recently built an entire game around that concept, and it led to a game that was mostly played by memorizing the levels and planning everyone's path in advance.
If we can think of a way to implement the mechanics without leading to dry repetitive experiences, we'd love to do them, but for the moment I think it's best to just give each character access to their full move set, and then place them in situations that demand different choices as the game progresses. This does have it's own drawbacks, as players don't always like being forced to change their strategy, without a major clue, like a new ability that needs to be tried out anyway, to let them know what their supposed to do.
This is part of the reason I've started trying to focus on adding depth to the combat system over the platforming mechanics. It's far simpler to introduce new enemies, who can then provide a different sort of challenge to each character. Getting close to a character with powerful ranged attacks is a totally different puzzle depending on how your character moves, and how quickly, and might not even be the best solution, if you have powerful ranged abilities of your own. That moment when you figure out that a certain move can easily counter an attack you previously found unbeatable is one of the most gratifying gaming experiences for me. (I'm not the most skilled gamer around, but if your strategy has a weakness, I can usually find it and exploit it enough to even the odds.)
That's part of the reason I'm looking for new ways for characters to behave. Complexity isn't the same thing as depth, but complexity provides more tools for adding depth.
Still, an auto-map would be really nice, and we're been working on some ideas about how to implement one. Filling in the map is one of the most fun parts of exploration platformers, and there doesn't seem to be any reason we can't have one.