8000 Balance lab: charts of curves and distributions, and sliders that redraw them · Issue #15 · ynishi/enzan · GitHub
[go: up one dir, main page]

Skip to content

Balance lab: charts of curves and distributions, and sliders that redraw them #15

Open

Description

@ynishi

Goal

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementbehaviour that does not exist yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0