another use of VAEs - voxel subdivision with variable LOD
another use of VAEs - voxel subdivision with variable LOD
I think the engine could/should support variable or even infinite voxel resolution, through support for node subdivision.
http://www.minecraftforum.net/topic/128 ... xel-world/
I wrote about my vision of the gameplay side of this, a few years (holy shit!) back, and I don't think I can explain it much better than I did there. Of course it could vary greatly, go off in a number of different directions, which would be the great thing about the minetest engine/game split.
On the tech side, the simplest I could try to explain it, or implement it, would be to make each node potentially a reference to another block (whose nodes may also be blocks!). Of course this could easily get out of hand, but the trick to making it usable at all would be to also enable the engine to begin ignoring subdivisions below a chosen level (chosen by the game), and to make interacting with the subdivision levels dependent on special conditions (again varying by game). Subdivision levels that were being ignored, would be treated just as a node entire, and rendered as such (just like they are today - graphics generation or selection method would be game specific, of course). The game could choose to swap around and through the ignored subdivision levels at will, of course, for example to run active/simulation elements in them (at whatever level of complexity it decides, which could also vary - all this stuff would be game decisions).
I'm not sure if any of this is conveying, or if it just sounds like crazy talk. But I think it could really work, and would be the next step forward for the voxel 'genre' and technology. Both for very low-level/'high-res', but still technically feasible voxel games (not just building games? as a physics engine?), and for more traditional minecraft-like genre of block building games, where it could be used as I talked about in the linked post above.
http://www.minecraftforum.net/topic/128 ... xel-world/
I wrote about my vision of the gameplay side of this, a few years (holy shit!) back, and I don't think I can explain it much better than I did there. Of course it could vary greatly, go off in a number of different directions, which would be the great thing about the minetest engine/game split.
On the tech side, the simplest I could try to explain it, or implement it, would be to make each node potentially a reference to another block (whose nodes may also be blocks!). Of course this could easily get out of hand, but the trick to making it usable at all would be to also enable the engine to begin ignoring subdivisions below a chosen level (chosen by the game), and to make interacting with the subdivision levels dependent on special conditions (again varying by game). Subdivision levels that were being ignored, would be treated just as a node entire, and rendered as such (just like they are today - graphics generation or selection method would be game specific, of course). The game could choose to swap around and through the ignored subdivision levels at will, of course, for example to run active/simulation elements in them (at whatever level of complexity it decides, which could also vary - all this stuff would be game decisions).
I'm not sure if any of this is conveying, or if it just sounds like crazy talk. But I think it could really work, and would be the next step forward for the voxel 'genre' and technology. Both for very low-level/'high-res', but still technically feasible voxel games (not just building games? as a physics engine?), and for more traditional minecraft-like genre of block building games, where it could be used as I talked about in the linked post above.
Last edited by emugod on Wed Jul 02, 2014 15:07, edited 1 time in total.
Re: voxel subdivision with variable LOD
I started a topic in the Freeminer (a fork of Minetest) forums that would appeal to one such as you:
http://forum.freeminer.org/threads/inde ... ngine.138/
http://forum.freeminer.org/threads/inde ... ngine.138/
[BitChute: https://www.bitchute.com/channel/fCcBQxrYQjNX/] [Rumble: https://rumble.com/user/HPoorHMagentaHChildH]
Re: voxel subdivision with variable LOD
thanks, that is a very good thread, with a lot of very educational links, especially the 0fps one. it's the first i've learned of octrees, or at least a new reminder, and they are similar to what i'm proposing but i'm not really talking at all about internal data structure choice or implementation, and nothing about increasing efficiency.Inocudom wrote:I started a topic in the Freeminer (a fork of Minetest) forums that would appeal to one such as you:
http://forum.freeminer.org/threads/inde ... ngine.138/
I forgot to say in the OP, the reason I made this thread now was just learning of 'voxel area entities' (which is a great term for them) being added to the 'official' future plans. And this is what really inspired my whole thinking on the topic, as I described in the linked post. Really what I'm trying to say is just that the basic VAE concept (of having one object in the game world point to and be treated as a special case node collection) would actually probably be a VERY powerful and broad engine feature (and maybe how the whole engine could or should be, rather than special case items - or at least it would be interesting to see a game of that kind).
Re: another use of VAEs - voxel subdivision with variable LO
I would suggest that as VAEs are implemented they should be made a very integral part of the world engine - there should not be considered a base voxel map with a designated partition of storage space for VAEs which inhabit it, but rather the engine should support a huge number of simultaneous voxel maps, which are each VAE or VAE templates, and no base voxel world.
- philipbenr
- Member
- Posts: 1897
- Joined: Fri Jun 14, 2013 01:56
- GitHub: philipbenr
- Location: United States
Re: another use of VAEs - voxel subdivision with variable LO
Very complex sounding, yet very different. I think I have a grasp on what you are trying to say, though most of seemed to go over my head...
Now that I read it for the fourth time, it does seem to make more sense. I hope that you'll get more attention with this, because I think this idea is well worth listening to.
Now that I read it for the fourth time, it does seem to make more sense. I hope that you'll get more attention with this, because I think this idea is well worth listening to.
Re: another use of VAEs - voxel subdivision with variable LO
I'm not sure if any of this is conveying, or if it just sounds like crazy talk. But I think it could really work, and would be the next step forward for the voxel 'genre' and technology.
emma
-
- New member
- Posts: 3
- Joined: Sun Feb 22, 2015 12:30
- GitHub: MrMormon
- In-game: SideburnEtic
Re: another use of VAEs - voxel subdivision with variable LO
This would be my dream engine come true, especially now that there's a Mandelbox mapgen. Are there any similar open sources games out there with this?
Re: another use of VAEs - voxel subdivision with variable LO
I know this is a bit of a bump, but I figured I might mention something here.
I've wanted this sort of thing in a voxel engine for ages, but have not really seen it anywhere.
I chose to go for a different approach to "voxels" in my JavaScript library for the WebGL engine Babylon.JS, aimed to mesh voxels as a normal mesh which could be used like one. (rotated, translated, scaled, physics applied, animated, etc.)
The aim was to separate the voxels from the world grid, so that it could be used for anything.
Unfortunately I don't have time to work on the project at the current time, and the demo remains unfinished. The library is missing a few big things such as lighting, ambient-occlusion, and textures. The performance isn't terrible, but it isn't great either. (Though someone just informed me that a great speedup could be achieved by switching out the engine's normals calculation with a simpler set of calculations in my greedy mesher.)
Demos (JavaScript/WebGL. They run in a browser): (More official, semi-completed) (Initial test, has block destruction and placing, as well as VoxelMesh parenting and rotation without breaking picking.)
Repository: https://github.com/TriBlade9/CEWBS
I've wanted this sort of thing in a voxel engine for ages, but have not really seen it anywhere.
I chose to go for a different approach to "voxels" in my JavaScript library for the WebGL engine Babylon.JS, aimed to mesh voxels as a normal mesh which could be used like one. (rotated, translated, scaled, physics applied, animated, etc.)
The aim was to separate the voxels from the world grid, so that it could be used for anything.
Unfortunately I don't have time to work on the project at the current time, and the demo remains unfinished. The library is missing a few big things such as lighting, ambient-occlusion, and textures. The performance isn't terrible, but it isn't great either. (Though someone just informed me that a great speedup could be achieved by switching out the engine's normals calculation with a simpler set of calculations in my greedy mesher.)
Demos (JavaScript/WebGL. They run in a browser): (More official, semi-completed) (Initial test, has block destruction and placing, as well as VoxelMesh parenting and rotation without breaking picking.)
Repository: https://github.com/TriBlade9/CEWBS
Re: another use of VAEs - voxel subdivision with variable LO
Fascinating demos you have there.
[BitChute: https://www.bitchute.com/channel/fCcBQxrYQjNX/] [Rumble: https://rumble.com/user/HPoorHMagentaHChildH]
Who is online
Users browsing this forum: No registered users and 3 guests