Voxels in jMonkey?

I’d like to mess around with a voxel engine, and see what sort of cool stuff I could do with it. Originally, I was going to use Ken Silverman’s Voxlap engine (http://www.youtube.com/watch?v=XaUt31ooCXs), but found it nearly impossible to even begin to compile the code, much less understand it. A friend suggested I look at jMonkey. I’ve been browsing around the documentation and forums, and it seems that jMonkey supports voxels in some way. However, the only examples I’ve seen have been of the larger Minecraft-esque blocks. I’d like to do stuff on a smaller, per-pixel scale (like in the above video). So I’m wondering if it’s worth learning jMonkey, or if this isn’t the kind of engine I’m looking for. Also, I was wondering if the engine features any resources for things having to do with NPC AI (such as motion planning, line of sight detection, etc), or if that all needs to be hard coded.


Nice combination of lag and looking very bad.

Thank you for your useful and well-thought-out reply.

Well, given how laggy that video is, it’s probably just doing the same thing as a minecraft engine just scaling down the blocks and using solid colors.

Either way, this requires generating a custom mesh from an array of voxel data. I don’t know of any engine that does this for you (and there is no one size fits all solution anyway so I wouldn’t trust it if it did). Once you’ve wrapped your head around making the custom mesh, JME doesn’t stand in your way… in fact in many ways, it stays out of the way and let’s you get down to business.

I’ve messed around with the demo shown in the video, and it actually runs at a very consistent 60 FPS even on my crappy rig. In fact, the guy who uploaded the video even makes mention of this in the description.

Sounds like I’ll be able to work with JME, though. And I just found out that someone did a voxel framework addon for the engine (http://code.google.com/p/jme3-voxel/), which might help as well. I primarily want to use voxels to make use of the full destruction they offer. I want to do an FPS where you can put actual bullet holes in the walls, etc. It wouldn’t be a large exterior world.

I’ll just start playing around with jME and see what it offers. After I’ve seen some of the features, I might want to use it regardless. Filling a room with physics objects would be just as satisfying as having a room that you can punch holes in.

Yeah, at any rate the amount of voxels drawn in that video didn’t seem prohibitive. At largest clip, Mythruna renders an area of 400x400x160 voxels or so. Even if those were a tenth of a meter voxels you’d still have a pretty sizable indoor area.