This started out as a small project when I wanted to learn how to code some easy and basic demo-effects. From the very beginning I had a wish to release a demo at Assembly '01, and after some time, it started looking more and more like it actually might become something worth releasing. I also had to code my own .mod-player, because I wrote the whole thing in Java, and there aren't too many .mod-players freely available for that.

Caffeine can be viewed online or downloaded. There's also a second version of the html-page for viewing online, which doesn't require the java-plugin. The downloaded .jar-file can be run with "java -jar caffeine.jar" if you have a JRE or JDK installed, or with "jview /cp caffeine.jar Caffeine" if you are running Windows and have MS JVM.

The complete source is also available for download. You are allowed to read and learn as much as you want, but please don't copy or reuse parts of it without letting me know.

Sun recently released Java 1.4, which supports fullscreen graphics. Therefore, I have made a quick hack of Caffeine which makes use of this capability. It is not too good, because I haven't really made an effort to make the best and most compatible implementation of this, but it works for me at least. If you've got Java 1.4 you can give it a try, otherwise you're better off using the normal version.

Even though some of the point of Caffeine originally was that it should be a demo in Java, I couldn't of course resist to port it to C++. You can download binaries for windows, static binaries for linux or the source code. This version doesn't fit into the same 64k-category as the original Java-version though. It compiles well on Linux and on Windows with MinGW. It requires OpenPTC or SDL and libpng. I think the binary for Windows also requires quite a new version of DirectX (for the sound).

In 2006, I dusted off the code and did a quick port to Symbian Series 60. This included making the effects scalable (the original code only works in 320x240) and runnable in different bitdepths. Binaries for Series 60 1st and 2nd edition and Series 60 3rd edition are available for download, as is the source code, which also includes a slightly modernized SDL version to ease porting. I participated in the mobile compo at Assembly 06 with this version, which finished fifth (of 5 participants).

I have also rendered some larger images, which I myself use as desktop background:

Many thanks to The P for making the music for Caffeine, and to blackis for all the encouragement, help and support. And of course, thanks also to all other friends.

Martin "wbs" Storsjö ()