Jump to page content

LavaLamp – Lava-Flow Simulator

© 1990 semi-Bogus Software

More screenshots:

LavaLamp is a program that paints attractive patterns into a window on the screen, often not unlike the original Doctor Who opening graphics. I encountered it in 1994 on the Windows User Software Series cover disc #14, and made use of it to create myself wallpaper for my 486 PC, some of which I have posted online (and which looks rather different to what I generate now, because of how it works in 8-bit colour). I had someone ask me for a copy of LavaLamp recently, and I decided that I should post a proper page about the program, which is freely distributable. That way, other Windows users can have a go with LavaLamp themselves (and I would be interested to know what Wine makes of it).


You can jump straight in and get playing with LavaLamp, by downloading it from the link below. LavaLamp is not straightforward, though, and you would be advised to read the notes further down the page on how to use it. The Zip file provided is the original, untouched Zip file straight off my Windows User disc – the only change I made was the filename.

Download LavaLamp 1.00 (Zip, 15 kB)

Operator’s Guide to LavaLamp

LavaLamp came with no documentation back in 1994 and I cannot find any now either, or even any reference to the program’s existence. So I have made an attempt to explain how to operate it. The program starts out with a blank window; to have it draw a picture, left-click in the window to bring up the menu, and select Go! You will see plenty of other menu items which are used for adjusting the way the program works, and I have explained these below.

The program behaves quite differently according to the screen depth. In 8-bit colour, you can toggle a particular pattern between normal and satin modes, and watch palette and colour cycling. In 16-bit colour and higher, you can overlay satin and normal patterns using cross-fade because the option only affects the next pattern drawn. Palette cycling affects only the colours of pixels being laid down as the pattern is drawn, so you can get multiple colours shown at the same time, as you can see in the screenshots.

With Palette turned off in 16-bit depth or higher, or Color Cycle turned off in 8-bit depth, the program has a silly habit of refusing to draw anything but red. Using Palette and Color Cycle solves this problem.

You will also find that on some screens, the dithering that results from cross-fade causes moiré effects. This can be pretty much sorted out on a Mac using the Unsharp 3×3 plug-in filter in GraphicConverter; I have no idea about Windows as I have never seen any other program do such a good job with removing dithering from an image.

The only other thing to watch out for is that at larger window sizes (e.g. 1024×768) you can get fractures in the pattern at the corners of the window.

LavaLamp menu functions

Begin drawing a new image. I thought there was also a way to stop the progress but I cannot find one now.
Controls the complexity of the drawn image, in terms of the number of “centers” in the pattern.
Controls how many shades of colour are used in the pattern’s gradient. As a side-effect, the amount of shades also changes the scale of the pattern, with more shades increasing the width of the bands. Setting LavaLamp to 256 colours causes it to crash.
A scaling factor applied to the width of the bands in the image.
Ordinarily, there is more colour in the bands than there is black; in satin mode there is more black than colour, giving it a satin-like appearance.
Cross Fade
In cross-fade mode, only every alternate pixel is drawn with each image, leaving 50% of the previous image behind.
Fast Cycle
With palette cycling active (Options > Palette enabled), palette cycle at a faster rate. Requires 256-colour screen mode.
Color Cycle
With palette cycling active, also cycle the colour of the image as a whole. Requires, and is enabled by default in, 256-colour screen mode.
With Windows set to 256 colours, cycles the colour palette providing a hypnotic effect, and is enabled by default. In higher colour depths it causes the “pen” colour to change as the image is being drawn, which you can see in the screenshots on this page.
Set DIBits
Device Independent Bitmap support? I do not know, but it improves performance anyhow. It is enabled by default when Windows is running in 256 colours; turn it on in higher depths.
Pal Colors
I have no idea.
Earthquake survival support?
Copies a monochrome or otherwise very suspect-looking copy of the image to the clipboard. You would do better off with hitting the Print Screen key.

256-colour mode?

Rob C informs me that LavaLamp always crashes when set to 256 colours. He also expressed curiosity as to why the program has anything so odd as a 236-colour mode, which would presumably be more difficult to program than 256 colours. My best guess here is that it is because Windows 3.1 reserved 20 colours for itself, back in the days of 256-colour screen modes and frequent palette switching. 16 of these colours are the familiar Windows system palette as used in icons and controls. The remaining four were the rather useless bonus colours of cream, mauve, pale mint green and another dark grey; why Windows did not add the likes of extra pale grey, pink, brown and orange I will never know. The reserved colours will be needed because otherwise, colour palette switches would mess up your title bars, menus, icons etc and the screen could become unusable.

This leaves me with the assumption that attempting to reprogram the Windows reserved colours in the system palette causes the program to crash. Whatever the reason, the problem remains even in Windows 3 emulation under Windows 2000 even when the system is set to 32-bit colour.