Grand Unified FTL 3: Hyperspace

Posted: 2024-07-28
Last Modified: 2024-11-17
Word Count: 2230
Tags: python-code rpg space

Table of Contents

Part of the Grand Unified FTL series.

WARNING: this article may contain numbers.

Previously …

We discussed that knowing how far stars are from each other in realspace will affect our fictional Faster Than Light devices.

First up: hyperspace.

How Hyperspace Works

Hyperspace is a realm at right angles to our reality – “realspace” – where distances between two points in realspace don’t correspond to the distance between corresponding entrance and exit points in hyperspace. Hyperspace posits a parallel space where the distances between stars is much smaller; a ship can fly between them in weeks or days, not years or centuries.

While hyperspace could just resemble normal space, most literature and media treat it as a swirling dimension of primal energies (e.g. Babylon 5), or a series of iridescent tunnels (e.g. Star Wars), or a stygian darkness where one must fly on instruments alone (e.g. Ann Leckie’s Imperial Radsch series.) It’s not just normal space.

Questions About Hyperspace

How do ships enter and exit hyperspace?

Sometimes it’s literally a portal that opens up in front of a ship (e.g. Babylon 5), perhaps held open by an external “gate” device (B5 again). Other times, the ship literally accelerates to light speed to enter hyperspace (e.g. Star Wars).

Ships exit the way they came: through a portal, through “decelerating”, or in a flash of photons and gravitons.

What determines how long a hyperspace trip takes?

Most media leaves this vague, but generally the realspace distance between stars determines the length of a hyperspace journey. There are exceptions, though. In the RPG Faster Than Light: Nomad each hyperspace transit takes exactly one week, whether the ship has gone 2, 3, or 4 parsecs. (Then again FTLN’s FTL is a hybrid of hyperspace and jump travel].) Traversing Warhammer 40K’s Warp is a bit more random, especially if the ship has a wonky hyperspace engine.

Is time the same inside and outside hyperspace?

Most sources say yes. As this is fiction, we can always posit some sort of time dilation where a week in the observable universe translates to a day or an hour in hyperspace. (At one extreme, we get something like jump again, where the passengers feel no time at all. At the other extreme, passengers have to be put into stasis because the time in hyperspace feels like centuries.)

What hazards lie in hyperspace?

Most portrayals show a placid if garishly lit region of pseudo-space. Again, though, this is fiction, so we can do what we want. In addition to other ships (as in the Star Wars High Republic setting), we can also posit hyperspace storms, turbulence (requiring a steady hand at the helm), or even (as in WH40K) actual demons and monsters prowling around.

Hyperspace In Practice

This is but one possible formulation of hyperspace.

Entrances

Most ships use hyperspace gates, technological constructs that act as portals to hyperspace. Some are vast, ancient, and nigh-indestructable, built by long vanished alien species who must have once ruled the galaxy. Others are smaller and more recent, built when humans and other species understood enough basic theory to reproduce the Ancients’ work. All have roughly the shape of a paraboloid, bell, or cone: the wide end is the gateway, and the narrow end houses the gigantic power source and almost incomprehensible machinery that bridges two realms of existence.

The largest ships, including most military and government vessels, have a hyperspace projector that can pry open a gateway in front of the ship for the few seconds it takes to fly through it. In extreme cases, a ship can project a gateway around itself, but it won’t be a pleasant trip. Rumors of a device that can shut down a projector to prevent warships from escaping into hyperspace are so far unconfirmed.

Paths

While hyperspace may look like a featureless black (or blue?) expanse, it’s actually a maze of warped space. Finding a safe path through hyperspace requires an up-to-date database of known hyperspace routes and functioning gravitic sensors. Major routes have beacons to mark the safest path, although someone (or something) keeps breaking them.

While on average the hyperspace path between two realspace points is exponentially faster than crawling through realspace at sub-light speeds, gravitational distortions make the path anything but straight. Regions of hyperspace that correspond to regions of higher stellar and dark matter density in realspace show more distortion, but paths from one star to another through completely empty space can show the same distortions or worse. On the other hand, explorers have found routes that shorten the time between two stars considerably, which has made both star systems in question major transit hubs.

Communications

Electromagnetic, GDW, and Quantum Entanglement communicators work in hyperspace almost as well as in realspace. The spatial distortions make long-range communications tricky. Hyperspace beacons double as relays between hyperspace gates and along the major routes, so smaller ships within range of a beacon can access the full hyperspace comm-net. (Usage and interstellar roaming fees may apply.)

Speed of the hyperspace comm-net is roughly equal to best possible speed of travel along the route. Few people, therefore, use the comm-net from within hyperspace unless it’s urgent, since they’ll usually get to their destination by the time their (asynchronous) message reaches its recipient.

Wrong Turns

Getting lost in hyperspace can be hazardous to one’s health. At best, one has wasted time, life support resources, and fuel traveling further than one expected. At worst, ships have run out of resources looking for an exit or even a beacon. Some interstellar governments regularly patrol hyperspace lanes looking for stranded ships, or at least their wreckage. Generally, though, hyperspace travelers are on their own.

Every so often one hears irresponsible stories about creatures in hyperspace, or hyperspace exits to hell, or entire hostile civilizations in hyperspace. These tall tales merely seek to explain the vanishingly few ships that enter hyperspace and are never heard from again.

Exits

To exit hyperspace, simply find a hyperspace gate or re-engage the hyperspace projector.

Some well-trafficked gates may have traffic control within hyperspace itself to throttle the traffic coming through in both directions, or to clear traffic for some VIP. Be prepared to wait, and keep your credit tokens handy.

Those with hyperspace projectors need not wait to exit. They do need to take care that they do not emerge too near major intra-system transport lanes or too close to a planet. Gravitic sensors should indicate roughly where the major masses in a solar system lie, and calculating geodesics between those masses should indicate where space lanes, orbitals, and interplanetary colony habitats lie.

But there’s always some over-eager general who decides popping out of hyperspace on top of the target will win him the element of surprise. It doesn’t. A ship needs a few seconds to get its bearings after emerging, and the electromagnetic and gravitational flux from an opening hyperspace gate gives opposing forces ample warning of an attack. Leave aside, for the moment, the senseless loss of life when a ship pops out of nowhere in the middle of a space lane or in orbit around a populated planet and smaller ships, unable to change course in time, smash into said ship or each other.

Hyperspace Travel Times

In our version of hyperspace, we will introduce the following factors that determine the length and safety of a trip through hyperspace:

where:

Mean Transit Times in Days

This function shows the mean transit times in days as a function of the number of parsecs to traverse and the Gravitational Density Factor of the sector, which can be approximated by counting the number of stars and dividing by the number of cubic parsecs. (Or in a two dimensional hex map, the number of hexes.)

Parsecs 0.1667 0.3333 0.5000 0.6667 0.8333
1 2.10 2.62 3.50 5.25 10.50
2 4.20 5.25 7.00 10.50 21.00
3 6.30 7.87 10.50 15.75 31.50
4 8.40 10.50 14.00 21.00 42.00
5 10.50 13.12 17.50 26.25 52.50
6 12.60 15.75 21.00 31.50 63.00
7 14.70 18.37 24.50 36.75 73.50
8 16.80 21.00 28.00 42.00 84.00
9 18.90 23.62 31.50 47.25 94.50
10 21.00 26.25 35.00 52.50 105.00

Travel Time Multipliers

To simulate the randomness of hyperspace paths, roll 4d6, cross-reference with the Path Uncertainty Factor, and multiply by the Travel Time Multiplier indicated.

4d6 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
4 0.90 0.80 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00
5 0.91 0.82 0.73 0.64 0.55 0.46 0.37 0.28 0.19 0.10
6 0.92 0.84 0.76 0.68 0.60 0.52 0.44 0.36 0.28 0.20
7 0.93 0.86 0.79 0.72 0.65 0.58 0.51 0.44 0.37 0.30
8 0.94 0.88 0.82 0.76 0.70 0.64 0.58 0.52 0.46 0.40
9 0.95 0.90 0.85 0.80 0.75 0.70 0.65 0.60 0.55 0.50
10 0.96 0.92 0.88 0.84 0.80 0.76 0.72 0.68 0.64 0.60
11 0.97 0.94 0.91 0.88 0.85 0.82 0.79 0.76 0.73 0.70
12 0.98 0.96 0.94 0.92 0.90 0.88 0.86 0.84 0.82 0.80
13 0.99 0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.90
14 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
15 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10
16 1.02 1.04 1.06 1.08 1.10 1.12 1.14 1.16 1.18 1.20
17 1.03 1.06 1.09 1.12 1.15 1.18 1.21 1.24 1.27 1.30
18 1.04 1.08 1.12 1.16 1.20 1.24 1.28 1.32 1.36 1.40
19 1.05 1.10 1.15 1.20 1.25 1.30 1.35 1.40 1.45 1.50
20 1.06 1.12 1.18 1.24 1.30 1.36 1.42 1.48 1.54 1.60
21 1.07 1.14 1.21 1.28 1.35 1.42 1.49 1.56 1.63 1.70
22 1.08 1.16 1.24 1.32 1.40 1.48 1.56 1.64 1.72 1.80
23 1.09 1.18 1.27 1.36 1.45 1.54 1.63 1.72 1.81 1.90
24 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90 2.00

Hyperspace Variations

Hyperspace Barriers

Some regions may be impassible through hyperspace, either due to stellar density or some other invisible factor. In Legend of the Galactic Heroes, for example, only two paths lead between the region of space occupied by the Galactic Empire and that of the Free Planets Alliance: the passage guarded by the fortress Iserlohn, and the system ruled by the independent Dominion of Phezzan. This topology may seem awfully convenient, but the same could be achieved by limiting the length of hyperspace transits or implementing the next idea …

Hyperspace Bypasses

Some well-worn paths through hyperspace might be significantly faster than the realspace distance indicates. On a map, one could indicate such a path by a red line connecting two distant systems and a note on the equivalent realspace distance and/or transit time between the two connected systems.

The Void Between Worlds

Some paths through hyperspace may lead … somewhere else.

Occasionally some who enter hyperspace never leave, not into a known region of realspace, anyway. Legends say they took the wrong path and ended up stranded in a desolate star system or, worse, some hell dimension filled with mythical “hyperspace daimons”. Scientists dismiss these tales, but they do note that modern starships aren’t designed to cross the lightyears of realspace that separate star systems, so a ship could get stranded.

But hell dimensions? Daimons? Really now.

Next

We consider a close cousin to the hyperspace drive, the Jump drive.


Appendix A: Hyperspace Travel Calculator

This program creates the hyperspace tables above.

#!/usr/bin/env python3

from tabulate import tabulate


VZERO: float = 4 / 7  # in parsecs/day


def transit_days(
    parsecs: int, density: float, uncertainty: float = 1.0, x: float = 0.0
) -> float:
    assert parsecs > 0
    assert 0.0 < density < 1.0
    assert 0.0 <= uncertainty
    assert -1.0 <= x <= 1.0
    return (1 / VZERO) * (parsecs / (1 - density)) * (1.0 + x * uncertainty)


def fourdice_to_x(total: int) -> float:
    return (total - 14) / 10


def main() -> None:
    densities: list[float] = [1 / 6, 2 / 6, 3 / 6, 4 / 6, 5 / 6]
    headers_1: list[str] = ["Parsecs"] + [f"{g:.4f}" for g in densities]
    mean_transit_times: list[list[float]] = [
        ([d] + [transit_days(d, g) for g in densities]) for d in range(1, 11)
    ]
    print("### Mean Transit Times in Days")
    print(
        tabulate(mean_transit_times, headers=headers_1, tablefmt="pipe", floatfmt=".2f")
    )

    print()

    print("### Travel Time Multipliers")
    g = 0.5
    d = 10
    divisor = transit_days(d, g)
    uncertainties: list[float] = [x / 10 for x in range(1, 11, 1)]
    headers_2: list[str] = ["4d6"] + [f"{u:.2f}" for u in uncertainties]
    travel_time_ranges: list[list[float]] = [
        (
            [v]
            + [transit_days(d, g, u, fourdice_to_x(v)) / divisor for u in uncertainties]
        )
        for v in range(4, 25)
    ]
    print(
        tabulate(travel_time_ranges, headers=headers_2, tablefmt="pipe", floatfmt=".2f")
    )


if __name__ == "__main__":
    main()