another use of VAEs - voxel subdivision with variable LOD

emugod
Member
 
Posts: 33
Joined: Tue Aug 13, 2013 19:49

another use of VAEs - voxel subdivision with variable LOD

by emugod » Mon Jun 30, 2014 23:16

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.
Last edited by emugod on Wed Jul 02, 2014 15:07, edited 1 time in total.
 

User avatar
Inocudom
Member
 
Posts: 2889
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: voxel subdivision with variable LOD

by Inocudom » Tue Jul 01, 2014 02:05

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/indeed-voxlap-engine.138/
 

emugod
Member
 
Posts: 33
Joined: Tue Aug 13, 2013 19:49

Re: voxel subdivision with variable LOD

by emugod » Tue Jul 01, 2014 04:17

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/indeed-voxlap-engine.138/

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.

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).
 

emugod
Member
 
Posts: 33
Joined: Tue Aug 13, 2013 19:49

Re: another use of VAEs - voxel subdivision with variable LO

by emugod » Wed Jul 02, 2014 16:00

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.
 

User avatar
philipbenr
Member
 
Posts: 1665
Joined: Fri Jun 14, 2013 01:56
GitHub: philipbenr
IRC: philipbenr
In-game: WisdomFire or philipbenr

Re: another use of VAEs - voxel subdivision with variable LO

by philipbenr » Thu Jul 03, 2014 00:53

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.
 

alieen
New member
 
Posts: 1
Joined: Fri Dec 12, 2014 04:40

Re: another use of VAEs - voxel subdivision with variable LO

by alieen » Fri Dec 12, 2014 04:48

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
 

SideburnEtic
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

by SideburnEtic » Sun Feb 22, 2015 12:32

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?
 

TriBlade9
Member
 
Posts: 89
Joined: Fri Sep 05, 2014 09:35

Re: another use of VAEs - voxel subdivision with variable LO

by TriBlade9 » Sun Feb 22, 2015 12:58

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
 

User avatar
Inocudom
Member
 
Posts: 2889
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: another use of VAEs - voxel subdivision with variable LO

by Inocudom » Mon Feb 23, 2015 19:36

Fascinating demos you have there.
 


Return to Minetest Engine

Who is online

Users browsing this forum: No registered users and 22 guests

cron