                   Rise of the Tribes README
                      version 0.1.8a, alpha

              Evert Glebbeek (eglebbk@phys.uva.nl)
                        March 3, 2003


0) ABOUT
1) DISCLAIMER AND LICENSE
2) INSTALLING THE GAME
   a. building from sources
   b. installing a binary distribution
   c. installing digital midi
   d. setting the working directory
3) PLAYING
   a. getting started
   b. playing the game
4) IN CLOSING
5) CREDITS

0. ABOUT
========
Rise of the Tribes aims to be an RTS in the style of WarCraft II, but it
focuses on the advances from the Stoneage through modern times to the
future. At least, that was the original idea before Microsoft came up with
Age of Empires. Right now, I'm working on getting the engine up and running
and developing the Stone Age campaign.
I started for DOS under Turbo Pascal, using a home-brewn graphics library,
but I'm now working under C using the Allegro library, making the game
platform-independent in principle.


1. DISCLAIMER AND LICENSE
=========================
This program is distributed as is. No warranties are made, expressed or implied,
that this program is fit for any particular purpose. Neither the author, not
the distributor will take responsibility for any damage that may result from
the abuse, use, or inability to use this software, including, but not limited
to, loss of data, profits, time or sanity, even if they have been informed of
the possibility of such damage.
By running this software on your computer you accept the terms of this
agreement, regardless of wether or not you bothered to read it.

Permission to distribute the game binary, sources and datafiles is granted,
provided that this readme file is also included. Do not distribute modified
sources or binaries build from modified sources.
Some of the game artwork and music is not original and serves as place holders
for more original artwork and music. These should not be redistributed as being
part of this game.

2. INSTALLING THE GAME
======================
To install the game, you have several options, depending on your system setup.
You will need to download the game datafiles regardless of what distribution
you select, but otherwise you have the option of picking a source code
distribution, or a binary distribution. Note that the two releases may not
always be at the same version number!

Unzip the game datafiles to a directory of your choice, preserving directory
structure. The datafiles will be put into a subdirectory rise/

The next steps depend on wether you downloaded a binary distribution or a
source distribution.

a. building from sources
------------------------
The build process should be fully automated for DOS, Windows and Linux. It
may require more work on other platforms.

To build the game you will need to have the following tools installed and
working on your system:

   * The GNU C Compiler (gcc). Not sure what version, I use 2.95.2 which I
     think is the most stable release at the time of writing.
   * GNU make. If you have gcc, you probably already have this.
   * A recent version of the Allegro programming library. Version 3.9.38 is
     the minimum required, Allegro 4.0.x is highly recommended.
   * In addition, if you want the ability to use CD music in the game, you
     should also put Peter Wang's libcda sources in the src/libcda directory.

In addition, the following tools are recommended:
   * GNU sed, grep and bash. These are needed by the depend target.
   * GNU fileutils, in particular the rm and ls utilities (needed by the clean
     family of targets and depend, respectively).

(Note: I'm feeling rather lazy, so both libcda and the gif/jpeg addons are
included in the source distribution. Check the site for updated versions,
though.)
All of these are free tools available from the Internet. If you have a
different compiler (eg MSVC), you should be able to compile the sources with a
few adjustments, but I've only tested things under gcc. For other compilers,
you're on your own...
gcc should be included in every Linux distribution, and in general on every
UNIX system. For non-UNIX systems (DOS, Windows), you'll need to get a gcc
port for your system:

DOS: get DJGPP from              http://www.delorie.com/
Windows: I'd advice MinGW from   http://www.mingw.org/

Allegro is available from several locations, most notably the former Allegro
game depot, http://www.allegro.cc/, the Allegro homepage
http://www.talula.demon.co.uk/alleg/, or directly from sourceforge,
http://alleg.sourceforge.net/. Consult the Allegro documentation for setting
it up for your system.
The libcda library can also be found on allegro.cc, under music addons.

If your system is configured properly, then all you should have to do is
extract the source code to the same directory where you extracted the game
data files. The source code is in a UNIX-style .tar.gz archive, which is
also recognized by WinZIP.
Extracting the source code will create the directories rise/src, containing
the game sources, rise/include, containing the header files and rise/obj, where
the object files will go. It will also create rise/Makefile.
Next, go to the source directory and run `make' or `gmake' from the command
line. Make will try to detect what system you are running by checking against
some environment variables: if DJGPP is set, it will assume a DOS environment.
If MINGDIR is set, it will assume a Windows/MinGW environment. If neither of
these are set, a UNIX like environment is assumed. Check these variables if
you are in doubt.
If you're using Linux or UNIX, you way wish to set the CPU environment variable
to your CPU to generate code for it. On my Linux box, it's set automatically,
but you may wish to make sure.

b. installing a binary distribution
-----------------------------------
Compared to installing a source distribution, this should be easy go. Simply
pick the binary distribution you want and unzip it to the same directory where
you unzipped the game data files. Done.
There are a few subtleties though.

The DOS distribution comes with the file CWSDPMI.EXE, which is not needed if you
run under Windows, but is required if you want to run the game in DOS mode.
You don't need any additional files.

The Windows version requires the Allegro 4.0 DLL to be installed on your system.
The DLL is *not* included in the binary distribution to keep the download as
small as possible (or actually, the upload ;-) ). If you don't have the Allegro
DLL, you can grab it from the files section on allegro.cc.

The Linux binary also requires the Allegro shared .so library, amongst other
things. If Allegro works though, this should be no problem. If the binary
doesn't work, you'll have to recompile the sources.

c. installing digital midi
--------------------------
If you have a fast computer and want better sounding MIDI output, or if your
soundcard doesn't natively support MIDI output, then you might want to use
Allegro's digital midi driver.
To enable the driver, you will first need a MIDI patch set. Refer to the
Allegro documentation to figure out where you can find a patch set and convert
it to the appropriate format. Alternatively, there is a patch set available
from the Rise of the Tribes download page specifically for this game based
on the TiMidity++ patch set (approx. 2Mb). This file is NOT included in the
main game distribution.
The first way to enable the digital midi driver is through the Sound Options
dialog box. You will need to copy the patch set to the Rise of the Tribes
directory to a file called `digmid.dat'. If you've downloaded the tailored
patch set, then unzipping the patchset is all you should have to do. Once the
datafile is in the directory, start Rise of the Tribes and check the `Use
Digital Midi' box in the Options screen. If this checkbox is disabled, then
the digmid.dat was not in the same directory as the game datafiles.
The second way is slightly more complicated, but doesn't require you to put a
digmid.dat in the Rise subdirectory. Start Rise of the Tribes with the -setup
commandline flag. Go to `Midi Driver' and select DIGMID, then hit Ok. Check
the box that says `Patches'. You will now be asked to locate the patch
datafile. Select the file and click Ok twice. Choose `Save and exit' and
restart the game.

d. setting the working directory
--------------------------------
By default, the datafiles are looked for in the current directory. You can,
however, tell the game where to look for the datafiles. To do this, you need
to edit the game config file and insert a line "gamedir = somedir"  in the
[game] section. For instance, if you want to put the game in /var/games/rise
or c:\program files\rise, you would use

[game]
game_dir = /var/games/rise

or

[game]
game_dir = "c:\program files\rise"

Note that the config file is still looked for in the current directory, except
under UNIX, where it can also be in /etc. This will eventually be fixed, though.


3. PLAYING
==========

a. getting started
------------------
The Rise of the Tribes executable and configuration files are named differently
on different platforms:

           Executable:             Config file:
DOS:         rise.exe               rise.cfg
Windows:     rise95.exe             rise.ini
Linux:       rise                   .riserc or /etc/riserc

Under Linux, the file .riserc will be looked for in the directory pointed to by
the HOME environment variable, or the current directory if HOME is not set for
some reason.
If .riserc cannot be found in either location, but the file /etc/riserc exists,
it will be used to read global settings. New settings will be saved in .riserc.
Run `rise -help' to see a list of command line options. CAUTION: not all of
these may work properly. Run `rise -setup' to change system settings (usually
not needed).
Simply start the program without any arguments to begin playing.

b. playing the game
-------------------
You can skip the Allegro opening animation by pressing any key on the keyboard
except shift, ctrl and the like. After the animation, the title screen and
main menu will appear. The main menu offers five options: New Campaign,
Custom Game, Load Game, Options and Exit. Currently, only the New Campaign,
Options and Exit buttons perform their logical function. The New Campaign
option takes you to a second menu, the only active item of which is the
Stone Age Campaign button.
You'll be taken to the test map, which is basically a vast, featureless grassy
plain with your settlement located at the top left corner and an other
settlement located to the south east of yours. You can use the mouse to
select units and order them to do things, but not all of them are fully
functioning yet (in particular, you can say attack all you want; they won't).
Hit <Esc> or choose Menu->Exit to return to the main menu.
Press <F1> to see all the nice tips.

4) IN CLOSING
=============
This game is still in early development, meaning that the engine hasn't been
completed yet. Some things work in half-broken, dodgy ways, others aren't
working at all or are broken in some way.
I try to design the engine with stability, extendibility, customizability and
portability (in short, a lot of bilities) in mind, and a lot of things are
likely to change regularly. The somewhat ugly and sometimes haphazard sources
reflect this.
If the game doesn't work on your system for some reason or other, I'd like to
know about it. It has been reported to work under FreeBSD, and it compiles
straight out of the box for me without changing a single line of code on a SUN
workstation. But I can't tell you how to set it up in general; you'll need to
figure that out on your own if plain `make' doesn't work.
Most of the game graphics are taken or adapted from an other well know classic
RTS game, just as the music. I'll be working on the graphics myself, but if
you can provide me with links to some nice in-game music, I'd be grateful.

5) CREDITS
==========
Apart from the work I myself did on this project, credits should go to:

Shawn Hargreaves and everyone who contributed to Allegro
DJ Delorie & Co, for maintaining DJGPP, the DOS port of the GCC compiler
Mumit Khan & Co, for MinGW, the Windows port of the GCC compiler
Peter Wang, for the libcda cd player
Angelo Mottola, for the JPEG loader
Paul Bartrum, for the GIF loader
Thomas Fjellstrom, for helping me revive my mouse when I killed it
All the people at allegro.cc for constructive feedback and bug reports
