Requirements Phase 2: User Interface Design

User Interface Layout:

The format of the user interface could be designed as follows:
  • The main window displays the whole game map including all provinces and star systems, but can be zoomed in to look at individual provinces, star systems, and planets.
  • A small section of the window would display information that is pertinent at all times in the game such as the current turn and phase, the number of accumulated victory points and force points and other relevant info.
  • The "Go" button is a button that slows the game down to a pace that can be followed by the user. Each segment of the game is completed only after "Go" is pressed, so that the user can see the consequences of each action in the game. "Go" is disabled whenever action is required from the user.
  • The "Finish" button is a shortcut around this feature. It shortens each turn significantly, but information may be missed if it is used. "Finish" is disabled whenever a situation that the user might want to react to comes up.
  • Another corner of the window is an uneditable text box that the program uses to communicate what is going on at any moment. It must be made big enough so that the text is readable and so that any time the user presses "Go", all information printed to the screen at that time is visible in the box. The text box should be deleted when the "Go" button is pressed again or any time the "Finish" button is pressed.
  • Sounds may be played whenever something significant happens in the game, such as a military victory or defeat, ship destruction or damage, a monster attack, and character death (not too morbid, now...). A Darth Vader-like voice may be in order for certain situations as the voice of the imperial player (AI).
  • The map may be either 3- or 2-dimensional spheres. The planets will also be spheres and will change colors depending on their control.
  • Right-clicking on almost anything but empty space will give a pop up menu. Choosing "Properties" will give a short description of the object, its functionality, and other information relevant to it.

    A Preliminary Design:



    Note that the large section on the left would be the game map or a zoomed-in portion of it. The upper right box contains the always-relevant information blocks. The lower right box contains output text from the game. In this case, the text tells the user that it is his/her turn and that he/she needs to move his/her military units (see the status boxes in the upper right box).

    Game Sequence:

    This section details the different divisions of each game turn as the user will see it.
    1. To start the game, the board is prepared according to the rules for the galactic game campaign scenario, rules section 38.1. The user chooses a rebel secret base according to the rules in section 34.2.
    2. The user then positions Boccanegra, Ly Mantock, Kogus, and Tourag on the game map, one in each of the four provinces other than province I. The characters must be put in an environment other than a capital planet, a home planet of a star-faring race, or a planet with a planet secret. The computer puts corresponding specific or random characters and possessions with each of these characters according to the rebel character deployment rules section, 38.4.

      The Turns:
      The player will click the "Go" button before the start of each segment of the turn in order to keep up with what is happening. An "undo" option may be implemented if desired.

    3. Galactic Event Phase: This is the start of every game turn and consists simply of the computer drawing a galactic event card at random and displaying its contents to the user.
    4. Resource Phase: The AI imperial player collects taxes and spends them as he (it) wishes or is required to. The user may then spend any force points he/she has accumulated by interacting with a dialog box that pops up automatically in this phase to buy military units and then right-clicking on rebel-controlled planets to upgrade their PDB's.
    5. First User (Rebel) Player Turn:
      1. Operations Phase:
        1. Interplanetary Military Movement Segment: The user moves his military units to any orbit box or environ on a differentplanet by dragging such a unit from one place to another. Any number of characters may be moved with military units by associating them with the military unit (dragging the character(s) onto the unit). The computer will then take appropriate steps such as hyperjumping, interception, etc., displaying its progress in the text box and playing appropriate sounds.
        2. Military Space Combat Segment: Anywhere where an interception has occurred, the computer will use the rules described in section 22 to determine the outcome of the space confrontations. The user will be given a chance to designate leaders for his military units in combat (perhaps by associating the character with the unit and then right-clicking the unit and selecting that character as the leader).
        3. Character Movement Segment: Any characters that were not moved with military units in the previous Interplanetary Military Movement Segment may be moved from environ to environ on a planet. A group may be formed by dragging one character on top of another. In this way, a group of characters may be formed and, if one of them possesses a working spaceship, moved to an orbit box or planet anywhere on the board. The computer will then process through detection and hyperjumping routines as necessary.
        4. Surface Military Movement Segment: Any military units may be moved from environ to environ or from orbit box to environ of the same planet. The AI may be able to perform a raking attack on units moving from orbit boxes to environs.
        5. Enemy Reaction Segment: The AI moves one military unit or one character to each environ that any of the user's military units or detected characters are positioned at. The moving unit must be in an orbit box or environ on the same planet with the destination environ.
        6. Environ Military Combat Segment: The user or the AI may declare combat in any environs where opposing military units are present. Leaders are selected and the computer determines the outcome.
      2. Search Phase: The computer searches for detected rebel characters and determines the results of the searches.
      3. Missions Phase: The user forms groups of characters and assigns missions to them, hopefully based on the individual characters' abilities. The computer then determines each mission's consequences and applies them. The user may press "Go" to cycle through each mission step (similar to drawing a single action card) or may press "Finish" (or pick another name for this button) to run through all the mission results and move on to the next section. Note that pressing "Finish" may inhibit the user's knowledge of the situation he is in. A message box may be needed to warn the user of this at least the first time "Finish" is pressed. Bonus draws are also handled automatically with the push of the "Go" or "Finish" button.
    6. First AI (Imperial) Player Turn:
      1. Operations Phase:
        1. Interplanetary Military Movement Segment: The AI decides which military units to move. For those that may be intercepted, the user is given a chance to do so. The others are done automatically. Each movement is done when the user pushes the "Go" button. If the "Finish" button is pressed, then all movements will be performed at once until a movement where the user may choose to intercept occurs.
        2. Military Space Combat Segment: This occurs identically to the same segment of the rebel player's turn.
        3. Character Movement Segment: Since detection is automatic, all the user must do for this section is press "Go" to watch each individual movement the AI makes. Alternately, he/she may press "Finish" to get it all over with quickly.
        4. Surface Military Movement Segment: Again, all automated, so the AI does his thing and the user just watches him with either progress button ("Go" or "Finish"). A raking attack may be available to the user, but this will be automatically done for him/her as well.
        5. Enemy (user) Reaction Segment: The user may choose to move military units or characters environs where imperial military is present or where imperial characters have been detected. Environs and planets where this is possible must be flagged somehow, with a pointer, or by flashing or highlighting or something.
        6. Environ Military Combat Segment: Just like in the user's turn.
      2. Search Phase: Environs may be searched for detected imperial characters. Environs where this is possible will be flagged.
      3. Missions Phase: Also automatic. Just pushing "Go" here and watching what happens or pressing "Finish" (if you're very confident in your situation).
    7. A list of now rebel-controlled planets is displayed.
    8. Second User (Rebel) Player Turn: Happens exactly as the first User turn.
    9. Second AI (Imperial) Player Turn: Just like the first one.
    10. Rebel-controlled planets are listed again.
    11. Lather, rinse, repeat.
    The turns continue until a victory can be declared by any of the following situations:
  • If the user (rebel) player has 26 or more victory points at the end of any AI (imperial) turn, the user (rebel) player is the winner.
  • At the end of the 20th game-turn, if the user (rebel) player has not accumulated at least 26 points, the AI (imperial) player wins.
  • The AI (imperial) player wins if all 20 rebel characters are dead or captured at any time.
  • The AI also wins if the rebel secred base has been revealed and there are no rebel-controlled planets on the game map at any time.

    Use Case Descriptions:

    Most of the use cases listed in homework 1 are described above as part of normal game play. A few, however, are such special cases that they require a separate description.
  • Rebellion: This use case is a consequence of a successful "start rebellion" mission by the user (rebel player). The control state of the planet is changed to rebellion. If rebellion takes place when the control state of the planet is imperial control, the rebel player also gains military units and force points for each of the planet's environs equal to the resource rating of that environ. The new units are placed automatically in the corresponding environ. The force points may be spent on military units of the same type as the environ the force points are from. If they are not spent, force points are accumulated and may be spent to buy military units to be placed on the rebel secret base. When this is done, the RSB is revealed to the AI player, if it has not been revealed previously.
  • The Domino Effect: When a planet's loyalty marker is moved two spaces in a player's favor by a single coup or diplomacy mission, a planet is placed into rebellion or rebellion is stopped, or a planet becomes rebel controlled, the domino effect is sparked. It may also be sparked, under certain circumstances, by an imperial atrocity (see Imperial Atrocities below and section 36). The results of the domino effect are detailed in rules section 23. Some aspects of the domino effect in the user's favor may be handled automatically, as when an entire star system or star-faring race is affected, but others must be handled manually by the user after a rebellion is started. The user may be required to choose which planets to affect by the domino effect. Planets where this is possible will be flagged.
  • Imperial Atrocities: During the mission action section, when mission action "cards" are being drawn, some cards may say that the imperial player may commit an atrocity. The AI may immediately do so on the planet for which the card was drawn if an imperial atrocity unit is in the orbit box of that planet, the planet is imperial controlled and its PDB is at level 2 and is up, or there are imperial elite units in an environ on the planet. The galactic event "Emporor in a rare Mood" allows the AI to commit an atrocity anywhere there are atrocity units. Specific atrocities are detailed in rules section 36.

    Class Descriptions:

    Following is a list of classes and their descriptions.
  • Universe: A large governing class that holds the provinces, a drift box for storing failed hyperjumped ships.
  • Province: A class useful for controlling the imperial movement as regards the imperial strategic assignment part of the game. Contains star systems.
  • Star System: Contains planets. Yeah. That's about it. It's useful for hyperjumping, though.
  • Planet: Perhaps the biggest class in the game in terms of complexity. This class must store its environs, an orbit box, information on the loyalty and control of the planet, and lots of planetary defense base information. It also contains special information like planet secrets, where applicable, and whether the planet is a throne or capital planet.
  • Environ: This class stores information like what type of environ it is, its resource rating, characters and military units that are occupying it, and which, if any, starfaring races inhabit it.
  • Unit: A template class that classes like character, military unit, and some specific possessions inherit from or copy.
  • Character: Inherits from the unit class. Contains a name, fighting abilities, bonus draw information and special abilities information.
  • Military Unit: Also inherits from the unit class. Possesses attributes such as space combat, terrestrial combat, and special tags like ones appropriate for the imperial atrocity units. Alternately, the atrocity units could inherit from this class.
  • Possession: A template class for specific possessions to inherit from. Contains a link to the owner or to the universe object if there is none.