We’re making Fantaballous moddable so users can modify and extend it. In this post we show a first advance about modding Fantaballous.

A level in Fantaballous is composed of blocks. Each available block is defined in a YAML file, so users can modify blocks and create new blocks. An example of a block definition:

name: Cube
mesh: mesh/cube.mesh
collision_shape:
type: box
d: [1, 1, 1]


Explanation of some properties:

• name: The name of the block that is displayed in the game.
• mesh: Path to the file that defines the graphical shape of the block.
• collision_shape: Defines the collision shape of the block. This is the shape used by the physics simulation library.
• mass: Mass of the block (kg).
• body_material: The material of the block (stone, wood, metal and so on). At the moment it’s used to play the right sounds on rolling and impact.

As the game is still in development, this information isn’t definitive, but you can get an idea about how things are going on.