π RoadmapΒΆ
This page tracks features and improvements being considered for Boon. It is not a commitment β items here are ideas, in no particular order, and may change. Contributions and feedback are welcome on GitHub or Discord.
ID β name mappingsΒΆ
Several columns are exposed as raw numeric IDs that would be more ergonomic
with a *_names() lookup, mirroring the shape of team_names() or
patron_phase_names():
lane_names()β for thestart_lane(players) andlane(objectives) columns. Values come from theCMsgLaneColorproto enum:1=yellow,3=green,4=blue,6=purple,0=none.hitgroup_names()β for thehitgroup_idcolumn indamage. Source 2 uses a standard set (head, chest, stomach, limbs, β¦); confirming the exact set Deadlock uses needs a pass over the game data.More as new opaque enums are surfaced.
VisualizationΒΆ
Helpers to turn parsed DataFrames into visuals without writing ad-hoc plotting code each time:
Static plots for common views: net-worth-over-time, kill timelines, damage-dealt-vs-taken matrices, lane control.
Position heatmaps per hero or per team, computed from
player_ticks.Animated GIFs of player movement over a match (or a window), rendered on a stylized map.
A small style API so plots/GIFs use consistent Deadlock colours (team, hero, lane) by default.
Analysis helpersΒΆ
Composable, derived stats rather than only raw rows:
A
match_summaryhelper returning per-player KDA, GPM, XPM, last-hits, hero damage, objective damage, etc. in a single frame.Combat-encounter detection β grouping kills and damage into fights and tagging participants, location, and outcome.
Win-probability over time β an interface for plugging in a model and exposing a
win_probcolumn onworld_ticks.
Performance and ergonomicsΒΆ
Streaming / incremental parsing for partial or in-progress demos.
Bulk-match utilities for analysing many demos at once (parallel parse).
Have an idea?ΒΆ
Open a GitHub issue or chime in on the Discord.