sfan5 wrote:emugod wrote:Predictive block loading/generation for caves.
So you want the mapgen running on the client?
That won't work for Lua mapgens anyway, or for servers with mods that affect generation.
I didn't bother to expand much on that one because I figured there would be an immediate reply "it already does". I don't know how it would be implemented, but something to know when a player is in a cave and not bother generating nearby full-solid (rock/dirt/ore) blocks until they're very close to needed. the same idea could apply to all-air or all-water blocks? I really suspect something like it is probably in fact already in, and i'm just ignorant of it?
Calinou wrote:This is not tesselation; this is just generic optimization, sometimes called “remipping”. Minecraft does not perform any of this at all (however, it's said to render quads instead of triangles, but it's not like we can check). The problem when doing such a thing is that the game may freeze often, especially when players are digging or building around.
Minecraft has or had as its primary node (block in MC terminology) rendering interface an object 'tessellator', which unless I am greatly mistaken did do (does?) some face combination. I remember being intrigued by some mojang blog posts and update notes about it, way way back (well before 1.0), which might still be around somewhere, even if that part of the code has been abandoned. Also just so you know, MC source is available,through a pretty active and effective continual decompilation and disambiguation effort. It's not free and neither supported or even officially recognized by Mojang, but it's clearly pretty completely tolerated (it's where all the mods that have made minecraft anything at all, and which Mojang often lifts directly for their updates, have come from).
I am likewise doubtful/uncertain it would provide any real performance benefit though, especially with how the quickly nodes may be changing. Perhaps it could be applied at medium distance only (for blocks with no players in them)? I gotta admit I'm also thinking of my Node Subdivision and 'statues' concept when suggesting this (post on engine dev board), where it would fit perfectly and probably be actually pretty requisite.
Calinou wrote:We've had
farmesh a few years ago and it was removed because it was outdated and sometimes inaccurate, especially when terrain was heavily changed by players.
Freeminer (a fork of Minetest) reimplemented it in a different way.
Ah, thanks for sharing, I never new about that. Those shots look pretty impressive, if not my exact preference in visual style (which would be to keep the cubic look).
Oh, and I just realized a huge thing that could be done (maybe the #1 thing to look at, performance-wise); always ensure blocks are rendered/generated closest to player first. Is there any good reason this isn't the case to begin with? I could understand it might be complex in servers with many players, all exploring and generating new terrain, but that's really a pretty marginal case, right?