You can get Voxel Farm now. For more information click here.

Tuesday, September 29, 2015

All your voxel are belong to you

The same network effect that made cities preferable to the countryside was multiplied as networks have gone all electric and digital. But networks are only as important as the stuff they carry. For a digital network, that would be data.

A very interesting property of voxels to me is their simplicity. The simpler it is to produce, share and consume a data format, the better chance it has to multiply across a network.

This is not only because simplicity makes things practical and easier. I believe you can only own those things you understand. Without true ownership of your data, any hope for its democratic production or consumption is lost.

This is how we see people sharing voxel content:

The data format used here is quite simple and hopefully universal at describing 3D content. I'll get to it in a future post.


  1. If you want people sharing voxel content, then a file format is very, very, extremely important.
    Even more important than clipboard copy&paste.
    You will need a fully featured file format allowing to contain single objects, multiple objects, terrain or even an entire voxel world for ease of sharing.
    And ways to specify the rendering style (cartoonish vs realistic) need to be handled as well as other cases (graceful handling of missing assets in single or multiple file scenario's)

    Of course sharing depends on the tools available for generating and sharing.
    (Generating, viewing and editing content. Not only by voxelfarm itself but an ecosystem of tools around voxelfarm as well.)
    For procedural artists/programmers some API to do scripted/programmatical world generation is an absolute must. A standalone tool with an intuitive, powerful, expressive and easy to understand interface. Such a tool should be able to output files from a headless, standalone (python?) script fed configuration to working very closely with a voxelfarm instance (generating objects or terrain and putting those assets almost immediately into the voxelfarm instance).

    It might even be necessary to provide a free viewer program.

    You will also need to provide some documentation.
    Tutorials about editing objects. Generating terrain. Other such as specifying different rendering styles (cartoonish versus reallistic) used. Including some examples using common rendering styles. How rendering/rendering styles impact the look of assets: what the correct colors, way of rendering is.
    Especially since you provide different art styles such as more cartoonish style.
    Being able to specify lighting model and rendering explicitly as an asset becomes a necessary thing. Rendering becomes less graphical engine exclusive but also a matter of concern in assets.

    1. You have outlined our TODO list.

      I agree with everything above, maybe not so much about rendering. I think the format should be about defining volumetric data. How it is rendered is up to whoever is using the data. For instance you could copy from a scene in a game and paste to a 3D printer. In this video you see how the same structure was copied from a realistic rendering setting and pasted into a cartoonish style.

    2. Thanks for the reply.

      It might be very useful to be able to handle assets that have different parameters for different styles.
      Think PBR versus classic or realistic vs cartoon style.
      Because your engine has these styles it would be nice to have assets that can be dynamic in their appearance too.

    3. Or having LDR and HDR light/other-maps for assets.