A television show that I used to like is one called “Travelers”. It’s long since cancelled, but it was a good sci-fi drama about some time travelers that come back from the future to change their present (our future) by altering their past (our present).
One of the things I liked about the show was a prop computer screen that, in the storyline, allowed these time travelers to receive missions from their leadership, in the future. That screen looked a bit like the one at the top of this article.
So, while I was sitting around, thinking up my next C# project, I came up with this font, whilst Googling around aimlessly. The font is nicely styled after the one used in the show’s computer screen:
That discovery sort of got my creating juices flowing, so to speak. Based on the font, I decided it might be fun to write a “Travelers” screen saver.
My first thought was to write it with WPF. I decided against that though, because I suspected I might need to perform some low-level Win32 operations in order to pull everything together.
My second thought was to write it in WinForms, because I still have a ton of old WinForms code tucked away, and I seemed to recall that some of that old code looked pretty good, back in the day. I was also under the impression that I might need to resort to C++ and direct Win32 calls in order to get a screen saver up and running. I figured, if I wrote a first draft in C# and discovered that I needed, later, to port everything to C++, that wouldn’t be too painful. Certainly much less painful than trying to go from WPF to C++!
Luckily, while still working through my WinForms draft project, I discovered this little gem:
That sealed the deal for me! So I then plowed ahead with a C#, WinForms prototype. The complete working project is on my GITHUB, HERE.
A quick video of my code in action (before it became an actual screen saver) can be found HERE.
The zipped build for the project is HERE. This is actually what I run on my computer.
I’ll write about the internals of the project in my next article. For now, let’s talk about how to install the binaries on your Windows computer:
- Either get the source code from my GITHUB, and built it, or, download the binaries from HERE.
- Once you have binaries on your machine (see the previous step), open the folder in Explorer.
- If you built the binaries yourself, rename the CG_Traveler.exe to CG_Traveler.scr.
- Once you are ready to install the screen saver, simply right click on the file, in Explorer, and choose the “Install” option from the context menu.
- Sit back and wait for messages from the Director.
A quick note, the project is setup to use .NET 5.0, because that’s currently my favorite flavor of .NET. If you don’t have .NET 5.0 on your machine you can either install it from HERE, or, you can download the project source from my GITHUB and retarget the project for whatever version of .NET suits you. Since this is a WinForms application, it should be able to run on just about any version of .NET out there.
Next time I’ll get into the technical details of how I wrote the screen saver. For now, just have fun with it.
Thanks for reading!
Thanks to Frank McCown, for his article on creating a .NET based screen saver. You saved me a bunch of time, Frank.
Thanks to Mars Voyager (whoever the heck that is) for creating the cool Traveler font. At least, I think that’s who created it. In any event, creating a font seems like something I would be terrible at, so thanks, Mars.