echurchill/ExpansiveTerrain — comment on commit 9f50257218aa592b6ca0530efa322642198f8ba2
File:  line 0
By echurchill:

Heads up, I have released a version of the WellWorld idea over on DevBukkit. It is still going through the approval process but here is a preview... (pardon the odd formatting but GitHub and DevBukkit use a different markup)
== **WellWorld** ==
===== //Version 0.5// =====

=== The story ===
Imagine waking up one day, in Minecraft, and finding yourself surrounded by walls. These walls are not the ones your friends griefed you with but ones that reach all the way to the sky. You are trapped, surrounded... all alone... or are you? Did you just see somebody poking their head out of one of those little doors WAY up there? I wonder if they will be friendly?

{{http://dev.bukkit.org/media/images/37/78/Where_did_those_walls_come_from.jpg|Waking up on WellWorld}}

=== The backstory ===
During my recent break from [[http://dev.bukkit.org/server-mods/cityworld/|CityWorld]], I have been going over my collection of world generator attempts. Most of them are pretty darn unexciting.. or too weird to do anything with. In addition I have been surfing to see what my fellow world creators have been up to. There are a number of cool ideas out there but they all suffer ([[http://dev.bukkit.org/server-mods/cityworld/|CityWorld ]]included) from one little problem.. eventually the generator repeats itself and the world gets boring. It got me thinking of old notion: The WellWorld.

The mod concept is based on a science fiction series by Jack L. Chalker called [[http://en.wikipedia.org/wiki/Well_World|WellWorld]]? In it the "world" divided up into a series of hexagonal regions, each with their wildly different environments for different alien civilizations... It is part zoo and part UN. A good read if you are into grand science fiction.

Anyway, in addition to the "boring" problem, one of the most difficult things about creating a world generator is making it capable of creating wildly different environments, alas all of those different environments cannot be next to each other or they look weird. Thus we have to create smoothing tech to allow deserts gradually turn into swamps and then into mountains and then into seas.

It dawned on me that dividing the world into large square regions (this is Minecraft after all) with walls of obsidian (or bedrock if you want to be "hard core"). Then populate those regions with wildly different environments. Heck, the Nether (big box with a roof) could be next door to a region that is completely filled with water, next to a crystal world made of glass ground with thin-glass trees. :-)

Poof... both the smoothing and boring problems goes away.

{{http://dev.bukkit.org/media/images/37/84/Four_Corners.jpg|From way above}}

Not all those little doors up in the wall lead next door.. some are there just to confuse you. One other warning: Creepers (that little green speck in the wall above) love spawning in those doors. Fun eh?
----
=== Issues and possible future fixes ===
* Multiverse – In the long run it might be possible to have this work directly with “real” world generators but for now each generator must be compiled into the WellWorld plugin.

* Biomes – right now, WellWorld doesn’t attempt to do anything with Biomes. Ideally each well could have its own.

* Physics – right now each Well shares lighting and time-of-day with each other. This makes fully enclosed wells like caverns brighter than they should be.

* No built in commands – like with CityWorld, I have kept this plugin simple.

* Needs more variety – Right now there are less than a half a dozen generators enabled. Like with world generators themselves, it is pretty easy to add new well generators to WellWorld. In fact during the creation of WellWorld I ported some generators from Khyperia (http://dev.bukkit.org/server-mods/trippy-terrain/), CodenameB (http://forums.bukkit.org/threads/intermediate-infinite-terrain-generation-using-simplexoctaves.28855/) and Dinnerbone (https://github.com/Dinnerbone/BukkitFullOfMoon) but since I don’t have their permission, I have left them disabled. Ok, that's not entirely true, I am including one generator loosely based on BukkitFullOfMoon