MILESTONE UPDATE

Milestone 34: Hero-Led Teams Phase C – Active Field Team and Reserve Roster

Milestone 34 is the third phase of Project Nightfall’s Hero-Led Teams work, and it’s the one where the previous phase’s configuration finally has something to configure. Milestone 33 introduced match modes: authored data describing which Active Field Team sizes a match allows, which size is currently selected, and how many heroes a field team is meant to contain. Nothing read that data. Milestone 34 adds the thing that does — the roster itself.

Two halves, one of them stored

The design says a player’s owned units partition into an Active Field Team — the hero plus the troops that deploy alongside them — and a Town / Reserve Force holding everyone else. The implementation stores only field-team membership. Town / Reserve is derived as the complement: everything the player owns, minus the field team.

That’s a deliberate choice rather than a shortcut. Storing both halves means two records that have to be kept in agreement every time a unit is produced or dies, with nothing enforcing the agreement. Deriving one from the other makes “a newly produced unit starts in reserve” true by default, with nobody having to file it — which is also the behaviour the game wants.

The dead-hero window

The awkward detail is that a hero who dies has no unit on the map at all. The hero instance survives with its unit reference cleared, and reviving spawns a fresh unit relinked to that same instance. So troops are tracked by unit id, but the hero is tracked by hero instance and resolved by whether that instance exists — never by whether it is currently alive.

Track the hero the way troops are tracked and the roster quietly forgets its hero for the whole death window. A player could then top the team up to full, and it would overflow the instant the hero came back. In the same spirit, assignment reserves a slot for the hero rather than merely permitting one, so “five troops in a size-five team, hero can never join” is unreachable rather than just recoverable.

Where this leaves the game

Rosters survive save and load, and are restored after match modes — assignment refuses everything when no mode is active, so restoring in the other order would have silently emptied every team on every load. A saved team that no longer fits a narrowed mode keeps its hero and its earliest-assigned troops; last assigned is first dropped. And the contract Milestone 33 left open is now closed: changing the selected size is refused if an existing field team would violate it, rather than silently deciding which of your units get cut.

Worth stating plainly: nothing consumes membership yet. No system restricts which units may fight, move, or deploy. This milestone is authoritative bookkeeping — the record that planned later phases, beginning with player-facing team composition, are meant to make load-bearing.

Discover more from Project Nightfall

Subscribe now to keep reading and get access to the full archive.

Continue reading