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.
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