Greetings, cannon fodders.
Today we will take a look at a real battle from a real war: the Battle of Purr on 29 May 2017.
Today we will take a look at a real battle from a real war: the Battle of Purr on 29 May 2017.
The Target: Purr
The besieged city was Pure [vCrow] Purr, formerly located at [665|-2748]. The target had a building north and a small hill southwest, and was 22 squares from the allied city of Bulani [fCrow] Flagstaff. Starting population was 25663, a legendary city. Very large cities are ideal to target because their population is top-heavy, contained in levels 19 and 20 of their high-population buildings.
Purr was also favorable to target because buildings are correctly cleared by infantry, and the city is relatively far from vCrow's primary infantry reserves.
The Plan
Most proper military operations begin with a plan.
Spoiler Alert: our planning cycle involves spreadsheets, not holograms. |
I authored the siege plan in consultation with Tinkinator and Bulani.
The plan was a trap siege. Trap sieges are essential when the targeted player has a high likelihood of running from the siege via exodus. Bulani would pin Purr from the building with a very fast 100 sentinel army. The precision reinforcement landing would be supplied by Eldrathin (200000 sentinels), Bulani (20000 sentinels), and myself: Ten Kulch [300] (400000 kobolds). For those unfamiliar with siege warfare, 100 troops might seem terribly small for a blockade, but all battle losses are proportional among all occupiers. As long as the camp holds, the blockade will also hold, preventing exodus for the trapped town.
Once the city was pinned, a primary siege supplied by OleBlackLord [fCrow] would engage the city by swapping positions with the pin blockade. The siege launch took about 45 hours to move into position. Our main blockade force was predominantly heavy spears supplied by Salgerluk [300], Plathus [300], Tinkinator [300] and myself, Ten Kulch [300]. The main blockade arrived a day behind the trap and a day ahead of the siege. Bulani [fCrow] supplied the actual blockade troops from her town of Lurker's Lair.
The Battle Begins
A trap siege begins with the element of surprise. Failing that, a trap siege ends immediately with an enemy exodus and a lot of grumpy warriors.
Why hello there, muggles! |
The precision landing was accomplished perfectly. Bulani launched the trap blockade at 27 May 03:06:31 server time, and it touched down 44 minutes later at approximately 27 May 03:50:00 server time. My kobolds were there to meet them, with Eldrathin's main bow force joining shortly after landing. The plan was in motion. All main blockade troop launches had also been dispatched according to the launch schedule. So far, so good.
Or not.
Moon or Battle Station?
Have you ever gotten a bad feeling about something? That's how the Battle of Purr began.
That's not a building, it's a small forest. |
Our first indication of a problem was three hours later, at 27 May 07:09. Pure [vCrow] launched a tiny elite cavalry force from Purr, probing our defense. To my very unpleasant surprise, the batte report revealed a dangerous map bug.
See the Weeping Willow [Building] at [665|-2747]? The map says building. The battle report showed a terrain of small forest. Analysis of subsequent battle reports confirmed that the battle terrain type was indeed a small forest.
So why is that bad? Forests are moderate siege terrain, right? Well, yes. Assuming you've constructed the correct army for that kind of terrain. My plan treated it like a building, vulnerable to infantry attacks. We were relying on a 2:1 mix of kobolds and sentinels to repel enemy stalwarts and other infantry. The difference is the cavalry modifiers. A building is a cavalry death trap, giving defending spears a 2.5x modifier vs. attacking cavalry. Small forest is much, much closer to neutral with a modifier of 1.2x.
This Is Not the Terrain You Are Looking For
Well, the building looked promising at the time. When you've launched an 8-day operation, there's really no turning back. And so we began a fierce battle in a weeping willow "building" that was actually a small forest.
That Obi-Wan guy was a liar. |
The first little cavalry elite armies began rolling in immediately. No big deal, that's standard for any siege these days. In total, there would be about 125 small cavalry attacks ranging in size from 60-240 troops.
Within a day of the pin blockade, the larger cavalry strikes began. vCrow seems to favor 3000 knights per attack. The first such army arrived at 28 May 06:36 from Rupe [vCrow] Callixtus. The main blockade arrived soon after, and a steady barrage of 3000 knight armies began banging into both camps every hour. This was reminiscent of Kodabear's tournament, where Adelio [vCrow] employed that tactic on the Jurgor square, coincidentally also a small forest. Adelio abandoned after the start of the present war, apparently passing the 3k Knight torch to Ryklaw [vCrow].
Date | Time | Sq | Player | City | Troops | Troop Type |
28 May | ||||||
06:36 | N | Rupe | Callixtus | 3000 | knights | |
14:36 | N | Rupe | Jeepers | 1000 | knights | |
14:59 | SW | Ryklaw | Antigoglin ca | 3000 | knights | |
15:59 | SW | Ryklaw | Askew ca | 3000 | knights | |
16:19 | N | Rupe | Juryman | 1000 | knights | |
17:20 | SW | Torshavn | Udinshavn | 5000 | charioteers | |
17:36 | SW | Ryklaw | Recycle ica | 3000 | knights | |
19:54 | N | Rupe | Just Inn | 6000 | knights | |
23:21 | SW | Ryklaw | Waif ic | 3000 | knights | |
29 May | ||||||
00:20 | SW | Ryklaw | Arresting ca | 3000 | knights | |
00:55 | N | Ryklaw | Awry c | 3000 | knights | |
00:57 | SW | Ryklaw | Wail ic | 3000 | knights | |
01:08 | SW | Ryklaw | Wicked ci | 3000 | knights | |
01:18 | SW | Ryklaw | Worn c | 3000 | knights | |
01:41 | N | Ryklaw | Affluence ic | 3000 | knights | |
02:08 | SW | Ryklaw | Wretched ic | 3000 | knights | |
02:24 | N | Ryklaw | Recompense c | 3000 | knights | |
02:36 | SW | Ryklaw | Wastrel ci | 3000 | knights | |
02:47 | SW | Ryklaw | Warmonger icv | 3000 | knights | |
03:59 | SW | Ryklaw | Repatriate ic | 3000 | knights | |
04:23 | SW | Ryklaw | Relax ica | 3000 | knights | |
04:39 | N | Ryklaw | Rewind c | 3000 | knights | |
04:43 | N | Ryklaw | Rely c | 3000 | knights | |
05:22 | N | Ryklaw | Repay c | 3000 | knights | |
05:36 | SW | Ryklaw | Restructure ic | 3000 | knights | |
08:58 | SW | Ryklaw | Amiss c | 3000 | knights | |
09:20 | N | Ryklaw | Askew ca | 3000 | knights | |
12:51 | SW | Ryklaw | Refer | 3000 | knights | |
13:59 | N | Ryklaw | Restore ic | 3000 | knights | |
16:31 | N | Ryklaw | Abstention icb | 3000 | knights |
In total, about 90000 knights would arrive this way from 28 May 06:26 until 29 May 16:31. As you can see in the chart below, the attacks were spread between both blockades and came almost exclusively from Ryklaw, a vCrow Rook.
Realizing that the original siege plan was not designed for a small forest, I requested that Snakha [300] bring in a 200000 kobold reserve. I separately launched another 75000 reserve kobolds from Ten Kulch [300]. The siege from OleBlackLord was locked into place at 29 May 05:22 server time. Bombardment commenced at 29 May 17:22 server time, shortly after the stream of 3000 knight armies had stopped.
Rocks Fly, Pigs Die
The siege hammered away for 23 volleys, lowering the population of Purr from 25663 to 9915 at the lowest. The city never came near the raze population of 6400. As the siege wore on, Pure [vCrow] began prestige building using the city wreckage, beginning a delay tactic to keep the city above raze population. It was clear that major armies were in motion.
30 May | ||||||
02:04 | N | Ryklaw | Arresting ca | 30000 | knights | |
02:22 | N | Ryklaw | Askew ca | 25000 | knights | |
02:37 | N | Ryklaw | Awry c | 30000 | knights | |
02:49 | N | Hotman | Bram | 5000 | stalwarts | |
06:09 | N | Ryklaw | Relax ica | 24000 | knights | |
12:35 | N | Ryklaw | Wasted c | 25000 | knights | |
13:02 | N | Ryklaw | Wanton ic | 25000 | knights | |
13:05 | N | Ryklaw | Wastrel ci | 25000 | knights | |
15:09 | N | Pure | Epru | 7400 | death packs |
On 30 May 02:04, the first cavalry strike from Ryklaw [vCrow] arrived with 30000 knights. By 30 May 13:05, a total of seven such attacks would arrive, for a sum of 184000 knights. At this point the siege was mostly disabled. The final blow came from Pure [vCrow] Epru at 30 May 15:09, breaking the siege and destroying all surviving armies on the north square.
At this point, we withdrew the southwest blockade forces with moderate losses. The city of Purr remained in position for another day, and then moved via exodus to a Farshards location that is completely surrounded by plains.
The final casualty totals from the north "building" small forest were:
At this point, we withdrew the southwest blockade forces with moderate losses. The city of Purr remained in position for another day, and then moved via exodus to a Farshards location that is completely surrounded by plains.
The final casualty totals from the north "building" small forest were:
- Ten Kulch [300]: 485000 kobolds
- Snakha [300]: 220000 kobolds
- Eldrathin [fCrow]: 200000 sentinels
- Bulani [fCrow]: 20000 sentinels
The vast majority of the vCrow casualties were borne by Ryklaw [vCrow], who lost 275000 knights in the overall engagement, mostly on the north square. Ryklaw's kill ratio was approximately 3.5:1, fairly standard for knights fighting kobolds in a small forest. The 125 elite cavalry attacks distort this number by a minor amount.
The Maffs of War
So there you have it, cannon fodders. The Battle of Purr is a typical example of a major siege fight between two powerful opponents. It is a little unusual in that the building-forest map bug played such a central role, transforming a ground troop battle into a kobolds-vs-cavalry grinder in the trees. There was plenty of glory for both sides of the clash, and I know my team is eager for the next fight against a juicy enemy.
Until next time, my fellow cannon fodders:
Misbehave. Kill lots of stuff.
<^^^^^^^^||==O Skint Jagblade
Appendix: The Full Battle Logs
27 May | ||||||
07:09 | N | Pure | Purr | 120 | death packs | |
07:16 | N | Pure | Purr | 400 | clan guardsmen | |
07:21 | N | Pure | Flawless | 120 | death packs | |
07:26 | N | Pure | Purr | 120 | death packs | |
07:43 | N | Pure | Purr | 120 | death packs | |
07:51 | N | Pure | Purr | 120 | death packs | |
07:59 | N | Pure | Purr | 120 | death packs | |
08:01 | N | Pure | Flawless | 180 | death packs | |
08:13 | N | Pure | Purr | 120 | death packs | |
08:21 | N | Pure | Purr | 62 | death packs | |
08:32 | N | Pure | Flawless | 180 | death packs | |
08:46 | N | Pure | Purr | 120 | death packs | |
09:29 | N | Pure | Epru | 180 | death packs | |
10:34 | N | Pure | Purr | 240 | death packs | |
10:59 | N | Pure | Shush Now | 180 | death packs | |
11:02 | N | Pure | -X- | 180 | death packs | |
11:07 | N | Pure | Flawless | 120 | death packs | |
13:18 | N | Pure | Purr | 300 | death packs | |
13:26 | N | Pure | -X- | 180 | death packs | |
13:30 | N | Pure | Flawless | 240 | death packs | |
14:34 | N | Pure | Purr | 300 | death packs | |
14:52 | N | Pure | Flawless | 240 | death packs | |
17:09 | N | Pure | Flawless | 240 | death packs | |
17:16 | N | Pure | Purr | 300 | death packs | |
19:47 | N | Pure | Flawless | 240 | death packs | |
20:23 | N | Pure | Flawless | 180 | death packs | |
28 May | ||||||
00:26 | N | Rupe | Bling | 180 | knights | |
02:28 | N | Rupe | Bloody Game | 60 | knights | |
03:11 | N | Rupe | Blights | 180 | knights | |
03:13 | N | Rupe | blush | 180 | knights | |
03:24 | N | Rupe | Blue | 180 | knights | |
03:42 | N | Rupe | Blag | 120 | knights | |
04:10 | N | Rupe | Calafwich | 120 | knights | |
04:22 | N | Pure | Watching You OO | 240 | death packs | |
04:49 | N | Rupe | Black Bush | 240 | death packs | |
06:36 | N | Rupe | Callixtus | 3000 | knights | |
07:33 | N | Rupe | Callixtus | 60 | knights | |
08:18 | N | AnnMarie | .Cal | 180 | knights | |
11:16 | N | Rupe | Calaboose | 60 | knights | |
11:57 | N | Rupe | Calm | 120 | knights | |
12:38 | N | Rupe | Calaboose | 60 | knights | |
14:36 | N | Rupe | Jeepers | 1000 | knights | |
14:59 | SW | Ryklaw | Antigoglin ca | 3000 | knights | |
15:59 | SW | Ryklaw | Askew ca | 3000 | knights | |
16:19 | N | Rupe | Juryman | 1000 | knights | |
16:39 | N | Pure | Valentine | 180 | death packs | |
17:04 | N | Rupe | Jeeze | 180 | knights | |
17:20 | SW | Torshavn | Udinshavn | 5000 | charioteers | |
17:36 | SW | Ryklaw | Recycle ica | 3000 | knights | |
19:54 | N | Rupe | Just Inn | 6000 | knights | |
20:17 | N | Ryklaw | Afflicted ica | 60 | charioteers | |
21:15 | N | Pure | Purr | 300 | death packs | |
21:34 | N | Pure | Flawless | 240 | death packs | |
22:57 | N | Rupe | Just Ginge | 60 | knights | |
23:21 | SW | Ryklaw | Waif ic | 3000 | knights | |
23:33 | N | Rupe | Jammie Dodger | 60 | knights | |
29 May | ||||||
00:20 | SW | Ryklaw | Arresting ca | 3000 | knights | |
00:48 | SW | Ryklaw | Antigoglin ca | 60 | charioteers | |
00:52 | N | Ryklaw | Antigoglin ca | 60 | charioteers | |
00:55 | N | Ryklaw | Awry c | 3000 | knights | |
00:57 | SW | Ryklaw | Wail ic | 3000 | knights | |
01:08 | SW | Ryklaw | Wicked ci | 3000 | knights | |
01:18 | SW | Ryklaw | Worn c | 3000 | knights | |
01:31 | SW | Ryklaw | Arresting ca | 60 | charioteers | |
01:35 | N | Ryklaw | Arresting ca | 60 | charioteers | |
01:41 | N | Ryklaw | Affluence ic | 3000 | knights | |
01:49 | SW | Ryklaw | Askew ca | 60 | charioteers | |
01:52 | N | Ryklaw | Askew ca | 60 | charioteers | |
02:08 | SW | Ryklaw | Wretched ic | 3000 | knights | |
02:24 | N | Ryklaw | Recompense c | 3000 | knights | |
02:36 | SW | Ryklaw | Wastrel ci | 3000 | knights | |
02:47 | SW | Ryklaw | Warmonger icv | 3000 | knights | |
02:51 | N | Ryklaw | Affluence ic | 60 | charioteers | |
03:20 | SW | Ryklaw | Recompense c | 60 | charioteers | |
03:22 | N | Ryklaw | Recompense c | 60 | charioteers | |
03:35 | N | Ryklaw | Recompense c | 60 | charioteers | |
03:59 | SW | Ryklaw | Repatriate ic | 3000 | knights | |
04:23 | SW | Ryklaw | Relax ica | 3000 | knights | |
04:39 | N | Ryklaw | Rewind c | 3000 | knights | |
04:43 | N | Ryklaw | Rely c | 3000 | knights | |
05:03 | N | Rupe | Calling | 180 | knights | |
05:10 | SW | Ryklaw | Repatriate ic | 60 | charioteers | |
05:13 | N | Ryklaw | Repatriate ic | 60 | charioteers | |
05:22 | N | Ryklaw | Repay c | 3000 | knights | |
05:36 | SW | Ryklaw | Restructure ic | 3000 | knights | |
06:32 | N | Pure | Purr | 300 | death packs | |
07:48 | N | Rupe | Juno | 120 | knights | |
08:33 | N | Pure | Epru | 60 | death packs | |
08:58 | SW | Ryklaw | Amiss c | 3000 | knights | |
09:00 | SW | Ryklaw | Waif ic | 60 | charioteers | |
09:05 | N | Ryklaw | Waif ic | 60 | charioteers | |
09:17 | SW | Ryklaw | Askew ca | 60 | charioteers | |
09:20 | N | Ryklaw | Askew ca | 3000 | knights | |
09:30 | SW | Ryklaw | Awry c | 60 | charioteers | |
09:35 | N | Ryklaw | Awry c | 60 | charioteers | |
09:37 | N | Ryklaw | Awry c | 60 | charioteers | |
10:22 | N | Pure | Shush Now | 180 | death packs | |
10:36 | SW | Ryklaw | Wail ic | 60 | charioteers | |
10:39 | N | Ryklaw | Wail ic | 60 | charioteers | |
10:47 | SW | Ryklaw | Wicked ci | 60 | charioteers | |
10:51 | N | Ryklaw | Wicked ci | 60 | charioteers | |
11:46 | SW | Ryklaw | Wretched ic | 60 | charioteers | |
11:50 | N | Ryklaw | Wretched ic | 60 | charioteers | |
11:51 | N | Ryklaw | Wasted c | 60 | charioteers | |
12:26 | SW | Ryklaw | Warmonger icv | 60 | charioteers | |
12:30 | N | Ryklaw | Warmonger icv | 60 | charioteers | |
12:45 | N | Ryklaw | Repatriate ic | 60 | charioteers | |
12:51 | SW | Ryklaw | Refer | 3000 | knights | |
13:24 | SW | Ryklaw | Rewind c | 60 | charioteers | |
13:25 | SW | Ryklaw | Rely c | 60 | charioteers | |
13:27 | N | Ryklaw | Rewind c | 60 | charioteers | |
13:28 | N | Ryklaw | Rely c | 60 | charioteers | |
13:56 | SW | Ryklaw | Restore ic | 60 | charioteers | |
13:59 | N | Ryklaw | Restore ic | 3000 | knights | |
14:05 | SW | Ryklaw | Repay c | 60 | charioteers | |
14:08 | N | Ryklaw | Repay c | 60 | charioteers | |
14:23 | SW | Ryklaw | Restructure ic | 60 | charioteers | |
14:26 | N | Ryklaw | Restructure ic | 60 | charioteers | |
16:31 | N | Ryklaw | Abstention icb | 3000 | knights | |
16:38 | SW | Mooaka | Weomi Talaofo | 300 | death packs | |
17:09 | N | FRANKNSTINE | HAMMER TIME | 540 | stalwarts | |
18:50 | N | Pure | Pures Proudest | 60 | death packs | |
19:05 | SW | AnnMarie | .Cal | 60 | knights | |
21:26 | N | Pure | Purr | 1000 | clan guardsmen | |
22:14 | N | Pure | Flawless | 240 | death packs | |
22:40 | N | Pure | Purr | 300 | death packs | |
22:55 | N | AZADICAN | 124 Mahmur BL! | 60 | swiftsteeds | |
23:34 | N | AZADICAN | 111 Kobane BL! | 60 | marshals | |
23:34 | N | AZADICAN | 111 Kobane BL! | 60 | marshals | |
23:34 | N | AZADICAN | 111 Kobane BL! | 60 | marshals | |
30 May | ||||||
00:07 | N | Pure | Watching You OO | 180 | death packs | |
00:18 | N | AZADICAN | 124 Mahmur BL! | 60 | marshals | |
01:45 | N | AZADICAN | 112 Sengal BL! | 60 | marshals | |
01:45 | N | AZADICAN | 112 Sengal BL! | 60 | marshals | |
01:52 | SW | Ukkonen | G. Igelkottsvagen | 60 | charioteers | |
02:04 | N | Ryklaw | Arresting ca | 30000 | knights | |
02:22 | N | Ryklaw | Askew ca | 25000 | knights | |
02:37 | N | Ryklaw | Awry c | 30000 | knights | |
02:49 | N | Hotman | Bram | 5000 | stalwarts | |
02:57 | N | AZADICAN | 112 Sengal BL! | 60 | marshals | |
03:08 | N | ilias97 | wake up and live | 60 | charioteers | |
03:12 | N | AZADICAN | 111 Kobane BL! | 60 | marshals | |
04:55 | N | AZADICAN | 124 Mahmur BL! | 60 | marshals | |
04:55 | N | AZADICAN | 124 Mahmur BL! | 60 | marshals | |
05:08 | N | Pure | Purr | 1000 | clan guardsmen | |
06:09 | N | Ryklaw | Relax ica | 24000 | knights | |
06:17 | N | Ukkonen | H. Sornas | 60 | charioteers | |
06:24 | SW | Ukkonen | H. Sornas | 60 | charioteers | |
07:06 | N | AZADICAN | 112 Sengal BL! | 60 | marshals | |
07:57 | N | Pure | Flawless | 60 | death packs | |
11:16 | N | Bonemash | Kraal | 60 | marshals | |
11:48 | N | Bonemash | Kraal | 60 | swiftsteeds | |
12:35 | N | Ryklaw | Wasted c | 25000 | knights | |
13:02 | N | Ryklaw | Wanton ic | 25000 | knights | |
13:05 | N | Ryklaw | Wastrel ci | 25000 | knights | |
13:10 | N | Pure | Flawless | 60 | death packs | |
14:24 | N | Bonemash | Navan | 60 | swiftsteeds | |
14:29 | N | Bonemash | Navan | 60 | swiftsteeds | |
14:33 | N | Bonemash | Navan | 60 | swiftsteeds | |
14:33 | N | Bonemash | Navan | 60 | swiftsteeds | |
14:33 | SW | Ukkonen | F. Brando | 303 | knights | |
14:47 | N | ilias97 | wake up and live | 60 | knights | |
14:57 | SW | Mooaka | Withlacoochee | 300 | death packs | |
15:09 | N | Pure | Epru | 7400 | death packs | |
15:37 | SW | Ukkonen | E. Hagnas | 60 | knights | |
16:07 | SW | Mooaka | Withlacoochee | 300 | death packs | |
16:18 | SW | Ukkonen | A. Grasviken | 60 | knights | |
18:36 | SW | Pure | Flawless | 60 | death packs | |
18:38 | SW | Pure | Flawless | 180 | death packs |