Creating a Real Life Fallout Quest Pt. 1

Samuel Rowan
4 min readMay 10, 2021

I suppose I should be greatful. Sunny Smiles has really helped show me the ropes around here in Goodsprings but, she is neither sunny nor is she full of smiles. Now she has me rummaging around an abandoned schoolhouse with Dean Martin singing about how great things are…. I can’t say I relate. It is a particularly hot day in the mojave. Inside the schoolhouse I found a computer terminal from before the war and… it seems that it still works! If only I knew the password. Thankfully, RobCo’s Termlink isn’t particularly secure. I dove through some memory chunks and within a few tries I managed to gain access!

I fell in love with the Fallout series when I was in high school. The world was so rich and full of detail in an atom punk distopian future unlike I have ever seen. But one of the highlights of this series for me are the mini games that are often part of quests. The best of which were the “hacking” game. In any of the Fallout games you will find quests where, at one point or another you will have to “hack” a computer to gain some information or open a safe.

I am also a big fan of another game known as Geocaching. The best geocaches have the same elements of a great fallout quest: interesting locations, puzzles and a mini game…

So I have set myself the task of replicating a RobCo Industries Termlink Interface as well as a Geocaching-specific version of the Unified Operating System where, you guessed it, you can hack by solving a puzzle on it.

The plan is to 3D print the main body of the terminal and use my prop making skills to turn it into a realistic and durable recreation of a terminal from the game.

As far as the electronics: a raspberry pi running raspbian, a waterproof keyboard from Amazon and an old monitor from the thrift shop. Depending on the location I may need to power it using a battery inside.

The software will be written with python and run on the command line in the CLI only distro of raspbian.

I started by hunting for a monitor to build the terminal around. This turned out to be more difficult than I had anticipated. I was looking for a 4:3 aspect ratio monitor to make the screen appear more square instead of 16:9 widescreen like most monitors are today. I went to several thrift stores around my city and I was beginning to give up hope but I did eventually find a smallish 4:3 monitor.

Now that I had my monitor it was time to build the case for it. Instead of designing a case from scratch I figured that for such a popular franchise I would be able to find an STL someone else had designed that I could simply modify for my use. I found an STL on MyMiniFactory for the wall mounted version that I decided to use.

I used the measurements of the monitor out of it’s housing to scale the model properly. At that point it was too big for my rather large printer so, I had to divide it into pieces and I began printing.

As this was printing I began to write the software for it. I decided to use Python because it is something I am wanting to get better at and, it can easily be used to write CLIs.

The first challenge I tackled was to get the text to show up character by character like it does in the game. I thought this would be the easiest part but it turned out to be a little more challenging than I had anticipated. But, after a lot of stack overflow and youtube videos I was able to get the desired effect.

Next, it was time to create the randomized “memory chunks” that are used in the hacking mini game within Fallout. The randomization itself was easy. However, once it came to making it display properly on screen I ended up back on stack overflow. Through that search I discovered something that can be installed with pip called tabulate. I was dubious about how it would play with my text animation function however, it worked flawlessly

There is still much to do but, it has taken a lot of work to get this far and I’m quite proud of the progress. I would like to get the cache deployed by the end of the summer of 2021 so, check back to see the progress on this project.

--

--