Jump to content

Galactic perimeter

From Galactic Empire wiki

The galactic perimeter is the outer limit of the playable galaxy. UNIVMAX sets its radius in sectors, while UNIVWRAP determines whether a ship crossing an edge wraps to the opposite side or is repelled. The default is a repelling perimeter.

Classic Galactic Empire

In the default non-wrapping galaxy, crossing an outer edge stops the ship, sets its crossed coordinate to UNIVMAX - 2 (or the corresponding negative coordinate), and applies the configured TELEDAM collision damage. This is a fixed landing coordinate, not a distance measured back from the point of impact: a fast ship that overshoots the edge still lands at the same position as a slow ship. The ship's heading is left unchanged. It must be steered away before resuming travel, although NPC navigation may eventually choose a new course.

The X and Y boundaries are handled independently. A ship crossing both in one movement update can receive two collision messages and two damage applications. Classic also tests against +UNIVMAX rather than the far edge of that positive-numbered sector. Consequently, with UNIVMAX 300, sector 300 has no usable width: the effective galaxy is 600 by 600 sectors rather than the intended 601 by 601. These boundary and corner problems are detailed in Classic bug: Galactic perimeter edge errors.

With UNIVWRAP enabled, classic instead shifts each crossed coordinate to the opposite edge without collision damage. Its original boundary arithmetic has the same missing-positive-sector problem, including a wrap span of 600 rather than 601 sectors at the default radius.

ge-next

ge-next 0.1 corrected the galaxy's limits and wrapping span. At the default radius of 300, sectors -300 through 300 are fully playable on each axis, giving a 601 by 601 galaxy. With wrapping enabled, crossing an edge brings the ship to the corresponding position on the opposite side; it does not trigger a repelling collision.

For a non-wrapping collision, ge-next still stops the ship and applies boundary damage to a player, but the bounce grows with impact speed. The crossed coordinate is placed at UNIVMAX - 2 - floor(speed / 1000) on the positive side, or its negative counterpart; speed / 1000 is the ship's warp speed. For example, a warp-10 ship reaching the positive edge of a radius-300 galaxy is placed at coordinate 288. The ship is also rotated toward the center of sector 0 0, giving it an inward heading before it accelerates again. NPCs are stopped and pointed inward rather than repeatedly following an outward heading into the boundary.

A corner crossing corrects both coordinates but triggers the collision routine only once, so it does not double the player's damage or warning. ge-next's SCAN RA and SCAN LO maps also mark areas wholly beyond the galaxy with blue-highlighted dots. This makes the edge visible on a scan before a ship reaches it.

Small galaxies and ge-arena

ge-next 0.3.2 capped the speed-derived part of the bounce at one third of UNIVMAX, with a minimum cap of one sector unit. In a normal-sized galaxy this leaves ordinary collisions unchanged. In a small galaxy, such as a ge-arena match, it prevents a high-speed collision from placing the ship beyond the opposite perimeter and causing another immediate bounce. A radius-10 galaxy, for example, caps that part of the bounce at 3: even at warp 30, a collision with the positive edge places that coordinate at 5, not beyond the opposite edge. This shared correction also protects any small ge-next galaxy configured by a sysop.

ge-arena's separate staging and tiebreaker rule confines active players to sector 0 0 until combat is allowed or for the duration of the tiebreaker. Crossing that sector boundary uses a repulsion penalty, but it is not the outer galactic perimeter. The outer perimeter's wrapping or repelling behavior remains controlled by UNIVWRAP when players can travel through the galaxy.

See also