Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Improved Sieges  (Read 4429 times)

Ops Fox

  • Bay Watcher
    • View Profile
Improved Sieges
« on: March 21, 2015, 04:56:00 pm »

so we know the Toady One plans to implement some changes to sieges we also know thanks to the most recent dev logs that he is adding in libraries and such.

Sieges are one of my favorite things in dwarf fortress and they let me relieve my bloodlust on some ASCII people. Something I would like to see is more variable and interesting sieges based on what happened during world gen, make each world feel even more unique.

Imagine as civilizations learn using Toady's new library master/student thing and as they wage war they gained access to better siege tools to use against you.  For instance, your dwarfs can accidently kill off a human diplomat whose civilization has regular pit itself up against goblins and elves for the last two centuries. When these humans come to lay siege, they bring catapults, torches, and battering rams to tear down your fort.

Now imagine if each species had access to unique siege tools, like humans preferring to just set things on fire(like your front door, so smoke bellows in), goblins using catapults to fling dead animals at you, and elves causing trees to grow in places they shouldn't.

Playing off another thread on here that suggest the ability to declare independence from your mountain home, dwarfs unique tool could be digging and trebuchet .

Obviously some improvements would need to be made to catapults that would allow them to fire in trajectories that intersect multiple z-levels but Toady one should have this planned at some point. I would also like to see enemy catapults and trebuchets having the ability to destroy constructed walls.

So far my idea's for siege tools and tricks are as follows.

•  all species should get a batteram of some sort to knock open doors and draw bridges.
•  Going along with this all species should have some way to make temporary bridges to span moats.
•  Elves could cause trees to grow next to your walls so that they can climb in.
•  Elves could also cause special trees with a taproot to grow in random places on the map, possible spearing your farming operation near the surface and allowing elves in once the taproot dries up.
•  Humans would make extensive use of fire, just setting things on fire to try and smoke you out. Bonus points if human civs only unlock this tool if they have been waging war with elven civilizations.
•  Goblins would make use of rotting corpses to spread dieses and miasma inside your fort.
•  Maybe give Goblins the power to dig short 3 deep passages through soil layers and reserving any stone tunneling to dwarfs should they become an option to siege you.

I am kind of unsure about catapults and who should get to use them when they become effective.  Part of me says catapults should only be used by humans as they're the only other species  smart enough to have figured out bronze. But the idea of goblins using "traitors" and prisoners for live ammunition, even if it loses it wall destroying capacity, goblin corpses flying into your court yard and possible bowling dwarfs over is hilarious.
Logged
Likes Goblins for their terrifying features because I can slaughter them with gleeful abandon.

AceSV

  • Bay Watcher
  • [SUPER_VILLAIN]
    • View Profile
Re: Improved Sieges
« Reply #1 on: March 21, 2015, 10:12:12 pm »

Ancient/Medieval Siege warfare was incredibly insidious.  Alexander the Great built a bridge across the ocean to invade the island city of Tyre.  Julius Caesar created a wall and trenches around the Gallic city of Alesia to prevent them from escaping or using their cavalry to full effectiveness. There were chemical weapons such as Greek fire, which burned even when wet, and Romans filled the fields of Carthage with salt, so that it would never grow crops again.  The Mongols used catapults to throw the corpses of plague victims into besieged cities.  Combat engineers dug tunnels underneath the walls of fortresses, not to gain entrance, but to cause the walls to weaken or collapse.  This is where we get the word "undermining". 

I don't like the idea of elves having some sort of insta-grow tree since it stink of magic but, the idea of using trees in sieges is interesting.  An unnaturally fast-growing or large tree would not upset me.  Since a siege is inherently a long commitment, elven spies could plant siegewood saplings around your fortress and then come to attack next year when they have matured.  Maybe trees could have tap-roots that bore many z-levels down into your fortress.  Trees are also known to split rocks when they grow. 

Elven siegewood could also just also just be really annoying and invasive, causing holes in your ceilings and pushing against walls and withering too quickly to be useful as lumber.  In the same vein they could just spread annoying plants like kudzu that grows everywhere, damages property and kills off all other plants, or poison ivy that causes syndromes to your citizens.  The elves would only attack your fortress after it's covered in holes, vines and terrible itching. 
Logged
Quote
could God in fact send a kea to steal Excalibur and thereby usurp the throne of the Britons? 
Furry Fortress 3 The third saga unfurls.  Now with Ninja Frogs and Dogfish Pirates.

Ops Fox

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #2 on: March 21, 2015, 10:44:21 pm »

Ancient/Medieval Siege warfare was incredibly insidious.  Alexander the Great built a bridge across the ocean to invade the island city of Tyre.  Julius Caesar created a wall and trenches around the Gallic city of Alesia to prevent them from escaping or using their cavalry to full effectiveness. There were chemical weapons such as Greek fire, which burned even when wet, and Romans filled the fields of Carthage with salt, so that it would never grow crops again.  The Mongols used catapults to throw the corpses of plague victims into besieged cities.  Combat engineers dug tunnels underneath the walls of fortresses, not to gain entrance, but to cause the walls to weaken or collapse.  This is where we get the word "undermining". 

I don't like the idea of elves having some sort of insta-grow tree since it stink of magic but, the idea of using trees in sieges is interesting.  An unnaturally fast-growing or large tree would not upset me.  Since a siege is inherently a long commitment, elven spies could plant siegewood saplings around your fortress and then come to attack next year when they have matured.  Maybe trees could have tap-roots that bore many z-levels down into your fortress.  Trees are also known to split rocks when they grow. 

Elven siegewood could also just also just be really annoying and invasive, causing holes in your ceilings and pushing against walls and withering too quickly to be useful as lumber.  In the same vein they could just spread annoying plants like kudzu that grows everywhere, damages property and kills off all other plants, or poison ivy that causes syndromes to your citizens.  The elves would only attack your fortress after it's covered in holes, vines and terrible itching.

I would draw the line at the taproots splitting stone, but I like your idea of elven spies or even elves at the beginning of a siege planting these siege trees. Elven sieges come in the spring, so it should be fairly reasonable to have the tree grown to full size by summer when the elves would make one major push before complaining about the heat and leaving. Given Dwarf Fortress's poor ability to handle lots of things and its habit of making pointless clutter, Id rather avoid a poison ivy style planet. However on that same note, trees and the roots only disappear when you chop the tree down effectively plugging their own hole. What if elven siege-trees released syndrome causing gas prompting the player to cut down the tree, giving them the option to create a hole or to leave the polluting plant there.

Given how humans lean towards Greek and Mesopotamian cultures I'd say giving humans greek fire to play with would be a good choice. Goblins as I noted in the OP, would love nothing more than to fling corpses into your fort or simply scatter corpses through your fort as they invade it.

Building walls and sapping would be far beyond the capacity of the AI unfortunately, and I'd have to admit I wouldn't trust the AI to do too much digging or building. Elves planting two or three trees and goblins possibly digging a few short pits/tunnels would probably be the highest degree of terrain altering I would trust to the AI in a single siege year. Now obviously over time this is going to add up and leave your sedimentary layers a pock-marked, war-torn area but hey it would add character to your fort.

Along side my original question of who to give revamped and possibly wall destroying catapults to, is how would the AI decided where to dig or plant trees while minimizing the damage to the landscape.
Logged
Likes Goblins for their terrifying features because I can slaughter them with gleeful abandon.

AceSV

  • Bay Watcher
  • [SUPER_VILLAIN]
    • View Profile
Re: Improved Sieges
« Reply #3 on: March 22, 2015, 07:31:53 am »

The fun thing about programming AI is that you don't have to make a great AI to make a great challenge.  Randomization is often a great substitute for "thought" and sometimes actually works better.  Also Dwarf Fortress is AI vs AI not entirely Player vs AI, so the AI only has to be good enough to beat your dwarves, not the player. 

For that reason, an AI that just plants trees randomly and hope for the worst will probably do a good job.  If players can cause accidental cave-ins themselves, a haphazard elf should be able to do it just as well.  To increase chances they could aim for tunneled squares (soil on top, open space below) or next to a construction. 

Building a wall around a fortress would not be that hard to program.  If they can find "the entrance" they can use a distance formula to make a perimeter around it.  That's how the circle tool works in MSPaint.  If not the whole wall, you could have siegers build archery towers with entrances facing away from the entrance to your fortress. 

Also, this would be terrible for FPS, but you could use the pather to find out which walls would lead directly into the fortress by eliminating a particular wall from the pather check



One of the big problems with comparing Dwarf Fortress to human wars is that Dwarf Fortresses go straight down.  I rarely use constructed walls in my fortresses unless there's hemp on the map, and even then if I feared a powerful siege, I would dig deep and floor over instead.  Assuming that Toady doesn't change light to be unpermanent, and even then I would probably just abandon my hemp fields in a siege and grow plump helmets and pig tails far away from the entrance instead. 

Another albeit bird-brained strategy is to make the only entrance to the main fortress pass through the caverns so that any invaders have to deal with cave crocodiles and cave ogres before they even get to my defenses.  (but so far, that strategy has always been killed by forgotten beasts before sieges ever arrive) 
Logged
Quote
could God in fact send a kea to steal Excalibur and thereby usurp the throne of the Britons? 
Furry Fortress 3 The third saga unfurls.  Now with Ninja Frogs and Dogfish Pirates.

DeCervantes

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #4 on: May 17, 2016, 07:25:44 am »

Maybe we should just add sappers to the siege. This guys would be able to dig into your fortress or deconstruct walls and doors as well as construct bridges. Elf sappers would instead plant tree saplings that grow into bridges or "ladders" to overcome a wall. It doesn't need to be instantaneous, sieges are supposed to be a long term thing.
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Improved Sieges
« Reply #5 on: May 17, 2016, 09:15:11 am »

Maybe we should just add sappers to the siege. This guys would be able to dig into your fortress or deconstruct walls and doors as well as construct bridges. Elf sappers would instead plant tree saplings that grow into bridges or "ladders" to overcome a wall. It doesn't need to be instantaneous, sieges are supposed to be a long term thing.

Digging siegers have been suggested for a long time, heavily discussed, have been considered by Toady, and are even currently available through DF Hack.

The overarching problem with anything other than the "walls are now pathable tiles taking 5000 move" kludge that DF Hack allows is that they generate massively complex pathfinding problems.

There's a reason nothing (deliberately) destroys drawbridges anymore.  Understanding the difference between a drawbridge that lets them in versus one that keeps them out is beyond their reasoning. If a bronze colossus smashed the lowered bridge it needed to cross the chasm, or goblins smashed the raised drawbridge holding back the magma...

Likewise, Toady took away fire from any creature not fire-immune for a reason - creatures are far more likely to kill themselves with fire than their enemies, since the AI doesn't understand the dangers of a brushfire, and happily stays in the fields and forests as the fire sweeps over them.

The best idea in the thread is where AceSV suggests just pure blind randomness, which is the only thing that would actually prevent a total rewrite of pathfinding.  Randomness needs to be defended against just as much as deliberate action, randomness makes more sense than knowing the exact layout of underground tunnels, anyway, and random actions can just be repeated ad infinitum until you get a "hit". The problem is finding actions they could take that aren't stupid, self-defeating, easily countered, or just make the landscape ugly in ways that cannot be repaired. (As with digging soil.)
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Starver

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #6 on: May 17, 2016, 09:33:25 am »

Possibly 'walls around', or indeed the placement of static siege(/anti-anti-siege) platforms, could be calculated by observing the coverage of ranged weaponry (siting of the heavy (anti-)siege weapons and from the routes taken by bowdwarves, where firing opportunities exceed pathing opportunities without some/significant walking) and developing a 'hazard zone', to sit and build beyond.

Wall-top patrols could be observed by the sieging troops/pre-sieging ambush-class troops (or, cheatingly, derived from the player's pre-set patrol routes along 'overlooks') to discern areas of assumed player-control.  Or just by prioritising important constructions, so that random pillars dotted around the zite don' t count for much if there are lenghts of wall acting as barrier, but simple barriers are left less-considered than elevated walkways (including accessible wallgtops) and fortifications add even more premium.  This way, 'faux' outposts on the edge of an embark need to be practically functional to actually count as important, compared with actual defensive bunkers and sniper-towers and murder-holes and sally ports (without having to program in explicit recognition of such varied player-definable countermeasures) while an underequipped site gets an "I'm not sure what defences you've got" hesitancy as the siege arrives and surrounds the half-built gatehouse and undeconstructed wagon before taking its chance and rushing around and in to try to catch those dwarves not yet behind the single doorway that seals off the cliff-bottom entrance straight into the complex.

(Once on-site, experiencing unanticipated resistance could modify the siegers' behaviour further, retreating away from an 'abandoned' archer-tower that is now busy throwing sharp projectiles out in fury, having been manned(/dwarfed) afresh from below. The half-built sieging walls left uncompleted as they establish a new perimeter to build, or regrouping accordingly if the siegers aren't builders themselves.)

And, as pointed out, the Artificial Intelligence doesn't need to be up to spec with the Player Intelligence, and a bit of Artificial Stupidity could probably produce an unexpected challenge for the player who now has to 'predict' a more diverse posibility of enemy behaviour.  (Not just the 'suicidal charge into the inner traps, then suicidal retreat across the more numerous and fatal/capturing out-going traps now that the original path has been closed off by the player', as can be done right now.)
Logged

conflictensues

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #7 on: May 27, 2016, 02:52:23 am »

*rant*
Spoiler (click to show/hide)

Anyhow, I read another (really old) thread with some good suggestions.  Some of this is a regurgitation of those.  Also, I really like the ideas here so far!

One suggestion mentioned engineers and the like during sieges.  I'd refine it a few ways.  Special units would introduce other complications, so I'd just have all invaders capable of doing a handful of things.  Some additions to the ideas so-far mentioned include noticing traps and mechanisms connecting bridges or other devices (not 100% of the time but you get the idea).  They would then avoid them, and maybe their allies would too.  Construction removal is simple enough and doesn't pose the threat of spiderwebs on the map.  Of course, the issue with this is the same as with bridge destruction, i.e., destroying a path or loosing magma.  To those I counter simply, detect magma as with digging, and path to an approximation of the center of wealth (I elaborate below).

Path to Center Wealth
I suggest using a k-means algorithm once at the beginning of an invasion to find the centers of wealth, furniture, and victims dwarfs.  'K' can be proportional to the amount of wealth, and sieges can target the biggest clusters.  This would only need to be done once before a siege and could be multi threaded or spread out over a few frames (if DF doesn't support multi threading) so the consequences to frame rate would be minimal.  Pathing could work as follows: soldiers follow leaders to each of the three clusters.  The leaders only have to thereby do the pathing once each.  Nearby targets dwarfs could cause the invaders to stop and attack, possibly to resume later.  In the case of closed bridges, traps, constructions, and forbidden doors, if the algorithm can't find a way past, it can check for safety and route through (implements battery ram, etc).  If no route is found, the invaders can camp.

Camping is another suggestion I read in an earlier forum thread.  I like the idea of them just staying and preventing trade, surface trees, and animals.  They could also poison water sources, so our cisterns take a turn for the worse.
Logged

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Improved Sieges
« Reply #8 on: May 27, 2016, 03:33:48 am »

Why would invaders immediately know where everything important is? They should need to send spies ahead of time. Put those kidnapped dwarves to use.

They'd probably just defect, though, once they see how nice the fort is. Especially since the goblin civ ethics they're raised on don't value loyalty. They'd probably need to send stealthy goblins, or a particularly bloodthirsty dwarf with high self-control (which they value even less.)
« Last Edit: May 27, 2016, 03:45:52 am by Bumber »
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

conflictensues

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #9 on: May 27, 2016, 04:25:30 am »

Why would invaders immediately know where everything important is? They should need to send spies ahead of time. Put those kidnapped dwarves to use.

They'd probably just defect, though, once they see how nice the fort is. Especially since the goblin civ ethics they're raised on don't value loyalty. They'd probably need to send stealthy goblins, or a particularly bloodthirsty dwarf with high self-control (which they value even less.)

It's not about finding our items.  This is just an effective approximation for finding a fortress's center on x y and z levels.  IRL you could just attack a fortress and be like BLAM!  There is the wall and somewhere inside I gotta kill the princess.  In DF walls don't mean the same thing because the AI can't distinguish between the fortress and an aesthetic wall, or something there for some other reason.  My idea is essentially to give their attacks more direction, and reduce the ability to exploit things like door behavior to make gblns wander back and forth over our traps.
Logged

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Improved Sieges
« Reply #10 on: May 27, 2016, 03:29:25 pm »

I believe the current plan is that invaders dying on a tile will increase its pathing cost for them. That combined with digging invaders will reduce the ability to exploit pathing.
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

conflictensues

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #11 on: May 27, 2016, 04:44:07 pm »

That's an improvement, although digging is pretty controversial and it doesn't seem to me like it will lead to intelligent behavior.  It's just that after the first 3-4 goblin or zombie hordes died you'd have to move your traps.

The K-means solution would really work well.  For example, say you make your fortress about the circumference of a cylinder to try to abuse the system.  If wealth, population, and furniture were equally distributed, every 'k' would lie in the middle of k lines inscribing the inner circumference of the cylinder, which, if k was small enough and the cylinder large enough, would keep the invaders away.  My solution doesn't dig; however, so they'll go to the nearest place to camp/pillage from/find and kill things along their route.  Now we make sure that space has been dug out to exploit the system being cognizant of that issue.  The problem is we don't know 'k' since it changes proportionally to wealth.  We have to dig out the entire area.  Now the problem is that our cylinder is multiple z levels so the center might be out in empty space.  That means the nearest valid square could still be in the fort, depending on the depth of the cylinder and k.  We make the depth 1, but now the outer cylinder (the fortress) is so wide, that every k point ends up being in the fortress anyway.  In other words, there is no easy exploit.  The closest you can get required building your entire fortress around a flawed premise.  Furthermore, the invaders really attack your defenses instead of just running into traps or digging past them.  This does require some of the other things I suggested though, namely a chance to detect then avoid|untrap '^,' a chance to detect and avoid|remove mechanisms linked to bridges, plus the ability to destroy constructions and doors (after checking adjacent squares for magma&water safety).  Finally, this is all pretty trivial to program and doesn't reduce performance much.
Logged

DeCervantes

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #12 on: June 02, 2016, 07:41:43 am »

Of course, the issue with this is the same as with bridge destruction, i.e., destroying a path or loosing magma. 

To be honest I think it would be hilarious to see a goblin siege beaten because they destroyed a pipe full of magma trying to get into the fortress XD.

But yeah, it would be a real problem. Do you think it would be posible to give a smaller destruction priority to things that are potentially dangerous or useful for the attackers, like non-drawn bridges or pipes?
Logged

Starver

  • Bay Watcher
    • View Profile
Re: Improved Sieges
« Reply #13 on: June 02, 2016, 08:11:19 am »

A player gets "Danger! Warm (and/or?*) Wet!" warnings on diggables, so something similar might well affect the tendency of diggers/destroyers in a siege in their choice of target block, perhaps.

* Pondering: what message if both? Must look for a suitable reveal-point, next time, and then unreveal to 'discover' that in the traditional way. A corner of magma-pipe and a corner of cavern-lake, probably.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Improved Sieges
« Reply #14 on: June 02, 2016, 03:09:05 pm »

Here's an idea:

Suppose the siege comes to the fort and the player doesn't allow them an entrance into a killbox. (If deconstructing invaders, seal with natural walls. If digging invaders, seal with magma moat with cross-pattern support. If magma-safe, use void tiles. And so on...)

Why does a siege come, then?

If it is to kill the fort because of hate, too bad.

But if it is desire to secure their borders, well. Time to start securing!

And thus have siegers instead of just camping for a really long time build a settlement topside. If left to stand, the player fortress can be considered fallen for the rest of the world and settlement numbers eventually grow far past it, with sieges from other places now attacking the dark fortress/hamlet/forest retreat/lair.
Pages: [1] 2