Doom voxel project
The Doom Voxel Project is a modification which provides most of Doom's items in a three-dimensional voxel format. It began on February 23, 2004 after precursory discussion on a thread posted to the Doomworld forums by Tony Lindberg (Ghostpilot). Several forum members expressed interest, and Lee Wallis (DooMAD) joined the project.
Regardless of suggestions that such a feature would never be supported in any source ports, work continued on the project. A web page was setup in order to demonstrate progress, but it remained online only shortly, and development of the project ceased for several months. The project was revived on January 1, 2006, when DooMAD created a new webpage. It then lapsed into quiescence again.
A final revival occurred in October 2010 when Stroggos expressed his intent of coding voxel support into a Doom source port. The prospect of actually being able to see these voxel models in-game renewed interest in the project, spurring the creation of new models and the arrival of new contributors. This in turn motivated Marisa Heit (Randi) to port the Build engine's voxel rendering code to ZDoom, which was followed by Graf Zahl with support of voxels in GZDoom's OpenGL renderer. Simultaneously, voxel project appeared as well in other retro-gaming communities, notably the Rise of the Triad and Daggerfall communities, kindling the hope that through open source and collaboration, solid voxel support will be implemented in many ports. This has yet to take place, due to a continuing paucity of suitable implementations that do not make use of code which is encumbered under non-free licenses.
As of August 17th 2022, a version of the project has finally been completed for Doom. The sprites were recreated by mod author Cheello. Items, enemies and objects have all been recreated by hand. This includes fired rockets, but no other projectiles, as well as weapon pickups but not first-person weapon sprites. The author is currently working on covering the Doom II sprites.
Problems to overcome
It is often claimed that voxels are inherently incompatible with OpenGL rendering, which many Doom source ports now use. This problem was solved in GZDoom by converting voxels to the already-supported MD2 model format. A Shadow Warrior Port by ProAsm proves that voxel objects in hardware accelerated 3D engines are possible.
There is no accurate way to automatically convert a series of Doom sprites to a 3D voxel model. The work must be done by hand, which is very time consuming.
Voxel objects have been used in Shadow Warrior and Blood – two games based on an enhanced Build engine which was originally used in Duke Nukem 3D. There is also a Wolfenstein 3D-inspired open source game called Voxelstein 3D, which is using the VOXLAP engine by Ken Silverman, programmer of the Build engine.