I turned the Microsoft screensaver into a horror game
In this video, we’re going to take the Microsoft screensaver from windows 95 and turn it into a horror game.
As a kid growing up in the nineties, one of the core memories I have was staring at these Microsoft screensavers for hours.
But a lot has changed since then. Screensavers have gotten boring, I’ve become a game developer, and sometimes I just want to feel something. Therefore, I’m making it my sole purpose for the next 2 days to make this screensaver into something Microsoft could have never anticipated.
But first, I’m going to need a maze. I could study the principles of maze and puzzle design to create the best procedurally generated maze of all time. Or, I could just find a maze generator online.
I wanted this to be big enough to be interesting, so I randomly decided that a 20x20 cell would be acceptable but…that ended up being very big. Too big. But I don’t know that yet.
What I do know, is that I somehow need to find a way to get this maze into Unity. So I download a copy of the maze and its solution and import it into Unity.
The only problem is that I don’t know if it will be to scale, so I import the Horror FPS kit which contains a human rig, lots of creepy objects, and zombies that I can use as a reference.
With my properly scaled scene in tow, I now need to figure out how to make the hundreds of walls before I lose my mind or die of old age.
After I created 2 literal walls the traditional way, I decided this wasn’t going to work out. I needed to bring in the big guns.
Enter the proverbial golden child, Pro Builder.
ProBuilder allows you to easily create semi-complex 3d objects in Unity without having to know blender or other 3d modeling software. It’s not going to replace 3d modeling by any means, but for a project like this, it’s perfect.
While I began learning the controls, I started chipping away at the outer walls. After not making much progress after a couple of hours, I came up with a method: focus on one quadrant, and one axis at a time. I would fill in everything in my view on the x-axis, and then switch my view and fill everything in on the y-axis. I eventually gave up on trying to make the walls all one height.
So enjoy a small montage of me recording this process and praying that my computer has enough space to hold it. After about 5 hours of recording and building, I finally have the walls of my maze built, but of course, it doesn’t look anything like the Microsoft screensaver yet.
So I head back to the unity asset store to see if they happen to have a free brick material for the walls, and they do. It takes a bit of tinkering to get the scale on the bricks right, but it’s starting to come together.
As I begin to walk through the maze, I’m starting to get excited.
I’m hoping that when I add the yellow carpet it will start to feel more like the backrooms games.
For the carpet, I found a regular carpet material and then adjusted the color inside of the editor. But instead of looking like the backrooms, it just looks odd. There’s too much light, and it does not feel creepy at all.
Time for some lighting. I started adding some volumetric fog and removed the default skybox to make the entire scene dark and add some interest.
I played around with different colors, and while the black fog is definitely creepy, the white fog is just plain unsettling. I really liked the white, but I thought it might limit me as I create the game challenges.
Now, I still haven’t figured out a way for the player to win and lose the game. Winning the game seems fairly straightforward, but losing the game presents another challenge.
When in doubt, look to the past. Looking at this from a bird's eye view, what does this remind you of?
If you’re thinking Pacman, you’re on the right track.
Now to figure out what type of enemies we want in our game. I don’t know what type of enemies really fit inside of a maze (other than really scary children), but every good horror game needs zombies right?
I download Emerald AI to control the behavior of the zombies, bake my scene so the zombies can’t go through walls, and set them up in a few corners of the map.
The only issue is…I don’t like it. I want this to feel more like the backrooms and less like the walking dead, so it’s back to the drawing board for my enemies.
In times like these I remember my faithful yet annoying friend, Clippy. I think Clippy has a greater purpose here.
But first, we need to bring Clippy to life. Off to blender it is.
Now I’m no blender aficionado, but I think I can handle a paperclip. I started out creating a couple of curves, added some thickness, and started scaling and moving around different pieces of Clippy.
I want to capture his sense of playfulness, which will soon turn to sinisterness, but I think it’s really the eyes and the eyebrows that really solidify his look.
The eyes are just a couple of spheres that are shaded smooth, and for the eyebrows, I just created a couple of rectangles, added some loop cuts, and then added a subdivision surface modifier.
I’m not going to be making any materials in blender since what I need is pretty simple, so I’m going to export my model as an FBX and get it set up in Unity.
don’t be like me and export the whole scene including the lighting and the camera, but we will need a temporary light just so we can see our model properly and get him set up with the right materials.
For Clippy, we really only need 3 simple materials: a silver metallic material for the body, a white smooth material for the eyes, and a matte black material for the pupils and eyebrows.
Now with the model set up, here comes the fun part: adding AI and behavior using Emerald AI. So I set up a couple of basic idle and walking animations to make him feel more lifelike. I also changed the fog to a light brown color to make the atmosphere feel hazy, and I get to work setting up his waypoints.
I want several Clippys all over the map, so I want an AI that can move between paths but on detection chase me throughout the maze.
Not gonna lie, I really haven’t done much to Clippy to change him, but just putting him in this environment is creeping me out which is making me feel pretty good at this point. I do think I should animate his eyebrows when he sees the player though.
With Clippy set up, there’s just one problem. This maze is huuuge. Originally, I thought the goal of the game would be fairly straightforward, to find and exit the maze. but I see now that is a huge ask of players. So, I’m going to need to think of a new way for players to win the game, but I think I know just the thing.
Remember in the game Slenderman how the player has to collect 8 pages to win the game? I think I can take a page from that book and implement my own system, but instead of pages, it can be floppy disks!
Going back to blender, I’m just going to make something super simple, because I want to spice this up with particle effects and animation in unity.
I’m adding just enough detail to make this believable, but with this type of game, I think having less fidelity actually adds to the style.
Now I need to repeat the same process I did for Clippy by assigning materials and creating some basic animations, but here I want to add some particle effects as well to add some more interest.
I ended up keeping the basic square shape of the particles but ended up assigning the same metal material I used for the floppy disk to give this a pixelated effect.
But, I have no way for the player to pick this item up, so I need to create a simple collection system.
To make this work, my floppy disk needs to have a 3d box collider, and a new tag assigned to it.
With that done, all I need to do is create a variable to count the amount of floppy disks the player has. And on collision add to that variable and destroy the floppy disk.
Add some UI, and then there’s just one thing left.
I want to achieve that same uneasy feeling that you experience when playing the backrooms or looking at liminal spaces. When analyzing these, I’ve found that it’s really the acute awareness of emptiness that makes it so unsettling.
A lot of the horror tropes go out the window with this genre, so it’s up to the environment to really do the talking.
To implement this feeling in my game, I’m going to bring the ceiling down, make sure the space is well-lit, and see if I can add some other details.
This is where post-processing can really bring your game to life, I added some bloom, grain, and a little bit of yellow color grading, and this is the final effect!
Ultimately, I’m really happy with how this turned out. I love the idea of nightmare Clippy and feel like he deserves a second chance as a villain. I’m not sure if I will be able to release this game unless I have a blessing from Microsoft, but I hope that you’ve enjoyed watching. Let me know what you think in the comments and what you would like to see next!