A rewrite instead of a merge
Arcade mode, a wave mode with its own shop, is playable alone. Local co-op is scaffolding. A nine day old branch was 772 commits behind, so the co-op groundwork was redone on main, and one smoke test reversed the arcade weapon design.
Written up later from the repo's history and dated to the days it describes.
Two things came out of the second half of October for Earfh that look like one thing. Arcade mode is a wave mode you can play today, alone. Local co-op is being built underneath it and cannot be played yet. This post is about what each one is and how they got into the same codebase.
Arcade mode
Arcade is a standalone mode with its own save file. You pick a character and starting weapons and survive timed waves. The first wave lasts 20 seconds and each one after adds 5, up to 60. After ten waves the Comb Overlord arrives. Between waves there is a full-screen shop called Procurement, with four items, plus three weapons after waves 3, 6 and 9.
The first smoke was blunt. The shop "kind of sucks", it should be its own screen, and it had "defaulted me to a switchblade." The six-weapon design was dropped. Each player now carries two weapons tied to their character's specialty. Ranged characters take two guns, melee take two melee weapons, and hybrids take one of each, and the player picks the starting weapons.
The next smoke found a bug in the mode where one button fires both weapons. Holding the gun button to fire an SMG also began charging a Zweihander. The owner's proposal was that the main button does both attacks, with a melee tap that does not charge, and the melee button is the one that charges. That is the shipped rule.
Co-op, built twice
Co-op was first built on October 10 and 11. By October 19 the branch was 772 commits behind main and conflicted in the hottest files, and the plan said so. The owner's instruction was to redo it on main and merge arcade first.
So the redo cherry-picked each commit onto the October 19 main. About 25 new stat reads that main had grown in the meantime had to be converted too, 29 lines in the player script. It landed as two PRs on October 19. The first build stays on its branch as a reference.
The slices after that went in on October 20. Input goes through a source that can be a pad or a script, enemies pick the nearest living player, a shared camera follows the midpoint of both and zooms out to a floor of 0.85, and a second pad can join in the hub and spawn beside the first player in a level. If either player reaches 0 health, the run ends.
The camera problem
In the first two-player smoke, the second player could walk off screen while the camera followed the first. The owner did not want a leash or a forced split. The answer was a call window, like a video call. A second small view opens when the players are far apart, starts at 25% of the screen width, reaches 40% at a separation ratio of 1.35 and becomes a full 50/50 split at 1.8. It is built and not merged.
What a player can do today
Arcade solo is playable. Co-op is not, and the repo's own changelog says so. A second controller can join in the hub and a level spawns the second player, but the lobby, a revive, a per-player shop and a separate loadout for the second seat are all on branches.
The first two-person smoke, on October 20 and 21, produced a list. The second player was not active until a level started, and when the first player died, the whole run ended. Cash will go to whoever picks it up and not be shared, and a downed player will drop what they carried.
The current direction is arcade first, with co-op shaped around it.