2D/3D Voxel Engine Idea for 2D Games
BlitzMax Forums/BlitzMax Programming/2D/3D Voxel Engine Idea for 2D Games
| ||
Thought of an idea for an engine for 2D games that would render semi-volumetric sprites built up in, say, 24x24x8 voxels. If culled well and turned into display lists this could look quite nice. The tilemap and background display could be done with a combination of billboards, texture mapped cubes and voxel objects. This method would allow lighting, materials, shaders, nice fast display on any reasonable hardware and extremely simple asset creation using a special sprite editor that would display the voxel model and allow selection of Z level using the mouse wheel or somesuch. There would also be semi-3D views without having to do isometric art for numerous character angles. Think of a Diablo-like game done in this way-- how easy the asset creation could be. This wouldn't be primarily intended for first person games but for platformers, top-down shooters, roguelikes like Gauntlet, etc. That said though, you could very easily move the camera and make a first person game using an engine like this. I don't actually know how this would look. The idea would be that the voxels would be roughly as large as pixels in a pixel art game. I think this could be a great way of doing nice looking 2D games in a way that would exploit semi-modern graphics cards and would run well on mobile devices (in Monkey.) Thoughts? |
| ||
It certainly triggers one's "interesting sense", but having difficulty visualizing the workflow... can you maybe make a mockup or diagram? |
| ||
Imagine a sprite editor where the mousewheel moves the z slice you are currently working on, up and down. So instead of drawing on a 2d array, you are now working with a 3d array. But only one slice at a time so it's not very different from editing a normal sprite, except for the fact that by building up slices, your sprite is volumetric. I actually wrote such an editor a couple years back, I think I will do it again. |
| ||
While this works for things with the looks of "paper cut" (layers of colorized papers) it gets problematic for the faces created for a voxel at 1,1,1 to 1,1,2 - this creates 4 new face which might only have a stretched color gradient between the two z-layers. It might work for some kind of 2.5d with only a slight variation in POV. bye Ron |
| ||
Do you mean something like how Cube World models are done? |
| ||
While this works for things with the looks of "paper cut" (layers of colorized papers) it gets problematic for the faces created for a voxel at 1,1,1 to 1,1,2 - this creates 4 new face which might only have a stretched color gradient between the two z-layers. Ideally the editor would handle tesselation into triangles on save, or the engine on load, and I wasn't thinking of having smoothing between colors anyway. |
| ||
Like vangers? They called it voxel-polygonal technology |
| ||
I was actually thinking of something substantially more primitive than that... I need to get some time ahead to start working on it. |