We recently launched Pocket Pulp - check us out!
Watch a demo video of it running in a GBA emulator.
In my quest to make Game Boy Advance homebrew games, I created an assembler specifically for coding in ARM/Thumb assembly.
It’s called gvasm. It supports pool literals, compile-time scripting, register renaming, and a bunch of other features!
I spent a couple months searching through hundreds of thousands of functions to find the best hash functions with fewest operators.
The result is the whisky library.
These functions are useful for random number generation, hash tables, checksums, or procedural game development.
Sink is a scripting language I’ve been working on for a while now. It’s a minimalistic garbage-collected language designed for embedding into larger programs, with support for a REPL ideal for debug consoles.
It is currently in beta, and I am working hard to reach version 1.0. I’m really happy with it and think it’s a great little language.
There is also an online demo that you can play with.
The polybooljs library is the result of my research into polygon clipping algorithms. It can clip polygons against each other using boolean operations (union, intersection, xor, difference), and can handle coincident edges.
I’ve been reimplementing sound effects in clean C99 code. It’s actually pretty hard to find easy to use libraries that do things like reverb, dynamic range compression, or equalization filters. Well, not anymore!
The midimap program will intercept MIDI messages on Mac OSX, and manipulate them according to a script.
Some example use cases include: playing a chord when hitting a single key, mapping a sustain pedal to a key, stopping devices from sending reset commands, and printing out intercepted messages.
Check out the demo to get an idea of how the curve is generated. Since it’s a WebAudio node, it can be connected to any other parameter inside the WebAudio API.
I built a basic three oscillator synthesizer using WebAudio, intended to be used as a simple drop-in synth for music experiments.
The library takes a list of points (2D, 3D, or 4D) and returns a smooth curve that passes through the points.