r/steammachine • u/TabloidA • 11h ago
Software Obligatory Windows Pipes Screensaver for SteamOS (but more specifically for my own SM)
Enable HLS to view with audio, or disable this notification
As a designer I've been idly waiting for Steam screensavers to come out of beta so I could start digging in, and now they're here!! I've been pretty surprised by the seeming non-existent excitement for this feature when the potential is so damn broad, so I'm hoping I can show what there is to get excited about.
I have lots and lots of ideas for these, but first thing I wanted to knock out was the classic Windows XP Pipes screensaver. Luckily, many years ago someone already got this banged out in threejs, so I'm taking full advantage of that MIT license. Big ups to 1j01, their code is basically 90% of the work, I've just been modifying it to add some functionality and refine the pipe behavior. I'll likely release it on github as a fork to make sure they keep most of the credit.
-
This screensaver is exactly what it says on the tin, pipes for days. I added an image in the background that slowly materializes as the pipes fill up the space (this can be literally anything but I made it the Steam logo for now), added my own custom-designed palettes alongside one inspired directly by the original, adjusted the behavior of the pipes to make them a bit closer to the original, and surfaced a bunch of options so you don't need to dive too deep into the code to adjust it to your liking. The attached video is recorded on my ultrawide monitor, so it's a bit.. wide.
Let me know if there's anything someone would like to see here as an option. I'll continue fucking around and hopefully I can get this into a repo at some point very soon š«”

NIGHT EDIT:
I need to sleep so I haven't tossed together a README yet, so excuse any lack of attribution or useful information, but here's a first early version! There are still some weird rare bugs here and there, and I don't do much handling of unexpected config values just yet.
https://github.com/Acerocks22/tabs-screensavers/
You'll find all of the currently available customization options in the config.js file. Be careful with a few of these, I'm still working on managing memory build-up. Palettes can be edited or added-to in the definitions.js file. Let me see any cool palettes you make :D