Short Bytes: We’re all familiar with filesystems, the way our computers organize our files on storage volumes. And I’m sure that we’re all familiar with those old text-based dungeon crawler RPG games. But what happens when you combine the two? You get the oddly wonderful dungeonfs, a game that utilizes the ubiquitous command line tools, such as cd, ls, and touch, to play an interactive adventure.Text-based adventure games were the first digital analog to the Dungeons and Dragons adventure books that became extremely popular just a few decades ago. Instead of simply reading a story, you could interact with it, make choices that would affect you later in the game, and find secrets that required a thorough exploring of the game and its features.
Filesystems are a very commonplace thing in the world of computing. Without them, we wouldn’t be able to store our files on our storage media. We’re simply required to use a system to organize and manage our files. The common abstraction used for organizing files is folders or directories. By placing folders within folders you can create a very logical organizational scheme that suits your tasks and makes it easy to find files later. This is such an elegant concept that it’s been adopted universally.
With little thought, you can see how a directory is kind of analogous to a location. The tool we use to traverse our directories, cd, moves us from one location to another. We use ls to look around and list the contents of a directory, it tells us what we can see in a given location. These are the same concepts used in text adventure games.
dungeonfs is a game that uses the command line tools, like cd, ls, touch, and more, to explore, interact, and play. These are files that interact with our filesystems. So, how do these tools control a game when they’re meant to interact with a filesystem? Well, dungeonfs is a filesystem, as the name suggests. More specifically, dungeonfs is a FUSE filesystem. FUSE stands for Filesystem in Userspace. This means that, rather than operating in the kernel like a traditional filesystem (ext4, btrfs, xfs, NTFS), it operates in software run by the user. This makes the filesystem much more portable, and potentially cross-platform, only relying on a FUSE implementation for the target operating system.
Given that dungeonfs is a FUSE filesystem, it should run on Linux, macOS, and *BSD (sorry Windows), provided you have the appropriate FUSE dependencies.
dungeonfs source is available on GitHub where there are instructions on how to build it and play.
Let us know if you find any cool secrets and share your adventures with us.