I second HTML5/JS.
It's decided then. So shall it be written, so shall it be done. JS is easy if you know any other language at all. Protip: The
Mozilla Developer site is your friend -- they invented JavaScript back in the Netscape Navigator days, after all.
FYI: JQuery is slow, stay away from that, It's great for websites and webapps, but we won't be using it for games. Anything we'd need JQuery for I'll either already have it done, or can quickly code up a faster piece of code than they provide.
I'm now underway adapting my HTML/JS level editor to be more generalized for this project, so lots of tricky browser compatibility stuff is already out of the way (handling stuff like Ajax loading between IE vs FF/Chrome/Safari, handling online vs offline data loading -- Eg: XMLHttpRequest doesn't work with file:/// URLs when running without a server, so no XML data and no JSON data backend -- See, this is where it's nice that I've already solved that problem with my own data language (JSE) that's designed to work around this specific problem. That means all the messy bits of JavaScript in the engine will be handled, and additional coders can focus on the game logic, actor events, spells, all that good fun stuff.
Speaking of non-fun stuff: I'm going to go ahead and put forth that tiles and game actors (enemies / avatars) can optionally have animations (meaning they can be animated but don't have to be). It'll take more work to create a sprite sheet tool, but it'll be well worth it. I'm going to make the engine general purpose enough that I can use it in a couple of other projects -- kill more birds with less stones.
________
I'll restate what I think to be the best way to implement a varied world.
Essentially, the over-map will be one big huge seamless world. Procedural generation will create the majority of the major land forms, random enemies, rivers, etc. Regions of different "factions" or tilesets will be dispersed in the world by the generator: from small pockets to large dominated areas, to mixtures between them. It's all the same world, just treat everything like one big tileset -- Think of the way terrain generators create mountains, plains, water, now, imagine the world divided up like that into different factions -- Instead of water you have the magic users, instead of mountains you have Aliens, or whatever. We'll use two separate passes of the noise patterns, one for land form creation -- 'This is land, this is water, this is mountain, this is lava' Then we run the pass again and say this spot is futuristic, this spot is ancient magic, etc, and so you get the different factions smoothly layed out across one big generated world.
So if there's two differing tilesets, say: medieval times and futuristic, there will be large blobs dominated by either faction dotted across the whole world -- The forest area might be populated with goblins or homeless refugees. The plains might be populated by Giants and barbarians, or by mad-max motorcycle gangs, depending on the faction stuff. Maybe add tire marks to tiles in the desert where it's modern day, ect. Maybe if there was a 3rd faction, Cyborgs & Robots for instance, then the plains would have tons of solar panels and wires would run through all the Machine race's tiles. I think if we end up having medieval magics as a main theme / faction / world, then I'm voting for a Cyborg & Machine race world as another faction.
If there's more settings than two that's cool with me, but however many there are needs to be decided (and roughly tested) before start patching in our own manual chunks of the world. I think just one tileset -- medieval magic -- would get boring, so I'm voting for at least two main factions, maybe more if you folks can come up with a good story for how they're all mixed in and interrelated. Just so long as it wasn't The Nexus crap from StarTrek Generations.
Now, that doesn't mean there can't be more different factions or tile-set / dimentions tacked on later, they just won't be a major faction that the endless world generator could handle. Folks can still create new tilesets afterwards, but all the world-patch additions in that new tileset will have to be done manually, the generator won't be able to merge a whole new faction into the world and keep the old stuff matching correctly, them's the breaks of Perlin Noise Functions.
I'll leave it up to other folks to decide if there should be restrictions between walking between different worlds -- Eg: 100% dominated regions of an opposing faction may require alliance with that faction's leaders (see, each faction would have their own protagonists and antagonists/monsters). Through completing a quest, or certain EXP for another one, or having a special amulet, etc. That way the tax accountants aren't just all chilling with the Necromancers -- Those bastards, you know they would. Imagine it! Raise an undead minion then charge them for a Milena of back taxes on their grave property rights! Just thinking of stuff like that would add humor / story, etc. "What would happen If _____ met ______", It writes itself...
I kind of like the Shadow ream idea -- a different plane of existence. Maybe we could have one faction / tileset deployed in the world that you can only see some of the time (restrictions, etc?) -- The way that would work is that near the bottom end of the "faction" gradient we'll just display one tile set if you're able to see it. Say, a land of the dead type thing. any patches made in that area would belong to either tileset or the other, and you wouldn't see the patch unless you were able to see that tileset. That way you could walk over land to some place then if you go into the shadows you might have just walked right through a Giant City of the Dead. It doesn't have to be the Dead, it could be Aliens with cloaking powers, or however you want to write it into the story. If it was a faction in the "center" of the faction gradients, then it could connect into every other faction...