FlatFrag 0.3
These are the release notes for FlatFrag 0.3 released on September 14th, 2005. It should contain enough information, so that you are able to run and play the game successfully. If that is not the case, see the section `WHERE TO GET MORE INFORMATION?'.
WHAT IS FlatFrag?
FlatFrag is a multiplayer action shooter game. With its deathmatch fights it
strives to be an entertaining arcade-style experience. The game is played
from a bird's eye view and contains some 3D effects in order to make it not
seem too flat. Currently only the game mode deathmatch is available, but
others will probably be developed in the future.
The game has been built from scratch, though a few important libraries were
used in the process. For example, OpenGL is used for fast 3D graphics and
SDL provides the game with many cross-platform functions. It is developed
by a single person as a hobby project, but it is released under the terms
of the GPL (GNU General Public License), which makes it Open Source
software. So everybody is able to get the sourcecode and do his own changes
to the project.
This project is currently still under active development.
WHICH OPERARTING SYSTEM IS REQUIRED?
The game has been created with cross-platform-compatibility in mind. The code
should actually run on all kinds of platforms. No operating system or byte
order specific functions were used and all network communication is done in
network byte order. Therefore the game should be able to be compiled and run
everywhere.
I'm a bit limited in my hardware equipment, so I'm only able to create Linux
(x86) and Windows binaries at the moment. Other systems can be used by
compiling the sourcecode (also see `HOW TO MAKE?').
So, in short:
- Linux (x86) (binary and source)
- Microsoft Windows (binary and source)
- Other (source only)
WHAT ARE THE HARDWARE REQUIREMENTS?
I can't really say anything about this yet because the game hasn't been tested on that many machines, but I guess the following are some basic requirements:
- 3D graphics card with proper OpenGL drivers
- a sound card
- a keyboard and a mouse
- about 10-20 MB free space on hard drive
ON WHAT SOFTWARE DOES THE GAME DEPEND?
The game is dependent on the following libraries:
- OpenGL
- SDL
- Lua
- OpenAL
- Ogg Vorbis
- PNG
- zlib
You need to install all these libraries yourself if you want to compile the
sourcecode.
If you use the binary distributions all libraries should be included except
for an OpenGL implementation, which is normally best provided by your graphics
card vendor.
HOW TO PLAY?
In order to play you need to run `ff' or `ff.exe' in Windows. If you simply want to play the game you have to join an online server because there is no singleplayer mode available at this time. Just launch the game and select `Join a Game', after that you can just select `Server List' and after a short while you will see a list of servers, which are currently running. Select one and you will be connected.
While playing you can use the following keys:
- ESC: Open the menu.
- F1: Open the in-game console. (Close it with F2.)
- W: Move forward.
- S: Move backward.
- A: Strafe left.
- D: Strafe right.
- Shift: Sprint (W and S will move you faster) (keep pressed).
- Space: Jump.
- Tab: Show scores (keep pressed).
- T: Start writing a text message (send with Return).
- E: Do some action. For example, you can enter cars, stationary guns or use a teleporter.
- V: Show the voice chat menu. Pressing V another time hides this menu. Pressing one of the numbers 1-0 will send one of the voice messages.
- 1 - 0: Change weapons.
- M: Magnify the minimap (keep pressed).
You also need the mouse to play properly:
- Moving the mouse: aim with the crosshair
- Left mouse button: shoot
- Right mouse button: reload
- Scroll wheel up/down: change weapons
The game's interface is rather sparse. At the lower left there is all information displayed, that is needed to play the game. In order to keep it short the numbers are only titled with one letter. These have the following
- meanings
-
- H: Your health.
- A: Your armor.
- B: Your breath (it decreases when you sprint).
- W: The name of the weapon you are currently using.
- A: The number of bullets in your gun and the number of bullets you have left in extra magazines (you have to press the reload key in order to get these into the gun).
- S: Your score. The first number tells how many players you have killed and the second one how often you have died.
Some of this information can also be read by using the three colored bars in the lower center of the screen. The red one shows your health, the blue one your breath and the green one your armor. Additionally there is a yellow bar when you are in a car or a stationary gun. It shows the car's or gun's status.
In the upper right corner there is a minimap of the map you are currently playing on. It mainly shows the height of the map's regions and the positions of the players. The height is indicated by the brightness in the minimap. The brighter a spot is the higher is it. Furthermore, red spots indicate an enemy (player) and the green spot indicates your position.
HOW TO CONFIGURE THE GAME?
Most changeable options can be found in the configuration menu in the game. Just select `Configuration' in the game's main menu. From there you can enter some submenus that contain all the options that can be changed by using this way. The options should be pretty much self-explanatory. Everything can also be changed in the file `default.cfg' including some extra options, which cannot be found in the menus.
HOW TO RUN A SERVER?
If you want to start your own game, you only have to run `ffserver' (or
`ffserver.exe' in Windows). If you are behind a firewall or a router make sure
that the server's port is forwarded/open. The default port is 29000, but it
can be changed in the file `server.cfg'.
When you want to shutdown the server, you should hit CTRL+C in the server
window.
The server automatically tries to register itself with the master server. This
means that it tells the master server your IP address and the port the game
server runs on. Players who fetch a list of running servers from the master
server are then able to see your running server and join it. If you want to
prevent this you should change the entry `net.master_server' in the file
`server.cfg'. It probably says something like `tzi.de:80'. Simply change it to
`localhost:80' or something similar. Your server will then be unable to
contact the master server.
HOW TO CONFIGURE A SERVER?
The server is configured by changing the file `server.cfg'. It normally includes the following entries:
- server.port: The port the server runs on.
- server.maps: contains the name of a file, which contains a list of maps, that are used by the server.
- server.roundtime: Specifies how long a round is. The map is changed after the end of every round. The number given here represents minutes.
- server.forcerespawntime: Specifies the maximum time a player may be dead. If this time is over, the server automatically respawns the player. The time given is interpreted as seconds.
- server.name: The name of the server as it appears in the server listing if you register your server with the master server.
- server.max_players: The maximum number of players, which may simultaneously connect to your server. Currently this number has an upper limit of 32.
- server.bots: The number of bots which are automatically added when the server starts.
- net.master_server: The hostname and port of the master server. You prabably don't need to change it.
- radmin.password: This is the password you need to authenticate yourself as a remote admin (radmin). Also see the next section `WHAT IS RADMIN?'.
WHAT IS RADMIN?
`radmin' is short for `remote admin'. This mechansim provides you with an easy
to use utility to manage your server when you are playing on it. It is used
through the in-game console that you can access by pressing F1 (close it by
pressing F2).
The first thing you need to do is to tell the server, that you actually are allowed
to be a radmin. This is done by entering `radmin_auth("password")' and hitting
return. The password you have to enter is the one, that you have configured in
the file `server.cfg' by setting the entry `radmin.password' (see section `HOW
TO CONFIGURE A SERVER?'). The game then either tells you that the password was
correct or that it was incorrect. If it was correct you can now use all the
other radmin commands, which are these:
- radmin_map("filename.map"): Tells the server to change to the map, that is given as the parameter.
- radmin_kick("playername"): Tells the server to kick the player with the given name.
- radmin_addbot(): Tells the server to add one bot.
- radmin_delbot(): Tells the server to remove one bot.
HOW TO CREATE A MAP?
The map editor is directly built into the game. In order to get to it you just need to select `Map Editor' in the game's main menu. The editor is not very user-friendly (yet). I'm not certain if it will stay the way it currently is or if I'll implement some drastic changes. So I refrain from describing the procedure of creating a map for the time being. It's also possible that the whole map format will change in the future. That's why it might be impossible to convert maps from the current format to the then used format.
HOW TO MAKE?
If you want to built the game from its sourcecode the best way is to use
`make'. This is the preferred way for all Unix-like systems. In Windows the
best way is probably to use the supplied Dev-C++ project files, which should
compile cleanly, because I don't know if the Makefiles work in Windows (with
Cygwin or something).
So compilig is currently as easy as changing to the game's directory and
typing `make'. This will built a release version of the game. In case you
need a debug version you should run `make TYPE=debug' instead. In order to
clean up you can use `make clean'. Installing a release version is done
by `make install' (default destination is `/opt/flatfrag/'). If you even want
to create a distribution version, which is ready to be published (including
.zip and .tar.gz files), you should use `make TYPE=dist'.
HOW TO HACK THE SOURCECODE?
I cannot say too much about this right now, but there actually are some comments
in the code (too few, but still better than nothing). It is probably also
helpful to have a look at the sourcecode documentation, which was generated
with the help of Doxygen:
http://www.tzi.de/~jfk/projects/flatfrag/sourcedoc/
While hacking the sourcecode, you should keep in mind, that it is licensed
under the GPL. You can either read the license in the file `LICENSE', which
should have come with this file, or online at:
http://www.gnu.org/copyleft/gpl.html
WHO DID THIS?
It was just me who created this game and is still creating it. My Name is Johannes Kuhlmann and I am currently studying Informatics (comparable to Computer Science) at the University of Bremen. If you want to contact me, the best way is to send me an e-mail. My address can be found in the section `WHERE TO GET MORE INFORMATION?' in this document.
WHERE TO GET MORE INFORMATION?
You can check the following sources of information:
- The game's homepage: http://www.tzi.de/~jfk/projects/flatfrag/
- The Doxygen-generated sourcecode documentation: http://www.tzi.de/~jfk/projects/flatfrag/sourcedoc/
- A blog-like development log: http://www.informatik.uni-bremen.de/cgi-bin/cgiwrap/jfk/pyblosxom.cgi/flatfrag
- You can e-mail me: jkuhlmann@gmail.com
