In 1986, hackers were detected entering computers at Lawrence Berkeley National Laboratory in California. What followed was cyber espionage as Cilfford Stoll attempted to figure out who the attackers were. (These are written about in the excellent book “The Cuckoo’s egg”
While this game will not be about these exact events, the focus will be on the old era of computers. It takes place at a simulated Linux Terminal, and you can connect to different devices.
I need to do a bit more work on the terminal itself (ie have a flashing cursor, uparrow history, editing commands etc.), but am quite pleased with the system I have come up with. Each program you run is actually a python file in the simulated computers /bin folder. I plan to implement rudimentary text editing in the console as well, but I’m not sure.
This game is likely to play similar to interactive fiction.
Tomorrow will see the development of connecting to different computers.
Yes, it grabs your computers username and hostname, so you will see your name rather than mine when you play it.
Also, for a while you could change directory to anywhere in your (real) computers file system. I figured this was a bit dangerous.
Hahaha. Yes, not a good idea to let people noodle around in their own system without knowing what they are doing.
If you want to allow them to run a fake api which is built with real python you can use a dictionary of names and functions/ classes from the python names space. This is a bit more safe than using the namespace dictionary directly because you can limit the fuctions they can use. If they enter a function which is in the dictionary you can run it, else return an error.
I use this for my profiler, with each significant function called, timed and executed from a central function in the gameloop.
You can now connect to other computers, and even access wikipedia in-game:
The music is by shemusic. I should probably track down the license sometime, but the track used can be downloaded form shemusic.org for free.
The wikipedia modue and bs4 (beautiful soup v4) are from github, and are open source - thank goodness because they were for python2, so I spend an hour or so porting them to python3.