NOTE:	This README updated by MarkM to reflect his changes.
	and then updated by Karl Millar to reflect subsquent changes

First of all a BIG BIG DISCLAIMER. This was written just for fun, so
use at your own risk. I can't promise it won't mess up your hard disk
or something like that. It hasnt messed up mine though. But it might 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.

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 getting playable right
now but it could be much much better.

Compiling
---------

Edit the first part of the Makefile to suit your needs: specify where
your include files/libs are located, chose the "widget set" you wish to 
use (X11/Xview, X11/Athena, [X11/Motif currently untested], [M$-Windoze no
longer works at all]). [If you want to run under MS Windows see the section
at the end. (MS-Win  support as included in the Makefile might not be
sufficient for now)]

Reported to work with:

Linux 1.3 / Xview 3.2
	? / Xaw
[Linux 1.3 / OSF-Motif 2.0
 HP-UX 9 / OSF-Motif 1.2 - may not work right now]

Starting civ
------------

There are 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. (Note: at least two players, because 
if there is only one player that player wins so fast that the game
never happens. Or something like that.) Don't bother about server name. 
Then click the New Game button.

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.

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

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] (Menus added to Xview and Xaw versions)

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

d	disband
f	fortify
h	changes home city to present location
s	sleep (won't wake up till you click on it)
space	do nothing for this turn
n

orders which only work for settlers

b	build city
i	irrigate
m	mine
p	clean up pollution
r	build road/railroad

these keys only work in your city turn

b	in a city, buys what you are working on
c	in a city, changes what you are working on
g	government change: allows starting a revolution
l	sets your luxuries rate
m	in a city, takes you back to the map
t	sets your tax rate


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.]
[The M$-Windows interface doesn't work anymore. Unless anyone wants to support
it, it should be removed]

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

[lots of stuff that has been since fixed]

o	No computer players

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

NOTE:	ksingh seems unavailable. Some people currently working on it can be
	reached via the mailing-list civ@knotwork.com so send patches there
	and check there for latest fixes before reporting bugs in case the
	bug is already known and perhaps fixed.

[ Continuing the list... ]

o [ydi]	Move keys are mishandled when pressed too quickly after accepting.

o [ydi]	Sometimes get a SIGSEGV due to moveQ=NULL, with Motif interface. Can't 
	figure out why; nothing seems wrong with "moveQ=new"'s (see 'a' debug
	flag) [*should* be fixed now- moveQ is now never NULL]

o [ydi]	Default font in screen->gc is too wide and current development overlaps
	map. Unfortunately, a smaller font would be unreadable :-(. Should no
	more be a problem when multi-window will work.[fixed]

o [ydi] Source files would gain a lot to have **COMMENTS INSIDE** (please :-)

o [ydi]	We have *multi-windowed* environments ! City-screens should pop up in 
	another window (...and that would simplify translation management :-)
	[on work][fixed]

o [ydi]	Some strange items appear "outside of map" when approaching top of map.
	Should presumably be black. Or does the real thing wrap ? I think I
	never went to the north pole !

o	Trade routes still not done
o	More diplomat options needed
o	Amount of pollution from production seems wrong
o	Wonders aren't properly handled when cities are destroyed/ captured
o	The colormap may become full, and cause CompilePixmap to fail
o	Should use resources

BUILDINGS IMPLEMENTED (Not including Wonders)
---------------------

Aquaduct:	Required in order to grow above 10 population.
Bank:		Multiplies luxuries and coins by 1.5.
Barracks:	Units built in that city are veteran
Cathedral:	Keeps 4 population content.
City Walls:	Multiply defense by 3; prevents loss of population when units 
		 in city are killed.
Colosseum:	Keeps 3 population content.
Courthouse:	Halves corruption
Factory:	Multiplies resource production by 1.5.
Fusion Plant:	A type of Powerplant (see).
Granary:	Retains half of stored food when increasing population or
		 building settlers.
Hydro Plant:	A type of Powerplant (see).
Library:	Multiplies science by 1.5.
Marketplace:	Multiplies luxuries and coins by 1.5.
Mfg. Plant:	Multiplies resource production by 2.0, replacing Factory.
Nuclear Plant:	A type of Powerplant (see).
Palace:		Moves your capital to that city (affects corruption levels)
Power Plant:	If a Factory or Mfg. Plant is present, multiplies
		 resource production by 1.5. Requires Factory.
SDI Defense:	Makes the city invulnerable to nuclear attack.
Temple:		Keeps 1 population content (2 if have Mysticism).
University:	Multiplies science by 1.5. Requires Library.

WONDERS IMPLEMENTED
-------------------
(Below, each/all means all belonging to that player, not to all players.)

Colossus:		Adds 1 trade to each trade square for each city.
Copernicus' Observatory:Multiplies science by 1.5 for city it is in.
Cure for Cancer:	Adds one happyface in each city.
Darwin's Voyage:	Two immediate discoveries
Great Library:		Gives you any technology that two other players have
Great Wall:		Everyone accepts peace treaties from you
Hanging Gardens:	Adds one happyface in each city.
Hoover Dam:		Acts as powerplant for all cities that have no
			 powerplant.
Isaac Newton's College:	Multiplies science by 1.5 for all universities.
J.S. Bach's Cathedral:	Adds two happyfaces in each city.
Lighthouse:		Adds one to movement for all sea-units.
Magellan's Expedition:	Adds one to movement for all sea-units.
Manhattan Project:	Must be built for nuclears to be built
Michaelangelo's Chapel:	Adds two happyfaces in each city.
Oracle:			Adds two to effect of each temple.
Pyramids:		Allows choice of any government type up to democracy.
			Allows change of govt. without anarchy
SETI Program:		Multiplies science by 1.5 for all cities.
United Nations:		Everyone accepts peace treaties from you
Women's Suffrage:	One less unhappy face for units not at home in a
			 Republic or Democracy

HELP AND REPORTS
----------------

The help and reports are pretty minimal right now. One of the few nice things
about them is that clicking on the name of a science, unit or city pops up the
information for that item. Help for buildings and wonders has not been written.
