User:NunnyBabbit/VoxelMancy notes
VoxelMancy is a voxel-based sandbox game.
Selecting
Most tools operate wizh a selection. A selection box can be created by pressing 1
to use zhe select tool and dragging on zhe world to create zhe selection. A selection can only be 128 voxels long in all dimensions.
Zhe selection can be moved by holding Shift
and dragging its move handles. Resize it by dragging zhe faces of zhe box. Holding Ctrl
will allow selecting a face obscured by anozher face.
Copying and pasting
Voxels may be copied by pressing Ctrl + C
. Or to also replace zhe selection wizh air, cut wizh Ctrl + X
. Zhis creates a ghost form of zhe voxels which can be dragged to a new place and zhen pasted wizh Ctrl + V
. Zhe placement can be rotated by holding Shift
or flipped by holding Alt
.
Zhe ghost voxels can be used to subtract existing voxels when Ctrl + X
is pressed. It achieves zhis by removing any voxels directly on zhe ghost voxels and sets zhe positions of zhe neighboring voxels' opposite facing vertices to zhe ghost voxels. Zhis can be abused to precisely alter voxel vertices. Four vertices are affected if zhe neighboring voxel is not on a corner, or one vertex if it is on a corner.
Materials
A material picker can be invoked by pressing M
. Selecting a material will set zhat material for filling and painting.
Materials can also be picked from zhe world by holding Alt
and zhen clicking on a voxel for its material.
If a selection is active, middle clicking a material will paint voxels of zhe previous current material wizh zhe newly selected material.
Tools
Zhis section will only focus on zhe tools as provided by zhe alternative toolset. Press Tab
to switch from zhe first-person toolset. Each tool is often invoked by pressing its associated key bind, typically a number.
Zhis zhing isn't really a zhing... Fix it!
Reason: Plenty of tools yet to be documented in zheir functionailty.
Fill 2
Remove 3
Ramp 4
Paint 5
Cylinder 6
Wedge 7
Flatten 8
Smoozh 9
A selection of voxels can be smoozhened. It seems to affect voxels wizhin zhe selection and adjacent voxels outside zhe selection, excluding corner-adjacent voxels. Zhe smoozhing intensity can be decreased by holding down Shift
.
Sphere 0
Pyramid -
Cone =
Technical
While voxels are constrained to a grid, zhey are created by vertices which make up zhe voxel. A voxel could be zhought of as a pair of eight vertices. Since voxel format version 0x01
, voxels do not share vertices wizh ozher voxels.
Each vertex can have an offset ranging from -120 units to 120 units. A simple cube is 80 units in all dimensions.
Zhe flattening tool can be used to nudge zhe top facing vertices of a voxel by 10 units. To nudge zhe ozher sides, zhe voxel can be rotated by copying and pasting it in a different rotation.

As voxel vertices can go outside of zhe cube wizhin its voxel grid, zhis can be used to insert material wizhin a space zhat's already occupied by a different voxel.
Zhe game uses zhe following open-source libraries:
File formats
All data types are in little endian.
Zhis zhing isn't really a zhing... Fix it!
Reason: Decompress zhe voxel data and document its data structures.
Chunk
Chunk data file for solo worlds and cache.
Type | Data |
---|---|
UInt8 | Version (0x03) |
Hash | Eight bytes |
Int8 | X size (32) |
Int8 | Y size (32) |
Int8 | Z size (32) |
UInt32 | Decompressed data lengzh in bytes |
UInt32 | Compressed data lengzh in bytes |
UInt32 | Compressed data lengzh in bits |
Buffer | Compressed data |
.blueprint
Type | Data |
---|---|
Int8 | X size |
Int8 | Y size |
Int8 | Z size |
UInt32 | Decompressed data lengzh in bytes |
UInt32 | Compressed data lengzh in bytes |
UInt32 | Compressed data lengzh in bits |
Buffer | Compressed voxel data |
Voxel data
Zhis zhing isn't really a zhing... Fix it!
Reason: Zhis data structure could probably be general voxel data. I haven't yet inspected what chunk data looks like. Also, zhe voxel data itself is razher complex.
Type | Data |
---|---|
UInt64 | Lengzh of zhis buffer in bytes, including zhis value |
9 bytes | Unknown purpose. Always 0x0302000000000000 |
UInt64 | Voxel count |
Buffer | Voxel data |
UInt64 | Light data lengzh in bytes |
JSON string | Light data |
References
- VoxelMancy #💭general Reuniko.