Repository navigation
v3.46.0 (Studio v3.9.5)
·
190 commits
to master
since this release
Universal RNG Seeding
Even though most things in Celeste are deterministic, some are not!
To solve this issue, CelesteTAS now changes all randomness to have deterministic behavior.
Additionally, all (technically) undeterministic randomness can now be seeded with the SeedRandom,[Target],[Seed] command.
You can refer to the wiki page to read about all supported cases and the ethics surrounding them.
Please report any remaining cases of undeterministic behaviour or randomness!
That also includes deterministic behavior which breaks with seemingly unrelated changes.
Features
- Consistent behaviour of randomness when running a TAS
- Universal RNG seeding system with
SeedRandomcommand
Bug Fixes
- Maintain correct
Calc.Randomstate while fast-forwarding - Dust sprites not being created while fast-forwarding
Commit Details
Features
- 72936e7 RNG: Use shared random instance for only Update calls (@psyGamer)
- 771e7c8 RNG: Allow seeding regular 'Update()'-only random instance (@psyGamer)
- 327e1e9 RNG: Allow adjusting Engine.FrameCounter with RNG seeding system (@psyGamer)
- debbfb3 RNG: Allow accessing replaced variables with target-queries (@psyGamer)
- a6f3b75 RNG: Add alias for 'ah_set_seed' console command (@psyGamer)
- 8ac7a94 RNG: Allow seeding randomness used for debris creation (@psyGamer)
- 0ab13c0 RNG: Allow seeding vanilla prologue bridge (@psyGamer)
- b0da352 RNG: Allow seeding Pandora's Box Tile Glitchers (@psyGamer)
- f95c183 RNG: Allow seeding summit launch shaking (@psyGamer)
- 0a054cf RNG: Allow seeding VortexHelper Color Switches (@psyGamer)
- f6e2cd3 RNG: Allow seeding Spekio's Toolbox Bullet Generators (@psyGamer)
- f212bf8 RNG: Allow seeding AuraHelper Lanterns and Generators (@psyGamer)
Bug Fixes
- 717f198 RNG: Maintain correct Calc.Random state while fast-forwarding (@psyGamer)
- d80a398 Dust sprites not being created while fast-forwarding (@psyGamer)
- a0a3a05 RNG: Add savestate support for individual random instances (@psyGamer)