Voxygon (halted)

Voxygon
Login

Voxygon is a LÖVE framework to build experiments and games about the volumetric edition and simulation of polyhedral objects.


Project Status

This project is halted. While very promising, I started to think about another workflow which would be better in regards to simplicity, aesthetics and possibilities1: Orisphere.

There are many reasons leading to this change of direction, so I will just cover a few.

For example, vertex based ambient occlusion was harder than I initially considered because of the tetrahedron based geometry (screen space effects are out of the question with a dynamic 3D view). Generally, a significant amount of complexity was required to achieve a lot of things; geometry generation, chunking, streaming, the long render distance and mega structures, physics, etc. And beautiful shadows are hard; cascade shadow maps for directional lights, shadow cubemaps for point lights, associated with the clustered forward rendering. It was too complex compared to the resulting quality.

I also spent efforts to optimize simple objects stored in the DAG like a plane, where it could just have been a plane primitive in the first place (while removing the ability to make beautiful spheres and curves).

There are other kind of strong limitations with the new workflow, but it is much more aligned with what and how I want to explore and create.


The primary purpose of the project is to develop a simple methodology that I can use to experiment with 3D geometry, world editing, physics and a specific aesthetic. It doesn't aim to be a general purpose "game engine"; not in the sense that it could not be used in many ways, but that it will be specialized to my needs with a collection of techniques that I consider as having the best metrics in regards to simplicity, aesthetic and performance.

The volumetric primitive is not a cube (as can be seen in voxel games), but a tetrahedron. Each cube is decomposed into 24 tetrahedra, which form one square pyramid per face of the cube, oriented towards the center. This allows to build geometry with 90 and 45 degrees angles. To know more about the idea and the need for that primitive, see Why Voxygon? .

The project aims to implement:

This framework, contrary to Teningur, puts more emphasis on a vector simulation (transformations, physics) than on a matrical simulation. However, it could be used as the rendering and physics layer to build such a simulation.


  1. ^ A better point in this multidimensional space of criteria.