Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glimmer Rework 1: "Swingy Glimmer" #1480

Merged
merged 20 commits into from
Jan 17, 2025

Conversation

VMSolidus
Copy link
Member

@VMSolidus VMSolidus commented Jan 10, 2025

Description

This PR brings back a feature that was present in the Psionic Refactor Version 1, which ultimately never made it into the game. I have substantially reworked the underlying math behind Glimmer, such that it operates on a Logistic Curve described by this equation:

GlimmerEquation

Instead of 0 being the "Normal" amount of glimmer, the "Normal" amount is the "seemingly arbitrary" number 502.941. This number is measured first by taking the derivative of the Glimmer Equation, and then solving for the derivative equal to 1. Above this constant, glimmer grows exponentially more difficult to increase. Below this constant, glimmer grows exponentially easier to increase. It will thus constantly attempt to trend towards the "Glimmer Equilibrium".

Probers, Drainers, Anomalies, and Glimmer Mites all cause glimmer to "Fluctuate", either up or down the graph. This gives a glimmer that swings constantly to both high and low values, with more violent swings being caused by having more probers/anomalies etc. A great deal of math functions have been implemented that allow for various uses for glimmer measurements, and psionic powers can even have their effects modified by said measurements.

The most significant part of this rework is what's facing Epistemics. It's essentially no longer possible for Probers to cause a round-ending chain of events known as "Glimmerloose". You can ALWAYS recover from high glimmer, no matter how high it gets. As a counterpart to this, Probers have had the math behind their research point generation reworked. Research output follows an inverse log base 4 curve. Which can be found here: https://www.desmos.com/calculator/q183tseun8

I wouldn't drop this massive update on people without a way for them to understand what's going on. So this PR also features the return(and expansion of), the much-demanded Psionics Guidebook.

Media

Psionics Guidebook
image

image

Changelog

🆑 VMSolidus, Gollee

  • add: Glimmer has been substantially reworked. Please read the new Psionics Guidebook for more information. In short: "500 is the new normal glimmer. Stop panicking if Sophia says the glimmer is 500. Call code white if it gets to 750 and stays above that level."
  • add: The much-requested Psionics Guidebook has returned, now with all new up-to-date information.
  • remove: Removed "GLIMMERLOOSE". It's no longer possible for glimmer to start a chain of events that ends the round if epistemics isn't destroyed. You can ALWAYS recover from high glimmer now.
  • tweak: All glimmer events have had their thresholds tweaked to reflect the fact that 500 is the new "Normal" amount of glimmer.

@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: UI Changes any XAML files Changes: Documentation Changes any xml or md files Changes: YML Changes any yml files labels Jan 10, 2025
@VMSolidus VMSolidus changed the title Glimmer Rework 1 Glimmer Rework 1: "Swingy Glimmer" Jan 10, 2025
Content.Server/Psionics/Glimmer/GlimmerCommands.cs Outdated Show resolved Hide resolved
Resources/ServerInfo/Guidebook/Psionics/Psionics.xml Outdated Show resolved Hide resolved
Resources/ServerInfo/Guidebook/Psionics/Psionics.xml Outdated Show resolved Hide resolved
Resources/ServerInfo/Guidebook/Psionics/Glimmer.xml Outdated Show resolved Hide resolved
Resources/ServerInfo/Guidebook/Psionics/Glimmer.xml Outdated Show resolved Hide resolved
@VMSolidus
Copy link
Member Author

This is ready for review again.

@RustedBR
Copy link

One question, does the prober still locks itself active above 500 glimmer?

If the answer is yes, how can the glimmer at 500 be the new normal if the prober is locked?(Ignore this question if the above is no)

@VMSolidus
Copy link
Member Author

One question, does the prober still locks itself active above 500 glimmer?

If the answer is yes, how can the glimmer at 500 be the new normal if the prober is locked?(Ignore this question if the above is no)

The Prober locking math is based on enum thresholds set in the GlimmerSystem, which I really don't like this at all, and should probably at some point refactor probers and glimmer structures in general so that they retain their own logic for it. But anyway the probers lock themselves at 750 instead of 500 with this PR, and unlock themselves when it dips below that point again. But since it "Fluctuates between two targets" based on the amount of glimmer sources, even if it goes to 750, that doesn't guarantee the probers will stay locked.

@VMSolidus VMSolidus merged commit 638071c into Simple-Station:master Jan 17, 2025
9 of 10 checks passed
SimpleStation14 added a commit that referenced this pull request Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Documentation Changes any xml or md files Changes: Localization Changes any ftl files Changes: UI Changes any XAML files Changes: YML Changes any yml files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants