DUNE Emulator v2.34	27/Aug/05
===============================
1. Introduction
===============================
The DUNE Emulator is an implementation of the Avalon Hill classic boardgame
'Dune' for the PC. This is a labour of love undertaken primarily as a means of
learning the Allegro game programming library.
See http://www.talula.demon.co.uk/allegro/ for details of this superb *free* package.
The Emulator is Freeware - you may copy and distribute it freely provided you
do not make any profit. However, it is requested that you actually own a 
copy of the Boardgame to use the Dune Emulator to avoid copyright infringement.

There are currently several different features to the Emulator:
	1. It supports reading in of PBEM game files in a special format.
	   See "PBEM File Format" section  for more details.

	2. It is possible to play a game on a single PC.
	   The player has to take control of all factions in play.

	3. It is possible to play a game with some or all
	   players playing remotely across a TCP/IP network.

NEW in v2.34
=============

Bug Fixes:
Make sure truthtrance gets discarded when played during Atreides prescience.


===============================
1. Installation
===============================
Simply extract the zip file into any directory and run Dune.exe

===============================
2. Whats Working
===============================
BASIC GAME - Fully done.
-----------
Initial Fremen troop placement.
Bene Gesserit prediction.
Selection of Traitors.
Storm movement and destruction of tokens and spice.
Spice Blow including worms and their effects.
Bidding with all its complexities.
Revival of troops and leaders.
Shipping and movement of troops.
Combat between troops in the same location.
Spice Collection from spice blows.
Treachery cards basic rules.
Factions basic powers.
Bribes.
Alliances.

OPTIONAL RULES - Fully done.
--------------
Advanced Weather.
Spice collection for strongholds.
Double Spice Blows
Advanced Combat.

ADVANCED CHARACTER POWERS - Fully done.
-------------------------

===============================
3. PBEM File Format
===============================
The executable also has the ability to read a text file in a specific
format and display a representation of the game status described in the file.
The command is :
	dune <source> <dest>

source is a text file describing the current game status.
dest is the destination path of the resulting bitmap.

The file format comes from the Play by EMail games being run on the Yahoo
Dune Club. See http://clubs.yahoo.com/clubs/dune
Not a lot of validation is done on your game status file and character position is
very important. Stick to the format of the sample given. It is taken from one of the
Play By EMail games run on the Yahoo Dune Club.

The following items are parsed from the file and used for the final display.
1. The turn
2. The Storm position
3. Whether the Family Atomics have been played.
4. The spice blows
5. The troop positions
6. Player Dot positions

===============================
4. Starting the Game
===============================
Once you have run Dune.exe you are presented with the title screen showing a
picture of the (Old Style) Dune Boardgame front cover. In Shai Hulud's mouth
is the text "Game Type" and "Run Network Game". The latter is surrounded by a
flashing rectangle. The flashing rectangle indicates that this box can be clicked
with the mouse. You may notice there are two other flashing rectangles - one 
enclosing a down arrow, the other enclosing the text "OKAY".

Click on "Run Network Game" - it changes to "Connect To Game".
If you click again it changes to "Normal Game".
Clicking once more changes it back to "Run Network Game".

	To start a server for network play, select "Run Network Game".
	To connect to a remote server for network play, select "Connect To Game" and 
	enter the hostname or IP address of the server in the flashing rectangle below
	the "Server" text.
	To run a game locally select "Normal Game".

	Click "OKAY" when you are happy with your choice.

Refer to the appropriate section below for details of setting up the 'local', 'server'
or 'connect to' games.

===============================
5. Local Game
===============================

Choose "Normal Game" and clicking OKAY from the title screen brings you to
the setup screen for a local game. 

You will have to play all the chosen factions from this PC. Select which factions
you wish to play using the flashing faction pictures on the left. All factions are
initially set up as playing. As you press the faction buttons, the status changes
from "HUMAN", "NETWORK" or "NOT PLAYING". Only "HUMAN" factions will take part in
the game.

Once you are happy with your chosen faction, click "OKAY" and the game starts.

===============================
6. Running a Network Game
===============================
To set up a network game, proceed as follows:

Before you start you will need to negotiate in advance with your fellow players who
is going to act as the game server and who is going to play which faction. The other
players will need to be supplied with the hostname or IP address of the server PC.

You can find the ip address of your PC like this:
Select START->Run
Type 'cmd' in the window that appears and click OK.
This brings up an MSDOS shell window.
In this window type 'ipconfig' and press return.
The IP Address will be listed in the form xx.xx.xx.xx

The 'server' player should follow these instruction to start the game.

Choose "Run Network Game" and click OKAY from the title screen brings you to
the setup screen.

You are now in the 'Network Lobby' waiting for other players to join the game.

There are several options here: 

	1. Change your handle at the top from 'Usul' to whatever you choose
	2. Send a message to other players by clicking the text area at the very bottom
	3. Choose which factions you wish to play by clicking on the leader
	   pictures on the left hand side. You can choose up to 3 factions.
	4. The OKAY button will start flashing when it is possible to start a game.
	   Thats when at least 2 players have chosen a faction. Clicking OKAY indicates
	   you agree to start the game. When all players click OKAY, the game starts.

===============================
6. Connecting to a Network Game
===============================

To connect to somebody else's game, proceed as follows:

Before you start you will need to find out the ip address or hostname of the game
server. The person running the game will need to tell you this. 
Then follow these instruction to connect to the game.

Choose "Connect To Game" and click OKAY from the title screen. This brings you to
the setup screen. You are now in the 'Network Lobby'. The game at this point will
try to connect to the server and will show an appropriate message at the bottom of
the screen.

There are several options here: 

	1. Change your handle at the top from 'Usul' to whatever you choose
	2. Send a message to other players by clicking the text area at the very bottom
	3. Choose which factions you wish to play by clicking on the leader
	   pictures on the left hand side. You can choose up to 3 factions.
	4. The OKAY button will start flashing when it is possible to start a game.
	   Thats when at least 2 players have chosen a faction. Clicking OKAY indicates
	   you agree to start the game as currently defined. This brings up a tick mark
	   next to your name in the list of players. If you change your mind, you can
	   click okay again to remove the tick.

When all players have tick marks next to their name, the game starts.

===============================
7. Known bugs/todo list
===============================
Harkonnen Treachery distribution wrong.
Ship at guild costs: wrong cost shown but works.
Victory conditions wrong for 2 players.
option to turn off alliances.
Better movement interface - arrow/highlight valid destinations.
Improve revival display.
Send chat message to single player(s).
tidy up the winner announcements.
better Harkonnen leaders display when they have more than 5.
better dot selection when less than 6 players.
Bidding start order wrong for less than 6 players.
Show explicit Karama to stop BG Voice.
After game over - next game crashes.


Advanced Game Bugs
--------------------------
Atreides cannot revive the Kwisatz Haderach.

Harkonnen hand swap - server said "Stopping Atreides seeing cards" (wrong message)
Harkonnen hand swap - Atreides can still see the swapped cards.
Harkonnen hand swap on server - tries to do handswap on client too.
Harkonnen capture leader choice is confusing.

Emperor on client - Karama Ghola works on client then goes haywire.

Guild as client prevent off-planet ship with Karama crashes.
Guild was first player for battles even though last in storm order.
Guild is asked to move even before non players.

Fremen half storm loss not synched on non Fremen clients.
Fremen move Fedaykin not synched on server.
Fremen client Karama-worm doesnt do the worm at location.
Fremen revived 2 fedaykin.

BG No spiritual advisor prompts.
BG free shipping does not synch properly if directed to shipping location.
BG client play Baliset as Karama - PLAY shown on server too.
BG play worthless as karama to buy card crashed the clients.

===============================
8. To Do
===============================
These are listed in the order they will be done (well in theory anyway)

1.  Load/Save.

4. Implement Computer Players
	Atreides
	Harkonnen
	Fremen
	Guild
	Emperor
	Bene Gesserit

5. The add on games
	Spice Harvest
	The Duel

6. Additional Factions:
	Bene Tleilax
	Landsraad
	Ix

Additional Chrome Features which may be added at any point
1. Sound effects/music
2. Context sensitive mouse cursors

===============================
8. Contact
===============================
Please send your comments, general feedback and bug reports to:
jonathanmcc@eircom.net

Website: http://homepage.eircom.net/~monalisa/Dune


