voxel / voxel-land

a terrain generator with grass, dirt, stone, and trees (addon for voxel-engine)
6 stars 2 forks source link

Stratification #2

Open deathcap opened 10 years ago

deathcap commented 10 years ago

Harder stone at greater depths

greenlion commented 10 years ago

Do you have ideas about depths and the types of stone that you expect at different depths? This is related to issue #1, but different ores should probably only be generated in certain strata.

Are you going to have lava and water (those should probably be other issues) and if so, at what depth would you expect lava to start showing up, and how deep is bedrock?

deathcap commented 10 years ago

For the stone layers, I was thinking something like hardcore stratification from Better Than Wolves, where there are three layers of progressively harder stone, requiring more advanced tools to mine – but ores (ref GH-1) within these harder stone layers would be (generally) mineable with less powerful tools, as to encourage cave exploration (cutting through the harder layers) for ores vs repetitive branch mining.

There could be certain ores only at certain vertical ranges, too (and/or requiring certain tools), just wanted to try to avoid the Minecraft phenomena where you quickly try to get to the bottom of the world as fast as you can since that's where all the good ores are, then do all your mining there in highly repetitive 2x1 tunnels all at Y=13. Something more interesting I hope ;)

But voxel.js's feature of "cubic chunks" has very interesting consequences. There wouldn't necessarily have to be a lower depth limit (well, within reason), a finite bedrock layer where you can mine no further. Not sure what to do about this, but there are many possibilities. Much of the design in MC mods assumes finite world depth (for example, the quarry from BuildCraft mines until it hits bedrock) so having unbounded depth changes gameplay in ways I don't think have been considered too much in voxel-style games. There is/was a Cubic Chunks mod for MC, but it wasn't too popular.

Maybe below a certain depth, generate infinite lava simulating a planet's liquid outer core (in addition to lava/water pools randomly at other depths - btw, craters https://github.com/deathcap/voxel-land/commit/ff38b68f005602ea23aadb0e4a4cd3da145f8a34 were the start of lakes, but haven't added any water blocks yet). More inspiration: https://en.wikipedia.org/wiki/Structure_of_the_Earth

greenlion commented 10 years ago

When I was messing with this, I had a problem accessing materials other than stone, grass, etc (the basic blocks already used). For example, I tried using obsidian, I would just get air instead. Is there something that needs to be done to load the texture or block other than what is in index.js? (note that obsidian is already in there, which is why I tried to use it)

deathcap commented 10 years ago

Is there something that needs to be done to load the texture or block other than what is in index.js?

The IDs have to be passed to the web worker (this.opts.materials = in registerBlocks()), obsidian is registered with voxel-registry but not passed by default (maybe should pass everything)