Thursday, June 1, 2017

Real PvP: The Battle of Purr

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.

 
The final hours of battle at Pure [vCrow], legendary city Purr.


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].



DateTimeSqPlayerCityTroopsTroop Type







28 May






06:36NRupeCallixtus3000knights

14:36NRupeJeepers1000knights

14:59SWRyklawAntigoglin ca3000knights

15:59SWRyklawAskew ca3000knights

16:19NRupeJuryman1000knights

17:20SWTorshavnUdinshavn5000charioteers

17:36SWRyklawRecycle ica3000knights

19:54NRupeJust Inn6000knights

23:21SWRyklawWaif ic3000knights
29 May






00:20SWRyklawArresting ca3000knights

00:55NRyklawAwry c3000knights

00:57SWRyklawWail ic3000knights

01:08SWRyklawWicked ci3000knights

01:18SWRyklawWorn c3000knights

01:41NRyklawAffluence ic3000knights

02:08SWRyklawWretched ic3000knights

02:24NRyklawRecompense c3000knights

02:36SWRyklawWastrel ci3000knights

02:47SWRyklawWarmonger icv3000knights

03:59SWRyklawRepatriate ic3000knights

04:23SWRyklawRelax ica3000knights

04:39NRyklawRewind c3000knights

04:43NRyklawRely c3000knights

05:22NRyklawRepay c3000knights

05:36SWRyklawRestructure ic3000knights

08:58SWRyklawAmiss c3000knights

09:20NRyklawAskew ca3000knights

12:51SWRyklawRefer3000knights

13:59NRyklawRestore ic3000knights

16:31NRyklawAbstention icb3000knights



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:04NRyklawArresting ca30000knights
02:22NRyklawAskew ca25000knights
02:37NRyklawAwry c30000knights
02:49NHotmanBram5000stalwarts
06:09NRyklawRelax ica24000knights
12:35NRyklawWasted c25000knights
13:02NRyklawWanton ic25000knights
13:05NRyklawWastrel ci25000knights
15:09NPureEpru7400death 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: 

  • 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:09NPurePurr120death packs
07:16NPurePurr400clan guardsmen
07:21NPureFlawless120death packs
07:26NPurePurr120death packs
07:43NPurePurr120death packs
07:51NPurePurr120death packs
07:59NPurePurr120death packs
08:01NPureFlawless180death packs
08:13NPurePurr120death packs
08:21NPurePurr62death packs
08:32NPureFlawless180death packs
08:46NPurePurr120death packs
09:29NPureEpru180death packs
10:34NPurePurr240death packs
10:59NPureShush Now180death packs
11:02NPure-X-180death packs
11:07NPureFlawless120death packs
13:18NPurePurr300death packs
13:26NPure-X-180death packs
13:30NPureFlawless240death packs
14:34NPurePurr300death packs
14:52NPureFlawless240death packs
17:09NPureFlawless240death packs
17:16NPurePurr300death packs
19:47NPureFlawless240death packs
20:23NPureFlawless180death packs
28 May
00:26NRupeBling180knights
02:28NRupeBloody Game60knights
03:11NRupeBlights180knights
03:13NRupeblush180knights
03:24NRupeBlue180knights
03:42NRupeBlag120knights
04:10NRupeCalafwich120knights
04:22NPureWatching You OO240death packs
04:49NRupeBlack Bush240death packs
06:36NRupeCallixtus3000knights
07:33NRupeCallixtus60knights
08:18NAnnMarie.Cal180knights
11:16NRupeCalaboose60knights
11:57NRupeCalm120knights
12:38NRupeCalaboose60knights
14:36NRupeJeepers1000knights
14:59SWRyklawAntigoglin ca3000knights
15:59SWRyklawAskew ca3000knights
16:19NRupeJuryman1000knights
16:39NPureValentine180death packs
17:04NRupeJeeze180knights
17:20SWTorshavnUdinshavn5000charioteers
17:36SWRyklawRecycle ica3000knights
19:54NRupeJust Inn6000knights
20:17NRyklawAfflicted ica60charioteers
21:15NPurePurr300death packs
21:34NPureFlawless240death packs
22:57NRupeJust Ginge60knights
23:21SWRyklawWaif ic3000knights
23:33NRupeJammie Dodger60knights
29 May
00:20SWRyklawArresting ca3000knights
00:48SWRyklawAntigoglin ca60charioteers
00:52NRyklawAntigoglin ca60charioteers
00:55NRyklawAwry c3000knights
00:57SWRyklawWail ic3000knights
01:08SWRyklawWicked ci3000knights
01:18SWRyklawWorn c3000knights
01:31SWRyklawArresting ca60charioteers
01:35NRyklawArresting ca60charioteers
01:41NRyklawAffluence ic3000knights
01:49SWRyklawAskew ca60charioteers
01:52NRyklawAskew ca60charioteers
02:08SWRyklawWretched ic3000knights
02:24NRyklawRecompense c3000knights
02:36SWRyklawWastrel ci3000knights
02:47SWRyklawWarmonger icv3000knights
02:51NRyklawAffluence ic60charioteers
03:20SWRyklawRecompense c60charioteers
03:22NRyklawRecompense c60charioteers
03:35NRyklawRecompense c60charioteers
03:59SWRyklawRepatriate ic3000knights
04:23SWRyklawRelax ica3000knights
04:39NRyklawRewind c3000knights
04:43NRyklawRely c3000knights
05:03NRupeCalling180knights
05:10SWRyklawRepatriate ic60charioteers
05:13NRyklawRepatriate ic60charioteers
05:22NRyklawRepay c3000knights
05:36SWRyklawRestructure ic3000knights
06:32NPurePurr300death packs
07:48NRupeJuno120knights
08:33NPureEpru60death packs
08:58SWRyklawAmiss c3000knights
09:00SWRyklawWaif ic60charioteers
09:05NRyklawWaif ic60charioteers
09:17SWRyklawAskew ca60charioteers
09:20NRyklawAskew ca3000knights
09:30SWRyklawAwry c60charioteers
09:35NRyklawAwry c60charioteers
09:37NRyklawAwry c60charioteers
10:22NPureShush Now180death packs
10:36SWRyklawWail ic60charioteers
10:39NRyklawWail ic60charioteers
10:47SWRyklawWicked ci60charioteers
10:51NRyklawWicked ci60charioteers
11:46SWRyklawWretched ic60charioteers
11:50NRyklawWretched ic60charioteers
11:51NRyklawWasted c60charioteers
12:26SWRyklawWarmonger icv60charioteers
12:30NRyklawWarmonger icv60charioteers
12:45NRyklawRepatriate ic60charioteers
12:51SWRyklawRefer3000knights
13:24SWRyklawRewind c60charioteers
13:25SWRyklawRely c60charioteers
13:27NRyklawRewind c60charioteers
13:28NRyklawRely c60charioteers
13:56SWRyklawRestore ic60charioteers
13:59NRyklawRestore ic3000knights
14:05SWRyklawRepay c60charioteers
14:08NRyklawRepay c60charioteers
14:23SWRyklawRestructure ic60charioteers
14:26NRyklawRestructure ic60charioteers
16:31NRyklawAbstention icb3000knights
16:38SWMooakaWeomi Talaofo300death packs
17:09NFRANKNSTINEHAMMER TIME540stalwarts
18:50NPurePures Proudest60death packs
19:05SWAnnMarie.Cal60knights
21:26NPurePurr1000clan guardsmen
22:14NPureFlawless240death packs
22:40NPurePurr300death packs
22:55NAZADICAN124 Mahmur BL!60swiftsteeds
23:34NAZADICAN111 Kobane BL!60marshals
23:34NAZADICAN111 Kobane BL!60marshals
23:34NAZADICAN111 Kobane BL!60marshals
30 May
00:07NPureWatching You OO180death packs
00:18NAZADICAN124 Mahmur BL!60marshals
01:45NAZADICAN112 Sengal BL!60marshals
01:45NAZADICAN112 Sengal BL!60marshals
01:52SWUkkonenG. Igelkottsvagen60charioteers
02:04NRyklawArresting ca30000knights
02:22NRyklawAskew ca25000knights
02:37NRyklawAwry c30000knights
02:49NHotmanBram5000stalwarts
02:57NAZADICAN112 Sengal BL!60marshals
03:08Nilias97wake up and live60charioteers
03:12NAZADICAN111 Kobane BL!60marshals
04:55NAZADICAN124 Mahmur BL!60marshals
04:55NAZADICAN124 Mahmur BL!60marshals
05:08NPurePurr1000clan guardsmen
06:09NRyklawRelax ica24000knights
06:17NUkkonenH. Sornas60charioteers
06:24SWUkkonenH. Sornas60charioteers
07:06NAZADICAN112 Sengal BL!60marshals
07:57NPureFlawless60death packs
11:16NBonemashKraal60marshals
11:48NBonemashKraal60swiftsteeds
12:35NRyklawWasted c25000knights
13:02NRyklawWanton ic25000knights
13:05NRyklawWastrel ci25000knights
13:10NPureFlawless60death packs
14:24NBonemashNavan60swiftsteeds
14:29NBonemashNavan60swiftsteeds
14:33NBonemashNavan60swiftsteeds
14:33NBonemashNavan60swiftsteeds
14:33SWUkkonenF. Brando303knights
14:47Nilias97wake up and live60knights
14:57SWMooakaWithlacoochee300death packs
15:09NPureEpru7400death packs
15:37SWUkkonenE. Hagnas60knights
16:07SWMooakaWithlacoochee300death packs
16:18SWUkkonenA. Grasviken60knights
18:36SWPureFlawless60death packs
18:38SWPureFlawless180death packs