Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Stroggos

Voxel Doom Port!

Recommended Posts

Recently I've been working on a test game fro Ken Silverman's Voxlap engine. As a programmer myself I am fascinated by the idea of voxels in games especially classic ones like DOOM. The reason for this is mainly because I love the game BLOOD with a passion and voxels gave it a certain edge. Maybe and edge that DOOM could use?

For about a week I have been contemplating what to do for my next project. I have thought about every aspect of it from file naming conventions to what port I'm gong to base it on.

For many reasons I cannot use a port that utilises OpenGL AT ALL if you know voxels you'll know why. So out of the many ports available I have really broken it down to two... ZDoom and Chocolate-Doom.

ZDoom here is probably the most obvious as it has all of the features but Chocolate-Doom has a certain charm to it I think. So in actual fact I have chosen Chocolate-Doom but right now I feel it's down to a community vote. I think I would require a team of programmers to get this thing of the ground and also a whole bunch of community members to feel like it's a good enough idea right now. Doom64 Ex for me at the moment is not a direction I want to be heading. I want to do something new and exciting and Voxel supported DOOM port seems the way to go!

So if you are interested in my idea, not really a completely new one but it hasn't been done just yet, don't just think yeah it's a good idea please post and express what you think.

Share this post


Link to post

Neat!

I don't think Chocolate-Doom would probably be the best way to go. Adding new features like voxel support doesn't really fit within Chocodoom's mission, and so they'd be highly unlikely to be merged into the main Chocodoom source, remaining as an obscure branch of it.

A moddability-focused software-rendered port such as ZDoom or Eternity Engine would probably be your best bet. They both use heavily modified or rewritten software renderers, but the rendering methods themselves are still very much in line with Doom's.

ZDoom's software renderer is somewhat of a mystery to me, so I'll let someone else discuss it, but Eternity's "Cardboard" renderer is cleanly-written, fast as hell, and very high-precision.

Share this post


Link to post

Sounds like an interesting idea. How would this work with the current sprites? Would objects have to be created from scratch?

Share this post


Link to post

I would probably second Eternity as a base. It has a very nice software renderer and this seems like a feature that would fit right up that alley. Who knows, with your help voxel support might even find it's way into Eternity itself, and that would be seriously cool given all the neat little things the EE already has to offer.

As for voxel "models", someone actually already started such a project for Doom, and had some of the pickup items finished. I'm not sure if they're still working on them though. I wouldn't blame them if they aren't, because their efforts were of little use to anyone around here.

Share this post


Link to post
EarthQuake said:

As for voxel "models", someone actually already started such a project for Doom, and had some of the pickup items finished.


:D Amazing. Those look much better (more classic?) than 3D models. I hope that this project end ups going somewhere. I'm willing to offer some help, I'm not a great programmer but I know C/C++ and I've modified the code for source ports before.

Share this post


Link to post

Have you thought about how people will actually EDIT these voxely things? Having great support for voxels in a source port is rather moot if there is no decent way to create the voxely content.

Share this post


Link to post
andrewj said:

Have you thought about how people will actually EDIT these voxely things? Having great support for voxels in a source port is rather moot if there is no decent way to create the voxely content.


For objects that already have rotations, it could be automated -somewhat, by silhouetting them and "sculpting" their silhouettes into a "marble block" of voxels. Of course, this would have to be a feature of the engine itself at load time and would work even with PWAD resources.

For objects without rotations...only by hand, or in a limited way by using explicit height/perspective maps. Someone would have to make a decent editor though....

Share this post


Link to post

I cannot believe that I overlooked the Eternity Engine. It does have some very interesting features. So the plan is that I'll start this right after I finish up some other loose ends. But I'll update here and call it Voxels4Eternity!
Can't wait to get this thing started!

Share this post


Link to post
Stroggos said:

For many reasons I cannot use a port that utilises OpenGL AT ALL if you know voxels you'll know why.

Aren't voxels 1x1 sized cubes? Can't they be emulated by producing models of such cubes? Or are they too performance-costing?

Share this post


Link to post
EarthQuake said:

As for voxel "models", someone actually already started such a project for Doom, and had some of the pickup items finished. I'm not sure if they're still working on them though. I wouldn't blame them if they aren't, because their efforts were of little use to anyone around here.


I'm definitely on board if this takes off and can resume work on some of the pickup items. Only problem is, the editor I'm using doesn't handle large items well. It starts to struggle on anything much bigger than a medkit and grinds to a halt on anything player-sized or above. I could give Slab6 another go, but the interface never seemed to make any sense.

I think GhostPilot had also been making some progress on a few items not shown on the voxel project page.

Share this post


Link to post
printz said:

Aren't voxels 1x1 sized cubes? Can't they be emulated by producing models of such cubes? Or are they too performance-costing?



It depends. If you can create a vertex buffer for a voxel model they should be manageable. If you can't the shitload of micro-polygons will sure slow down the engine to a crawl. But those few people still using such outdated hardware don't really deserve better. Any graphics card released in the last 8 years should be able to do it.

Share this post


Link to post

I always found voxels to be a very interesting aspect of Blood. I don't really have much of an understanding regarding voxels or why they can't be practically used with OpenGL, but I guess that doesn't matter if Eterntiy becomes the engine of choice, since it lacks a hardware renderer to begin with.

Good luck.

Share this post


Link to post

I wonder if voxels could be used to create free-form geometry with respect to clipping. Because then there'll be freedom to create something truly elaborate.

EDIT: I'd rather use voxels for creating scenery and stuff like bridges, columns and other detailed objects -- the sort of things that in modern additive FPSs are drawn by modeling not by brushing. Sort off analogous.

Share this post


Link to post
Stroggos said:

I cannot believe that I overlooked the Eternity Engine.

Yes, it is the best choice for your project. It wouldn't fit with Chocolate Doom's goal; and, without an OpenGL implementation for GZDoom, it wouldn't be accepted in ZDoom either.

Share this post


Link to post
Gez said:

and, without an OpenGL implementation for GZDoom, it wouldn't be accepted in ZDoom either.

Their loss.

Share this post


Link to post
Gez said:

Yes, it is the best choice for your project. It wouldn't fit with Chocolate Doom's goal; and, without an OpenGL implementation for GZDoom, it wouldn't be accepted in ZDoom either.



Who said that? The software renderer is entirely Randy's domain. I have no desire to mess around with that code. If Randy finds a way to implement them, fine. It sure isn't impossible to do in GL although I can already see those with obsolete hardware cry foul because it wouldn't run on their systems :D

Share this post


Link to post
printz said:

Their loss.


But Eternity's gain! It would be a great addition to what is already a pretty good alternative interpretation of modern Doom source-ports. This is pretty exciting... the voxel 'models(?)' already made look utterly fantastic and could genuinely circumvent the whole model thing that rears it's ugly head in Doom-land every-so-often. Good luck in your endeavours! :)

Share this post


Link to post

Voxels in a Doom port, especially in Eternity, get a +1 from me. I love the way voxels look and I think they would fit Doom very well.

Share this post


Link to post
printz said:

Can voxel models be rotated at non-straight angles?


Sure. The only place the straight-angle sprites would have some part would be in "sculpting" the original voxels...

and, coming to think of it, they would fit with the software renderer quite well, being able to be rendered as columns just like the other sprites, but with as many angles as walls.

Share this post


Link to post

Looks stunning DooMAD, I had faith that making all those models would pay off eventually :)

Eternity is my favourite port, and voxel support would sure bring a smile to my face. Good luck Stroggos!

Share this post


Link to post

Picures are nice. But can you post a download link so people can mess around with these thing? Also, do you have some specifications about the format?

Share this post


Link to post
DooMAD said:

Progress:



//EDIT: *.png format as *.gif was messing up the colours.


They look MAD!!!!!!!!!!!

The only model I think would be hard would be the Chaingun! But ATM I'm looking and writing little Voxel programmes to test various things.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×