SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

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:


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.