Hi, I had some emails about my youtube video of my voxel game engine (voxel renderer + 3D sprite) in development, so I will explain about it here.
This below was the beginning (4-5 years ago), this was my prototype renderer written in Delphi(+DirectX). My main aim for this work had always been to make 3D versions of 8bit classic games (sort of similar in concept to the Metroid Cubed voxel thing.) I had also heard about Voxlap around that time as well. http://www.youtube.com/watch?v=CLW3bsjY1gk
The Delphi code was slow, mostly because it was unoptimised, but also the language was limiting (no bit manipulation etc). So, I rewrote it first as a shader code (GLSL) on my imac hoping to run it on the GPU. Unfortunately, the graphics card in my imac kept on falling back to emulation mode, so it simply did not have enough performance to do the rendering. So, I rewrote it again in C++. (It is still a software voxel renderer, with SDL for convenience, and Open GL for 2D drawing in the end. So it is cross platform at source level, I have managed to make OSX and Linux builds, but can't seem to compile for Windows...) This video is the first C++ version rendering 128^3 voxel world with 3D sprites. http://www.youtube.com/watch?v=TpkI_r216ys Then, I thought it was a bit too small, so I made it 256^3. http://www.youtube.com/watch?v=-v6ERb_CHbg Then, I played with it importing an MRI scan data... http://www.youtube.com/watch?v=8d-m1QkY3ww And scrolling demo. This is now also multithreaded, to compute each half of the screen in different thread making use of the dual cores. (It gave significant increase in performance, so I can keep on splitting the work for quad core and 8 core macs...) http://www.youtube.com/watch?v=DFdYVSd4y44
Its development has been slow because I only work on it after work, and so I might only have put around 3 man months in total.
Anyway, about the method used for rendering the bound cube of 256^3 voxel data + 3D sprites, it is doing a standard ray casting (as in first ray of ray tracing) in 3D, with early ray termination, empty space skipping, multithreading, etc, with a lot of optimisation but there are still some scope for optimisation (SIMD vectorization etc). I am now hoping to write a game with it next, as I think it is running at reasonable speed. So hopefully that will come very soon.
Thanks again for this great forum to meet and chat with people with deep knowledge about voxels!
IJs at
Re: my Voxel Game Engine in development
Looking forward to see the capabilities of this engine in a demo. I can imagine it must've been a great learning experience.
Hamtaro at
I've continued to develop my voxel game engine / renderer (slowly), and there are some significant changes since my last post (2.5 years ago!), so here is the update:
This youtube video shows most of the current capabilities of the engine/renderer. http://www.youtube.com/watch?v=y01NeC3QfFs
And the detailed spec is on my web site: http://www.voxelgames.com/
In short, the engine had lots of speed optimization, removal of a lot of graphical artifacts, addition of a 3D tile system to make game development easier and lots of bug fixes.
I'll work on capturing a video of stereoscopic 3D with voxels next.
Thanx
Hamtaro at
I've now uploaded a stereoscopic 3D video of my voxel renderer on youtube. I hope it looks 3D to you...
That's looking pretty good, I'd be willing to help out in making a game, I've been itching to get something done with voxels.
Hamtaro at
Thanks, I was impressed with that dungeon thing you made with Evaldraw. I've seen your other demos with other tools as well. I'll write to you directly about making a game with my engine, but I have some semi related Voxlap/Evaldraw questions that you or others might know the answers to.
- did I see somewhere someone was porting (rewriting in all C for porting to other systems) Voxlap/Evaldraw? - or did I get confused with a some kind of hardware accelerated version (running on GPUs)? - if ported, would Voxlap run on iPhone? - is there already a lib/dll version of Voxlap to be used with other PC based development environment? - nearly all demos for Voxlap/Evaldraw are FPS, but I guess they can be used to make games that have the looks of retro 3D remake of NES games (like what I'm doing) by pulling the camera back for third person view, and having 16^3 3D sprites?