Flowers of Eternity

FoE is an OpenGl screensaver for Widnows made by myself together with assistance from Amelia Dei, under the name graphicsDreams. It all started with an exercise in learning OpenGl and the coding behind the everyday screensaver. In the process I ended up taking it quite far, and eventually decided to give it a try in trying to actually sell it. It never actually worked out, but it sure was a fun experience trying. It got me to discover the interesting (and weird) world of behind the scenes windows stuff, programs with two main sections (weather it’s running as a screensaver or as a configuration in Windows, try renaming .scr to .exe), user+password encryption & registering, windows registry accessing, and many other fun goodies.

Hardware requirements

Minimal:   If you just want to start it: any computer with OpenGl support … If you actually want to use it reasonably (minimal settings, small number of flowers) you need a video card with some OpenGl support or a reasonably fast CPU and a software OpenGl implementation; we’ve used it with success on a Pentium 200Mhz MMX, with a 3DFX Voodoo Rush – PCI, 6Mb (pretty much the slowest card in the Voodoo series). However, on a Pentium II 450Mhz, with an ATI 3D Rage Pro – AGP, 8Mb, it actually ran slower, even though the processor and video card were better, because the installed OpenGl drivers were not very good. Conclusion: the processor isn’t as important as a video card with good OpenGl support.
Normal:  We’ve obtained nice performance on: Athlon K7 550Mhz + GeForce 256 and even better on Athlon K7 900Mhz + GeForce2 MX400. On these computers (as long as we didn’t set huuuge numbers of flowers) we actually got 30+ fps.
Good:   On a truly up to date system you could probably fill your screen with tens of thousands of cute little flowers. Let us know. (funny, since this stuff was written so many years ago probably everybody will have amazing framerates, maybe even on laptops)

Download [1.9MB]

This is the full, no-registration required, version. However I was initially gonna make it fun for downloaders by giving the unregistered version and either some generic codes or even better my very own key generators (which were a lot of fun to make, plus the security issues and related to windows registry… geeky fun :D )… howeeeveeer, as it turns out even after a few hours of digging around my old DVDs I couldn’t figure out a solution: it seems I have forgotten my own security measures as I changed my password system through time and so now I’m offering the generators (with the unregistered version) for download as a challenge to all the crackers out there. If you manage to crack it open please do contact me. I’d love to see that old code, plus the generators, not to mention that now I’m curious at what password I used: registration key generators with code (2MB). Oh, and before I forget: here is the full code for both the demo and the full version. Have fun with it!

Running & Configuring

Both can be done in one of the following ways:

1. Through the Start Menu, by going to Start->Programs->WhereverYouInstalledIt->start it! you will start it, and by going Start->Programs->WhereverYouInstalledIt->Configure you will open the configuration dialog.
2. From the Display Properties : you right click on your desktop and select Properties. Now select the Screen Saver tab. From here you can configure it by pressing the Settings button, or you can try it by pressing Preview.

Also note that the screen saver can also be started from within the configuration dialog

 

Tips, tricks and notes

  •   Note that the speed at which the screen saver runs is dependent on the rendering speed that it can reach on the current hardware and the configured framerate limitation (“Max FPS allowed”). An implication of this is that a configuration which is dependent on this (such as the “Color Tree” preset) will not look the same on all systems, because of the “Spikes->Stop after”, setting, which might stop the spike growth sooner or later, depending on the hardware it’s running on.
    Don’t forget that the presets that we included in the release by no means cover all the possible configurations, so there’s pretty good chances that by playing around a bit you’ll discover some interesting settings that are not in there (we know of a couple too :P). Let me know :)
  •   Symmetry has a huge framerate penalty (it doubles the number of flowers).
  •   Don’t just rely on “Randomize” to create new settings, it will only generate certain types of (safe) settings. Go ahead and try weirder ones.
  •   On some settings (when you’ve got spikes especially) a large main flower might look bad (taking up the whole screen in a not so visually appealing way).
  •   What does the “effects” setting really do? Well, if a flower has “effect”, all the flowers drawn after it will have a rotation & translation relative to it.
    … so, if you want a system that’s moving really fast, in a really weird way try a lot of flowers with all of them with effects.
  •   If you like the screen saver even just a lil bit, .. plase do tell me about it. Feels great to know I worked on something that brought a smile into the world

 

Screenshots

I’m putting them here, but I would strongly advise for actually trying it. It makes a world of difference to see them in motion, fullscreen. Also most of them take at least 30 seconds to really become interesting in the behavior. I’ve included a dozen or so presets to start from, but it’s very interesting to play with the parameters and make your own.

 

License

I (Void lon iXaarii) am giving this software under a modified BSD style license (at the end of this file, after the === line)… with a small addition .. which is totally optional, something I’d call “surpriseWare”:
the idea behind it is something like this. A lot of the time some of us have a resource which we have in abundance, but that others would highly appreciate. How about surprising others every once in a while with something like this? Examples could range from a smile, a couple of kind words, a little info or any object that doesn’t do you a particular use, but others would be surprised & happy or benefit in some way from using it.
again, this is totally optional, and is just a tinsy little try to spice up the universe.

The legal license follows (in a simplified way what i mean by it is: “use it in any way but please give me the due credit”):

========================================

Copyright (c) 2004, Void lon iXaarii
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.