Skip to content
Justin Spahr-Summers edited this page Jul 24, 2024 · 3 revisions

For a fictional interstellar timekeeping system in Merc, we could create something that's both practical for space travelers and adds flavor to the game's universe. Here's a proposal:

  1. Galactic Standard Time (GST)

The basis of this system could be a fictional agreement among the major spacefaring civilizations to establish a universal timekeeping standard. This would be crucial for coordinating interstellar trade, communication, and navigation.

  1. Reference Point

Instead of using a single planet's rotation or orbit (like Earth's in our current system), we could base GST on a more universal constant. For example, it could be based on the rotation of the galactic core, or the frequency of radiation emitted by a specific pulsar that's visible throughout the inhabited parts of the galaxy.

  1. Units
  • Microcycles (μc): Smallest commonly used unit, roughly equivalent to a few seconds.
  • Cycles (c): Basic unit of time, perhaps close to an Earth hour.
  • Megacycles (Mc): Larger unit, maybe similar to an Earth week or month.
  • Gigacycles (Gc): Longest common unit, possibly close to an Earth year.
  1. Date Format

A date in this system might look like this: 1138.45.782 GST

This could represent:

  • 1138: The current Gigacycle (year equivalent)
  • 45: The current Megacycle (month equivalent)
  • 782: The current Cycle (day equivalent)
  1. Implementation

We could add this system to the game in several ways:

  • Display the current GST in the user interface, updating in real-time.
  • Use it for mission deadlines and other time-sensitive game events.
  • Include it in the lore, perhaps with a brief explanation in a codex or during the game's introduction.

Here's a basic implementation we could add to the game:

# galactic_time.gd
extends Node

var start_time: int
var time_scale: float = 1.0  # 1.0 means 1 real second = 1 game cycle

func _ready():
    start_time = Time.get_unix_time_from_system()

func get_current_gst() -> String:
    var elapsed_seconds = (Time.get_unix_time_from_system() - start_time) * time_scale
    var cycles = int(elapsed_seconds)
    var megacycles = cycles / 1000
    var gigacycles = megacycles / 1000
    
    return "%04d.%03d.%03d GST" % [gigacycles, megacycles % 1000, cycles % 1000]

func _process(delta):
    # Update a label with the current GST
    # Assuming we have a Label node named "GSTLabel" in the scene
    $GSTLabel.text = get_current_gst()

This script creates a basic GST system that progresses with real time. You could attach this script to a node in your main game scene to keep track of time globally.

To make it more integrated with the game's systems, you could expand this to include functions for calculating time differences, setting mission deadlines, or even affecting gameplay elements based on the current GST.


Instead of the galactic core rotation, we could use a specific pulsar as our reference point. Pulsars are rapidly rotating neutron stars that emit regular pulses of radiation. They're known for their extremely precise and stable rotation periods, making them excellent cosmic clocks. For our fictional GST system, we could say that the major spacefaring civilizations chose a particular pulsar visible throughout the inhabited parts of the galaxy. Let's call it the "Beacon Pulsar." We could define that:

The Beacon Pulsar has a rotation period of exactly 1 second (in Earth time). 3600 rotations of the Beacon Pulsar define 1 Cycle in our GST system.

This means:

1 Cycle ≈ 1 Earth hour 1 Megacycle (1000 Cycles) ≈ 41.67 Earth days 1 Gigacycle (1000 Megacycles) ≈ 114.15 Earth years

This system provides a stable, universe-wide reference point that's both scientifically plausible and practical for the game's timekeeping needs. It's fast enough to be noticeable in gameplay but also allows for long-term time tracking for story and mission purposes.


Let's create a more realistic scenario that still ties into Earth-based time for familiarity.

Pulsars typically have rotation periods ranging from milliseconds to seconds. For our purposes, let's choose a millisecond pulsar, as they are among the most stable rotators known.

Here's a more realistic proposal:

  1. The "Beacon Pulsar" has a rotation period of 1.337 milliseconds.
  2. We define 1 Cycle as exactly 2,686,610 rotations of the Beacon Pulsar.

This results in: 1 Cycle = 2,686,610 * 1.337 ms = 3,592 seconds ≈ 59 minutes 52 seconds

This is very close to an Earth hour, but not exactly matching it. This slight difference could be an interesting plot point or gameplay mechanic, as it would cause a gradual drift between GST and Earth time over long periods.

So our GST system would look like this:

  • 1 Cycle ≈ 59 minutes 52 seconds (Earth time)
  • 1 Megacycle (1000 Cycles) ≈ 41.59 Earth days
  • 1 Gigacycle (1000 Megacycles) ≈ 113.95 Earth years

This system:

  1. Uses a realistic pulsar rotation period
  2. Closely approximates Earth time units, making it intuitive for players
  3. Introduces a small discrepancy that could be used for storytelling or gameplay mechanics
Clone this wiki locally