WARNO Replay Analytics is a browser-based postmatch analysis suite for WARNO 1v1 matches. It has no server, no account, and no install requirement — everything runs locally against files you provide.
Limitations:
It is open source software, released under the MIT License. Suggestions and bug reports are welcome. Contact: [email protected].
WARNO saves 1v1 matches as binary .rpl3 files. This tool implements a
client-side parser for the RPL3 format that extracts the structured event log embedded
in the file — specifically the unit purchase events, their timestamps, and the player
and phase (deployment vs. reinforcement) they belong to.
Each buy event is cross-referenced against the unit database to recover unit stats, cost, domain, and role. This produces a complete acquisition log for both players with millisecond-precision timestamps that can be normalized to match time.
The warno kill feed data comes from end-game screenshots taken of WARNO's post-battle summary screen. The tool sends these screenshots to Google Gemini for optical character recognition. The returned unit names and kill counts are fuzzy-matched against the unit database to recover structured kill records with cost information.
The two streams — buy events and kill events — are merged into a unified chronological event feed and used to reconstruct both players' force composition over time. At each point in the match, the tool maintains a live roster of units purchased minus units destroyed, computes the aggregate combat power of each player's surviving force across all five power metrics, and plots those values on a timeline. The result surfaces inflection points — the specific events that caused a measurable, sustained decline in one side's combat power.
The quantitative assessment of unit combat effectiveness has deep roots in military operations research. Frederick Lanchester's 1916 differential equations — now known as Lanchester's Laws — demonstrated that a force's fighting power scales with the square of its size and its individual unit kill rate, establishing the mathematical foundation for weighted unit valuations. Trevor N. Dupuy's Quantified Judgment Model (QJM), developed at the Historical Evaluation and Research Organization in the 1970s and codified in Numbers, Predictions, and War (1979), extended this framework to multi-factor unit scores: firepower, mobility, protection, and operational factors combined into a single Combat Effectiveness Value (CEV). NATO's Weighted Unit Value (WUV) methodology applied similar scored-factor composites to European theater balance assessments throughout the 1980s, and RAND's attrition-based campaign models and the U.S. Army's JANUS simulation engine likewise incorporate scored unit lethality and survivability parameters as foundational inputs.
This tool applies the same analytical tradition to WARNO's game data. Five orthogonal power metrics are derived from unit data files, each evaluated against a standardized reference engagement — a fixed target type, reference engagement range, and normalized fire cycle. All values are expected-value estimates: not "which unit wins a duel" but "what is this unit worth per engagement-second against a standard reference target." Values are comparable within a metric across all units; they are deliberately not comparable across metrics, which are on different scales by design.
All three lethality metrics depend on a weapon's effective sustained fire rate, computed across a complete fire cycle. A weapon aims, fires its full salvo, then reloads before the next cycle begins. Multi-barrel or multi-tube systems fire all tubes in parallel within each cycle.
For direct-fire weapons the hit probability is drawn directly from game accuracy data. For indirect-fire weapons (artillery, mortars, MLRS), the game stores accuracy = 0 because on-target effects are modeled through area splash footprints rather than individual projectile impact probability. A calibrated area-effect proxy is used in their place.
The higher of static and moving accuracy is taken, capturing stabilized weapons whose static accuracy may be listed as 0 while moving accuracy reflects full engagement capability.
Survivability encodes how long a unit remains in action long enough to deliver its firepower. Dupuy's QJM applied a non-linear armor protection factor because historical engagement data consistently showed that armor above a penetration threshold conferred non-proportional protection. This is modeled through the gamma exponent on the armor factor. Stealth multiplies survivability because a unit that cannot be targeted if it cannot be detected.
blindage, helico, avion):
infanterie, vehicule): armor_factor = 1.0.
Aircraft/helicopter front armor is typically 1–5, yielding modest multipliers of 1.13–1.78× — real, but well below an MBT's factor.
HitRollECM modifier (e.g. −0.1 to −0.6 for progressively stronger suites).
Converted to a multiplicative survivability bonus:
In WARNO, anti-armor weapons are categorized into two terminal ballistics models. Kinetic-energy (KE) penetrators are range-dependent; HEAT warheads and ATGMs use jet penetration independent of range. The damage applied to the targeted unit is mitigated by armor according to these penetration formulas;
This is the primary anti-armor work metric. AP and HEAT weapons contribute at full credit via direct penetration damage. Indirect HE weapons contribute at reduced credit through a blast-and-shock conversion path. The reference engagement distance is 2000 m; weapons with greater reach receive a proportional bonus up to a cap of 2.0×.
This is the work metric for damage against infantry and unarmored vehicles. Any weapon with a high-explosive or small-arms damage family contributes. The reference engagement range is 1000 m. Suppression weights are slightly higher here than in Lhard: Dupuy's historical attrition studies consistently show that suppression accounts for a large fraction of tactical outcome against dismounted infantry.
This is the work metric for damage against helicopters and fixed-wing aircraft. Any weapon with a non-zero anti-helicopter or anti-aircraft engagement range contributes, regardless of damage family — capturing short-range SAMs, SHORAD autocannons, MANPADs, and air-to-air gun systems uniformly. The reference engagement range is 3000 m. Suppression is weighted near zero: routing or disrupting an air crew produces negligible modeled tactical outcome within the engagement timeframe compared to the physical kill probability.
Fixed-wing aircraft exhibit two structural limitations not captured by raw DPS figures and addressed by explicit post-formula corrections. Helicopters benefit from the ECM survivability multiplier (described under S) but do not receive the lethality discount below; their controlled engagement patterns (nap-of-earth, hover behind cover, selective exposure) give them far higher and more consistent battlefield presence.
Fixed-wing aircraft are highly lethal per engagement-second, but spend a significant portion of a match away from the battlefield. Two mechanics limit ground-attack throughput: suppression-triggered evac (aircraft automatically retreat when they accumulate sufficient suppression, which AA fires impose very quickly), and limited payload (gunpods and unguided bombs allow only 1–2 passes before the aircraft must return for a multi-minute refuel cycle).
Air-to-air fighters operate under different constraints — they can pursue enemy aircraft anywhere across the map and are not similarly ammo-constrained — so a lighter malus is applied to air lethality than to ground-attack lethality.
Separate multipliers are applied after trait adjustments:
Infantry rarely fight in the open. Their default deployment posture is entrenched in buildings or forest. In WARNO, cover in these terrain types applies two significant bonuses not captured by the base formula:
stealth field but not fully modelled for an entrenched squad.Together these approximately double effective survivability beyond what the raw HP × stealth formula produces for an equivalent unit in the open. Entrenchment is, however, a direct trade for mobility: squads in cover are slow to reposition, cannot easily choose their engagements, and cede initiative to more mobile opponents. This is modelled as a ×0.5 discount on Initiative, reflecting the reduced ability to act rather than react in the OODA cycle.
_sniper unit receives
SNIPER_S_MULT on top of INFANTRY_S_MULT, correctly reflecting extreme
stationary concealment.Initiative operationalizes John Boyd's OODA (Observe-Orient-Decide-Act) loop theory as applied to ground combat: the unit that detects first, can engage from greater range, and can reposition faster will consistently compel the enemy to react rather than act. This is a force-multiplier concept independent of raw firepower. Fixed-wing aircraft return I = 0 because their tactical initiative domain is entirely separate from the ground-centric combat modeled here.
can_shoot_moving = true; 1.0× otherwise. Stabilized units deliver accurate first-round fire while still moving._para (paratrooper) trait
that are spawned during the deployment phase contribute 3× their base Initiative score to
the aggregate I metric. Paratroopers can deploy into a forward zone beyond the standard
deployment boundary, establishing observation posts and ambush positions before the battle
begins. This positional advantage maps directly to Boyd's OODA framework: the side that
places eyes and weapons forward before first contact will observe earlier, orient faster,
and compel the opponent to react rather than act. The boost applies only to deployment-phase
instances and diminishes naturally as those forward-deployed units take casualties._para trait receive a reduced deployment multiplier of 1.5× rather than
3.0×. RECO units already deploy closer to the front line during the deployment phase
by default, so the marginal positional advantage gained from the paratrooper forward
deployment zone is smaller. The boost remains meaningful — they still reach positions
beyond the standard RECO deployment boundary — but the delta is less pronounced than
for non-RECO paratroopers deploying forward from deeper starting positions.Units accumulate combat experience across four levels. Two distinct veterancy
tables apply depending on unit type: standard units and Special Forces
(_sf trait). Green (level 0) does not exist for SF units in-game;
the baseline row is included for reference only.
Veterancy improves weapon handling (aiming and reload time) and accuracy. Survivability (S) and Initiative (I) are unchanged.
| Stat | Green (0) | Trained (1) | Veteran (2) | Elite (3) |
|---|---|---|---|---|
| Accuracy | baseline | +5% | +10% | +15% |
| Aiming time | baseline | −4% | −8% | −12% |
| Reload time | baseline | −10% | −15% | −20% |
| Stress resistance | baseline | +14% | +22% | +32% |
| Stress recovery | 0.6 / sec | 1.9 / sec | 2.3 / sec | 2.7 / sec |
Aiming time and reload time both reduce the fire cycle, increasing
fire_rate. Accuracy scales hit_prob directly. The two
compound multiplicatively — lethality is proportional to
fire_rate × hit_prob:
The fire_rate multiplier assumes aiming ≈ 25% and reload ≈ 60% of cycle time. Weapons with longer relative reload times (artillery) see a larger gain; fast autocannons with near-zero reload see a smaller one.
Stress resistance and recovery create an additional hidden uptime multiplier. Elite stress recovery (2.7/sec vs 0.6/sec for Green, a 4.5× improvement) keeps a unit near full effectiveness under sustained fire while a Green-tier equivalent is largely pinned. This compounds further with the fire-rate and accuracy gains.
SF veterancy exposes rate of fire and precision directly rather than working
through the weapon cycle components. Critically, Veteran and Elite levels also
confer a movement speed bonus, which boosts Initiative through the
mobile factor and provides a modest survivability gain through
improved maneuverability.
| Stat | Green (0) | Trained (1) | Veteran (2) | Elite (3) |
|---|---|---|---|---|
| Precision | n/a | +8% | +12% | +16% |
| Rate of fire | n/a | +10% | +20% | +30% |
| Stress resistance | n/a | +20% | +30% | +40% |
| Stress recovery | n/a | 2.3 / sec | 2.9 / sec | 3.3 / sec |
| Movement speed | n/a | — | +20% | +30% |
The SF lethality gains are substantially larger than for standard units (+19/34/51% vs +13/24/35%). Movement speed at Veteran and Elite further lifts the Initiative score — capturing SF's ability to close distance, break contact, and control engagement range — while the maneuver survivability proxy acknowledges that a faster-moving unit is harder to track and engage.
WARNO Replay Analytics is released under the MIT License. You are free to use, modify, and redistribute the code for any purpose with attribution.
Combat power formulas are original work, applying established military operations research methodology to WARNO's game data. The methodology is not endorsed by or affiliated with Eugen Systems.
WARNO is a trademark of Eugen Systems. This tool is an independent community project and is not affiliated with, endorsed by, or connected to Eugen Systems in any way.