Selaco
Dev Jun 10, 2024 @ 7:52am
Why voxel based models?
I'm curious as to why voxel models are used for world objects and items. Why not low-poly 3D models?
< >
Showing 1-15 of 20 comments
Nexxtic  [developer] Jun 10, 2024 @ 7:55am 
2
2
2
Because I like voxels and think they are cool.
potato Jun 10, 2024 @ 7:58am 
cause making 3d models with this many particle effects and meshes is a lot more work and you still won't get a visceral experience on the same level as you would with voxels
Warnstaff Jun 10, 2024 @ 8:47am 
Originally posted by Nexxtic:
Because I like voxels and think they are cool.
Best.Answer.Ever!
ToJKa Jun 10, 2024 @ 2:29pm 
Fits the retro theme of the game. Also, can GZDoom even do any other kind of 3D models?

Considering the dismemberment and other stuff, i guess the enemies won't ever get voxelized?

Also go play Voxel Doom 2 once you're done with this :steamhappy:
Nexxtic  [developer] Jun 10, 2024 @ 2:32pm 
Originally posted by ToJKa:
Fits the retro theme of the game. Also, can GZDoom even do any other kind of 3D models?

Considering the dismemberment and other stuff, i guess the enemies won't ever get voxelized?

Also go play Voxel Doom 2 once you're done with this :steamhappy:

Lets me copy & paste something from the Discord chat!

Unfortunately, this is extremely unrealistic for Selaco.

Voxel creation is incredibly labor intensive. The only reason it worked for Doom was because enemies only have like 4 animations. This took Cheello over a year to make, and that's with a limited set of sprites.

Our enemies have like 50 animations at 3x the resolution and are way smoother, making it impossible to voxelize without the whole thing looking jarring.

Also performance. Every voxel is it's own model.

It would mean having hundreds if not thousands of models that need to be constantly swapped out in real-time

So even if you, somehow, get 300 artist to work on this, the technical aspect is still disastrous

Do remember that every voxel frame is essentially remade from the ground up. It's why it takes so long lol. There is no rigging system
Last edited by Nexxtic; Jun 10, 2024 @ 2:33pm
Dev Jun 10, 2024 @ 8:56pm 
Originally posted by Nexxtic:
Because I like voxels and think they are cool.
Aren't voxels in GZDoom graphically demanding though? I don't have any problems with the FPS but I remember reading maybe 1 or 2 years ago on either Doomworld or Zdoom forums that voxels are not treated like actual voxels, more like a voxel model converted to a normal 3D mesh which with how blocky they look creates tons of triangles which strains the CPU/GPU
Palandus Jun 10, 2024 @ 9:52pm 
Originally posted by Dev:
Originally posted by Nexxtic:
Because I like voxels and think they are cool.
Aren't voxels in GZDoom graphically demanding though? I don't have any problems with the FPS but I remember reading maybe 1 or 2 years ago on either Doomworld or Zdoom forums that voxels are not treated like actual voxels, more like a voxel model converted to a normal 3D mesh which with how blocky they look creates tons of triangles which strains the CPU/GPU

Might explain why the game is so CPU intensive. Game needs a minimum of 3.1 ghz per core, whereas most GZDoom games only need 2.4 ghz or higher. This is "PER CORE", not overall power, as GZDoom typically has some multi-threading support, but not much in the way of multi-core support. So a dual core 4 ghz computer would run GZDoom (in general) better than an 8 core 2.5 ghz computer.
Fix Jun 10, 2024 @ 10:15pm 
Originally posted by Dev:
Originally posted by Nexxtic:
Because I like voxels and think they are cool.
Aren't voxels in GZDoom graphically demanding though? I don't have any problems with the FPS but I remember reading maybe 1 or 2 years ago on either Doomworld or Zdoom forums that voxels are not treated like actual voxels, more like a voxel model converted to a normal 3D mesh which with how blocky they look creates tons of triangles which strains the CPU/GPU

A lot of voxel -> 3d model converters are awful. Truly dreadful.
The "easy" approach is to turn each voxel block into a cube mesh. This makes an awful amount of triangles, which then take time to render. This is also how GZDoom renders voxels by default.
Team uses Qubicle to convert voxels into 3d models, and thankfully - it's not awful! Qubicle will do it's best to group voxels into larger chunks, making big block meshes resulting in A LOT fewer triangles.
The other option would be to use the bad converters and clean up meshes manually... which is just unfeasible, and the game probably would have a lot less voxels
Dev Jun 10, 2024 @ 11:24pm 
Originally posted by Fix:
Originally posted by Dev:
Aren't voxels in GZDoom graphically demanding though? I don't have any problems with the FPS but I remember reading maybe 1 or 2 years ago on either Doomworld or Zdoom forums that voxels are not treated like actual voxels, more like a voxel model converted to a normal 3D mesh which with how blocky they look creates tons of triangles which strains the CPU/GPU

A lot of voxel -> 3d model converters are awful. Truly dreadful.
The "easy" approach is to turn each voxel block into a cube mesh. This makes an awful amount of triangles, which then take time to render. This is also how GZDoom renders voxels by default.
Team uses Qubicle to convert voxels into 3d models, and thankfully - it's not awful! Qubicle will do it's best to group voxels into larger chunks, making big block meshes resulting in A LOT fewer triangles.
The other option would be to use the bad converters and clean up meshes manually... which is just unfeasible, and the game probably would have a lot less voxels
It's honestly really really bad with how GZDoom claims to have voxel support then does things like this but I do respect the team for trying their best to optimise the voxel models. It's a shame that even after all these years, Graf and the other contributors haven't implemented proper voxels like the Build engine which has them SINCE THE 90S!
Palandus Jun 10, 2024 @ 11:31pm 
Originally posted by Dev:
Originally posted by Fix:

A lot of voxel -> 3d model converters are awful. Truly dreadful.
The "easy" approach is to turn each voxel block into a cube mesh. This makes an awful amount of triangles, which then take time to render. This is also how GZDoom renders voxels by default.
Team uses Qubicle to convert voxels into 3d models, and thankfully - it's not awful! Qubicle will do it's best to group voxels into larger chunks, making big block meshes resulting in A LOT fewer triangles.
The other option would be to use the bad converters and clean up meshes manually... which is just unfeasible, and the game probably would have a lot less voxels
It's honestly really really bad with how GZDoom claims to have voxel support then does things like this but I do respect the team for trying their best to optimise the voxel models. It's a shame that even after all these years, Graf and the other contributors haven't implemented proper voxels like the Build engine which has them SINCE THE 90S!

The build engine only supports it because it pre-bakes almost all the lighting into the terrains. When you want dynamic lighting, it generally doesn't work in Build engine, but it does in GZDoom. If they baked almost all the lighting, then the voxels would likely work fine in it, but almost nothing would be dynamic or could be changed.
Nexxtic  [developer] Jun 10, 2024 @ 11:34pm 
Originally posted by Dev:
Originally posted by Fix:

A lot of voxel -> 3d model converters are awful. Truly dreadful.
The "easy" approach is to turn each voxel block into a cube mesh. This makes an awful amount of triangles, which then take time to render. This is also how GZDoom renders voxels by default.
Team uses Qubicle to convert voxels into 3d models, and thankfully - it's not awful! Qubicle will do it's best to group voxels into larger chunks, making big block meshes resulting in A LOT fewer triangles.
The other option would be to use the bad converters and clean up meshes manually... which is just unfeasible, and the game probably would have a lot less voxels
It's honestly really really bad with how GZDoom claims to have voxel support then does things like this but I do respect the team for trying their best to optimise the voxel models. It's a shame that even after all these years, Graf and the other contributors haven't implemented proper voxels like the Build engine which has them SINCE THE 90S!

We do not render them as .kvx voxels, we render them as a proper mesh which is entirely handled by the GPU.

This takes a massive amount of losd away
ToJKa Jun 11, 2024 @ 6:26am 
Originally posted by Nexxtic:
Originally posted by ToJKa:
Fits the retro theme of the game. Also, can GZDoom even do any other kind of 3D models?

Considering the dismemberment and other stuff, i guess the enemies won't ever get voxelized?

Also go play Voxel Doom 2 once you're done with this :steamhappy:

Lets me copy & paste something from the Discord chat!

Unfortunately, this is extremely unrealistic for Selaco.

Voxel creation is incredibly labor intensive. The only reason it worked for Doom was because enemies only have like 4 animations. This took Cheello over a year to make, and that's with a limited set of sprites.

Our enemies have like 50 animations at 3x the resolution and are way smoother, making it impossible to voxelize without the whole thing looking jarring.

Also performance. Every voxel is it's own model.

It would mean having hundreds if not thousands of models that need to be constantly swapped out in real-time

So even if you, somehow, get 300 artist to work on this, the technical aspect is still disastrous

Do remember that every voxel frame is essentially remade from the ground up. It's why it takes so long lol. There is no rigging system

Yeah, makes sense. Well, no worries, the sprite art is quite good looking.
hipshot Jun 11, 2024 @ 10:21am 
Originally posted by ToJKa:
Fits the retro theme of the game. Also, can GZDoom even do any other kind of 3D models?

Considering the dismemberment and other stuff, i guess the enemies won't ever get voxelized?

Also go play Voxel Doom 2 once you're done with this :steamhappy:

The voxels here are just regular models (pretty sure?), so any sort of models work, regular "non voxels" probably has a lot less performance impact, but it's all visuals, if it's made for the looks, then it works.

I would have looked into making corpses into voxel models (no animations required), I think that would look really good, maybe for the future?
Last edited by hipshot; Jun 11, 2024 @ 10:21am
Nexxtic  [developer] Jun 11, 2024 @ 10:44am 
Switching a sprite to a voxel is very jarring. I'm personally not a fan of using voxels for humanoids.

The models are true voxels. They are made block by block by our artist, then turned into a mesh to boost performance.
hipshot Jun 11, 2024 @ 11:45am 
Yea, I meant that, converted.
Well, it's all good anyway so, the game overall looks very polished and good so =D

Maybe I can ask Nexxtic, did you do anything in the engine to models, map models, like, I assume you did not work out some better collision handeling/custom shapes? Original gzdoom is very limited in this sense otherwise.
< >
Showing 1-15 of 20 comments
Per page: 1530 50

Date Posted: Jun 10, 2024 @ 7:52am
Posts: 20