User Interface
The JCiv program MUST include at least one client program that provides
an ongoing visualization of the game state. The program team MAY
also provide additional support programs, at their discretion. For
example, a board editor or a debugging interface that displays the
complete game state at any time would be useful tools.
The JCiv client program MUST provide at least the following user
interface elements. It MAY also provide additional UI functionality.
The specific ways in which the UI is implemented is up to the design
group, but part of the evaluation of the program will be on the
quality and intuitiveness of the user interface.
- Ability to load/store a MAP configuration.
- Ability to specify the name of a player.
- Ability to choose a server address and port number.
- Ability to single-step the game state or run in free-running
mode. (This ability may be provided through an interface to
the server or through special commands issued by privileged
clients.)
- Visualization of the visible part of the MAP
(Section
), including the TERRAIN TYPEs of
visible CELLs and UNIT(s)/BUILDING(s) in those CELLs.
- Ability to find the name of the player who owns a given UNIT or
BUILDING (e.g., by clicking on that CELL or hovering over it.)
- Ability to scroll to all parts of the MAP, even if parts of it
are currently invisible.
- Ability to select any/all UNITs in a single CELL and apply a
single COMMAND to all selected UNITs.
- Ability to select a BUILDING and apply a COMMAND to that
BUILDING.
- Current contents of the player's BANK (number of each type of
RESOURCE in the BANK).
- Number of each type of RESOURCE that will be required by a
selected COMMAND.
- A warning to the player when the BANK may not have enough
resources to complete a requested COMMAND. (This should not
prevent the COMMAND from being issued, but should allow the
player to change her/his mind.)
- Notification to the player whenever a UNIT or BUILDING is under
Attack, Invade, or is destroyed or captured.
- Notification to the player whenever a COMMAND fails because of
insufficient resources.
- Notification to all players whenever another player enters or
leaves the game (including when a player is defeated).
The program MAY support a configuration file format to load some of
the game configuration but it MUST also support some way to enter that
data through the user interface.
The program(s) MAY provide command line switches to modify its behavior
as well. All such switches MUST be documented in the user
documentation.
Terran Lane
2005-11-10