
Screenshots

Watch trailer on Steam ↗Defender of the Orcish Marches
GameStrubios · Published by GameStrubios
1 user reviews — 100% positive (1 reviews)
Last updated 28 Sept 2026
A roguelite tower defense where every run is different. Choose a commander, collect relics, activate mutators, and defend your fortress against escalating orcish hordes with ballista, walls, and four defender classes.
£1.79
Lowest price we've ever recorded
View on SteamPrices can lag the live Steam store — always confirm before buying.
Price history
Action, Indie · 2026 · More under £5 games
About this game
The Orcish Marches - a desolate frontier where a lonely outpost stands between civilization and the horde. As commander of a beleaguered garrison, you must hold the line against waves of orcs, trolls, and goblins that grow fiercer with each passing day. Build walls, man the ballista, and rally your defenders - because when night falls on the Marches, the drums never stop.
Defender of the Orcish Marches is a real-time tower defense game where you command a fortress under siege. Aim your ballista to cut down enemies directly, hire defenders to patrol and fight autonomously, and send menials scrambling to collect the spoils of war before the next wave hits.
Command Your Garrison: Recruit from four distinct defender classes; Engineers who repair battered walls, Pikemen who hold the line in melee, Crossbowmen who rain bolts from tower tops, and Wizards who unleash devastating fire across the battlefield.
Build and Fortify: Construct walls during the night phase with time slowed to a crawl. Recruit your defenses, use your ballista, and spend hard-won gold on upgrades that could mean the difference between survival and ruin.
No Two Runs Are the Same
Choose a Commander class that reshapes your strategy. Collect Relics between nights that combo into powerful synergies. Activate Mutators for brutal challenge modifiers and massive score multipliers. Daily events keep every run unpredictable.
Grow Stronger Between Runs
Earn War Trophies and Legacy Ranks from each attempt. Invest in permanent upgrades - stronger ballista, faster menials, tougher walls - and climb from Recruit to Mythic across dozens of runs. Unlock Achievements to access new Mutators and push your score even higher.
How long can you hold the Marches?
System Requirements
Will my PC run this? →Minimum
- Requires a 64-bit processor and operating system
- OS: Windows 10 64-bit
- Processor: Intel Core i3 or AMD equivalent
- Memory: 4 GB RAM
- Graphics: DirectX 12 compatible GPU with 1 GB VRAM
- DirectX: Version 12
- Storage: 300 MB available space
Recommended
- Requires a 64-bit processor and operating system
- OS: Windows 10/11 64-bit
- Processor: Intel Core i5 or AMD equivalent
- Memory: 8 GB RAM
- Graphics: DirectX 12 compatible GPU with 2 GB VRAM
- DirectX: Version 12
- Storage: 500 MB available space
Supported Languages
Latest news
Patch NotesOfficial
1.2.0
## 1.2.0 ### ML-Agents Integration — OrcCommander AI - OrcCommander trained ONNX brains now drive enemy spawning during normal gameplay based on difficulty (Easy=random heuristic, Normal=early-training brain, Hard/Nightmare=fully trained brain) - Removed DefenderAgent, MLBallistaController, and MLWallPlanner — the ML defender that was auto-purchasing upgrades, auto-firing the ballista, and dispatching menials without player input - Cleaned up MLRewardTracker and MLTrainingManager to remove all defender agent reward signals and registration ### Gameplay Options - Added Auto Ballista setting — when enabled, the ballista automatically targets and fires at the nearest enemy in range with lead prediction - New GAMEPLAY section in Options screen with Auto Ballista toggle - Auto Ballista defaults to off; persisted via PlayerPrefs ### Input - Added default gamepad bindings for upgrade slots 5 (Left Trigger), 6 (Right Trigger), and 7 (Select) ### Localization - Added `options.gameplay` and `options.auto_ballista` keys to all 5 languages (EN, DE, ES, FR, IT) ## 1.1.2 ### Bug Fixes - Fixed game over screen format errors — `gameover.time_days` passed 2 args to a 3-placeholder format string; now passes minutes, seconds, and days separately with zero-padded seconds (`{1:D2}`) - Fixed `gameover.legacy` passing 1 arg to a 2-placeholder format string, then double-formatting the result via `AppendFormat`; now passes both legacy points and rank title directly to `L()` - Fixed `gameover.rank` duplicating ` ` tag (once in localization string, once in code wrapper) - Fixed `gameover.synergy` duplicating ` ` tag (once in localization string, once in code wrapper) ### UI - Save & Quit button now sets `sizeDelta` directly instead of `LayoutElement.preferredWidth` for correct width when parent layout group has `childControlWidth` disabled - Pause menu button width growth (`GrowAllButtonsToFitText`) now sets `sizeDelta.x` directly to accommodate localized text ## 1.1.1 ### Enemy AI - Suicide,...Read full article on Community Announcements (chris.strube)






