Skip to content

Core API request: deterministic simulation tick/time-scaling service #10

Description

@tajemniktv

Player request: add accurate time wrapping/time scaling, from slow motion up to a high multiplier, while keeping calculations correct.

This likely needs Core first because multiple mods may need shared control over simulation stepping, time scale state, and safe hooks. I did not find an existing tick/time-scaling service in Core. Searches for tick/time mostly found unrelated undo/event/runtime files.

Requested behavior:

  • Support a configurable simulation multiplier, e.g. 0.01x to 1000x if feasible.
  • Affect rest-time calculation, statistics, hacking progress, artifact progress, and other simulation calculations.
  • Do not speed up UI animation/rendering.
  • Keep earnings-per-second displays realistic instead of multiplied display values.
  • For very high multipliers, run as many accurate simulation steps as feasible and clamp/fallback safely.

MVP Core scope:

  • Add a shared simulation time service with current multiplier, pause/restore helpers, and event notifications.
  • Provide a safe API for mods to request a multiplier and for game hooks to query scaled simulation delta.
  • Add guardrails for max steps per frame, max accumulated catch-up time, and diagnostics/logging when clamped.
  • Document which game systems are covered and which remain normal real-time UI.

Implementation plan:

  1. Audit game scripts that advance rest time, statistics, hacking, artifact/research progress, and income accounting.
  2. Identify whether the game has one central tick/update path or several per-system update paths.
  3. Implement Core helper/service for simulation scaling rather than scattering multiplier logic across mods.
  4. Expose events/settings for multiplier changes.
  5. Add diagnostics showing requested multiplier, effective multiplier, step count, and clamp reason.
  6. Leave UI animation/rendering untouched.

Acceptance criteria:

  • A Core service exists for reading and setting requested simulation multiplier.
  • Consumers can get a scaled simulation delta or perform safe step loops through the service.
  • The service prevents runaway frame stalls at high multipliers.
  • Diagnostics make it clear when 1000x cannot be fully achieved.
  • No player-facing cheat UI is required in Core; that belongs in Cheats.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions