To update from a Humble Store account, search your email for the download page link, or request a new one here
Added: Animation object type
Added: Object paint modes: solid, empty
Added: Camera-independent objects
Added: Resource tree with folders / Objects referenced by global id
Added: Undo/Redo resource structure operations
Added: Load/Save any branch of the resource tree (replaces vobs)
Added: Select multiple custom objects and delete/copy/cut/paste
Added: Crate (for testing physics -- not exposed yet)
Added: Wider side panels and extra palette slots for future expansion
Added: Model Data Exporters (obj, pov, txt, png)
Added: Water Test
This update contains new resource management, tools for making animated objects, and model data exporters. Not much of the new code is exposed yet, and over the coming months I'll trickle out new object types (pickups, doors, players, monsters, music) and roll out the new physics (throwable, stackable, pushable actors).
There is a *LOT* of new machinery grinding away underneath that is not yet mature. I've been doing a lot of bug-fixing the last month, and I'm sure there will be more issues. Designers: please back up your WIPs frequently! -- and let me know if anything dangerous happens so I can get a fix in quickly. As usual, old BBS levels should be compatible.
This cartridge has been released by the author under the
creative commons license
CC4-BY-NC-SA. You are free to
remix and share it for non-commercial purposes, provided that
attribution is given and that derivative carts use the same
here for more information.
I also left an experimental water base type in there that you're welcome to use in levels, although future versions of water won't look / behave exactly the same.
I'm interested in getting feedback on the new resource management interface. You can now organise objects in folders, including animations (which are really just a special kind of folder).
New sections of vox.txt
Always present at the bottom right of the screen is the navigator. This
allows you to browse and manage resources like models and actors. There
are five tabs; the model and objects tabs are for objects that belong to
the level, and the last two (actors/items) are fixed internal objects
that can not be edited.
To open a folder: double-click (or select and click the open button)
To edit an item: control-click (or select and click the edit button)
To set the cursor position in a tab: click between objects
To select an item: click on it
To select multiple: hold shift
To move selected items: click and drag, either to a cursor position
(insert) or to another item (drop at that absolute position)
To move selected items between folders: Ctrl-C/Ctrl->X/Ctrl-V
Check the descriptions on the navigator buttons to see which operations
are possible. If an operation can not be performed (e.g. loading an item
into a read-only folder) it will be greyed out.
Special objects such as animations are actually just folders. To see
the contents of the object (e.g. animation frames), just double click
on it as you would a folder. To edit the properties of the animation,
click the edit button OR click on the object's button in the crumb
navigation (animation show up as orange)
Navigator operatios (move, cut, delete etc.) can be undone and redone
as usual, but the undo stack is cleared when the navigator loses focus.
To check if something can be undone, look at the UNDO/REDO buttons at
the top right. If they apply to a navigator operation, the icon changes
to include a little grid of squares to indicate this).
The new style of resource management (from 0.2.2) is still a work in
progress. There are some left-over relics; custom players still need
to use the default folder 6. If something weird happens, please let me
know (email@example.com) or post about it on the BBS. It should be
pretty stable, but you should back up more than usual until 0.3!
Animations can be played in the room like props, but do not interact
with the player or any other actors. They are useful for things like
You can create an animation by first creating a new object (PROP) and
then selecting TYPE:ANIMATION. Workflow looks something like this:
- create an animation
- give it a name (e.g. "Tree")
- double click the new object to open it (animations are like folders)
- add a new frame ("Add New Item" button) and choose a size you like
- add some more frames (they will inherit the same size)
- draw something
- click on the animation's organge item button to edit properties
Duration: How many world frames to play the animation for. The world
runs at 120fps, so 240 would display the animation for 2 seconds.
Use zero to play forever.
Frame Length: How many world frames to show each animation frame for.
e.g. 15 would display 8 animation frames per second (120/15).
Play Style: Loop the animation forever or play through once. If you use
"play once and hold", the last frame is held until the animation expires.
Paint Mode: How to draw the animation into the frame. Paint solid only
draws onto map voxels that are solid (e.g. an animation drawn onto a tv
screen that disappears as the tv is destroyed). Paint empty only draws
onto map voxels that are empty (e.g. a curtain that shouldn't intersect
Random Staring Frame: Choose a random starting frame to stagger the
animation. For example, if you're making a single blade of grass blowing
in the wind, you probably don't want it to be syncronised with ever other
blade of grass.
Draw in Screen Space: Always draw at the same part of the screen, no
matter where the room camera is. Not so useful yet, but can be used for
things like story overs, or room titles that introduce a location.
Use the console to export models or in-game screenshots. To bring up the
console in-game, hold down both shift keys.
useage: export [filename]
Format is guessed from extension: obj, png, txt, pov
e.g. blah.txt will be saved as raw data in a text file.
File(s) are saved into the most recent voxde directory.
obj: A wavefront .obj/.mtl pair are saved.
png: A set of slices are saved as a single png
Include '%d' somewhere in the filename to split into one png per slice.
pov: A POV-Ray description is saved with some default lighting
txt: A text file with raw values is saved:
width height depth
r g b // x 256 lines. one for each palette entry
raw voxel data, 40 space-separated decimals per line