A lot of what goes on in the game follows rules which imply values which may be changed during the game for balancing reasons, or simply to fix a mistake.
In this post:
- Internationalisation
- Resource types
- Natural resources
- Types of weaponry and defences
- Production and capability types
- Technologies
- Fleet strategies
- Defence strategies
- Attack strategies
- Relative strengths
- Stuff that can be built
- Building types
- Ship parts
Internationalisation
All text that is independent from the interface used to access the game is stored in the database. Each string is identified by a code, and associated to translations in various languages. Each language is identified by an ISO code and a name (in the language itself). The set of translations available in a given language may be incomplete, for example when a new language is being added.
All definitions which require a name or a description in fact use the internationalisation system.
Resource types
The various types of resources which empire may possess and use are defined in the database. Each resource type is identified by its name; in addition, it carries a description as another string from the internationalisation system. It belongs to a resource category, itself identified by yet another string. All resources are given a value which is used to compute e.g. player rankings. Finally, advanced types of resources only become visible when some technology has been discovered.
Some types of resources can be found in the game universe and can be extracted through mining operations. These natural resources are added to the map when it is generated. Each type of natural resource has a non-zero probability of being found at a location; in addition, the map generator should enforce an average quantity and average extraction difficulty.
Types of weaponry & defences
There are three categories of weaponry (beam weapons, mass drivers and missiles) and their respective countermeasures (shields, armours and point defence systems). Each weaponry or defence category should be identified by its general type and by whether it is a weapon or a countermeasure. In addition, a name and a description need to be associated with each category.
Production and capability types
Productions and capabilities, whether they apply to whole empires, planets or ships, are described in the exact same way.
Generally speaking, a production or capability is identified by a code name. It possesses a display name and a description. It carries a flag indicating whether it is an additive or exclusive property – for example, ship components providing automated repairs have an additive effect, while mineral scanners are either present or not.
The value of a production may not be meaningful to the player. In order to display that value, a production definition includes a non-zero display multiplier, and may use a prefix and / or a suffix. If there is a suffix, then a suffix tooltip text may be included. The prefix, suffix and suffix tooltip text are of course internationalised strings.
While empire and ship productions do not include any additional data, a planet production or capability definition features a flag that indicates whether the production is local or global. A local production is used at the planet’s level only, while a global production is computed at the owning empire’s level.
Technologies
A technology is identified by its name. It carries a description, and requires an amount of research points to be accumulated before it is discovered. Each technology belongs to a technology category, identified by its name. A technology has an implementation price, defined by at least one type of resource and a positive quantity. Finally, a technology may only be researched once its dependencies (a set of other technologies) have been discovered.
In addition, a technology may provide some amount of an empire production.
Generally speaking, a fleet strategy is described by a name and a description. In addition, all fleet strategies include a probability of intercepting shots to other fleets, an advantage threshold used to determine whether ground armies should be dropped to the planet’s surface, and an advantage multiplier which indicates how much support a ship of size 1 gives to the ground armies. All strategies also include a probability of changing targets.
A defence strategy is a strategy which can be used by fleets in defensive mode. In addition to the common strategy information, it also includes a probability of intercepting shots to the planet.
An attack strategy is a strategy which can be used by attacking fleets. In addition to the common strategy information, attack strategies also include information related to attacking the planet: a weight modifier for ground structures, which determines how likely a fleet using the strategy is to target the planet’s buildings; a military objectives modifier, which indicates how likely the fleet is to target civilian structures, and a civilian casualties modifier, which will be used to compute civilian casualties when firing at ground structures. In addition, because planets do not have strategies, the information regarding attack strategies’ relative efficiency opposed to planets is included along with attack strategies. This information consists in 4 modifiers: aim and damage modifiers for the fleets, and aim and damage modifiers for planets.
Relative strengths
Each combination of an attack strategy with a defence strategy is described through 2 sets of modifiers: aim and damage modifiers for both the attacking and the defending sides.
The database should contain the definition of all “buildable” items. Such an item is always identified by a name; it is associated with a description, and its construction requires a positive amount of work. In addition, all items which can be built carry a construction price and a maintenance price, both being a non-empty set of resource types associated with positive quantities.
A building type is a buildable item. It generates at least one type of planet production, with a maximal quantity associated to each type of production. Each type of building provides a quantity of jobs to be manned by the planets’ population, and possesses a maximal amount of hit points.
Buildings may also provide planet-side weaponry. A building may be associated with a type of weapon, along with weapon characteristics – accuracy, base damage, charge time and cool-down time.
A ship part is a buildable item. It belongs to a ship parts category identified by a name (a category may be a sub-category of another category).
There are different types of ship part types, which correspond to major elements of a ship’s design.
Rationale regarding the hybrid direct/meta modelling of ship parts: some of the ship parts’ characteristics are essential in that they provide the basic description of a ship design; most of these characteristics are used as constraints during the design of a ship (for example, available hull space must be greater than / equal to the amount of used hull space multiplied by the empire’s miniaturisation capabilities). In addition, these basic characteristics should not change in further versions of LW. However, other characteristics corresponding to various special abilities are not necessary in most operations, and are likely to evolve as development progresses. The latter are stored using meta-modelling while the former are stored directly.
A hull is a type of ship part which provides space for other parts. It is either mechanical or biological in nature, and defines the amount of hit points as well as the basic manoeuvrability of a ship. In addition, a hull may provide energy. Finally, it may provide ship capabilities in various quantities.
A generator is a type of ship part which consumes space in a ship’s hull and provides energy. It may require the ship to be mechanical or biological.
A normal space engine is a type of ship part which consumes space in a ship’s hull and requires energy. It provides thrust. It may require the ship to be mechanical or biological.
Hyperspace engines
A Hyperspace engine is a type of ship part which consumes space in a ship’s hull and requires energy. It provides Hyperspace displacement power. It may require the ship to be mechanical or biological.
Hybrid engines
A hybrid engine is an engine that is both a normal space engine and a Hyperspace engine.
A weapon is a type of ship part which consumes space in a ship’s hull and requires energy. It is associated with a weapon type, and possesses a charge time, a cool-down time, an accuracy value (which is a probability) and a base damage.
A countermeasure is a type of ship part which consumes space in a ship’s hull and requires energy. It is associated with a defence type and possesses an absorption probability, a maximal absorption value and a per-minute absorption recovery value.
Any other type of ship part is a ship part which consumes space in a ship’s hull and may require energy to function. It may provide ship capabilities in various quantities.
Summary of ship part “types” and associated information
The table below is a summary of the information required by the various “families” of ship parts listed above.
| Information | Hulls | Generator | N.S. engine | H.S. engine | Hybrid engine | Weapon | Countermeasure | Other |
|---|---|---|---|---|---|---|---|---|
| Available space
Ship basics |
Always | |||||||
| Used space | Always | Always | Always | Always | Always | Always | Always | |
| Provided energy | Sometimes | Always | ||||||
| Used energy | Always | Always | Always | Always | Always | Always | ||
| Capabilities | Sometimes | Sometimes | Sometimes | Sometimes | Sometimes | Sometimes | Sometimes | At least 1 |
| Hyperspace power | Always | Always | ||||||
| Normal space thrust | Always | Always | ||||||
| Weapons | Always | |||||||
| Countermeasures | Always | |||||||
| Type requirement | Sometimes | Sometimes | Sometimes | Sometimes | Sometimes | Sometimes | Sometimes |