To Voxel or not to voxel, is that even a question?

Hello commanders,

You may know me as the PG posting guy, or as the "I'm not whining, buuut" guy.

In this post I would like to share some thoughts I've had since the ED:H was announced.

VOXELS, what is FD's take on this wonderful tool? is it implemented into the Cobra Engine or will it use the more old technique? (polygons)

To me, and luckily I'm not a software developer so I can speculate wildly, this is what games like Elite need. When I was a prospector, I often wondered why the shape of the asteroids stayed the same. The burning marks disappeared after a short time, and you could not make holes into the damn rock. Also if you point you mining laser at one point it will deplete the rock regardless, that is kind of meh? or is it just me?

Well using voxels could make all this go away.

First, surface rendering .

[video=youtube;rakmUDn7O_s]https://www.youtube.com/watch?v=rakmUDn7O_s[/video]

[video=youtube;7UNpThobAkY]https://www.youtube.com/watch?v=7UNpThobAkY[/video]

Destruction (music is horrible,turn volume down)

[video=youtube;on-0Ou48tak]https://www.youtube.com/watch?v=on-0Ou48tak[/video]


There is not much information regarding the Cobra Engine and what can be done, however I guess that it's all a question how FD want to make their game, and not about what can be done. I find the texture mapping possibilities using Voxel technique very interesting.

[video=youtube;-VYOyHin9zg]https://www.youtube.com/watch?v=-VYOyHin9zg[/video]

Do FD work on this, or are they approving it in a different way?
 
Good point Lysander, They seem to be a great tool. I don't program but keep informed...
 
Last edited:
Yeah voxel farm is one of the ones leading the way in this atm, the problem is theres some serious limitations with voxels.
 
I don't think voxels have been used for a long time. Can they now be accelerated by the GPU? I remember that this was an issue back in the day.
Popular games included the Comanche Helicopter game and Outcast.
 
I think the biggest problem with voxels engines is how easy it is to implement interactions with current physics engine like newton, physx or havok...

These work with poly... so unless you tesselate the voxels with marching cubes to make a mesh. But if you tesselate the voxels, is there a point in using voxels in the first place?

I am no expert (I only dabble with physx from time to time), but I guess if it is not more widespread, there must be a compatibility problem with current development tools.
 
Last edited:
I don't think voxels have been used for a long time. Can they now be accelerated by the GPU? I remember that this was an issue back in the day.
Popular games included the Comanche Helicopter game and Outcast.
Voxels are actually more in use than ever, it's just that there aren't any current pure bitmap based voxel engines, as in the examples you mentioned. It's nowadays always a vector/voxel hybrid system, to have landscapes that still look more organic close up. For example, the terrain in CryEngine games is voxel-based, many sandbox games like 7 Days to Die, Space Engineers or even Minecraft are voxel-based, the (upcoming?) EverQuest Next is voxel-based, etc.
 
Hopefully we get a nice breakdown of how FDev are making their planets. They will presumably require quite an awesome lod system for landscapes given the draw distance required on airless bodies (the agressive model lod isnt necessarily any indication of what to expect from landscapes)
 
Last edited:
I don't think voxels have been used for a long time. Can they now be accelerated by the GPU? I remember that this was an issue back in the day.
Popular games included the Comanche Helicopter game and Outcast.

Voxels is use in Minecraft. The problem with voxels is that compare to pixels they take up more system resources, so the world you create can't look as pretty as it could with polygons. That changing as computers getting more powerful through, voxels might eventually take over.
 
[video=youtube_share;-zT9yL0cI1E]https://youtu.be/-zT9yL0cI1E?t=36[/video]

We all want mining like this.

It's also done in no man's sky, everything is deformable because everything is made of voxels.

FYI, voxels are polygons, they're just programmed to be smart polygons and make new polygons or delete themselves when they're interacted with. If the graphical fidelity of elite: dangerous is as expected, then perhaps it might be too resource demanding for computers now days, but that's not to say computers of 10 years later won't be able to run them.
 
Last edited:
"Destruction (music is horrible,turn volume down)"
Hello, no! Volume is going up! ALL THE WAY! :cool:

Ohh, but you're also an Abomination :p


Hopefully we get a nice breakdown of how FDev are making their planets. They will presumably require quite an awesome lod system for landscapes given the draw distance required on airless bodies (the agressive model lod isnt necessarily any indication of what to expect from landscapes)

I wonder how they do it, there is a lot going on these days directly on the GPU so I wonder if FD are on the ball or still use what is safe. I really hope there is some serious R&D going on in the FD bunker :)
 
I think voxels are probably the sensible way for what FD are trying to achieve. As someone already mentioned, voxels are arbitrary cubes which are recorded in such a way that polygons can be generated from them based on how line segments intersect them. The size of the voxels is arbitrary, the smaller the better quality and more resource intensive. There are tricks which would apply here like applying a scale to your voxel size based on distance from camera which allows for different levels of detail to be loaded, so voxels further away contain more stuff than what is up close. The real advantage is in how well they are suited for procedural generation; it will stop you seeing the same rocks on all the billions of worlds.
 
The entire moon would require about 22 trillion voxels, if each voxel were a chunky 1m³ in volume. So you'd have to "voxelise" only the bit that was in range, like No Man's Sky does. Of course, anything you do would then be forgotten about as soon as you left. Unless the servers store the changes you make, and I can't see Frontier paying for the extra storage space required for that plan. If the storage was left to our PCs our save files would soon eat hard drives for breakfast, and we'd end up with wierd situations where someone else is trundling along happily on the surface in their Scarab on their screen, but are magically levitating above the chasm you mined out last week on your PC.

And what about asteroid mining? How many asteroids are there in the average belt? How many voxels per asteroid? Should the asteroid changes be persistent? If not, what does it really matter if you can't carve them to pieces?

I can see this either getting very expensive, or the game turning into Elite: Memento without the helpful tattoos...
 
It's been awhile since I was doing 3D, but I believe (if I'm remembering correctly) that normal mapping can be far less stressful on the processor than a few million voxels.
 
The entire moon would require about 22 trillion voxels, if each voxel were a chunky 1m³ in volume. So you'd have to "voxelise" only the bit that was in range, like No Man's Sky does. Of course, anything you do would then be forgotten about as soon as you left. Unless the servers store the changes you make, and I can't see Frontier paying for the extra storage space required for that plan. If the storage was left to our PCs our save files would soon eat hard drives for breakfast, and we'd end up with wierd situations where someone else is trundling along happily on the surface in their Scarab on their screen, but are magically levitating above the chasm you mined out last week on your PC.

And what about asteroid mining? How many asteroids are there in the average belt? How many voxels per asteroid? Should the asteroid changes be persistent? If not, what does it really matter if you can't carve them to pieces?

I can see this either getting very expensive, or the game turning into Elite: Memento without the helpful tattoos...

You got a good point, however the calculations are mostly done in the GPU.

http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html
 
The entire moon would require about 22 trillion voxels, if each voxel were a chunky 1m³ in volume. So you'd have to "voxelise" only the bit that was in range, like No Man's Sky does. Of course, anything you do would then be forgotten about as soon as you left. Unless the servers store the changes you make, and I can't see Frontier paying for the extra storage space required for that plan. If the storage was left to our PCs our save files would soon eat hard drives for breakfast, and we'd end up with wierd situations where someone else is trundling along happily on the surface in their Scarab on their screen, but are magically levitating above the chasm you mined out last week on your PC.

And what about asteroid mining? How many asteroids are there in the average belt? How many voxels per asteroid? Should the asteroid changes be persistent? If not, what does it really matter if you can't carve them to pieces?

I can see this either getting very expensive, or the game turning into Elite: Memento without the helpful tattoos...
You don't need to store anything except the seed numbers to generate the number sequences required to calculate everything you need to know about the terrain (height, composition, atmospheric effects etc); most of this will be done on shaders. This is why procedural generation and voxels are such a good fit for massive terrain requirements, you just generate what you need locally from a series of seed numbers and the structure of the world(s) emerges semi-naturally.
 
Last edited:
You got a good point, however the calculations are mostly done in the GPU.

http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html

I think he's referring to the potentially massive amount of data storage necessary in order to handle player changes to voxels and make them persistent and visible to all players. Enough of us making enough changes over time could result in a lot of data storage, but more than that, it could dramatically impact loading times.

But making the changes persistent is more complex than that because of instancing. If two players in different instances of the same planet are making conflicting voxel changes, how do resolve that conflict? And the more you contemplate this the more it becomes obvious that persistent voxel changes are entirely incompatible with the instancing mechanic ED uses.

So if they use voxels then all voxel changes would have to be temporary and instance-specific. Which would be kind of lame, and I'd kind of wonder what the point is, but it would also be rather problematic. If I dig out a massive area, and you park your Anaconda in it and log off, what happens when you log back in to find the voxel changes discarded and your Anaconda parked inside of solid stone?
 
Back
Top Bottom