Back in 1989 I saw a
demo by Horizon and one
part by Kjer got my attention, he called it "A bacill
invading emulation". A year later I got my first Amiga and
ended up implementing kind of the same thing while playing around in the
K-SEKA assembler (this was before AsmOne) and
reading The Amiga Hardware Reference Manual.
Fast forward to 1998. A workmate made a Java Applet that showed some
diagrams that you could zoom in. He did not use double buffering so
the zooming flickered badly. I decided to help him and on a whim I yet
again implemented Leif while doing so.
Another ten years passes by and last night I decided to try out
Code::Blocks, a free C++ IDE.
Code::Blocks happened to have a project template for SDL (Simple
DirectMedia Layer) and SDL was something I also had been planning to
check out sooner or later. By now you already guessed what my first
test
project ended up to be. It reads 32000 pixels per frame and plots
128000 pixels. At 25 fps that's a total of 4000000 pixels being handled
each second.
What's up with the name Leif? Well, it's obviously from Conway's Game of Life even though the
algorithm is totally different.
Leif as a win32 binary with
SDL.dll included. Try left and right clicking in the window.
Source code as a Code::Blocks project.
Published under the
MIT License as stipulated here.
This is what it looks like over time:
Maybe Franz Kafka would have appreciated the "morphing" taking place.
Jonas Elfström, 2008-11-15