I’ve completed an alpha version of the screen saver I’ve been talking about, and it’s now available for download.
Get it here
Edit: The screen saver works! Just copy ParticleLife.scr and FlatRedBall.dll to your Windows/System32 directory, then right click ParticleLife.scr and select Install.
To run this you’ll need to copy the .scr and .dll to the windows directory (I hear Windows\System32 is the place to put it, but you can just right click the .scr and choose install too). Then make sure you have the following prerequisites installed:
The .NET Framework 2.0
DirectX 9.0c (run this even if you have it already - you may be missing files required for XNA)
XNA Runtime 2.0
I know it’s a pain (and ironic that this screen saver is windows-only), but the alternative is…well, not using the screen saver!
The original inspiration was this piece by Hawk: Life. I saw it and thought, “that would make a nice screen saver, and a good test of some GPU programming.” So I went for it. It’s not as pretty as the flash version (the lines aren’t as clean), but I think it looks decent for programmer art, and it runs nicely (and almost all of the calculation is done on the GPU - which was my major focus when making this).
There aren’t any options in this version. Eventually I want it to support user-specified particle counts, but I can’t really do that without storing the value somewhere. The most popular place for screen saver parameters is the registry, and I can’t go writing all over that without an installer/uninstaller (so if you decide you don’t like this it doesn’t leave a bunch of dead information in your registry). So - if this screen saver is a hit (goodness knows smaller things I’ve made have been huge hits), I’ll probably clean it up a bit and add some settings.
You’ll also need a graphics card that supports Pixel Shader Model 2.0 - I created this primarily as a test of some graphics techniques - not necessarily just to make a screen saver (you can compile that flash as an exe with exit-on-input to use it as a screen saver). I’m not doing any detection at the moment - so if it doesn’t run
For the XNA programmers in the audience, I’ll be releasing the source code for this soon.