Status
SteamPeaks
ChartsSalesUpcomingPatchesNewsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
NewsSteam's own announcements and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesNewsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
HexArmyNewsBREAKTHROUGH
In-game event

BREAKTHROUGH

HexArmy · published 29 Apr 2026, 16:15 UTC

All newsPlayers around this dateRead on Steam

Roll-up patch · v0.30.0 → v0.31.15 · 29 April 2026

Tech Tree goes live. Every system audited.

Commanders,

Sixteen patches since "Rules of Engagement" landed. The headline is the Tech Tree — a per-game research system with 60 nodes across 10 doctrines, the first fully-resolved branch (Air Superiority) live in combat, and a clean resource HUD that reads at a glance. Underneath that, every major system got walked end-to-end and audited: ultimates, faction modifiers, AI movement accounting, sprite art. Twenty-plus real bugs found and fixed. One promised-but-missing capability (engineer city repair) finally exists. The HUD that used to scatter resources across three corners of the screen now reads in one row.

This is the build to play if you've been on default since 0.20.22.

⬢ TECH TREE — A NEW PROGRESSION SYSTEM

The foundation (v0.30.0)

Per-game research, reset on every match start, no meta-grind. Ten branches: Infantry, Armor, Artillery, Air Superiority, Naval Power, Reconnaissance, Engineering, Anti-Air, Logistics, Command. Each branch has 5 stat-bump tiers and a unique L6 capstone with a bespoke mechanic — Stealth Bombers, Saturation Strike, Satellite Deployment, Corpsman Up!, Sky Curtain, Spearhead Doctrine, Forward Operating Logistics, Phantom Striker, Supreme Command, and more.

Research Points accrue automatically: 5/turn baseline, +2 per owned city, +5 per captured HQ, +1 per FAB. Aggression scales your tech faster than turtling. Each faction has one favored branch at −25% cost, so doctrine identity carries through into research.

Linear unlock per branch. L2 needs L1, L6 needs L5. No leapfrogging to capstones — you have to commit to a build.

Save format additive. 0.20.x saves load cleanly with all branches at level 0.

The interface (v0.31.0)

The 10×6 overlay opens from a button at the bottom of the Intel Panel. Each node shows its description, cost, and state — purchased (green check), available (clickable), locked (greyed with prereq text). Capstones get a gold border. Faction-favored branches show a −25% FAVORED tag and strike through the base cost.

Air Superiority — fully active in combat

The first branch with all 6 levels resolved end-to-end:

  • L1 Jet Engine Tuning — Jet and Helicopter deploy with +1 MOV

  • L2 Targeting Pod — Jet deploys with +5 ACC

  • L3 Chaff Dispenser — air units gain +10 DGE against AA reaction fire

  • L4 ECM Suite — each air unit ignores the first AA reaction shot per turn

  • L5 Air-to-Ground — Jet attacks against ground (foot/tracked/vehicle) get +2 ATK

  • L6 Stealth Bombers (capstone) — AA fired at Bombers takes −75% accuracy and −75% damage

The other nine branches accept purchases now (so RP isn't wasted) but their bespoke effects ship branch-by-branch in 0.31.x patches. Generic stat-bump effects (unitStat deltas) auto-apply across all branches via a unified createUnit hook — about 70% of all tech effects already work on whatever you research.

⬢ HUD CONSOLIDATION — RESOURCES IN ONE PLACE

Bottom panel is now the canonical place to read your economy: TURN · GOLD · RESEARCH · UNITS · CITIES · FACTION. Both gold and RP show their +N/turn income on the second line. The duplicate counters at the top of the screen (next to the faction flag) and on the Tech Tree button are gone. One row, one read.

If your eye was bouncing between three corners of the screen — that's done.

⬢ AI THAT PLAYS BY THE BOOK (PART II)

AI now pays movement cost before attacking (v0.31.5)

v0.20.17 added the "spend all your MP, no attack" rule centrally to doAttack and attackCity. The intent was for the gate to apply equally to player and AI. But the AI relocates units by teleporting them (assigning row/col directly) instead of going through the player's moveUnit() pipeline — and moveUnit() is what deducts MP. The AI's teleport left movRemaining at full, so the gate that checks movRemaining ≤ 0 was permanently disabled for the AI.

The AI could move-then-attack with full MP intact, regardless of distance traveled.

Fixed at every AI relocation site: a new _aiDeductMoveCost helper looks up the path cost from the Dijkstra map produced by getMovableHexes and clamps movRemaining accordingly. Plus the move-then-attack candidate evaluator now simulates the post-move MP, so the AI doesn't plan attacks from positions that would zero out its MP and then waste its turn moving to a useless hex.

Practical result: late-turn AI charges across the map are now properly capped. The AI has to commit, just like you do.

Tank Blitz now actually grants two attacks (v0.31.10)

Blitz has been silently broken since v0.20.17. Activation correctly reset movement and flagged the tank for a second attack — but the v0.20.17 movement gate (mentioned above) didn't carve out an exception for Blitz, and the first Blitz attack zeroes movRemaining. So the second attack always rejected with "has no movement left and cannot attack."

Three weeks of patches, Blitz's documented "two attacks per turn" was actually one attack with extra cooldown. Now it works as written. The exemption is tight: only fires when blitzActive && blitzAttackCount >= 1, so it can't be exploited for a third attack.

AoE ultimate kills count toward promotion (v0.31.8)

Four ultimates that deal direct damage outside the normal doAttack pipeline — Strafe Run (helicopter), Broadside (destroyer), Barrage (artillery), Nuclear Strike — were not crediting their kills toward the firing unit's promotion. Most painful with helicopters: their ultimate is a kill machine but it was contributing zero toward Veteran/Specialist/Commander.

Centralized the bookkeeping in a new _aoeRecordHit helper. All four sites route through it. Promotion progression and end-of-game session stats now both register correctly. Slain enemy commanders also correctly free their commander slot via _promoHandleDeath.

⬢ THE GREAT AUDITS

Ultimate audit (v0.31.11)

Walked all 19 unit ultimates end-to-end — activation handler, in-combat consumption, end-of-turn cleanup. Most worked correctly. Four real bugs:

  • Engineer Fortify — was reading gameState.hoveredHex instead of the engineer's own hex. AI engineers couldn't fortify at all; player engineers fortified random tiles unless the cursor was over the target. Fixed.

  • Submarine Dive (single-player) — endTurnCleanup had two separate ultActive-- blocks, so subs surfaced after 1 turn instead of the documented 2. Fixed.

  • Submarine Dive (multiplayer) — the MP turn cleanup never cleared submerged/diveBonus. MP subs stayed underwater forever. Fixed.

  • AA Ship Missile Salvo — "guaranteed hit vs air" was documented but never implemented. Now AA Ships actually get a 100% hit chance against air targets when Salvo is active. Antiair Salvo deliberately does NOT — its description doesn't claim that.

Also corrected the Recon Deep Scan ult description (was "Vision range 8 for 1 turn", which sounded omnidirectional; actually a directional 8-tile corridor scan).

Faction modifier audit (v0.31.12)

Walked every modifier defined in the FACTIONS table and confirmed each one is actually read by runtime code. Five real bugs and one dead-code typo:

  • Canada jetHeliCostIncrease: 20 — never read by getEffectiveCost. The cost calc handled airCostIncrease (India) and jetCostIncrease (Iran) but missed Canada's third synonym. Canada's +20% jet/heli cost penalty was zero. Fixed.

  • China produceReduction: 0.10 — defined and shown in the bonus list, but never applied to city production cost. Fixed in both player and AI production paths.

  • UK engineerFortifyCD: -1 — defined and displayed, but the ultimate handler used the raw def.ultCD. Engineer Fortify CD was running at 5 instead of 4. Fixed.

  • China reconDeepScanCD: 2 — same root cause. Recon Deep Scan CD was running at 3 instead of 2. Fixed.

  • Iran jetAccPenalty: -10 — was being double-applied to jets and incorrectly leaking onto helicopters. Now applies once to jets only. Same fix for jetHpPenalty.

  • Removed a dead-code typo on jetHeliDgePenalty (no faction defined that key — the real one is heliJetDgePenalty).

The other ~50 modifiers were confirmed in active code paths. No balance changes in this patch — every fix brings in-game behavior into line with what was already documented.

⬢ ENGINEER CITY REPAIR — A PROMISED CAPABILITY, FINALLY DELIVERED

The Field Manual has described engineer city repair for releases ("Engineers also repair owned cities — 20% per action; Canada: 40%"). The engineerRepairRate modifier was set on USA / Canada / Russia. The bonus list bragged about it. But no action button or handler existed.

Player action (v0.31.13)

When a player engineer is on or adjacent to an owned damaged structure (City / HQ / FOB / FAB / Port), a 🔧 Repair action card appears on the action bar. Single target → repair fires immediately. Multiple targets → enter a targeting mode (gold highlight on valid hexes), click the structure to repair.

Repair amount: −20% damage per action by default, −40% Canada (highest in the game), −15% Russia. Consumes the engineer's MOV and ATK for the turn but does not sacrifice the engineer the way camp construction does — the engineer can keep repairing on subsequent turns.

PvP: action broadcasts to the opponent so both clients see the same damage value.

AI auto-repair (v0.31.14)

Medium and Hard AI engineers now auto-repair the most-damaged adjacent owned structure when they can't build a camp from their current tile. Easy-difficulty AI does NOT repair, matching the existing easy-no-engineer-camps policy. The AI threshold is max(15%, repair%) damage — small scratches get ignored when there's offensive value to be had elsewhere.

Sapper Drill research wired in (v0.31.14)

The Engineering Tech Tree's L1 node ("Sapper Drill: Engineer city repair rate +10%") finally has an in-game effect. Stacks on the faction base rate via a new generic getResearchEffectDelta(kind) helper. Canada + Sapper Drill = 50% repair per action; USA + Sapper = 30%; Russia + Sapper = 25%; default + Sapper = 30%. The same generic helper is reusable for fieldMedicHealDelta, structureSelfRepairDelta, and other delta-payload research effects as their resolver hooks land.

⬢ POLISH AND PERSISTENCE

A long list, kept short.

  • UK HQ income shown as a bonus (v0.31.1). Was being labelled a penalty against a phantom 200g baseline. The actual default is 150g/turn — UK's 175g is a +25g bonus, not a penalty. Fixed in both faction-card displays and the Field Manual.

  • Sleeping units marked on the Unit Roster (v0.31.2). Sleeping units (which set moved=true; attacked=true to short-circuit their turn) were rendering identical to genuinely-exhausted units. Now: 💤SLEEP label, distinct moon icon, blue-tinted row, "MOV ZZZ / ATK SLEEP" instead of "MOV 0/N / ATK NO".

  • Player rank in Personnel Dossiers (v0.31.3). Every dossier row now shows the player's military rank as a tier-tinted badge (green enlisted, silver warrant, gold officer) to the left of the callsign. Hover for full grade and title.

  • Terrain Density actually affects larger maps (v0.31.4). The setting was working for small maps but quietly broke down on anything bigger than ~25×25 because the placement loop had a hard-coded 200-attempt cap. On a 100×100 at High density, the requested forest count is ~1,400 tiles — the loop bailed at 200 every time. All three densities produced near-identical large maps. Cap is now scaled with the requested count.

  • Promotion progression bar on unit information (v0.31.6). Both unit info panels (Intel Panel and bottom command card) now show how close each player unit is to its next promotion — bronze for Veteran, silver for Specialist, gold for Commander. Bar fills toward whichever path (kills, combats, captures, longevity) is closest to its threshold.

  • Fog of war no longer leaks from re-entered draft (v0.31.9). Repro: start match → draft → click Back → start again. Before this patch, the entire map and minimap stayed revealed for the rest of the game. The visibility rebuilder revealed every tile during the draft preview but didn't track those writes in its dirty-tile list. Fixed.

  • Sprite transparency audit (v0.31.15). Audited all 598 unit and HQ sprite PNGs. Five problems fixed: four AA Ship non-directional sprites (RGB without alpha — solid gray/white backdrops in selected-unit panels and production menu) and the New Zealand HQ sprite (RGBA mode but every pixel opaque — rendered as a 300×300 solid white block with the building inside). All 598 sprites verified RGBA-transparent.

⬢ THE BOTTOM LINE

The Tech Tree is the new system to learn. The HUD is the cleaner place to read your economy. The AI fights to the same standard as you do — including the Tank Blitz it never had until now. Twenty-plus bugs across the audit pass are gone. Every faction's modifiers actually fire. Every ultimate's kill counts. Every sprite has a transparent background.

Research a branch. Patch a city. Watch the AI commit.


v0.31.15 — Roger, Command.

More from HexArmy

Other announcements

All news
Game update9 May 2026V0.41.13 - AI 'Ready Up' Issue in MP matchesv.0.41.13 - Addressed an issue where a multiplayer game with AI opponents could not be started. The game no longer waits for AI opponents to 'Ready Up.'Game update3 May 2026SQUARED AWAY - 0.41.9 Tactical PatchSQUARED AWAY — v0.41.5 → v0.41.9 Five back-to-back live patches. Lobby tight. Quick Match clean. Host controls locked. Sync honest. Five focused builds shipping the lobby polish and MP-flow corrections that piled up after the v0.41.0 → v0.41.4 dashboard arc. Nothing here is a feature — it's the stuff filed under "this was bothering me." Now it's all fixed. 🗺️ Terrain density actually reaches t…Community3 May 2026JOIN DISCORDCOMMAND NET ONLINE — JOIN THE FRONT The HexArmy Discord is open. Forward intel, PvP comms, and a direct line to HQ. → JOIN THE COMMAND NET discord.gg/T4q4bhdY If you've installed HexArmy and you're playing solo against the AI, you're operating without a comms net. Discord is where the rest of the campaign happens — between matches, between patches, and between you and the people building the ga…