                                NetPanzer
                            an open source RTS

Contents:
1. Introduction
2. Building and Installation
3. Gameplay
4. Dedicated Server and Game Configuration
5. Bot Player
6. Contact

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Introduction
netPanzer is an online multiplayer tactical warfare game designed for FAST
ACTION combat. Gameplay concentrates on the core -- no resource management is
needed. The game is based on quick tactical action and unit management in
real-time. Battles progress quickly and constantly as destroyed players respawn
with a set of new units. Players can join or leave multiplayer games at any
time.

1.1 A bit of history
The original development of netpanzer was done from PyroSoft inc. Though in
1999 they stop development and released the game 2002 in GPL and it was nearly
forgotten, until Ingo announce it at happypenguin.org. Soon after this
announcement a group of coders did the linux port in roughly 2 weeks, with
another 2 weeks polishing for this release. Now we'll go along and improve the
game...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2. Building and Installation

2.1 Prerequesites
The game depends on some tools and libraries to be present, before you can start
building it. Here's a list of them:

* normal gnu compiler and additional tools (g++ version 3.2 or later is
  required at the moment)

* perforce jam 2.5 or later (used as build tool)
  ftp://ftp.perforce.com/pub/jam

* SDL 1.2.5 or later
  http://www.libsdl.org

* SDL_mixer 1.2.4 or later
  http://www.libsdl.org/projects/SDL_mixer/

* SDL_image 1.2.3 or later
  http://www.libsdl.org/projects/SDL_image/

* PhysicsFS 0.1.9 or later
  http://www.icculus.org/physfs/

Thanks to all the authors of these helpful libraries that made our development
easy and straightforward.

2.2 Building

To build and install the game use the following commands:

./configure
jam
 (You probably need to be root for the installation, so using "su" is a good
  idea here)
jam install

The configure script also lets you set some more options like the installation
directory (--prefix argument). You'll get a full list of these if you invoke
"configure --help". The game should be installed now.

2.3 Music

Netpanzer doesn't come with own musicfiles yet. However you can place your
favourite .mp3, .ogg or .mod files into the sound/music directory and netpanzer
will play these in random order while you play.

2.4 Starting the game

You can start the game by typing

netpanzer

Note that on first startup the game needs some time to precalculate some data.
This might take up to 5 minutes. So just wait a bit when you have a black
screen.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3. Gameplay

This section needs to be written... Press F1 in the game for a quick overview of
keys and in general trust your intuition :)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4. Dedicated Server and Configuration Files

You can start a dedicated netpanzer server (a pure server, without any video
output). By starting netpanzer with the -d commandline option.

The server reads the configuration from
    $HOME/.netpanzer/config/netpanzer-dedicated.ini
The format is basically the same as the normal configuration file of
netpanzer. Here's a short introduction into the option specific to a server in
the server section of the file:

*serverport [number], default 3030
    Specifies the port which the server will be using.
    (The server is doing both, TCP and UDP connections on this port)

*bindaddress [string], default ""
    Allows you to bind the server to a specific IP address (usefull if you have
    multiple IP addresses on 1 box)

*logging [yes,no], default no
    When enabled the server creates detailed logs about the matches in the
    $HOME/logs directory. This can be usefull for creating statistics about the
    matches.

*public [yes,no], default yes
    Register at the internet masterservers so that the server will appear in the
    serverlist of other players.

*maxplayers [number], default 8
    Number of players and bots that are able to play simultaneously on the
    server.

*mapcycle [name], default "Cramped, Tight Quarters, Two Villages"
    A comma separated list of maps that this server will use.

*maxunits [number], default 500
    Number of maximum available units for all players. (Each
            player will be able to have maxplayers/maxunits units at once)
    
*gametype [0,1,2], default 0
    Type of game: (0=Objectives, 1=FragLimit, 2=TimeLimit)

*timelimit [number], default 50
    timelimit of the map in minutes (used when gametype = 2)

*fraglimit [number], default 500
    fraglimit of the map (used when gametype=1)

*objectivepercentage [number], default 50
    Percentage of outposts that has to be captured to win the game.
    (used when gametype=0)

*mapcycling [yes,no], default no
    cycle to next map after a map ended.

*powerups [yes,no], default yes
    enable/disable powerups

*allowallies [yes,no], default yes
    allow/disallow players to allie

*cloudcoverage [number], default 65
    Number of clouds flying over the map.

*windspeed [number], default 30
    windspeed that affects particles and clouds

*respawntype [0,1], default 1
    Spawn mode: 0=Round Robin, 1=Random

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5. Bot Players

Netpanzer provides a bot player for these times when you don't have a human
opponent. You can start netpanzer in a special mode where it connects to a
server and simulates a real player. You can start netpanzer like this to connect
as bot to a server:

netpanzer -b servername

Example:
This example shows how you can play locally against 2 bots:

netpanzer -d &
netpanzer -b localhost &
netpanzer -b localhost &
netpanzer

... now press multiplayer and join to server address localhost ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6. Contact

Bugs should be reported to the bug trackker on Berlios:
    http://developer.berlios.de/bugs/?group_id=1250
You can contact us at the netpanzer-devel mailinglist at Berlios:
    https://lists.berlios.de/mailman/listinfo/netpanzer-devel
or you might be able to catch us in irc at irc.freenode.net #netpanzer.

