- Building tooling around composable LLM conversations in my TDI project
- Learning about functional programming and building out some web and testing related infrastructure for it browsable at my Unison Share page - https://share.unison-lang.org/@jcwilk
- Crypto research
- Figuring out how to leverage fractals to make games without it being gimmicky (mandel6 currently)
Very incomplete, but these are the most fun to play with. I will likely continuously update this list with fancier gifs and more thrilling descriptions.
My first end-to-end prototype that goes from intro to ending sequence. This is based on an idea I had about representing getting close to people via dating as JRPG-style combat where you have to figure out and manage metrics that are only indirectly measurable through your "opponent"s words and actions. Conquer all the boys and stock up on accessories to land your dream beach hunk 💅🏖️💞 Lots of fun with promise-driven tween chains in this one.
A prototype about the terror of other people as we go about the tedium of our day. This was basically an excuse to implement a (sloppy) 3d engine on top of a 2d engine (pico-8). Because it's so horribly inefficient I had to implement some kind of interesting lossy optimizations, it basically skips rendering certain columns of pixels and renders the other ones nearby as wider to fill in the gaps which leads to a somewhat pleasing shimmering effect when things get too busy in a certain part of the screen. Social stress leads to panic attacks, pixel deconstruction, and fisheye effects. Side effects of demons may occur.
A quick protoype towards an idea I had about a world that was entirely covered by roads without destinations, just traffic all the time. As we all know though, traffic can be influenced by causing accidents which can be a very effective way of deterring police from interfering with your progress. They tend to respond quickly and firmly to transgression though...
My first foray into mandelbrot generators. This one is pretty straightforward but it has a fun tile-based continuous rendering method you can see below.
My first webgl project. Turns out graphics cards are really good at calculating mandelbrot sets! This one renders a fixed iteration limit and allows you to wander around and zoom.
Time to get weird. This takes a bastardized version of the 3d-ish renderer from Anx to see the mandelbrot set growing out of the ground in 3d. It's pretty rough around the edges and you have to really work for it to get any particularly thrilling vistas, but still a reasonably pleasant hellscape to exist in for some time.
An expansion of Mandel2, this time with continuous iteration. While moving it stays fixed but while stationary it continues iterating nearly endlessly. Very pleasing to find a deep spiral to let it churn through for a few minutes, and fun source material for making gif loops too. It keeps updating the URL to be your current position so it's easy to share your favorite spots just by copying from the URL bar.
I was curious about how to make multiple mandelbrot sets "collide" with each other, or how one might be able to link together many mandelbrot sets into a fractal field of sorts. This went through a lot of iterations. I started out trying to do a universal-law-of-gravity-inspired approach where each mandelbrot origin would all tug on orbits as they happened and with a lot of fudging I could get interesting results, but it didn't feel right because it was bastardizing how fractals work and the emergent shapes were too directly resultant from the arbitrary limits my code was imposing. Instead, eventually I settled on an interesting approach where it keeps track of a number of orbit possibilities and keeps testing them all as they fork and lead to new possibilities. The longest lasting hypothetical path ends up being the one counted. This leads to satisfyingly nuanced interactions between mandelbrot sets that are a good distance from each other. Below is a gif of moving one of three mandels back and forth, and then zooming in on the nuance of an overlap to see how it changes as the mandel continues to shift.
Update: the difference between tracking only the orbit closest to its nearest origin vs tracking a pool of orbits for each iteration was pretty negligible, but there's a pretty huge difference in performance so I just set it to only track one orbit for now. Turns out another important thing was raising the max orbit range to be larger, still figuring out what the right size of it should be... Seems like somewhere around large enough to encompass the whole area of objects is ideal but scaling individual mandels up and down throws a bit of a wrench in that. Tried adjusting the max orbit range for each mandel but having too tight a range is just ugly and very unfractal-like. As-is it's coming together nicely, nearby fractals can be seen in the details of their neighbors sort of like a hall of mirrors. There's definitely some potential here for a really mind-bending game universe.
Basically a realtime/hires upgrade of Mandel5 into webgl, plus extra interactivity bonuses. You can click or tap and hold to create new mandels wherever you want and drag them around as they grow to see how it makes things shift. Once you release the pointer it'll freeze in that spot until you reload the page. Currently zooming in and making very small mandels is a bit buggy, but buggy fractals can be interesting too ;)