{curl 4.0, 5.0, 5.1, 6.0, 7.0, 8.0 applet}

|| Prevent navigation nightmares.
{{get-the-applet}.become-sticky}

{{get-the-applet}.set-title "Puerto Rico Help"}


{destination name = "help-applet"}

{bold {big The Help Applet}}

You are currently browsing the Help Applet.

It attempts to present some useful information about
{link href = {url "game.curl"}, Puerto Rico, the Online Board Game}.

If you are unfamiliar with the basic rules of the Puerto Rico board game,
you can try to figure it out from various tooltips, or you can browse these
{link href={url "http://www.fwtwr.com/fwtwr/puerto_rico/rules/index.htm"},
online board game rules} (ignoring details specific to FWTWR).

{{get-the-applet}.flush}

The following topics are available:

{itemize
    {item {link href = {url "#help-applet"}, Help Applet}}
    {item {link href = {url "#main-applet"}, Main Applet}}
    {item {link href = {url "#chat-window"}, Chat Window}}
    {item {link href = {url "#lobby-window"}, Lobby Window}}
    {item {link href = {url "#table-window"}, Table Window}}
    {item {link href = {url "#spew-window"}, Spew Window}}
    {item {link href = {url "#world-window"}, World Window}}
    {item {link href = {url "#options-window"}, Options Window}}
    {item {link href = {url "#visual-changes"}, Visual Changes}}
    {item {link href = {url "#known-bugs"}, Known Bugs}}
    {item {link href = {url "#faq"}, Frequently Asked Questions}}
    {item {link href = {url "#changes"}, Recent Changes}}
    {item {link href = {url "#miscellaneous"}, Miscellaneous}}
}

{Fill height = 1mm}


{destination name = "main-applet"}

{bold {big The Main Applet}}

The primary purpose of the main applet, which runs inside a standard web
browser, is to implement the Puerto Rico Client, which can connect to the
Puerto Rico Server, and allow you to play Puerto Rico games against a mix
of other human players and/or computer players.

To connect to the Puerto Rico server as a guest, optionally fill in a
username, and hit "enter" (or click on the "Connect" button).

To connect to the Puerto Rico server as a registered user, fill in your
username, hit "tab", fill in your password, and hit "enter" (or click on
the "Connect" button).

To become a registered user, fill in your username, hit "tab", fill in
your password, and click on the "Register" button.

Note that you do not have to become a registered user, since you can just
leave the password blank to connect as a guest.  But if you do register,
other people will be prevented from using your username, and later, game
results tracking and other similar features may be added (suggestions are
welcome).

Your username will be used to identify you to other players, should be
between three and ten characters in length, and should use only simple
characters (letters, numbers, and dash).

Your password should be easy to remember, should be at most fifteen
characters in length, and should use only ASCII characters.  Remember
that you can connect as a guest by leaving the password field blank.

Note that there is currently no way to change your username or password.

Once you initiate the connection, the "Chat" window (see below) will be
displayed, and will provide feedback on the status of the connection.

If the connection fails, make sure you have the most up-to-date copy of
the applet (by reloading, holding "shift" if needed), and then click on
the "Connect Synchronously" button.  This may provide more details about
any connection failure, which are normally due to local firewalls.

Once the connection is established, the "Lobby" window (see below) will
be displayed.

Closing either the "Chat" window or the "Lobby" window, if confirmed, will
exit the applet completely, and disconnect you from the server.

You can iconify the main applet's browser window, but if you close it,
or reload the applet, or browse away from the applet, then you will be
disconnected from the Puerto Rico Server, and you will have to reconnect.

Be aware that the computer players are not very good, so connecting to
the multiplayer server, where you may find other human players, is thus
recommended.  Even if no human players are available when you start a
game, some may appear later and take over for a computer player, if you
have allowed them to do so.

But if you are unwilling, or unable, to connect to the multiplayer server,
then you can play a private game against computer players on a private
server by clicking on the "Launch a private server" button in the main
applet.  This will create a "Chat" window, and a "Lobby" window, just
like when you connect to the multiplayer server, but no other human
players will ever appear.  You will have to reload the applet if you
want to connect to the multiplayer server later.

Finally, at the bottom of the main applet, there is an "Advanced Users"
button, which will expose some extra features intended for advanced users.

{{get-the-applet}.flush}

{Fill height = 1mm}


{destination name = "chat-window"}

{bold {big The Chat Window}}

The "Chat" window will allow you to chat with the other human players,
and will inform you about human players connecting and disconnecting,
tables being created and destroyed, and other such interesting events.
While you are playing a game, you will not be informed about some of
the less interesting events, as they can be distracting.

Typing in the input field at the bottom of this window will let you talk
to all the human players at your table, if any, or else will shout at all
of the human player who are connected, including ones who are at a table.

Right clicking on the "Chat" window, as with most windows created by the
client, will bring up a popup menu full of various useful commands.  The
actual location of the click occasionally matters, for example, if you
happen to right-click on a username, the popup menu will contain some
commands (such as "ping" and "boot") particular to that username.

When playing a game, commands can be entered by typing them into the
"Chat" window, preceded by a "slash" ("/").  For example, "/r0" will
select the settler role.  The "Spew" window (see below) will normally
display all of the legal commands (except for "guesthouse" commands
and other obscure commands).

Various directives can be specified by typing them into the "Chat" window,
preceded by an "equal sign" ("=").  For example, "=ping USER" will ping
the user named "USER".

{Fill height = 1mm}


{destination name = "lobby-window"}

{bold {big The Lobby Window}}

The "Lobby" window will display a list of all the tables, one per row.
For each active table, you will see a description of the table, and then
all of the users currently at the table, starting with the table's owner.

If the table does not exist yet, its description will be "Create Table",
and clicking on it will create a new table, with you as its owner.

If a table's owner is not willing to allow other users to join the table
(as is the case for all newly created tables), then its description will
be "Private Table".

If a table's owner is willing to allow other users to join the table, then
its description will be "Join Table", and clicking on it will cause you to
join the other users at the table.  If you are the owner of such a table,
then its description will be "Public Table".

Once you have created or joined a table, the "Table" window will appear
(see below).  Closing the "Table" window will cause you to leave the
table, and if no other user is at the table, the table will be destroyed.

Once a game has started at a table (see below), the word "Table" in its
description will be replaced by a symbolic summary of the game, using a
string like "[S5@0]", indicating not only that a game is in progress, but
also what rule set is being used ("S", "E", or "V"), the number of islands,
and the total number of "roles" which have been completely applied.  Also,
each user will be followed by a parenthesized list of the indexes of all
the islands, if any, that they are controlling.  Once the game is complete,
the table description will change to "Avoid Table".

You can still join a table once a game has started, though there is not
much point unless there is an unclaimed island for you to control, and
the total number of applied roles is fairly low.  If you do join such a
table, then the "Table" window will not appear (see below), and instead,
the "Spew" window and "World" window and "Island" windows will appear,
and you will be able to take control of an unclaimed island (see below).

{Fill height = 1mm}


{destination name = "table-window"}

{bold {big The Table Window}}

The "Table" window is used to configure the settings for a table, and
to start a new game at the table, using those settings.  Closing the
Table window will cause you to leave the table (if no game has been
started yet).

If you created the table, you can use the Table window to select various
settings for your table (see below), and then click on the "Start Game"
button to actually start a game.

If you joined the table, you can examine the table settings (and change
them, if the owner of the table has allowed it), and wait for the game
to start.

By default, each new table is "private".  If you want other users to be
able to join the table and play with you, check the appropriate check box.

By default, only the owner of a table can modify the table settings (or
start a new game at the table), and the other users will only be able to
look at them.  If you want other users to be able to modify the settings,
check the appropriate check box.

By default, when a game is started, it will use the standard rule set
(modified as needed to support the two player and six player variants).
If you would like to play with the expansion rule set (which basically
just adds some new buildings), then check the appropriate check box.
By default, the expansion buildings are categorized by cost for the
purpose of deciding which buildings can assigned to which slots.  If
you would like to categorize them by victory point values instead, then
check the appropriate check box.  By default, the actual set of expansion
buildings to be used is chosen randomly.  If you would like the islands to
select which buildings are to be used, then check the appropriate check box.

By default, when a game is started, it will have as many islands as there
are users at the table at that moment (up to six), unless there are less
than three users, in which case it will have four islands.  If you want
to have a specific number of islands (including the official two player
variant with two islands), then check the appropriate radio button.

By default, when a game is started, the users at the table are assigned
control of islands at random, with computer players being assigned the
remaining islands, except that the human users will be placed as far
apart as they can be.  If you would like to assign control of specific
islands to a computer player, or to a specific human player, then use
the appropriate dropdown lists in the obvious manner.  Note that only
those lists corresponding to actual islands will have any effect.  Note
that if every human player is assigned control of an island, all of the
unassigned islands will automatically be assigned to computer players.

Finally, once you are happy with the table settings, and with the number
of human users at the table, click the "Start Game" button to actually
start a new game, after assigning control of islands to users.

Starting a game will hide the "Lobby" window (normally) and the "Table"
window, and will bring up the "Spew" window, the "World" window, and the
"Island" windows (see below).

The "Table" window can be shown again at any time using the right-click
menu on various other windows, but most table settings will no longer be
modifiable.  You will, however, be able to change whether or not the table
is "private".  Closing the "Table" window once a game has started will
simply hide it again.

{Fill height = 1mm}


{destination name = "spew-window"}

{bold {big The Spew Window}}

When a game is started, the "Spew" window will be created.  It will contain
textual descriptions of commands performed by islands, and their effect on
the world.

The "Spew" window also contain a description of (most) legal commands, and
what they will do.  This is useful to users who like to type their commands
into the "Chat" window (with a leading "slash"), instead of using the mouse.

The "Spew" window can be closed at any time.  It can be shown again at any
time via the appropriate right-click menu on the "World" window.

{Fill height = 1mm}


{destination name = "world-window"}

{bold {big The World Window and Island Windows}}

Whenever a game is in progress at your table, the "World" and "Island"
windows will be visible.  Closing any of these windows, if confirmed,
will cause you to leave the table, and if no other user is at the table,
the table will be destroyed.

The World and Island windows contain various "widgets", which are small
rectangles, usually graphically portraying an interesting aspect of the
game, that can sometimes be clicked on to perform interesting actions.

When you mouse over any such widget, you will often see a "tooltip" (a
small popup window) describing the purpose of that widget, and what will
happen if you click the widget with the left mouse button.

At any moment, all of the widgets which will do something reasonable when
you click on them will be indicated graphically by being highlighted with
a bright red border.  Looking at the tooltips for all such widgets should
thus make it fairly obvious what actions are reasonable for you to take.

Note that if it is only reasonable to click on a single widget, the normal
bright red border will be replaced by a darker red border, and the widget
will be auto-clicked for you, after a brief pause.

Note that sometimes, one or more special widgets will appear, in the middle
of the World window, providing the ability to request a special action, such
as using the "hacienda", or to decline or cancel some special ability, such
as using the "black market".  The most important uses for these widgets are
to "commit" movement of men during the mayor phase, or to "pass" an optional
ability of the current role.  Some other uses are described below.

Your island (or one of your islands) will always be displayed in the top
left corner of the screen, by default.

In the top left corner of each island is the "user" widget.  This contains
the name of the user controlling the island.  This widget will be drawn as
black-on-sugar for your island, black-on-corn for islands controlled by
other human players, and black-on-tobacco for islands controlled by
computer players.

Just below the "user" widget is the "chooser" widget.  This widget will be
drawn as black-on-coffee for the current governor, black-on-light-cyan
for the current chooser (unless also the governor), and black-on-medium-cyan
for previous choosers.  It will contain the name of the role which was chosen
by the island, if any, or "Choose Role" for the island which needs to choose
a role.

Just below the "chooser" widget is the "applier" widget.  This widget will
be bright green for the island whose turn it is to apply the current role.
It will contain the name of the role being applied (or previously applied)
by the island.

When it is time for your island to choose a role (as described above), all
the available roles will be "highlighted" with a bright red border (in the
World window).  Click on any such role to select it.  This will induce a
"phase", in which you, and then each of the other users, can perform actions
determined by the role, as described below.

During the settler phase, clicking on a plantation or quarry will attempt
to select that plantation or quarry.

During the builder phase, clicking on a building will attempt to purchase
it.  Note that the prices in the bottom left corner of each building do not
reflect the effect of the builder privilege, or of any manned quarries, or
any forests, but the tooltip will mention the true effective cost.  Note
that the scores in the bottom right corner of each building do not actually
take effect until the end of the game, and normally indicate the maximum
number of quarries which can affect the purchase of the building.

During the mayor phase, clicking on a plantation or building will assign a
man to that plantation or building, or remove a man from that plantation
or building, as appropriate.  Note that this can be done even when it is
not yet your turn.  Once you have finished moving your men around, you will
need to click on the special "commit" widget (or the "applier" widget), when
it is your turn.

During the craftsman phase, clicking on any good will request an extra good
of that variety.

During the trader phase, clicking on any good will attempt to sell a good of
that variety.

During the captain phase, clicking on a boat will request the use of that
boat, and then clicking on a good will attempt to ship the selected good
on the selected boat.  If the good is "obvious", it will be auto-clicked,
otherwise, you may click on the special "cancel" widget if you change your
mind about the boat.  The captain phase will continue until an entire round
passes with no shipments being made, at which point, if needed, a special
"spoiling" phase will take place, during which you will have to click on
goods to "spoil", as needed.  When clicking on a good, make sure to know
whether you are shipping or spoiling!

{destination name = "special"}

Most buildings have special effects when they are manned.  Usually, these
special effects take place automatically when they are appropriate, but a
few buildings have special interfaces, described below.  Note that the
special widgets described below are not the same as the buildings to which
they refer.

If you have a manned "hacienda", then before selecting a plantation (or
quarry), you must either click the special "hacienda" widget, to request
an extra plantation, or click the "decline" widget.

If you have a manned "forest house", then, after selecting a plantation,
you must either click the special "forest house" widget, to convert the
plantation into a forest, or click the "decline" widget.

If you have a manned "black market", then before you select a building to
buy, you may click the special "black market" widget, and then click on
any combination of any good, any man (except the one on the black market),
and/or your chips, to specify what to sacrifice, for a rebate of one gold
each.  If you change your mind, you may click the special "cancel" widget.
Note that black market purchases must leave you with zero coins.

If you have a manned "trading post", then BEFORE you select a good to sell,
you may click the special "trading post" widget, to request that the sale
be made to the trading post, instead of to the trading house.  Note that
the "trading post" is not affected by the "small market" or "large market".
If you change your mind, you may click the special "cancel" widget.

If you have a manned "small wharf", then you may click the special
"small wharf" widget, and then click on one or more "goods" to load them
onto the small wharf, one at a time, and then, click the special "commit"
widget to make the shipment.  If you change your mind, you may click the
special "cancel" widget.  Note that the "small wharf" can be used at most
once per captain phase.

If you have a manned "wharf", then you may click on the special "wharf"
widget, and then click on a good to ship at the wharf.  Note that the
"wharf" can be used at most once per captain phase.

If you have a manned "guesthouse", then at any time during your turn
(except during the mayor phase), you may click on any plantation or
building which is not fully manned, to move a man there.  Note that
this is the only time (aside from moving men during the mayor phase
before it is your turn) that it is legal to click on a widget which is
not "highlighted".  Note that if you have a manned "guesthouse", many
otherwise "obvious" actions will not be forced, giving you a chance to
use your "guesthouse".

Note that the "special" buildings, which cost ten, and score four, may look
like they are the same size as normal buildings, but they take up two grids
when purchased, as each comes with an artificial "foundation" building.
These buildings currently fill in from right to left along the bottom of
the island as they are purchased, moving other buildings to make room.

When the game is about to end, the "chips" and "spain" widgets in the World
will turn bright red, and at the end of the current governorship, the game
will end.  At this point, the "chooser" and "applier" widgets on each island
will indicate the final place and score for the island, and will be bright
green for the winner, and bright red for the other islands.  Note that the
final score for an island includes points for chips, points for buildings,
and points for manned special buildings, as well as fractional points for
remaining goods and coins, which are used to break ties.

As a convenient, though obscure, feature, clicking on your own "chooser"
widget will suggest some "reasonable" command, and ctrl-clicking will
actually perform some "reasonable" command, just as if your island was
being controlled by a computer player.

Clicking on the "user" widget of an island under your control will cause
you to release control of that island.  Clicking on the "user" widget of
an island which is not under the control of a human player will cause you
to assume control of that island, releasing control of any island(s) that
you were controlling, and causing the islands to rotate visually such that
the island moves to the top left corner of the screen (if needed).  Note
that the right-click menu on each island allows these operations, as well
as others, including the ability to extend control to multiple islands,
which should obviously only be done with the consent of the other players.

{Fill height = 1mm}


{destination name = "options-window"}

{bold {big The Options Window}}

The "Options" window can be shown via the right-click menu on various
windows.  This window can be used to tweak a variety of options, most
purely local to the client.  These options include:

Mention Commands: Mention all legal commands in the Spew window.

Always Show Lobby: Show "Lobby" window visible even while playing a game.

Disable Tooltips: Disable tooltips (in case they get to be annoying).

Compressed Visuals: Use a compressed layout on the Island/World windows.

Fixed Aspect Ratio: Affects resizing the Island/World windows.

Auto-Shrink Fonts: Automatically adjust certain font sizes as needed.

Font Sizes: Modify the size of the island/world window fonts by hand.

Grid Sizes: Modify the size of the island/world window grids by hand.

Both Sizes: Modify Font Sizes and Grid Sizes at the same time.

Horz Spacing: Adjust the amount of space between various windows.

Vert Spacing: Adjust the amount of space between various windows.

Obvious Delay: Set the speed for obvious commands on the client.

Automatic Delay: Set the speed for the automatic players on the server.

{Fill height = 1mm}


{destination name = "visual-changes"}

{bold {big Visual Changes from the Board Game}}

This game differs only slightly from the "Puerto Rico" board game, and
mostly only in visual presentation, not in actual game-play semantics.

The visual ordering of roles in the World places the builder before
the mayor.

The visual layout of the islands places the plantation grids above the
building grids, and makes the plantation grid arrangement more regular.

Most "artistic" properties are preserved only in an abstract manner
(i.e. the choice of colors), and some, such as the use of physical
coins and victory point chips, are completely gone.

Plantations are sorted on each Island in the order they were acquired,
and may not be rearranged.

Buildings are sorted on each Island by the order they were purchased
(except as mentioned below), and may not be rearranged.

The special buildings are visually split into the special building, and
a special "foundation" building, which always appears below the special
building on the Island, and these building pairs are sorted on the Island
by the reverse order in which they were purchased, with other buildings
being adjusted as needed.

Various buildings (the "construction hut", the "small indigo plant", the
"small sugar mill", and the "specialty factory") have abbreviated textual
labels in the graphical interface, so they take up less space.

{Fill height = 1mm}


{destination name = "known-bugs"}

{bold {big Known Bugs}}

Occasionally, something will cause truncation or corruption of a source
file, which will yield strange errors (illegal UTF8 characters, unknown
types, mismatched curly braces, etc).  If this happens, just reload.  If
the problem is still present, clear your internet cache, and reload again.

Occasionally, a problem with the web server will cause the Curl RTE
to think that a security violation has occurred, and a dialog box will
describe the problem.  If this happens, just dismiss the dialog, reload
the main applet, and try again.  You may need to restart the Curl RTE
if this web server problem affects access to the license file.

The semantics of the "guesthouse" do not exactly match those intended by
the expansion rules, in particular, the men may only be moved off the
"guesthouse" when the island is allowed to specify a command, and so, in
particular, it is currently not possible to move a man at the end of a
phase, before the next player chooses a role, or more importantly, after
another player chooses a role, before the role actually takes effect,
for example, to man production buildings, the "aqueduct", the "factory",
or the "specialty factory", before the craftsman phase takes effect, or
to man the "union hall", before the captain phase takes effect.

Technically, an Island is supposed to be allowed to decline to apply
the craftsman role, meaning that no goods are produced, and thus that
the craftsman privilege, and the "factory" power, have no effect.  Note
that at the WBC, and on BSW, applying the craftsman role is mandatory.

Technically, an Island is supposed to be allowed to decline to apply
the mayor role.  But it is not clear what exactly this would mean,
in terms of whether one can decline only some of the colonists, and
what happens to any declined colonists, and whether the redistribution
of colonists is treated as a separate role.  Note that at the WBC, and
on BSW, applying the mayor role is mandatory.

Technically, an Island is supposed to be allowed to decline the use of
any special role privilege, such as the mayor getting an extra colonist,
the trader/captain getting an extra chip, or even the prospector getting
an extra coin.  But currently only the settler privilege is optional.

Technically, the user is supposed to be allowed to decline the use of
any special building power, such as the "hospice", the "university",
the "harbor", etc.  It is now possible to "disable" a building (and to
reenable it later), by right clicking on the building in the Island window.

It has been argued that taking the bribe for a role should be optional,
and/or that the total supply of coins should be limited, but this is silly.

{Fill height = 1mm}


{destination name = "faq"}

{bold {big Frequently Asked Questions}}

Note that many questions can be answered by reading this file, or looking
at the tooltip for various widgets, or right-clicking in various windows,
or just clicking on the most appropriate widget with a bright red border.
But the questions below get asked very frequently.

{bold Question:} What do I do on the very first screen?

{bold Question:} What should I use as my username and password?

{bold Question:} Do I have to register a username and password?

See the {link href = {url "#main-applet"}, Main Applet} topic.

{bold Question:} What am I supposed to do with the "Table" window?

See the {link href = {url "#table-window"}, Table Window} topic.

{bold Question:} How do I join a game already in progress?

After joining the table, identify an unclaimed island (one whose "user"
widget, in the top left corner of the island, says "<computer>" in black
on orange), and click on the "user" widget, or use the right-click menu
on the island to take control of that island.

See the {link href = {url "#world-window"}, World Window} topic.

{bold Question:} How do I select buildings in the "expansion" phase?

Right-click in the World window (on an available building slot, or
outside the building area entirely), and select an available building.  If
you hover over a menu item, a tooltip describing the building should appear.

{bold Question:} Why are the "hacienda" and "forest house" mutually exclusive?

The printed expansion rules forbid the presence of both the "hacienda" and
the "forest house" in the same game, because the combination is unbalanced.

{bold Question:} How do I use the special power of various buildings?

See the {link href = {url "#special"}, Special Buildings} topic.

{Fill height = 1mm}

{bold Question:} How do I use (or avoid) the French translations?

The {link href = {url "game.curl"}, game.curl} applet will use (some)
French translations if your machine is in "French" mode, and otherwise,
it will use English.  You can explicitly request the use of English
(or French) by browsing {link href = {url "game-en.curl"}, game-en.curl}
(or {link href = {url "game-fr.curl"}, game-fr.curl}).

{Fill height = 1mm}

{bold Question:} How can I get translations for some other language?

It is very easy to add translations for another language, but since I
do not speak any other languages, I would need help to do the actual
translations.  If you are willing to supply (some) translations for
some language, please let me know, and I will tell you what to do.

{Fill height = 1mm}


{destination name = "changes"}

{bold {big Recent Changes as of 2009-06-04}}

I finally tracked down and fixed the sporadic error that was causing
error dialogs involving unknown users.

{bold {big Recent Changes as of 2009-05-07}}

Versions 4.0, 5.0, 5.1, 6.0, and 7.0 of the Curl RTE are now supported.

Version 3.0 of the Curl RTE 3.0 is no longer supported.

{bold {big Recent Changes as of 2008-08-17}}

There is now preliminary support for sound alerts.

Sacrifices to the black market are now returned to the global supply.

{bold {big Recent Changes as of 2007-01-23}}

Some minor tweaks were made to support the upcoming Mac Curl RTE.

{bold {big Recent Changes as of 2006-10-26}}

An embarrassing bug involving the overuse of quarries was repaired.

The applet now mentions when it must be reloaded due to webserver updates.

{bold {big Recent Changes as of 2006-09-26}}

Resizing the World/Island windows now only maintains a fixed aspect
ratio if the appropriate option is selected.

The world no longer flashes full of "foundations" when a game starts.

It is now possible for volunteers to provide translations for all the
textual labels in the game, and all the tooltips.

Some translations are now available for French (see above).

{bold {big Recent Changes as of 2006-09-15}}

Version 5.0 of the Curl RTE is now supported.

Various windows now maintain proper width/height ratios when resized.

Some support was added for internationalization, and french translations
were provided for the graphical labels on the roles, goods, and buildings.

The "pass"/"ready" distinction is now based only on whether it is forced.

You are no longer prevented from resetting the world size to "default".

You can now disable buildings using a right click menu, and disabled
buildings are now drawn using the same color as the foundation.

The "guesthouse" now prevents fewer "obvious" commands from being forced.


{bold {big Recent Changes as of 2005-12-29}}

It is once again legal to spontaneously move men around during the mayor
phase, and not just move them from the slum.

A (rare) crash has been fixed involving a computer player filling its
island with plantations while holding a manned "forest house".

Requested table options are now memorized only if they are successful,
and a harmless but annoying warning has been fixed (it involved failure
to set table owners to previously requested values when a new table is
created, when those values involve owners who are not yet at the table).

It is no longer legal to use the "guesthouse" while the "black market" is
being used, to avoid an undefined situation.

Some minor visual glitches were fixed (the "black market" widget was not
always marked as active, and the "ready" widget was sometimes replaced by
the "pass" widget).

The choice of good to be shipped on a normal captain boat is now forced
even if the user has a manned "guesthouse", for convenience.

The sending of the current world state (technically the command history)
when joining a table with a game in progress was optimized.

The color for sugar was made slightly brighter.

The options window is now destroyed (and server options are now reset) when
you disconnect, and the chat window no longer reappears during disconnection.


{bold {big Recent Changes as of 2005-12-15}}

All expansion buildings are now implemented (including the "black market"
and "small wharf").  Note that the pending "small wharf" shipment is not
indicated in a pleasant manner.

The interface for several special buildings was simplified.  There are
now several special widgets which appear only when needed, one used for
"commit" (mayor, "small wharf") and requesting the use of "hacienda",
"forest house", "black market", or "trading post", another used for
"cancel" ("trading post", "small wharf", captain boats), "decline"
("hacienda", "forest house"), "pass" (settler, builder, craftsman,
trader, captain), and "ready" (boring pass), one used for requesting
the use of "small wharf", and one used for requesting the use of "wharf".

The applier widget can now only be used to "commit" mayor movements,
and the builder "pass" widget can now only be used to "pass".

During the captain phase, you must now choose a boat before choosing a
good (previously you could choose the good first and then the boat).

Widgets which are in the process of being "used" are marked as "active",
using a special lime green border.  This includes captain boats, "wharf",
"small wharf", "black market", "trading post", "trader house", the pending
"black market" sacrifices, and the pending "forest house" victim.

Clicking on a "pointless" widget will now yield a warning message.

Table settings are now persistent within a session.

Various minor tweaks were done to visuals and tooltips.

You can no longer use more than four quarries when buying the "statue".

You must now request that the "spew" window mention all legal commands.

The term "money" was changed to "coins" (also "cost" and "worth").


{bold {big Recent Changes as of 2005-09-15}}

The server now supports registration/verification of usernames/passwords,
as well as the old guest mechanism.

The craftsman privilege now properly affects the "specialty factory".

The "hacienda" and "forest house" are now mutually exclusive.

The old "rules-set" radio-button was broken into two check-boxes, and a
new check-box was added to allow expansion buildings to be categorized by
victory points instead of cost (as far as slot assignment is concerned).

The table names contain "S" (standard), "E" (expansion), or "V" (expansion
with categorization by victory points).  No indication is given of whether
the expansion buildings were hand selected or randomly selected.

Tooltips now work even in "inactive" windows (requires Curl RTE 4.0).

Disconnection from the server is now handled more cleanly, and is done
explicitly when the lobby or chat windows are closed, or when the main
applet is suspended (due to browser back/forward).

Version 4.0 of the Curl RTE is now supported.

Version 2.0 of the Curl RTE is no longer supported.


{bold {big Recent Changes as of 2005-01-25}}

The current governor now gets a coffee colored chooser widget.

More opportunities are now given to make use of the "guesthouse".

The "church" now grants the proper amount of points for the statue.

Tooltips are now available on the actual right click menu items used
during the expansion role.


{bold {big Recent Changes as of 2004-12-15}}

The official expansion rules are now supported, with buildings selected at
random, or by the players (via right-clicking in the world window, which
also allows the available buildings to be rotated to access their tooltips).

The official two player variant is now supported.

An obvious (but unofficial) six player variant is now supported.

A new "Table" window is now used to configure tables, and to start a game.
This includes the ability to allow other users to join your table (which
now defaults to "private"), to select the world size (note that "default"
means one island per user, or four islands if there are less than 3 users),
request the use of the expansion rules, and to assign users (or computers)
to specific islands.

The highlighting around "legal" widgets is now removed as soon as a command
is sent to the server, and does not return until the server is ready for a
new command.

Unexpected failures while communicating with the server are now mentioned
in the "chat" window, which may help track down the sporadic misbehavior
that has been seen recently.

Local installation of this applet (aka Occasionally Connected Computing)
is supported, and requires Curl 4.0.

{Fill height = 1mm}


{bold {big Previous Changes as of 2004-11-05}}

Pinging actually reports a user's apparent latency.

Colonists can be moved around "eagerly" during the mayor phase, that is,
before it is actually your turn, but you must still wait for your turn to
"commit" the movements.

Right-clicking on various windows will bring up useful context menus items,
such as Extend Control to an Island, Show Options Window, Boot a User, etc.

A single user can control multiple islands.  This can be used for certain
two player variations, and for hot-seat play.  The client can assign names
to islands to assist with hot-seat play.

You can type "/xxx" in the chat window to perform any command "xxx", or
"=shout", "=boot", "=ping", and such, to do various things.

Users may be "booted" from a table, by the owner of the table, or by anyone
at the table if they have been idle for a minute.

You can launch a local server or connect to a local server launched by
somebody else.  This can be used to allow non-hotseat multi-player games
behind fascist firewalls.

{Fill height = 1mm}


{destination name = "miscellaneous"}

{bold {big Miscellaneous}}

The {link href = {url "index.html"}, index.html} file, which you have
probably already seen, contains some useful information and links.

See {link href = {url "TODO.txt"}, TODO.txt} for a list of some strange
reported behavior that may turn out to be bugs, and a list of various
possible future improvements.

Source code is available, see this applet, plus the main package
(in {link href = {url "game.scurl"}, game.scurl}) and a sub-package
(in {link href = {url "../util/TextPanel.scurl"}, TextPanel.scurl}.

Contact Ben Harrison
at {link href = {url "mailto:benh@phial.com"}, benh@phial.com} with
any comments, suggestions, bug reports, etc, and put "Puerto Rico" in
the subject to avoid my spam filters.
