I’m happy to announce Collider.JAM Development Release 10.

It is a massive release baked for almost 4 months. The changelog alone is bigger than any of the previous ones.

A lot of effort this time went to simplify project bootstrap. You can now use jam init ls to list all available samples:

mkdir next.mix
cd next.mix
jam init ls

The last command will scan installed modules and list all available samples. By the way, jam init list or jam init help would also work just fine. I’m trying to make the cli as user-friendly and forgiving as possible :)

There is going to be one new interesting sample in the list:

* planets - bouncing planets sample

Bootstrap the project with:

jam init planets

Collider.JAM will generate a package.json and other artifacts.

Now you can run the project:

jam play

A browser should open with a flying planet. Click on the screen to spawn more planets.

From the features included in DR10 the most interesting is color manipulation.

Now it is easy to transform string color descriptors back to rgb or hsl representations and also manipulate colors with lighten(), saturate(), and shiftHue().

It can be used to simulate light effects and manipulate sprite colors (e.g. colorize multiple teams from a single source sprite).

There are also helpful utilities included in this version. Like obj.toData() to simplify JSON object serialization and lib.array.prev() and lib.array.next() to walk over the elements of an array.

There are some compatibility-breaking changes in the APIs (like _sizable flag was renamed to _rectangular), but it mostly affects Collider.JAM internals like HUD subsystem and shouldn’t break client code in most of the cases.

The APIs look stable and ready to migrate to the stable Alpha-release branches.