4 ms·
RPGFS: Crossing an RPG with a Unix Filesystem
As my January personal code project, I created an experimental game that considered what would happen if you crossed an RPG with a UNIX filesystem. The result is RPGFS.
You have some simple commands available (ls, cd, pwd, rm) and you fight "bugs" in the filsystem using the rm command (everything is a file). You also consume "items" with rm. The goal is to descend the filesystem to find a special file to unlock another command to destroy the filesystem.
This was written as part of a monthly project I'm undertaking in 2014, and represented a small amount of work (hack). It's written in C for Linux, and you can grab it at the URL if interested.
- mtimjones 13y agoAs my January personal code project, I created an experimental game that considered what would happen if you crossed an RPG with a UNIX filesystem. The result is RPGFS. You have some simple commands available (ls, cd, pwd, rm) and you fight "bugs" in the filsystem using the rm command (everything is a file). You also consume "items" with rm. The goal is to descend the filesystem to find a special file to unlock another command to destroy the filesystem. This was written as part of a monthly project I'm undertaking in 2014, and represented a small amount of work (hack). It's written in C for Linux, and you can grab it at the URL if interested.
- moron4hire 13y ago"A wild /dev/null appeared!" ATTACK "No effect" CAST FLAME "No effect" CURL UP IN BALL AND CURSE THE GODS
- angersock 13y agocurl: (6) Couldn't resolve host 'up' curl: (6) Couldn't resolve host 'in' curl: (6) Couldn't resolve host 'a' curl: (6) Couldn't resolve host 'ball' curl: (6) Couldn't resolve host 'and' curl: (6) Couldn't resolve host 'curse' curl: (6) Couldn't resolve host 'the' curl: (6) Couldn't resolve host 'gods'
- notduncansmith 13y agoHA! Nice. Have my upvote, friend.
- nightpool 13y agoI want to see the other way around. An RPG interface to my normal filesystem ;) Seriously though, this is a really cool project! I'm looking forward to trying it out when I get some time.
- lstamour 13y agoYeah, I kind of wanted to see "You are lost in a dark and scary folder. There is a stream of bytes to your left. What do you do?"
- MereInterest 13y agoIf you are using screen, use the command "nethack on". - Welcome to the hacker's treasure zoo. - You drop a magic marker. - You destroy poor window 3.
- nightpool 13y agoIndeed, .nethackrc is one of the first files I create on a new machine :)
- loudmax 13y agoI love this idea! But this seems to be more like crossing an RPG with a shell than with the filesystem. There doesn't seem to be any mounted filesystem. It's more like Zork with Unix commands. Anyway, kudos, this is a really neat project.
- mtimjones 13y agoThanks -- and good point. From an RPG perspective, the (virtual) filesystem was the environment to explore, with non-directory files being the objects and enemies that you'll encounter. Shell commands are the actions over those directories and objects. I had fun with it, but it may not be fun for everyone...
- simcop2387 13y agoWhat I think was wonderful about looking at the source was that it looked very very similar to the old school MUD/MOO/MUSH engines out there. It'd probably be doable to port this idea onto one of them pretty easily if you wanted to have a multiplayer version where you have to go edit other users files.
- rgbrgb 13y agoReminds me of Urbit[1], which is in many ways also a filesystem as an RPG or RPG as a filesystem (though they call it an operating system). [1]: http://www.urbit.org/ http://www.urbit.org/
- aaronem 13y agoHaving just built rpgfs and played around with it a bit, I have to say your comment amounts to something of an insult against Urbit.
- pirateking 13y agoThe Stripe (and other) CTFs should eventually converge with the future developments of this concept. Along that possible future, all system administration and network operations work will be like playing some sort of MUD/RTS hybrid. Security as tower defense should be fun...
- bch 13y agoSee also: Doom as an Interface for Process Management[0] [0] http://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html http://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html
- DanBC 13y agoThere were a bunch of 3D interfaces - file mangers and desktops. None of them took off, which is a shame because the computing power to do them is trivial now. http://nooface.net/3dui.shtml http://nooface.net/3dui.shtml There are some obvious flaws to these - sometimes they're really inefficient. But then a lot of the time I don't care about efficiency I just want a nice interface. (See, for example, mobile platforms which have pretty interfaces and restricted functionality).
- angersock 13y ago"This is Unix. I know this!"
- bburky 13y agoIt would be very interesting to implement something like this atop FUSE[0]. For free you get the ability for the player to use any existing command line tool you want. You could easily make strange and artificial directory structures. And you can dynamically change and detect changes in the filesystem. [0] http://fuse.sourceforge.net/ http://fuse.sourceforge.net/
- mtimjones 13y agoI should have thought of that. Much of the work to build this (which honestly was a few days spread over a month) was building the list management for subdirectories and files...
- gizmo686 13y agoAs someone who has briefly worked with FUSE for my own toy projects, that seems like it would run into a lot of unexpected difficulties. Programs seem to behave very oddly if their assumptions about a file-system are incorrect.
- bburky 13y agoBut aren't the unexpected difficulties half the fun? Yes. I expect many programs would have trouble, but you probably wouldn't have too much trouble making it work for typical non-interactive command line programs. But the possibility game mechanics like making files appear after moving a file (an item in the game) into the directory (room) are really interesting.
- Daviey 13y agoThis reminds me of a game from the early 90's, called "Virus!" iirc, where you had to dig around your filesystem chasing the bad guy.