The History of Lyapunovia
“Lyapunovia: Displaying the Juiciest Object in Mathematics.
Lyapunovia is a mindbogglingly colorful program that makes pictures from a simple mathematical formula … offering you everything you ever wanted in visual representation of mathematical abstractions.”
-Me in 1992.
The fractal image used to drip onto your screen pixel by pixel, but now you can fly around it. This program is a bitty remake of the
Lyapunovia Amiga program I wrote in 1992. The old version was a Serious Program with proper menus and the ability to save to floppy the image that your computer could have spent 4 hours rendering.
This new version came about when I saw that a modern computer – or phone – can easily render a fractal like this in real time using the graphics card.
In this new version, I focused on making the user experience fun, on making it pleasurable to navigate around the fractal image. I have also animated the fractal a bit, so the goal is not to arrive at the final image, but to explore a strange animated object.
Backstory
Lyapunov Space fractals were created by
Mario Markus in the late 1980’s, and probably popularized by
Dewdney’s 1991 article in Scientific American.
Having read the Scientific American article, I wrote the Lyapunovia fractal program for the Commodore Amiga in 1992-93. This was just around the peak of shareware, and users could physically mail me payment for a full version of the program, which I’d dutifully send them on floppy disks. Version 1.5 was released the following year, now supporting new Amiga 1200 and 4000 computers with their fancy new graphics chipsets, and switched to a more convenient donation model. (Here is
the original readme file.) I probably sold and received literally *many dozens* of contributions, so I was happy.
After that, a made a
small version for long gone BeOS, and dabbled in a PC version.
Lyapunovia had a weird role in my life. It made a tiny bit of money for a poor student, but it also heavily distracted me from actual studying, which in some ways would have been better for me, yet I got hired by my future multimedia workplace Mousehouse because they’d seen the program and called me up. Going back to Lyapunovia gives me an intense feeling of where it was made, “while watching the tiny little bit of blue sky I can see from my room if I push my head flat against the window and look directly up”, as the readme file says.
My later life has become something else - writing books about video game theory, occasionally making games, and continually teaching students to make, think, and write about video games.
My original training though, just before Lyapunovia, was in demo culture, and from that I probably brought the idea that programming (which I enjoy) can also be visible and understandable to non-programmers as well. I have mostly channeled this into games, but why not try the fractal thing gain?
What do fractals mean?
In their 1990ish heyday, I think fractals represented both the future, modern technology, and then-new ideas of chaos and emergence. Today there’s something retroish about them. Yes, we
know that small formulas can create complex patterns, but the actual speed of modern computers (coming here from the graphics card of your device) makes fractals immediate in a way they were not.
Clearly, I am making choices here about how to represent Lyapunov Space, but that experience is always one of the formulas having an emergent mind of their own. The fractal doesn’t care about us, and I think this gives a feeling of “sublime banality” – a fractal is vast, infinite, and incomprehensible to our human minds, but it also doesn’t ask anything from us. Other words: Alien, reptilian.
It’s a lot like deliberately electronic music, which can be read as life-affirming by showing us how we're either wonderfully alive unlike the mechanical world, or that we're wonderfully mechanical as well, or that we are freed from having to fall into established categories. Here’s to that.
Programming then and now
The original Amiga program was written in 68K assembler, mostly because I hadn’t gotten around to learning C yet, and anyway this was just meant to be a small project. This was clearly a mistake. The assembler pièce de résistance was the floating-point routines which I painstakingly programmed and optimized by hand. I was pretty stubborn back then, and obviously decided that I needed to make
my own floating-point format and routines (they
were faster).
The Amiga program was gigantic, and the mental work was very hard, figuring out how to do things I did not know how to do; writing and rewriting the code, waiting for the program to render, writing the image saving routines, and so on. This was a huge undertaking for me.
This new version was made quickly (~20 hours), it is pretty small, but as is the case with modern web development, it includes 4 entirely different languages – HTML, CSS, JavaScript, and GLSL. The main challenge here has really been to read up on all the documentation, like the weird limitations of the GLSL version I was using. Thanks to
WebGLFundamentals for the best WebGL explanations. I have also focused on designing a pleasurable interface that could be used across a range of devices. The idea of the pleasurable interface wasn’t really common in 1992 (except in games).
License: Attribution-ShareAlike
If you want to change or build on this program, feel free!
The program is shared under the
Creative Commons Attribution-ShareAlike 4.0 International license.
You are free to:
Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
This license is acceptable for Free Cultural Works.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
If you want to support the program in any way, check out my books about video games.
https://www.jesperjuul.net/books.html