RPGFS: Crossing an RPG with a Unix Filesystem(code.google.com)
code.google.com
RPGFS: Crossing an RPG with a Unix Filesystem
https://code.google.com/p/rpgfs/
10 comments
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.
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.
"A wild /dev/null appeared!"
ATTACK
"No effect"
CAST FLAME
"No effect"
CURL UP IN BALL AND CURSE THE GODScurl: (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'
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'
HA! Nice. Have my upvote, friend.
See also: Doom as an Interface for Process Management[0]
[0] http://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html
[0] http://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html
There 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
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).
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).
"This is Unix. I know this!"
I 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.
Anyway, kudos, this is a really neat project.
Thanks -- 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...
What 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.
It 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/
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/
As 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.
But 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.
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.
I 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...
I 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.
Seriously though, this is a really cool project! I'm looking forward to trying it out when I get some time.
If 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.
- Welcome to the hacker's treasure zoo. - You drop a magic marker. - You destroy poor window 3.
Indeed, .nethackrc is one of the first files I create on a new machine :)
Yeah, 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?"
The 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...
Reminds 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/
[1]: http://www.urbit.org/
Having just built rpgfs and played around with it a bit, I have to say your comment amounts to something of an insult against Urbit.
This 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.
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.