You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Balance lab: charts of curves and distributions, and sliders that redraw them #15
Make the balance lab show what the numbers do, and let a designer move them: charts of the curves and distributions, and sliders on the content's coefficients that redraw the charts as they move.
Scope
Charts over what the interface already reports:
the experience a level takes, over every level up to the cap (the progression curve);
the share of each rarity;
items per defeat and affixes per item (distributions);
each affix's value spread (min, median, p90, p99, max) within its range.
Sliders for the coefficients a designer tunes: drop chance and count, rarity weights, affix weights and value ranges, and the progression curve's parameters and cap. Moving one updates the content, re-validates it, re-runs the measurement and redraws.
Live enough to tune by feel: the redraw follows the slider without freezing the page; a smaller number of trials is used while dragging, the full number when it stops.
The content spec stays the one source: the sliders edit it, the text view shows the same spec, and an invalid value shows its issue instead of a chart.
Rules
Rule
Owner
every number on a chart comes from the interface (measureLoot, measureProgression); the page computes no mechanics
the page
one axis per chart; values of different scales are not drawn on one axis
each chart
a slider writes the content spec; the spec is what is measured
the page
Done when
The sample content shows all the charts, and moving any slider redraws them.
The charts follow the accessibility basics: a legend or direct labels where there are several series, a hover readout, a table view, light and dark.
just check is green, including type checks of the page and tests of the chart data functions.
Out of scope
Running the measurement in a Web Worker (unless the measured redraw time needs it), comparing two contents side by side, saving tuned contents, the game itself.
Activity