Creator of Terrains
Creator of Terrains is a CraftBukkit plugin I'm working on that allows you to create world generators by constructing your own formulas. It is very close to TerrainControl in that you can define your own biomes and set specialized settings to how the biome should look like. This plugin is not anywhere near done, but I will keep updating this project with information and documentation.
Model of Biomes
First of all, it is important to note that Creator of Terrains does not really work with Minecraft's biomes. It does not really 'place' biomes (in an arbritary fashion). What it does is, you get to specify the way temperature and humidity is distributed across the landscape. Then, according to the temperature and humidity a specific location has, the effects and attributes that are distinct to a biome that has temperature and humidity values close to those of the location, are applied. To clarify this last sentence, if there is a desert biome with a lot of sand and volatile terrain, and a specific location has temperature and humidity values that closely represent that of the desert biome, then the terrain of that location will be generated with a lot of sand and volatile terrain. To get even more specific, these properties of having a lot of sand and volatile terrain, will be scaled to how closely the temperature and humidity values resemble those of the desert. If these values are somewhere in between that of the desert, and for example, a steppe biome, than terrain may be less 'sandy' or 'volatile' and more like the steppe, depending on how close the temperature and humidty values are to the desert biome. So biomes in CoT are seamless. Because biomes in Minecraft are not seamless, and each block (where height does not play a role) is assigned a specific biome, CoT will not use these biomes. What CoT will do, is attempt to place Minecraft's biomes to resemble those of CoT as closely as possible. This is so that grass color (and maybe other properties and effects) are still utilized.
Use of Formulas
The biomes themselves will specify how terrain is really generated. This is done by formulas like these:
water_level = 64 volatility_level = 3 frequency_level = 5 amplitude = 2 ^ volatility_level # amplitude = 8 frequency = 2 ^ frequency_level # frequency = 32 h = water_level + amplitude * noise{ x / frequency, y / frequency }
This would represent a formula where it is expected to define the terrain's height (h) for 2-dimensional coordinates (x and y). (Note that the '#' sign is used to represent comments, just like dozens of other languages.) However, you will probably be able to specify the block used for each three dimensional coordinate, but it would require me to write out more complex formulas and that is really not recessary right now. This formula states that the terrain's height should be around the water level and that a type of noise should be applied. If you don't know what this means, don't worry, you don't really need to at this time and it will be properly documented when this plugin is published.
Anyway, there shouldn't be anything more that you need to know at this time. If you're interreseted, let me know. If you want to know something, ask me.
I would simply love to be able to export terrain algorithms from World Machine into Minecraft. Failing that, I'd like to see a node-based editor for Minecraft terrain.
http://www.world-machine.com/
Looks very promising. There is another generator, called TerrainControl http://dev.bukkit.org/server-mods/terrain-control/ It's flexible, but not enough. Maybe you can collaborate with it's developers in some way, they know many about terrain generation.
You get this done and I will give you money. If you're interested please PM me.
<<reply 843835>
Hey @jtjj222 , I have thought I might just use a scripting language, but then I start thinking: I might just as well release a world generator template plugin for craftbukkit, in which people could put their own formulas in java. I thought it would be a good idea to use something simple, something that would be easy to learn (if you weren't familiar with it yet) and should make sense to most programmers and a great deal of people anyway.
This seems awesome so far. Maybe it might be easier (for you && developers) to use an already established scripting language cough jython cough instead of the formulae you have now, to allow for more advanced terrain generation. I hear it is easy to use the jython interpreter in your programs, and it might save you alot of work. I don't know, just an idea. Anyway, tag me @jtjj222 if there is anything I can do for you, or If you make any progress, because I am really exited to see what you make. This is pure genius. :D
Thanks for working on this. Terrain control is kind of confusing at times, so I'm looking forward to using this sometime in the future.
Looks interesting :)
neat