2017 in review
New Libraries
github.com/selfsame/soa
A clojurescript structure of arrays datatype. These are immutable collections of data with low memory usage (much lower than vectors of records). Designed with mentorship by Brandon Bloom.
github.com/selfsame/tenlet
A clojure telnet library with handlers for some of the fancier telnet protocols like single key input and client terminal sizing. If you're looking to make a MUD with clojure, this would be a great place to start.
pico8 libs
Three tiny pico8 code libraries. I also ported Wave Function Collapse to Lua, but didn't release it as the pico8's integer limitations make it unusable for non trivial patterns.
New Tools
open VR sculpting app
A fork of the webgl based SculptGL for VR.
Works with both the HTC Vive and Occulus Rift, but it's a pretty "bare boned" adaptation with no 3D interface. The neat feature here is mesh-surface sculpting in VR, which IMO allows for a better control of detail and form than the current signed distance field based VR tools.
github.com/arcadia-unity/ArcadiaGodot
Now that the Godot game engine embeds mono, it's possible to use clojureCLR. This is a very minimal adaptation of Arcadia, which brings clojure to the Unity game engine.
New Games
Swapland
This year's Arcadia community's Procjam entry. We had a novel idea (top down shooter where you become what you kill), solid planning for how parts were defined and combined into entites, and an interesting way to define AI behaviour from timeline state machines.
writo
A tradition on tilde.town is making interactive toys for the terminal. Writo is a telnet based multiplayer graffiti wall. Users can walk around and write things.
Prototypes
Following some work making an in game Unity Clojure repl, I tried out a VR "marimba style" keyboard version. Typing feels ok, if a bit slow. The error messages were pretty cool, as they would stretch out into the horizon.
This is a bit of a novel concept: 3 Dimensional VR snake. The snake follows the orientation of the handheld controllers. Spent quite a bit of time getting the clojure code down to 0 memory allocation during updates, which worked thanks to the Magic compiler.
Sculpting
I managed to do some digital sculpting here and there, mainly with Oculus Medium, Sculptris, and Blender.
Miscellanea
- wrote a Procjam tutorial on Wave Function Collapse
- a javascript joke went a bit viral
- updates to tilde.town/~selfsame and selfsamegames.com
- contributions to github.com/nasser/socket and github.com/arcadia-unity/Arcadia/
- handful of Mastodon bots