Dark, I agree with everything you say on railracer. I personally think it's a great work.
Hmmm, yes, subquests and multiple routes would be great. You could beat the game the easy way, and then try different routes and rack up quests completed. Perhaps you could only complete so many quests per game because if you abandon the main plot for too long, you will fail it?
For exploration, I'm thinking like a programming array of 10-by-10. It's basically divided into blocks. A block numbered 0 is like an empty space, so if you step onto it, you will start falling until a block below of the same position is solid. IF there is none, it is a cliff and you will die. If there is solid ground below, you will just drop down; maybe a bit of damage if it's a far drop. There will be other blocks on each side of the ledge telling you that it is a ledge or a full deathdrop. There can also be blocks of lava or whatever to jump over. Enemies will also be possible to implement on this game area. They may be predictible and walk of edges, but maybe they can be programmed to stop. Actually, I'm not sure how making ememies smart would work; I'm not even sure how to make multiple enemies work out in a relatively dificult manner. It'd take a bit of tinkering that I don't really have time for currently.
These blocks can have infinite possibilities, so I'm sure I could implement doors and such.