
 Anno Domini.
 (c) 2004 Jonathan Cauldwell.
 An entry for the 2004 Minigame Competition, 4k category.


 Project started      05.06.2004 @ 12:18.
 Project completed    18.07.2004 @ 19:24.

 Compile length:      4064 bytes.


  ------------------------------------------------------------------------


 Instructions
 ------------


 Anno Domini is a game of strategy for the 48k/128k Spectrum.

 In the year 4000BC a tribe of hunter gatherers decide to settle down and
 start farming the land.  You are the leader of this tribe and must guide
 your fledgling civilisation through to the year 1AD.  Across the world at
 the same time a number of other tribes are doing the same thing, some of
 these may ultimately be consigned to a small footnote in history, others
 are destined to dominate the world.  How will your people fare?

 The game begins with you in control of a single unit of settlers in the
 centre of the screen.  The player's units are always displayed as black on
 a white background, each of the other civilisations being a different
 colour.  All units can be moved using the keys Q,A,O and P.  Settlers may
 also be ordered to build mines and new cities with the M and B keys.



 Exploring the Map
 -----------------

 To view other parts of the map, and find out where rival tribes may be
 starting their own civilisations, it is possible to scroll around the
 screen using the cursor keys.  A good Spectrum emulator such as ZX32 will
 have the ability to map the cursor keys onto the PC cursor keys.  If your
 emulator doesn't have this function you will have to hold down the left
 shift key instead, and scroll around using the Sinclair cursor keys 5, 6, 7
 and 8.  If you lose your bearings you can centre the screen around the
 currently selected unit by pressing the C key, unless of course you have no
 units left to move.



 City Screen
 -----------

 Once you have built your first city you will be confronted with the city
 screen where you can select a construction project for its inhabitants.
 To indicate this, the word City appears in the top left corner, followed
 by the current construction project in parentheses.  Also enclosed are the
 number of production units spent on the project so far, and the total
 number of units required to complete the project. When you first begin the
 game your technology is limited and only two choices of project are
 available - more settlers or a unit of warriors.  As you progress through
 the ages and spend money on discovering new technologies your people devise
 new ideas for civic buildings to improve your cities, and better military
 units become available.

 To change the unit or building currently under construction press the C
 key, when you have finished return to the game by pressing ENTER.  To help
 you decide what to build any buildings already constructed are listed down
 one side of the screen.

 Below the construction project you will see more text, probably looking
 something like P:1 F:2.  The number following the P indicates the amount of
 production units in the city each turn, the number after the F indicates
 food produced in the city and surrounding terrain each turn.

 When you return from the city screen you will be taken to the next unit.
 When all your units have moved press Enter to end the turn.  The CPU tribes
 will then take their turns.



 Score
 -----

 Your goal is to build the largest civilisation possible, your final score
 being the population of your entire civilisation.  Each turn marks a period
 of ten years starting in 4000BC, and continuing to 1AD.  The game ends
 after 400 turns, when your final score is displayed.



 Combat
 ------

 Combat occurs when a military unit belonging to one civilisation attempts
 to move into a square occupied by a unit belonging to a different tribe.
 Battles always take place to the death, and consist of a series of rounds.
 For each round the offensive strength of the attacker is pitted against
 the defensive strength of the defender on a weighted random basis.  The
 loser of each round loses one unit of energy, and the process repeats until
 one unit has no energy remaining.  All units are created with five energy
 points, but have different defence and attack strengths dependent on type.

 Combat involving the player's units, whether as attackers or defenders is
 shown with the remaining energy points displayed next to each unit as the
 battle continues.  Combat between two civilisations controlled by the CPU
 is not shown on screen, but works in the same manner.



 Capturing Cities
 ----------------

 A city is captured by moving a unit into an undefended city.  Any 
 construction project currently underway is destroyed, and the victor is
 then invited to select a new construction project for the city.  When
 player cities are lost to other civilisations the changeover is shown on
 screen, however cities changing hands between CPU civilisations are not
 shown.  If two rival civilisations are at war in another part of the world
 you'll just have to scroll across periodically to see which way the fight
 is going.



 Science
 -------

 Select the science screen by pressing '1'.  Three types of research are
 possible, and each in turn will make possible improved facilities and units
 to give your tribe a competitive advantage over other civilisations.
 Technology is a race against time, the CPU civilisations conduct research
 of their own and none of them are particularly peace-loving.

 The types of research available are Infrastructure, Military and Cultural.
 The amount spent in each area per turn can be adjusted with keys OPKLNM,
 which are listed on the screen.  The amount of gold in the treasury is also
 shown in the top left corner.  It you try to spend more per turn than is in
 the treasury all research will cease, and the gold will remain unspent.



 City Resources
 --------------

 There are three types of city resource - food, production and of course its
 inhabitants.  Each of the eight surrounding squares can provide food or
 production for the city.  For example, grassland produces 1 unit of food
 whereas woodland provides no food but one unit of production per turn.
 However, these resources are limited by the size of the city as there must
 be sufficient people to work the land to gain advantage of the resources.
 Only one food or production unit is produced per 1000 citizens per turn,
 so a city of size 1 (that's a population of 1000) will only take advantage
 of a maximum of 1 unit of food and one of production from the surrounding
 squares.  Above this limit the city itself additionally generates 1 unit of
 food and 1 of production.  A city square with a mill produces 2 units of
 food, and a city containing a kiln generates 2 production units.  A city's
 size is shown numerically on the map itself.

 At the end of each turn the total food and production are calculated, and
 the city grows accordingly.  When enough units of production have been
 spent the city will complete its construction project and request guidance
 for its next project - perhaps some more settlers, or a library this time?
 Producing a settler unit reduces a city's population by 1000, so any
 settlements with only 1000 inhabitants therefore cannot complete work on a
 settler.  In this case work is suspended until the city's population grows
 to 2000 inhabitants or more.

 One unit of gold is produced per 1000 population per turn.  Markets
 generate an additional unit of gold per turn in each city.



 CPU Civilisations and Suggested Strategy
 ----------------------------------------

 The CPU civilisations are aggressive, and won't think twice about attacking
 you or each other.  There are no peace treaties or pacts, the game begins
 in the late neolithic where all that exists is a free-for-all.  Life is
 nasty, brutish and short, and only the strong will survive.

 The CPU will often look to defend its own cities first, but will also
 target the closest cities belonging to its opponents.  Make certain your
 cities are defended by strong units, pick off your opponents cities when
 they are vulnerable, and leave the CPU civilisations to fight it out
 amongst themselves whenever possible.

 Without roads ancient civilisations found it quicker to transport units by
 sea, and the same is true here.  A trireme may carry one unit only, but can
 move 2 squares per turn whereas land-based units may only move a single
 square per turn.  To board a trireme simply position it next to a land
 square, then move the unit on to the trireme.  Reverse this process to
 disembark.


 Transforming your Civilisation
 ------------------------------

 City improvements will speed up the development of your civilisation.
 Libraries aid research, mills increase food production and therefore the
 speed at which settlements grow, and kilns increase production.

 Hills initially provide no useful food or production, but settlers may
 transform them into mines, which produce one unit of production per turn
 for every 1000 citizens.  Likewise, empty ocean squares are of little use
 to a city until a harbour is constructed, whereupon they return one unit of
 food per turn.



 Keys - Unit Mode
 ----------------

 Q        Unit up
 A        Unit down
 O        Unit left
 P        Unit right
 C        Centre map on current unit
 B        Build city (settlers only)
 M        Build mine (settlers on hills only)
 SPACE    Leave current unit where it is
 ENTER    Skip rest of turn
 CURSORS  Scroll map
 0        City selection mode
 1        Technology screen


 Keys - City Mode
 ----------------

 O        Previous city
 P        Next city
 C        Change production in current city
 ENTER    Return to unit mode


 Keys - Science Screen
 ---------------------

 O        Decrease infrastructure research
 P        Increase infrastructure research
 K        Decrease military research
 L        Increase military research
 N        Decrease cultural research
 M        Increase cultural research
 ENTER    Return to unit mode


 List of Unit Types
 ------------------

 Type      Attack    Defence    Movement
 Archer      2          1          1
 Settler     0          0          1
 Spearman    1          2          1
 Swordsman   3          2          1
 Trireme     0          0          2
 Warrior     1          1          1


 List of Terrain Types
 ---------------------

 Type       Production     Food   Food with Harbour
 Fish            0           3           4
 Grassland       0           1           1
 Hills           0           0           0
 Mine            1           0           0
 Sea             0           0           1
 Spruce          1           0           0
 Tundra          0           0           0
 Wheat           0           2           2
 Woodland        1           0           0
 

 List of City Improvements
 -------------------------

 Type      Production  Effect
 Harbour       40      Increases food production by 1 in each surrounding
                       sea square.
 Kiln          40      Increases production in city by 1.
 Library      100      Increases research in each category according
                       to city's size.
 Market        60      Increments tax revenue in city by 1.
 Mill          40      Increases food produced in city by 1.
 Smithy        80      Enables swordsman unit to be built in city.


 Scientific Research Table
 -------------------------

 Unit/Improvement     Infrastructure   Military      Culture
 Archer                      -           640             -
 Blacksmiths                 -           960             -
 Harbour                   160            32            16
 Kiln                       80             -            80
 Library                    80             -           800
 Market                    160             -            80
 Mill                      128             -             -
 Settler                     -             -             -
 Spearman                    -           480             -
 Swordsman                   -           960             -
 Trireme                    80            32             -
 Warrior                     -             -             -



  ------------------------------------------------------------------------



 Fully annotated source code is provided.

 If you enjoy this game and would like to see an extended version then drop
 me an email with suggestions for future enhancements, or to report bugs.
 If there's enough interest I'll happily develop the game further.

 Have fun!

 Jonathan Cauldwell, 11.07.2004

 http://members.fortunecity.com/jonathan6/egghead/


