The background system is simple, but there is huge potential for artistic expression there.
You probably all know this, but for the sake of discussion: The key to understanding backgrounds is to hit F7 and look at them in wireframe. This shows you that a background is nothing but a set of small sprites positioned, rotated, scaled, and blended with each other. Some are placed randomly, some are animated. This allows a great deal of visual detail to be represented at high resolution using a very small amount of image data.
Despite the fact that a background is simply a .MAP file editable in GtkRadiant, all of the background files were automatically generated. This includes the evenly-spaced mountains and clouds of clouds.map, the random distribution of stars in jupiter.map and alien.map, and the scattering of waves in ocean.map and alien.map. This code is long lost, as I considered it disposable from the outset. The point is that anybody looking to define new backgrounds is going to have to do some programming.
A background is a collection of billboards. A billboard is represented in a .MAP as an info_null entity. This entity has several custom properties:
There are a couple of tricks. For example, ocean waves seem to appear and disappear. In reality, their height varies quadratically with time and so they have negative height for much of their animation cycle. A billboard with negative width or height faces away from the viewer, thus it cannot be seen. Also, the little jet plane in clouds.map appears to circle endlessly. In reality its animation cycle length is tuned to reset just as it reaches 360 degrees, so no discontinuity is visible. In addition, good billboarding is all about blending, and good blending is all about render order. Billboards are rendered in the order in which they appear in the file.
I hope that's everything. After having typed all this in, I realize it might be good to put on the wiki.
I'm looking forward to seeing what you come up with.
Oh I should mention the OTHER key to dealing with backgrounds is F12. This will freeze the game and let you mouselook around. This is significant, as it is generally not possible to see all of the background easily with the in-game camera. Remember though that background areas which are commonly out of view can come into view on mirror levels. For example, the stars in the sky of the alien background.
Source: One of rlk's posts on the Neverforum.