Introduction
BFM, the Brutal File Manager is a combined file manager and first person shooter game. The basic idea is to represent different folders on your computer as rooms in a 3D environment. Then, armed to your teeths you go through these rooms and delete files by shooting att them. From version 1.2 it's also possible to copy and move fíles. Take a look at the screenshots section and you'll see what it's all about.

BFM is written in Java and uses the hardware accelerated 3D library Java3D. That means that it should run on all platforms that have Java and Java3D. It's been tested on Linux and Windows.

The whole thing started as a project in our programming class in school, and the development has continued even though we have graduated.

BFM is released under the GNU General Public License.

Features
Here's a list of some of BFM's features:
  • A 3D environment with rooms generated from the file system, the walls are "doors" to other directories
  • Files are represented by cylinders on the floor
  • Weapons: currently a spear, shotgun, sniper rifle, dynamite and a rocket launcher
  • You can delete files using your weapons
  • Files bleed when they are hit
  • Secondary fire: you can zoom with the sniper rifle
  • Walls are colored in different ways depending on different attributes
  • The look of the files depend on various attributes like file type. Default color is blue, read only files are red, hidden files are transparent and files that have been hit turn yellow.
  • It's perfectly safe to use bfm strictly for entertainment by starting it in safe mode, files won't be removed from the hard drive but they'll still disappear in the 3D environment
  • A head up display showing current directory, mode, file player currently is aiming at and a crosshair
  • A config file reader
  • Platform independent (since it's written in Java), should run on all platforms with a Java and Java3D installation (for more details look at requirements)
You can find our plans for upcoming releases in TODO

Requirements
BFM should work on all platform with a Java and Java3D installation but it's been developed and tested in Linux and Windows with the following software installed: If it works with some other versions of Java and Java3D, if you've successfully used it on another platform or if you can contribute with some hardware requirements please contact us.

Installation
There is an installer available for windows users, just download, run it and follow the instructions to install BFM

The BFM package comes with a precompiled .jar-file called Bfm.jar that can be used to execute BFM. For Windows users it's just to double click the .jar-file to run it. It's also possible to move the .jar-file to a suitable place and create a shortcut to it. For information how to configure BFM continue to configuration.

The following installation notes apply to UNIX-like systems:

If you just want to try BFM run:
#java -jar Bfm.jar

If you want to install BFM on your system do the following:

As root, move 'Bfm.jar' to a suitable place (in this example /usr/share/bfm):
# mkdir /usr/share/bfm
# mv Bfm.jar /usr/share/bfm/

Edit the bash script called 'bfm' (found in the BFM package) with an editor of your choice (here: vim) so that the path in it matches the place where Bfm.jar can be found. The next step is to move the start script (still as root):
# vim bfm
# mv bfm /usr/bin

Now it's just to run 'bfm' from a terminal to start the program but you should probably take a look at how to configure BFM before running it.

For those of you who want to compile, run or create the .jar-file yourself (for some reason), cd into the src directory and take a look at the following (this should be platform independent):

To compile BFM run:
# javac Bfm.java
To execute it run:
# java Bfm
To create a .jar-file run:
# javac Bfm.java
# jar cmf data/manifest Bfm.jar *.class data/images

Configuration
Before you run BFM you should setup bfm.conf and change the settings the way you want. It is recommended to enable safe mode unless you really want to remove files and before you know how BFM works. The shotgun for instance spreads its shots in a cone which you should be aware of.

For an explanation of all settings take a look at the default bfm.conf (a list of available keyboard and mouse bindings can be found in a file called bindings.

Windows users should start BFM using the -l flag to load a config file:
# java -jar c:\path\to\Bfm.jar -l c:\path\to\bfm.conf

If you're using a UNIX-like OS BFM will look for a configuration in /etc/bfm/bfm.conf (which can be used for system wide settings) and ~/.bfm/bfm.conf (which overrides previously loaded settings). It's also possible to use the -l flag with a path to load a config file.

Here's a list of all flags that can be used:
# bfm --help
BFM, The Brutal File Manager 1.2 - released 22nd of January 2005

Usage: bfm [PATH] [OPTIONS]
Delete your files in an brutal and entertaining way...
Options:
  -c, --config           print the current configuration and exit
  -f, --fullscreen       start in fullscreen mode
  -h, --help             prints this message
  -i, --invertmouse      invert mouse
  -l, --loadconfig=PATH  load config file from path: 'bfm -l c:\bfm\bfm.conf'
  -n  --noblood          don't display blood
  -s, --safemode         safe mode, no files will actually be deleted
  -u, --unsafemode       delete files, overrides safe mode set in config file
  -v, --version          print version and quit

Authors: Daniel Forchheimer and Henrik Johansson
Now it's time to get ready for the ultimate file managing experience - BFM :)
For any questions about how to use BFM continue to usage

Authors
Henrik Johansson and Daniel Forchheimer