/conquer

The turn-based strategy game of Conquer, by Adam Bryant and Ed Barlow.

Primary LanguageC

	*********************************************************
	*	README FILE FOR THE INSTALLER OF CONQUER	*
	*********************************************************

What you have here is a copyrighted release 4 version version of CONQUER.  
I make no guaranties to the sanity or style of this code, but do believe
that it should work as documented.  I have included numerous bugfixes
from previous releases posting, and have added numerous enhancements. 
The file notes.v4 details changes between v3.5 and v4, bugs and other things.  

I have no current email address... Too bad.  I will post a patch to THIS FILE
when i get a new email address. The hazards of switching jobs.  Adam Bryant
has volunteered to take mail for the summer of 1989 at "arpa!bu-cs.bu.edu!adb"
or "adb@bu-cs.bu.edu".  He is the co-author of the game... so send comments to
him.  We like feedback on the game.  Comments and feature requests are very
useful to me as they are my primary method of deciding what to next add to the
code.  Your interest is appreciated.

A mailing list for conquer has been set up to provide a platform for conquer
discussion, and location for conquer test patch releases.  The mailing list is
"conquer-news@bu-cs.bu.edu" and addition to or deletions from the mailing
list may be sent to "conquer-news-request@bu-cs.bu.edu".

NOTE: My new phone number is 212-679-1439.  My work has no arpanet.  If anybody
knows of a cheap (free??) way of getting an arpanet login I NEED ONE.  I
basically can make no more changes to Conquer until I can get a network port,
and since i am "volunteering" my time for this project, I am not about to
spend millions of dollars to buy one...  I can get a modem for my PC if
somebody will help me get a port somewhere. -ED-

Included in this file are the following:
	1) A Brief Description of Conquer
	2) Installation (unpacking) Instructions
	3) Configuration Instructions
	4) Compilation Instructions
	5) Administration instructions
	6) Changes in this version

This version should not be redistributed without the permission of Edward
Barlow or Adam Bryant ( please read the copyright note in header.h ).

Again, any comments or bug reports would be greatly appreciated.

-----------------------------------------------------------
I   A Brief Description of Conquer
-----------------------------------------------------------
A complete description of Conquer v4 is contained in "man.page" and
"conquer.docs".  "conquer.docs" is created from the files txt[0-5] which are
customized from data in the header files.  These txt[] files are then
converted int help[0-5] files, which contain configuration data.  "make docs"
will create this file from current data.  Note conquer.doc IS NOT created
program is compiled.  I have tried to make the documentation as good as
possible, but I guarantee that I have missed a lot.  Consider this a feature
and enjoy any (hopefully pleasant) suprises you get.
-----------------------------------------------------------
II  Installation (unpacking) Instructions
-----------------------------------------------------------
This program came in several shell archive scripts. They can can be unpacked
by using "sh filename".  If you are reading this, you know this.

If you suspect missing files, please check the MANIFEST.
-----------------------------------------------------------
III Configuration
-----------------------------------------------------------
THE FOLLOWING FILES SHOULD BE MODIFIED TO REFLECT YOUR ENVIRONMENT
AND THE TYPE OF GAME YOU WISH TO PLAY.  THE GAME WILL NOT RUN UNLESS
YOU MODIFY THESE FILES APPROPRIATELY.

header.h	modify as per instructions
Makefile	modify as per instructions

I have tried to comment this stuff appropriately.

The options specified in these files will be reflected
in the conquer.docs and help files when the program is compiled.

You will probably also want to take a look at the "rules*" file. This
contains the grammar rules for the random mail messages generated by
NPC's. You may wish to insert some local people's names, or think of
some really juicy insults. The format of the file should be obvious;
basically %FOO declares a class FOO and one of the things inside that
class will be selected randomly. Obviously, %MAIN is the top level which
then calls on the subclasses to construct sentences.

-----------------------------------------------------------
IV  Compilation Instructions
-----------------------------------------------------------
This program should be easy to compile.  After header.h and Makefile have
been edited properly, you may type 'make' to compile conquer, and
'make new_game' to build and install a new game.

Note: Sometimes curses does not include termcap or termlib.  If all the
	'.c' files get compiled, but do not link together,  and 
	unreferenced symbol errors occur,  try adding "-ltermcap" after
	the "-lcurses" line in the makefile.

Note2: With some versions of 'make' the SHELL environment variable is
	read to determine under what shell jobs should be spawned.  The
	Makefile for conquer was written with '/bin/sh' in mind, so if
	any "command not found" errors appear, doing a:
		setenv SHELL /bin/sh
	before typing 'make', might alleviate the problem.

-----------------------------------------------------------
V   administration instructions
-----------------------------------------------------------
Now that you have compiled it, this is how you administer/set up/run the game.
I recommend following these instructions once yourself in a mock game 
(ie. no other players) for a few turns to get things straight.  Then you 
can add other players.

The command line format for the administration commands is 

	conqrun [-maxp -dDIR -rSCENARIO]\n",argv[0]);
		-m          make a world
		-a          add new player
		-x          execute program
		-d DIR      to use play different game
		-r SCENARIO read map while making a new world
			    uses SCENARIO.ele, SCENARIO.veg, &  SCENARIO.nat

Also, some useful god functions are provided through the conquer program
through logging in as 'god' with 'conquer -n god'.

Conquer now supports two layers of game administration:  the god of
conquer, as defined by the LOGIN define in header.h, may allow each
world to have an administrator or demi-god.  This demi-god will be able
to perform updates and other god functions for this world only.  This
feature allows for multiple worlds, each governed by a different god.
During the creation of a world, god will be prompted for the name of the
demi-god for the new world.  Just hitting return will mean that god will
himself act as the demi-god for this world.

Unlike godship, the demi-god for a world may be changed during the
running of a game, without recompilation of conquer.  This is done using
the 'c'hange menu when logged in as god.

In addition the the conqrun command, the makefile helps you as follows:

make:		Compiles the code.
make clobber:   Clobber everything but the source (destroys executables)
make clean:     Clean up objects (does not destroy executables)
make new_game:	Create a new game, make world, add players...
make install:	Install game in appropriate directory
make docs:	Creates documentation from help file

Finally, I have included an 'at' script that permits automatic updating.
run:		read this shell script, it permits you to run the update
		automatically.  It needs to be modified for time to update.

The command line for the conquer executable can be found by reading
the help files.  

Again, prior to the compile, you should have followed the instructions
in the Makefile and in header.h.  

You can administrate world either via "make new_game" or via:
	<conqrun -m>    this will make your world.  
			This also sets up npc nations as per the nations file
			npc stats can be adjusted by editing nations
			prior to making the world.  Non player nations have
			the same password as god.
or	<conqrun -rSCENARIO>    this will make your world by using scenarios.
			Basically, the scenarios include a nation file and
			three map files (elevation, vegetation, and nation
			setup). Look at the rome scenario included in the game.
			[ this scenario is not finished yet ]

You can add ( 0 or more ) players via
	<conqrun -a>    which should be self explanatory.  This wont work if
			the world is filled, as it would be if a scenario was
			read in and the SCENARIO.ntn file filled the world.
			This is because the program wont find spots to place
			your players.  Adjust the nations file for your
			scenario to set up players.  When they log in, they
			will be asked for a new password.


Once you log in as a player or as god, you can get help by
typing '?'.  Play around with the commands and get your syntax right.

Try logging in as either a player or non player nation (they use the super
user password) and noticing any differences.

IMPORTANT NOTE ON PLAY BALANCE: 
The world is not created equal.  Some players may start in very bad
positions.  You can either start them over (destroy that nation in the
change nation command and create a new one), or modify the surrounding
terain appropriately (god can use the redesignate command to change
elevation and vegetation).

Now move around on the map and learn where the players are positioned.
If there is a problem (they are surrounded by water...), use the
redesignate command to change elevation or vegetation.  In the worst
case, god can destroy a nation with 'c', the change nation command.
Once you think the game will be fair, it is time to allow players to
proceed.

Now you are all set -- play via 
	<conquer>

and update with <conqrun -x> via an script similar to "run"