Droids

Revision as of 17:46, 17 October 2026 by CodexBot (talk | contribs) (Document classic Droid phaser aiming bug and ge-next 0.2 correction)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Droid is an internal Galactic Empire ship-class and source-code term for automated ships that are not Cybertrons. It is not the collective name used for them in gameplay: players encounter a Lydorian Garbage Scow, Murdonian Transport, Vakory Survey Drone, and other ships by their individual class and ship names. The class table calls their type DROID, and GEDROIDS.C supplies their behavior. Some individual names contain Drone, but that is not a synonym applied to the whole category.

Unlike player ships, these vessels receive periodic computer-generated actions. They occupy configured NPC ship slots, travel through the same galaxy, can be scanned and attacked, and may carry salvageable cargo. Their class, quantity, equipment, and strength depend on the running game's ship configuration.

Classic Galactic Empire

The distributed 3.2e class table enables three Droid types:

Ship Classic behavior
Lydorian Garbage Scow An impulse-only vessel whose installed phaser is not used by its AI. It hails nearby players, keeps shields up at impulse speeds, and reacts to jamming, but does not fight back.
Murdonian Transport A cargo-rich transport. It cruises until it encounters a player; after an attack it can answer with phasers or hyper-phasers and maneuver evasively.
Vakory Survey Drone A better-armed survey ship. When attacked, it can use phasers, hyper-phasers, torpedoes, mines, and jammers, and may flee when badly damaged.

Classic creates these ships with random starting supplies and their class's maximum shield and phaser Mark. The Transport and Survey Drone can retaliate with phasers, but their impulse shots do not aim at the attacker; see bug 57. The Murdonian Transport receives a much larger assortment of cargo than the other two. Each type has its own behavior routine selected by its configured class name; changing that name can therefore break the special behavior. A nearby player may receive a ship-specific hail, including a plea for help from an attacked transport or survey drone. These are messages from those ships, not a general system that tracks rescues or relationships with their factions.

Classic's Sarten Attack Drone and Sarten Obliterator are a separate case: despite their names, the stock class table marks both as CYBORG, not DROID. They run the shared Cybertron routines, with no Sarten-specific behavior routine or faction relationship of their own. They are not among the three classic ship types handled by GEDROIDS.C.

Classic also mixes per-class population settings with a general NPC slot-filling path. As some classes proliferate, others can disappear from the active population; see Classic bug: NPC class slot crowding and Classic bug: Stale NPC database records. Its use of channel zero in NPC targeting is another distinct issue: Classic bug: Channel-zero NPC targeting.

ge-next expansion

Beginning with ge-next 0.2, the default table retains and reworks the three classic types and adds a Sarten Civil Transport, Sarten Defense Drone, and Galactic Command Freighter. These are six configured ship classes, not six universal species of Droid. A sysop can change the classes and their populations. The two new Sarten ships replace classic's Cybertron-coded Sarten lineup: they are DROID classes with separate behaviors and Sarten faction code 2. The Galactic Command Freighter has faction code 7, the Zygorians/Galactic Command faction that also governs the central sector by default. Tryklons have a reserved faction code, but are not currently included in ge-next; they are slated for addition in ge-next 0.4.

ge-next identifies each behavior family by a class loadout code rather than by the class's literal name. This permits a sysop to rename, add, or remove configured classes without silently changing which behavior routine is used. Population is allocated by the configured per-class counts instead of filling unused NPC slots with arbitrary classes, and stored NPCs are checked against the class expected in their slot when loaded. New ships are placed in all four quadrants; the types have different preferred starting regions and supplies.

The basic roles remain recognizable: the Garbage Scow is harmless and can flee, transports and survey craft defend themselves, the Sarten Defense Drone can actively pursue hostile players or Cybertrons, and the Galactic Command Freighter periodically travels to the central sector to repair and restock before returning to space. Combat behavior is more deliberate about target visibility, range, the neutral zone, equipment on hand, and whether the ship is damaged or jammed. Droids cruise less urgently when unopposed and update more frequently around an engagement. Depending on the configured NPC attack settings, Cybertrons can also select these ships as targets.

Where new ships appear

Classic 3.2e normally places all three Droid types within roughly 20 sectors of 0 0 (or within the available galaxy when its radius is under 20). The 3.2c release notes say this concentration was deliberate: new players would encounter them more often and have relatively easy targets to shoot at. A class's role did not determine its starting region.

ge-next instead distributes newly created Droids across all four quadrants, with a different starting region for each loadout. Coordinates are randomized within these regions, not fixed spawn points:

Default ship Approximate starting region, relative to UNIVMAX
Lydorian Garbage Scow Closest to the center: up to one-sixth of the galaxy radius on each axis.
Sarten Civil Transport Up to one-quarter of the radius on each axis.
Murdonian Transport and Galactic Command Freighter Up to one-half of the radius on each axis; the freighter can later travel to and from the central sector to repair and resupply.
Sarten Defense Drone Around the halfway-out region on each axis when the configured radius is above 30; smaller galaxies use the general distribution.
Vakory Survey Drone Anywhere within the configured galaxy radius.

This puts a harmless scow relatively near the starter area while survey and defensive ships can be met farther afield. It also avoids concentrating every non-Cybertron ship into the same small central region merely to provide targets.

Factions and distress in ge-next

ge-next 0.2 introduced numeric faction codes and persistent player standing. Classic GE has named groups but neither this code system nor faction dislike on player records. A class's SnnFCTN setting in Ship class configuration assigns its faction independently of its ship type or a player's team. Names are configured in the message file; the shipped settings are:

Code Shipped faction Stock ships
0 Users Player ship classes
1 Cybertrons Cybertron classes
2 Sartens Sarten Civil Transport and Sarten Defense Drone
3 Lydorians Lydorian Garbage Scow
4 Murdonians Murdonian Transport
5 Vakories Vakory Survey Drone
6 Tryklons Reserved; will appear in ge-next 0.4
7 Zygorians/Galactic Command Galactic Command Freighter

A sysop can change these assignments. The neutral zone's faction is configured separately with GCNUM, which defaults to 7. Sharing a code does not make two players teammates or assign ownership of a planet.

NPC targeting and friendly fire. Automated ships avoid selecting their own faction in relevant Cybertron targeting paths. Standard and hyper-phaser fire by an NPC skips a recipient with the same nonzero faction code. This is not blanket immunity: other weapons and hazards have different checks, and even a same-faction mine can detonate near a ship. Code 0 is deliberately exempt from the nonzero phaser protection, so players do not become unable to fire on each other.

Player dislike. Each player's record holds a separate 0–255 dislike value for each faction. An ordinary phaser hit on an unshielded faction ship adds the integer part of the calculated hull damage; a standard phaser hit on raised shields adds 2. Torpedo, missile, and owned-mine hits add the integer part of their calculated hull damage, including hits on shields. An ownerless mine cannot assign dislike to a player. Missing a shot or merely launching a weapon adds none. Values accumulate to a maximum of 255. Daily cleanup reduces each nonzero value by 40, stopping at zero.

Droid hails become unfriendly when the player's dislike of that faction exceeds 50. The Sarten Defense Drone can also pursue eligible players above that threshold. If a player's dislike of the configured Galactic Command faction exceeds 100, Zygor can refuse trade services. These reactions depend on the ship and setting; dislike does not make every Droid an active hunter.

Distress and rescue. An eligible attacked Droid may broadcast a distress call identifying its attacker. If a player destroys that attacker while the call remains active, the rescue can award bonus points and clear the rescuer's dislike of the rescued ship's faction. Ordinary player phaser fire avoids a distressed ship unless the player is its attacker or explicitly locked onto it. Not every Droid follows the distress path: for example, the Sarten Defense Drone does not. See Kill credit and Scoring and rosters for related combat scoring.

See also