Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

How to initialise player technologies, buildings, base type effects, determine victory (win/lose) conditions and send situation reports to players...

 

Player Initialisation

Each player must be initialised at the start of the game, usually during eventGameInit().

For each player, rules.js must:

  • Enabling certain structures
  • Enabling certain cyborg components
  • Enabling primary technologies (Sensor, Engineering, Machine gun)
  • Setting initial structure limits (these are overwritten later by game settings)
  • Gifting a certain number of technologies depending on the base type
  • Setting starting power based on the base type
  • Removing certain map-defined buildings based on the base type

    See Player Initialisation Rules

    Design Mode & Mini Map

    Under normal game rules a HQ is required to enable the Design Mode (droid design tool) and mini map.

    If the HQ gets destroyed, both those features must be disabled. If a HQ gets build, they are re-enabled.

    The code to do this is usually stored in a function so that it can be called from three key events:

    Victory Conditions

    The rules.js script is responsible for checking victory conditions. This is generally performed by setting up a timer (using setTimer() function) to periodically call a global function that performs the victory condition checking.

    Winning

    The player is deemed to be a winner in the following scenarios:

    • All enemies are dead
    • The player of a member of their team (if using ALLIANCES_TEAMS mode) is still alive

    Upon winning, rules.js should trigger gameOverMessage(true) to end the game. It should also use removeTimer() to prevent any subsequent calls to the victory condition checking code.

    Losing

    The player is deemed to have lost in the following scenarios:

    • If using ALLIANCES_TEAMS mode, the player loses if they and all members of their team are dead
    • If using ALLIANCES or NO_ALLIANCES mode, the player loses as soon as they are killed (even if they have allies that are still alive)

    Upon losing, rules.js should trigger gameOverMessage(false) to end the game. It should also use removeTimer() to prevent any subsequent calls to the victory condition checking code.

    Definition of "Alive"

    Under normal game rules, a player is deemed to be alive if any of the following conditions are met:

    Essentially, we want to know if they can produce land units and/or if they have any units still on the map.

     

    other

    Child pages (Children Display)
    alltrue
    depthall
    excerpttrue

    See also