Warp Screen Saver

The Warp screen saver simulates high speed travel through a field of stars. For a fun twist, the starfield can optionally rotate in either direction as you travel!

Configuration

image of HextriX preference pane
Warp Preferences

In this screen saver there are two basic parameters available to you, "Speed" and "Rotation".

"Speed" controls the screen saver's attempted frame rate and ranges from 10 to 100 frames per second. Of course, the actual frame rate achieved will depend upon your computer's ability to keep up. As such, you may not be able to get a full 100 frames per second even if you request it. Setting the speed lower will use less CPU, which may be important if you are running background processes such as SETI@home or a web server. The default setting is 50 frames per second.

"Rotation" controls the rotation of the star field. It can rotate in either a clockwise or counterclockwise direction. It won't rotate at all if you select "none". The default is to have no rotation.


Background

The Warp screensaver module is based on a module written by Sam Streeper ("Space") for his NEXTSTEP based BackSpace screen saver program. It is also based on the "Space2" module written by an unknown author which added the ability to rotate, but was obviously just a minor modification of Sam's code. It is also quite possible that Sam himself wrote Space2, as the same rotating effect also appears in his popular Xox game when the player warps between levels.

The original module was written using a small chunk of Postscript code that created a small Postscript font for faster rendering of star shapes. While it looked great and allowed for interesting shaped stars, we decided to just draw boring, solid rectangles for this port. We've also added a clockwise rotation mode to this module since the original only could rotate counterclockwise.

We have also given the module new options and features, tuned it to look great on Mac OS X, and based our new Objective-C code upon Apple's Quartz and Cocoa technologies.