I discussed this on IRC. Other developers and users raised two points, which I thought to reply to here as well;
First was that this is already doable with the current Lua API and settings. A small part of it would be: The player's eye offset can now be set, while the player's movement speed can also be adjusted. This would allow making the player a giant in order to decrease perceived voxel size. But there's at least two problems with that:
- First and foremost, two essential player settings are still hard coded and cannot be changed in Lua: Bounding box size and step height. I'm already militating to allow the box property used on Lua entities to work for players too, because my
Creatures mod badly needs that as well. The step height must also be turned into a setting, so you can define up to which point walking into a block lets the player climb on it like a stair... this one is easy.
- Unless the mapgen understands the new voxel size, the world is generated in the same way. Meaning smaller mountains or miniature caves. In some cases, the player might also not be able to enter said caves in this case. It is however possible that Mapgen V7 might allow specifying landscape sizes as well as the height / width of cave tunnels, which would correct this problem. hmmmm would know best, or maybe someone else can elaborate?
The second concern discussed was how this would affect performance. Indeed, half-sized voxels would mean drawing 4 times more blocks. There's two evils to choose from; The first is to let that happen, which means 4 times less FPS for the client and 4 times more chunks to keep active for the server. The second is to also have the draw distance scale down, meaning everything will look dull and foggy. I guess it's up to each server and / or client to decide which is best... but regardless, I believe the feature itself should exist.
RHR wrote:stu's micronode mod has this behavior:
https://github.com/stujones11/micronode(can't find the forum thread)
by default you have 1/5 nodes, but you can change it in micronode.conf to 1/2 if you want
--> MICRONODE_BLOCKS_PER_VERTEX = 2 (line 4)
Interesting mod. I tried it out, but IMO it only works as experiment at best. Considering that each micro block is a Lua entity and not an actual node, which could never be used to build and generate an actual world.