First of all a BIG BIG DISCLAIMER. I wrote this just for fun, so
use at your own risk. I promise it won't mess up your hard disk
or something like that. But it might (very likely will) crash.
In which case you will lose the game in which you have invested
so much time.
It is also based very much on Microprose's game called Civilization.

I don't have much time to maintain this yet so please don't send me
lots of mail. But here's a small bit of documentation. Don't forget
to read the BUGS/UNIMPLIMENTED section at the end ;-)
I'm putting this out on the net to get some feedback and also
help with coding the rest of it. The game is pretty playable right
now but it could be much much better.

no computer players by the way, that's another must do
to start up you must be running X11.
First run civ, this will be the one who creates the world
so when you get the dialogue box, enter your name and the number
of players who will be playing. Don't bother about server name.
now click the New Game button.

If you wan't to run under MS Windows see the section at the end

Now for someone else to connect to your game, they must run civ too
in the dialogue box, they enter a different name, and set the number
of players to 0. Of course they must set the server name to that of
your machine. They must also click the New Game button

If you want to restore a saved game, follow the same steps except
that everyone clicks Restore Game.

If the world is created successfully, the server civ will say
Initializing and wait for players to connect.

Sometimes it is possible that civ cannot create the world because it
gets a bad random number (well bad for me) in this case it will hang
and you will not get not get the Initializing message. In this case
just kill it and start again.

Playing
-------

Players take in turns to move and play with their cities. Only one
player can move at a time. All other players mess with their cities
during this time.

Initially its player 0's turn. After he finishes, every one else will
get a messages saying he is done. They must now press 'a' to accept
his moves (or click the accept button). Until they all do this, he
cannot proceed. Once this is done, it becomes player 1's turn and so on.

To move units you either wait till they start blinking or click on them
Clicking the right mouse button causes that square to be centered.
Moving into another unit attacks it. Moving into an enemy city takes
it over (only if it has no units in it). Clicking on a unit which is
asleep or fortified wakes it up.

During your city turn you can click on a city to display info about it
and then change stuff. If you click on a city during your move turn
it will wake up all the units in the city but won't show you the city.

Commands
--------

The interface is kind of like civ except everything works off the
keyboard (I'm too lazy to make menus or help yet).

Cursor keys move units.
Clicking on units wakes them up
n	goes to the next unit in a move turn
a	accepts a players move in your city turn
S	initiates a save, only player 0 (the server player can initiate a
	save). A save must be initiated in player 0's city turn
	it will take effect when his move turn starts.
	If you're not player 0, you get a message saying player 0
	initiated save, then finish up what you're doing and press S

these keys give orders to units

f	fortify
s	sleep (won't wake up till you click on it)
space	do nothing for this turn

orders which only work for settlers

b	build city
i	irrigate
r	build road/railroad
m	mine

these keys only work in your city turn

c	in a city, changes what you are working on
t	sets your tax rate
m	in a city, takes you back to the map

MS-WINDOWS
----------

I tried to get this working using the windows socket programming
It seems to work pretty well but I'm not making any guarentees.
If you wan't to compile it under windows, you must have winsock.lib
get one of the free/shareware ones, and of course a c++ compiler.
Don't compile X11Screen.cc and UMsgQ.cc. But you must compile
WScreen.cc. And of course you're going to have to rename all the .cc
to .cpp files. If you don't wan't to do this send me email, I have
a compiled version which I'll send you, or put into the ftp directory.

BUGS/UNIMPLEMENTED FEATURES
---------------------------

o	No computer players

o	People get unhappy in cities, but cities don't civil disorder
	shouldn't be hard to fix, look in City::Update

o	No pollution

o	Caravans don't do anything, nor do diplomats, nuclear units
	just have huge attack but don't destruct things. All these
	should be pretty easy to fix. Look in Units.cc.

o	science advances a bit too fast, need to tweak Player::UpdateCities

o	if you irrigate or build roads, it works but doesn't draw the
	pictures for them. Need to add different pictures for each
	terrain type to do this, and I'm too lazy right now. If you fix
	this, send me the patch.

o	Sometimes civ can't create a world because it gets a bad random
	number. In this case you have to kill it and restart

lots and lots of other bugs which I either don't remember or don't
know about, send me bug reports or fixes

anyways, have fun :-) 

Kirat

email: ksingh@fas.harvard.edu
home ftp site:	ksingh.student.harvard.edu
		in /pub/civ.tar.gz
