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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions