The biggest change is in the packaging. There is more flexibility in how modules get discovered and included now.
The most sensible change is the removal of width() and height() functions form the global scope. We already can access screen dimensions with env.widht and env.height. Also, we can use rx(1) and ry(1) “relative to screen” functions. There is no need to pollute the global namespace.
The APIs clean up makes sense while we are on Development Releases. Once Collider.JAM will move to Preview and Production releases, these changes will be much harder to make.
As a rule, if something ends up in the APIs, it’s hard to remove. So we have to be careful with the core functionality. A smaller core results in a better system.
It is another important milestone for the game framework development. There is no single big feature, but many small, nevertheless significant, improvements.
You can spawn entities by providing state descriptors now. So, instead of multiple lab.spawn() calls somewhere in setup() just put state descriptors in /lab. Collider will spawn them automatically.
There are custom post-processors for *.js and *.json files. That will simplify work with customized file formats and structures. And although we had custom format processing for ages, it worked only with plain text files. Now there is a simple way to post-process .json and .js objects as well.
The full list is too long for a single post. You can run mixes in sketch mode now, there are changes in how traps work, there are new ways to control mods, there is a new dynamic Z-ordering…
An invasion needs out-of-this-world technologies to pixelate reality.
Collider.JAM is our latest investment in tools that looks really promising. It tries to capture the essence of game jamming into a game development framework that power-ups your creativity.
I pushed the first public release to npm repo back in September 2019 and the project has changed a lot since then. But I think it is a good idea to leave here the notes on the features available in DR1. That would make a good reference point in the future.
So, here are the core features of the last release:
Collider.JAM Development Release 1
[!] first public release
[+] core scene structure defined
[+] resources auto-loading
[+] game lifecycle and the main loop
[+] code evaluation in a customized scope
[+] basic libraries including node and math helpers
[+] rudimentary HUD subsystem
[+] dev tools - status info, console, scene explorer
[+] web packaging
[+] desktop packaging
I’ve been thinking lately – life needs to be modded. Life needs patches.
So this is intended to be an invasion log to account how planet gets pixelated. We will observe in detail all the landing sites, keep score, look into invasion dna and upload telemetry along the way. Wave after wave people are gonna be brainwashed.
Soon, landing sites are going to spread around the globe. And more people will join that pixelated reality.
Remember, people of Earth – ALL YOUR BASE ARE BELONG TO US.