Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 18 19 [20] 21 22 ... 29

Author Topic: DFHack: quickfort | buildingplan | blueprint | blueprints/library  (Read 92389 times)

lethosor

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #285 on: July 12, 2021, 10:42:23 am »

I believe it will only work on DFHack 0.47.05-r2 and newer.

I'm on r03.
That isn't a DFHack version that exists. Running "help" in the DFHack console will tell you what DFHack version you have. It should also be displayed in the top left corner of the title screen.
« Last Edit: July 12, 2021, 10:44:25 am by lethosor »
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #286 on: July 12, 2021, 12:30:27 pm »

I believe it will only work on DFHack 0.47.05-r2 and newer.

I'm on r03.
That isn't a DFHack version that exists. Running "help" in the DFHack console will tell you what DFHack version you have. It should also be displayed in the top left corner of the title screen.

Derp! Forgot the DFHack and LNP versions aren't necessarily the same. Yeah, I'm on r1.

Oh, and with the lye-containing condition mostly fixed (because not being able to export/import it properly is a pain), the 2 make lye jobs can be replaced with something along the lines of:
Code: [Select]
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 546,
"is_active" : true,
"is_validated" : true,
"item_conditions" :
[
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "ASH",
"value" : 2
},
{
"condition" : "AtLeast",
"flags" :
[
"empty"
],
"item_type" : "BUCKET",
"value" : 2
},
{
"condition" : "AtMost",
"item_type" : "LIQUID_MISC",
"material" : "LYE",
"value" : 5
}
],
"job" : "MakeLye"
},

And a lye stockpile of 1 tile with 1 barrel can be used instead of tying up buckets.

If you move the meltables piles to the other side then you can get more magma forges in.

I think I'd make an apartments4 for the doors (actually I'm going to). I am finding that part gets really slow, especially as I tend to run out of stone (I like to make them uniform). The cancellation spam can drive one nuts, and the soldiers throw less shit on the floor if they have cabinets & coffers (because I tend to be ramping up military at the same time apts are being built).

Adding conditions for breastplate and greaves that there are some mail shirts and possibly other armor stocked. That will speed up getting squads full coverage before we worry about the extra protection. Still testing for right feel.
« Last Edit: July 13, 2021, 10:08:45 pm by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.

myk

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #287 on: July 14, 2021, 12:02:54 am »

Nice. I like where you're taking this. I uploaded a new version of automation.json with tweaked balance. Now all orders produce no more than 1 item (except for charcoal, which is needed by too many other orders to just keep at 1). Orders now also depend on 5 source items being available before they become active. With these changes, I have seen very little cancellation spam.

I'm digging into the issue with dfhack orders not being able to export the "lye-containing" trait. It seems to be stored in an unnamed variable ("anon_3"). When the "lye-containing" trait is there, anon_3 = 24. This is either a bitfield of 16+8 or an enum. I'll have to experiment more to find out which it is.
Logged

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #288 on: July 14, 2021, 10:22:00 am »

Nice. I like where you're taking this. I uploaded a new version of automation.json with tweaked balance. Now all orders produce no more than 1 item (except for charcoal, which is needed by too many other orders to just keep at 1). Orders now also depend on 5 source items being available before they become active. With these changes, I have seen very little cancellation spam.

I'm digging into the issue with dfhack orders not being able to export the "lye-containing" trait. It seems to be stored in an unnamed variable ("anon_3"). When the "lye-containing" trait is there, anon_3 = 24. This is either a bitfield of 16+8 or an enum. I'll have to experiment more to find out which it is.

Couple caveats. Smelter jobs (at least for weapons grade material) and probably the charcoal as well, should be set to 4 so each smelter/furnace gets a job every cycle.

Plants can stack to 12 (and I use combine-plants regularly) and being as a stack is our working unit for most jobs, minimum source items should be set to at least 13.

Oh, and "is_validated" should probably be set to false. Purists would consider it cheating having them already validated, I'm more concerned the manager is missing out on all that job experience.
« Last Edit: July 14, 2021, 10:35:18 am by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.

myk

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #289 on: July 19, 2021, 03:13:49 pm »

Let me catch up a bit here. I got the "lye-containing" (and "honey-containing") issue solved in the orders plugin, but that won't be usable by players until the next dfhack release. Until then, there can be a manual step to go reinstate the missing traits for the soap and mead orders. This should finally address the cancellation spam with missing lye, though!

I changed the dig priority of the stairwell to 6 and adjusted the services level to compensate. Could you test to see if that works for you? (links at bottom of this post)

added collect sand job you wrote and, since we can, I added a "Make raw green glass" job to use the sand for something.

made suggested modifications to autobutcher settings, though I left dogs and cats at the default (war dogs are ignored by autobutcher, btw).

I didn't get the pastebin link before it expired -- could you post that again and I'll update automation.json.

Added note about 'tweak do-job-now' to the embark suggestions page. Good find!

I used to run with seedwatch enabled, but I ran into issues (IIRC) with running out of pig tail seeds. I'll have to test again to be sure. Back then I don't think I understood that the seeds you care about get unilaterally deleted from the game when you buy massive numbers of new seeds from merchants. It could have been due to that.

As lethosor said, dig-now and build-now require the latest release of DFHack (0.47.05-r2). the build-now script also requires the dig-now plugin since it reuses some logic in the C++ portion of dig-now. Be sure to pull both PRs and recompile DFHack to get all the goodies.

You're totally right about moving the meltables piles to make more room for magma forges. Gah! Need to retake and re-annotate the screenshot now :$

I'm not entirely on board with separating the apartment doors out into another blueprint. I get that it slows things down and uses a lot of stone, but at the point that you're building apartments, construction speed isn't very important, and I really want to be careful about adding extra required steps. If the doors are an issue, players can delete the manager order for the doors and re-add it when it's convenient.

Personally, I also find I run out of stone with just the digging done by the dreamfort blueprints. I usually dig a quarry level beneath the bottom apartments level to compensate.

updated charcoal jobs to 20 per order and weapons-grade smelting jobs to 4. I also made sure that plant input numbers are at least 15.

I also set is_validated to false : ) I guess my original thought was that automation.json would be imported at the beginning of the game, when the number of dwarves is fewer than 20 and all orders are pre-validated, but I have since updated the guidance to not import until at least the first migration wave. Otherwise, as you saw, your few starting dwarves are overwhelmed with automation tasks and don't get the core fort built quickly enough.

I didn't overwrite the "official" files yet, but the beta versions with the updates are available here:
- dreamfort.csv
- onMapLoad.init
- automation.json
« Last Edit: July 21, 2021, 12:51:42 am by myk »
Logged

myk

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #290 on: July 20, 2021, 08:38:29 pm »

Did some more testing. Lye in barrels is difficult to set a stop condition for, so I think I'll keep them in buckets. With some manual tweaking of the JSON, I got the lye creation job to be limited by "lye-containing items", which isn't normally possible on the ui, but it's the only condition that is actually effective.

Importing the new automation.json, however, is dependent on the changes I made to the orders plugin, which has yet to be merged.

I ran some longer tests on dreamfort and attempted some things I'd never tried before, like a 150+ z-level magma pump stack powered by a massive windmill farm on the roof. I built a "prisoner processing facility" to recycle cages and give my military dwarves some practical experience. I found our refuse quantum dump just can't keep up with the resulting carnage, so I built an atom smasher.

Finally, I built a defensible area to buffer the main fort from the caverns. It allowed my small force of 10 marksdwarves and 30 meleedwarves to squash the hordes of HFS.

Most of these things aren't easily made into blueprints, but it's nice to see how easily they can be done with dreamfort as a base.

I did write some blueprints for the pump stack, which I'll document and add to the DFHack blueprint library.
Logged

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #291 on: July 21, 2021, 12:53:35 am »

Here's the orders again https://pastebin.com/mimjRjDm Use this one instead, I made changes to bring it a little more in line with your last https://pastebin.com/rKDggfY6 Our metal smelting jobs got all out of sync, partly because of all the new smithing, but I might have shifted them around too.
Actually given some more thought to this, and it would probably be better to check for stone instead of bars. So if we have flux and iron, even unsmelted, we know we can make steel so shouldn't waste our time with lesser things, etc. I need to rework them.

I've got a pumpstack design, although either the new quickfort doesn't have the feature or I don't know how to use it, but you used to be able to type run:x and it would run x repetitions. It is only 2 levels, so you just repeat it as many times as needed. There are 4 different for each orientation of output direction. I haven't done a windmill powered design in ages, dwarven reactors ftw! Oh, obsidian works is something to add once you have a pumpstack. I've used the retracting bridge design off the wiki many times. That would be an interesting project to automate.

Atom-smasher is a nice addition actually, late game it's like a necessity. Cavern defensive works would be too, but I know how hard it is to try to pattern them, they tend to be unique. Right now I'm actually trying to put together a sub-surface dreamfort, where the 1st or 2nd cavern would basicly be the surface level.

I haven't noticed an excess buildup of lye, but then I seem to go through more soap than I ever have. I suspect the dwarf-vet plugin, which lets your pets go to the hospital and be tended to. The wardogs tend to get banged up a lot. Speaking of them, I know they don't get butchered but the problem is your regular dogs will before you get a chance to train them. I'm tempted to just bring a couple and not breed any. I always get tore up when bad things happen to them, doesn't help that I had to put my old dog down recently either.

I think this
Spoiler (click to show/hide)
is press cake (I'm reading it out of game) which has no other use than being pressed, so value of 1 would be safe. There's a few items like that. Wax would be another. Granted they are minor things.

I would leave the leather requirements lower (you seem to have standardized them across the board) for the important things (backpack/quiver/water-skin) as well as the bags. We should probably have a cloth bags job too. Maybe even silk and yarn as well. Bags are just so important. Oh cloaks too, I like to issue the military cloaks for the extra facial protection mainly, but also since they cover most of the body they are good for keeping them from getting unhappy thoughts when they wind up walking around with missing armor pieces (as often happens when you are still grinding out pieces). Ash bar should be 4 jobs. Not sure about the charcoal jobs conditions/numbers, I really like to avoid making charcoal because it is so inefficient. I still prefer 0 coal/lignite as conditions.

Autobutcher start should probably not have on-new-fortress? I still say turkeys are garbage, it would probably be fine to add goose, blue peafowl and chicken to the turkey line so all the useful ones are covered (Maybe 4 layers per even because eventually the idiots bring them all as pets and you are stuck with them anyway
Code: [Select]
on-new-fortress autobutcher target 50 50 4 2 BIRD_GOOSE BIRD_PEAFOWL_BLUE BIRD_CHICKEN BIRD_TURKEY). I've never had any issues with seedwatch as far as I know, I've used it for a long time. Pig tails (or any seeds really) can have their own individual thresholds set, but of course there is the ingame max of 200 per (which can be adjusted in the d_init file if necessary). The autobutcher targets are correct but they are being set to unwatched. This
Spoiler (click to show/hide)
is where mine deviates. These settings worked fine prior, all I did for this run is add the "on-new-fortress"

Blatantly ripping off Inspired by clinodev, I made my own annotated embark profile for Dreamfort https://pastebin.com/h4Yt3NA7 Oops! Fixed an error (that's what happens when you move things around) https://pastebin.com/W5gyEFNk

Hmmph. I had a crash right before the end of the 1st season, that hasn't happened lately.

The horror! An elf outpost liason. I figured it out now at least, the liason is of course from the mountainhome, it just refers to them by their race. I guess necromancer is a race too, because that is what I had been getting lately. I'll take a necromancer over an elf any day!

Broken job, I think it is supposed to be make lye, won't import
Spoiler (click to show/hide)
Oh, or is that one that needs the new plugin?
« Last Edit: July 21, 2021, 11:34:07 pm by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.

myk

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #292 on: July 22, 2021, 12:19:13 am »

https://pastebin.com/rKDggfY6
Thanks! integrated. Could you check the json files here to make sure I incorporated your feedback and additions properly (except perhaps for the items discussed below)?

The orders list is getting quite long, so I split it up into separate files. This also gives players some flexibility about when to import certain types of orders. I broke it down like this:

basic.json handles basic fort necessities:
  • prepared meals and food products (and by-products like oil)
  • booze/mead
  • thread/cloth/dye
  • pots/jugs/buckets/bags (leather, cloth, silk, and yarn)
  • crafts/totems
  • splints/crutches
  • lye/soap
  • ash/potash

furnace.json creates basic items that require heat. I separated this out from basic.json to give players the opportunity to set up magma furnaces first in order to save resources. It handles:
  • charcoal (incl. smelting bituminous coal and lignite)
  • plaster
  • pearlash
  • sand
  • green/clear/crystal glass
  • adamantine processing
  • item melting

military.json adds high-volume smelting jobs for military-grade metal ores and produces weapons and armor:
  • leather backpacks/waterskins/cloaks/quivers/armor
  • bone/wooden bolts
  • smelting for platinum, silver, steel, bronze, and copper (and their dependencies)
  • bronze/copper bolts
  • platinum/silver/steel/iron/bronze/copper weapons and armor, with checks to ensure only the best available materials are being used

smelting.json adds smelting jobs for all ores. It includes handling the ores already managed by military.json, but has lower limits. This ensures all ores will be covered if a player imports smelting but not military, but the military orders will take priority if both are imported.

I can update the dreamfort checklist to suggest importing the orders at appropriate times.

What do you think?

There are some finer points I'd like to discuss. Could you tell my why geese are better than turkeys? I haven't done the research here, so it might be obvious. I was just going off the turkey recommendation I saw in one of the videos on Salford Sal's youtube channel.

Second, 1 vs 5 for AtLeast conditions for items you want to use all of. I've gone back and forth on this. Theoretically, it *should* be 1. If exist, then use. The problem that I've run into sometimes is cancellation spam when an item is being hauled or when the item is inaccessible. The spam from hauling is temporary, but it can be constant if the item is inaccessible. Probably wouldn't be an issue for press cake, but I've run into this problem with bituminous coal and lignite. I can certainly knock the press cake, totem, and wax crafts down to 1.

Third, AtMost 0 vs >0 for if-then conditions (e.g. make iron maces only if there are 0 steel bars). I think setting the condition to 0 is too strict. If I buy 1 steel bar or melt 1 steel item, I don't want all production of iron weapons and armor to stop. I think setting it to the production limit of steel (20 in this case) would ensure manufacture of maces continues, and it would transition smoothly to steel once we have enough bars.

Could you share your pumpstack design? I suspect it's very close to my own, but I'd like to see if there's anything obvious I've missed. DFHack quickfort doesn't have "repeat up/down" functionality yet. The code won't be that hard, but I haven't had the time to think about the syntax and how it might be specified on both the commandline and in meta blueprints. Perhaps simplifying the pump stack blueprint will be the kick I need to get that done.

If you feel like creating blueprints for an obsidian works, I'd love to add it to the blueprint library!

Quote
doesn't help that I had to put my old dog down recently either.
I've been there. I'm sorry about that.

Quote
Autobutcher start should probably not have on-new-fortress?
Surprisingly, it's fine. I verified that autobutcher's enabled status gets saved and restored automatically along with the rest of its settings.

Quote
autobutcher target 50 50 4 2 BIRD_GOOSE BIRD_PEAFOWL_BLUE BIRD_CHICKEN BIRD_TURKEY

That's...a lot of birds. I'd be worried about FPS at that point. We could allow them all but cut the 50 down to 10?

Quote
I made my own annotated embark profile for Dreamfort

This is awesome, and far more dorfy than my version. I learned a few things from reading it as well, such as the anachronisms I was holding to with discipline and swimming. Also why geese are better than turkeys. If you don't mind, I might steal a few ideas from your profile for the embark suggestions page. I want to keep the "official" embark profile simple and small (i.e., newbie friendly), but could you possibly host your version somewhere more durable so I could link to it "for a more advanced approach"?

edit:
Quote
Oh, or is that one that needs the new plugin?
That's the one. "Make mead" as well for the contains [ "honey" ]. PR is here if you can build locally.

I thought it should still import, just not getting the new properties. Did it give you an error?
« Last Edit: July 22, 2021, 12:26:04 am by myk »
Logged

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #293 on: July 22, 2021, 02:49:18 am »

Yeah, I think splitting it up is good, both for the end user and for us. It's just getting too large and cumbersome to work with.
I think those are good item sets to work with. I'll try to go through them tomorrow.

I go back and forth on the item amounts too. For some things it is almost impossible to stop the spam, for others they almost never happen. The last run even plants started acting up on me, because of the lack of granularity in orders (not being able to specify for example brew ph or brew ale) and item conditions (we're stuck with generic plants). I just had so much shit to haul that I let the plants pile up unprocessed pretty much until we were out of seeds. I didn't import the orders until after the 2nd migration wave. So the jobs started running with tons of everything, but when it is leaving 12 units per job conditions can change fast. Fortunately it righted itself next cycle.

So low volume stuff like make cheese, press cakes, bee related stuff seem to be ok with 1, maybe 2 for a safety. You want to keep a few skulls for strange moods, IIRC the macabre will go murder someone if they can't find any.

Stone definitely needs a buffer for hauling. Today drove me insane, they just could not keep up with the masons and god-forbid the masons grab a wheelbarrow and go haul it in between cancelling jobs. 10 seems to be good for orders of 1-4 pieces. The larger orders maybe 20. It's still a bit of a crapshoot since there can be a ton on the map but not in the stockpiles, and I like to use links for the masons and smelters since I don't want them hauling stone by hand from halfway across the map. It's mostly a first year problem though, I make the caravan leave ecstatic and get like 20+ 3rd wave on so the labor issues go away.

Yeah, I guess the pumpstack is really simple once you understand it. Other than the doors are completely unnecessary it's exactly like yours.
I have seperate rotations depending which way you want it to be pointed, so 4 different sets but mine are legacy quickfort plans (which means 8 files), I should clean them up like yours first. I guess with the new quickfort it is possible to get all 4 in 1 file since you can just run different commands. Yeah, I'll do the obsidian works, it'd be good practice for me.

The birds, yes it can be awful, goosesplosions are a thing. 10 each sex is probably a lot more fps friendly and still gives you 20 hides per year. 60 if you go goose/blue/chicken. Should be plenty. Bone too.

Glad you like my embark. Haha, yeah, I still hold onto the discipline and swimming myself. Absolutely, use it, abuse it. That's what it's there for. Hell, I copied Clinodev's comments from his where I was in agreement with him instead of reinventing the wheel. I was going to put it on the wiki but it is a pita, but yeah, I will throw it on my google drive, would be easier for everyone involved than pastebin. I'm always tweaking it slightly (ready to add more rope for your godawful traction benches!) Speaking of, 1 would be fine for first phase, I hardly see them get used. Would also be good to get the hospital well built in services2. I used to bring all crafters and have them all mine until migrants (make them stop right at level 5 so it doesn't become their moodable) but I've found it more practical to go with almost what we have now, because migrants are such a crapshoot anyway. If not building surface fortifications like Dreamfort, the 2nd mason would be a stonecrafter or a marksdorf instead.

Sometimes simple is good too. Today because I was busy fixing my mixup of miner/mason and trying to dig out UNDER an aquifer (yeah, today was not my A-game) I didn't realize for quite some time that I forgot to assign the carpenter to cut wood and was wondering what was taking so damn long. So while that point of skill in woodcutter may be worthless, it's cheap compared to the aggravation it can save you.

Oh, almost forgot. Yes, the automation import errors. On syntax of all things, it complains that the close brace is wrong, when it clearly isn't.
« Last Edit: July 22, 2021, 08:48:28 am by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #294 on: July 22, 2021, 11:03:31 am »

Here's the embark https://drive.google.com/file/d/1Et42JTzeYK23iI5wrPMsFJ7lUXwVBQob/view?usp=sharing That's public.
The directory I forgot I had shared with you when we started working together, orders files https://drive.google.com/drive/folders/1kXvtKSYjBO8kKDSxNcMwttqZx5gYuS01 have my latest changes (discussed below).

So how do I build lua stuff? I've used gradle for java (minecraft shit) on git, which is surprisingly incredibly easy, but I tend to shy away from stuff that needs to be compiled generally (just lazy like that).

Orders
Basic
change unrotten cookable items from 15 to 20 on lavish meals (I got spam frequently at 15) probably because of large stacks of qb leaves.
both brew drink jobs, do we want to go with large pots instead of food storage item? it is available, I usually link the brewery to the pots (as well as plants, kitchen & jugs piles) since I try to get rid of the barrels eventually.
make cheese, 2 milk (from 5)
press honey, 2 jugs (from 5) probably enough, only this and oil use them and both tend to be infrequent
make mead, 2 honey (from 5)enough
process plant to bag, 15 (instead of 20) is good, it is only qb and qb isn't used for anything else
press liquid from paste, if we've bothered to make paste (only happens when we are loaded with rock nuts), might as well press it, remove soap condition
spin thread, 2 (from 5)
dye jobs, I'm a bit torn but since there are 2 and we could have 12 dye in a bag probably bump dye items up to 15
make rock pot & jug, do we not think 10 rock is enough? granted I tend to set them to specific materials (usually jet when available for light pots, gypsum surprising 2nd choice, microline jugs because why not) maybe do them like the military jobs
wooden bucket, 50 is fine for generic I think, I usually do 10 and specify willow (habit), although buckets weight laughable, all same for crutch/splint, yes I was gonna suggest making less since hospital stock doesn't count, this is good
soap! hmmm, this time it imported w/o error, maybe my copy paste job was bad last time although I couldn't for the life of me find what was wrong, just the blank item conditions, which are fixable at least (oh yeah, mead had blank item of course too)

Furnace
large batch charcoal, I like 0 coal/lignite better, although I guess if you are reliant on this job you need some buffer...but we know I'm biased since if I don't have magma smelters running before 2nd caravan I am likely having too much !fun! granted it's probably a non-issue, I mean I embark with 20+ coal anyway
small batch charcoal, could arguably go into basic, would make sure there is some for people who aren't ready for furnace/military but might need the odd weapon/anvil/minecart/etc
plaster powder, lol, like the crutch/splint 1 is plenty...the 5 bags of plaster in the hospital will likely last forever anyway, hospital defaults are enough to survive a zombie HFS apocalypse.
smelt adamantine, granted it has been a long time since I've had candy (I just get bored/annoyed around the end of year 2 lately and start a new fort) but why a ceiling on wafers? or do you need strands still for cloaks and robes?

Smelting
All good here.

Military
Mostly good across the board. Is the overlap with smelting going to cause us job cancellations?
Conditions changes we've thrown back and forth, actually 1 I don't think I mentioned I've been mulling; instead of checking for bars of the higher grade material, check for the items? So if we have a few (not the full 10, I think just 2-3 is good) platinum maces in stock, we probably don't want to make silver ones. Etc, etc.
BP & greaves should also check for the full stock of mail shirts of that material (if I wasn't lazy I'd do all the set pieces but I think this will suffice, if we've got 10 mail shirts, we've probably got full stock of the rest too), I must have uploaded the wrong one. My reasoning is it makes sure everyone has full coverage first and then they get the heavy over pieces when available. Otherwise when equipping a squad or 2 (I have dumped entire migrant waves of useless sods right into the military) rapidly we get the first few guys full kit and the rest half naked. I keep at least 2 forges now, 1 for weapon 1 for armor, since metalworker/smith are usually low volume (at least until military crafting is stabilized) I let them do at both. I know you want to keep industry from sprawling more so there is room for customization but there's a few shops need extras pretty much guaranteed. Forge of course. 2 more crafters (over by cloth). I restrict original to stone only, another for bonecrafter, and 3rd for everything else. Otherwise it just becomes a total bottleneck.
Oh! Crossbows, wood, again I like willow/saguaro/featherwood (to reduce the amount of teeth lost from beatings) but at a minimum stock check needs to be for wooden xbows since we want both wood and metal, although wood is only for the 1 squad really, I dunno. Some people may prefer to issue them to everyone instead of weapons grade ones I guess, the platinum ones are fucking heavy. Yeah, check for wood. Argh! and of course wooden is not a selectable trait :(

Hey! What else can we do with that custom reaction wrapper? These are my ancient custom reactions that I got tired of having to modify raws for every new pack version, but I believe they still work. Could we import them into an already existing game? Doing them by hand involves editing entity_default.txt, editing entity_default.txt generally results in having to start a new game/instability/corruption in your existing one, especially if you try to change graphics packs.
Spoiler (click to show/hide)

I couldn't be bothered to do individual fruit jobs. Too much work for too little gain. Too much clutter in workshop interface too.
Also from the old modest mod (which was how I learned it was even possible to do this)
Spoiler (click to show/hide)
I think the empty bucket was for a bug that has been long fixed (buckets of water being left lying around rendering them unusable) and I really can't be arsed to collect deez nuts, let alone process them but the milling jobs are pfm! If we can import these and the job manager works with them that could reduce spam too.

Oh an unrelated note, have you ever had success on a 1x1 embark for Dreamfort? I cannot find one that meets my requirements that isn't littered with ponds, and I gen worlds with max metals so it opens up plenty of possibilities even for someone as picky as me (on default I can barely find a standard size embark that pleases me, forget the 2x2 I prefer).
« Last Edit: July 22, 2021, 12:26:06 pm by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.

myk

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #295 on: July 22, 2021, 03:35:36 pm »

good points. I updated the beta files.

I didn't realize the doors were unnecessary for the pump stack. I thought liquids would leak through the diagonal. I'll have to test that on my next run-through.

I'm looking forward to your obsidian farm blueprints! Tell me if you have any trouble with them or if quickfort needs a new feature to make them easier to write.

Birds. I worry that we're making this too complicated. What's the down-side to just allowing geese and insta-butchering all other birds? The pets that migrate in will not contribute eggs (since the nest boxes will all be taken up by geese, presumably), but if geese are categorically better to raise, is that such a problem? The player can always customize after the fact, but I want the defaults to "just work" for most players.

I think we could probably add more animal types to the "always butcher" lines. Purchasing animals from caravans is the best source of bones for bolts, but keeping them all around until they hit default autobutcher limits would kill FPS.

+1 on the pain traction benches cause. Originally they were being built later in the hospital, but I found that there was just too much competition for tables at that point. Building them earlier results in easier access to tables, but then you need to bring ropes (or build an early clothier's shop to manufacture them). The current solution appears to be the sub-optimal-but-local-minimum for cancellation spam.

Fair point in moving the well earlier. It does make filling the cistern via bucket brigade slightly less convenient, since if the well is there, it will become a "water source" as soon as the cistern is 3/7 full, and then the little dwarves, in all their brilliance, will attempt to fill the well with its own water. You'd have to build a temporary grate to block the bucket or deconstruct the well to finish filling the cistern. However having the well early is required to make the hospital minimally functional, which is the point of building anything there early in the first place. I'll add some documentation around this.

Thanks for the embark link! I've added it to the dreamfort embark suggestions page.

How do you build lua scripts? That's the neat part -- you don't : ). It's an interpreted language. Just write the script and run it.

Updated and uploaded orders.

I *think* I'd like to keep the booze depending on "food storage items" rather than specifically "large pots". Barrels are entirely valid to use, and I don't want there to be confusion if a player is used to using barrels and it suddenly doesn't work.

press liquid from paste -- the soap condition is still needed because we want the presence of enough soap to stop this job, which stops the mill seeds/nuts to paste job. Seedwatch can then cook the extra seeds/nuts.

I had thread at 5 since it can be used by moods (I think -- can anyone verify this?).

I set rock pot and jug to require 20 available stone because for most of the early game, masons are cranking through stone constantly. By the time the original batch of boulders starts to run out (which is when this condition would actually matter), high master masons are using it up at a very fast rate. 20 gives us a reasonable buffer to start the pot/jug job before all boulders get converted to doors and coffins so we don't get cancellation spam.

For furnace, the limit on adamantine wafers is partially for cloth, partially just so there's a limit so dwarves only make as much as is actually needed. I could totally be convinced to just process all adamantine into wafers, though. Leaving it lying around for doctors to use for suturing seems like a bad idea.

For military, I need to test, but I don't *think* the overlap with smelting will result in a conflict. The military orders should take precedence if both are imported.

I was thinking about depending on items rather than bars too, but I think bars is the right choice. If there is the potential for steel weapons, we shouldn't be spending time producing iron weapons, even if there are no steel weapons *yet*.

Thanks for adding conditions for breastplates and greaves. I was trying to order the pieces by "importance" so the top ones would get picked up first by the workshops, but adding explicit conditions is the much better way to go.

I also have seen the benefit of two forges. I add a second one in the empty space in the lower right corner (I moved the meltables stockpiles in the latest dreamfort.csv beta) once I get magma pumped in. I think I'm happy letting players add the extra workshops as needed, though. Some people may not want to play a military.

I had actually thought the wooden crossbows were just to get started until the marksdwarves auto-upgrade to steel crossbows. Do people generally want a specific stock of wooden ones? I just assign "Ranged weapon" and let the dwarves figure it out.

The code for reaction-based conditions in orders is more flexible than what you can do in the UI. any trait from any reaction can be used in any job. If you add custom reactions, the reagents can be used to create conditions for any order. You just have to do it directly in the JSON.

1x1 Dreamfort? I used to do it all the time, until I became too reliant on wood. Now that I've become more comfortable with pumping magma, I might go back to the smaller embark for the FPS gain.

Ponds can get in the way, but if you can line them up with open areas in the farming level, the water will just spread out over the farming level and dry out, and you can floor over any unwanted gaps in the surface. It might take some grazing area away, but it's doable. If you're not adverse to "cheating" a bit, the tiletypes plugin can also overwrite pond tiles with dirt.

Rivers take up too much space, but if you can find an embark site with a light aquifer, that's just as good for filling up the cisterns (though they're a little fiddly to work with, since a dwarf needs to dig out enough tiles and get out before they drown).
Logged

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #296 on: July 23, 2021, 01:40:39 am »

If you've got magma leaking out of your pump stack you've got serious !fun! incoming

I have no problem with butchering all the other birds, although I generally let stuff growup first because in DF they generally don't give products or give a lot less.
I've been adding things to my config as they showup too. I had cut down to 10 10 4 2 though, which would allow multiple breeding types (and crundles). Allowing only 20 young if we have 14 layers then that means we're going to be wasting a lot of time butchering immature geese.

Oh, I also just had another thought, some people will prefer the others (and just like irl, geese can be annoying cunts in this game), or there might be the rare case goose is unavailable. Some turkeys are stubborn and still prefer to embark with turkeys. Granted we can't do a 1 size fits all I guess. Even the starting nestboxes. I've started bringing 4, so I just assign 2 more and remove them from later stage by hand. Someone who brought no birds then even the initial 2 are a waste of time and resources. Speaking of if I cut back to 2 geese, 1 gander, 20 coal we can bring 4 silk ropes for the traction benches and the well.

Well not lua scripts, the plugins are compiled aren't they? And the dlls.

Fair enough on the barrels vs pots. The masons are also part of why I have the stonecrafter work with different materials than them (I'm anal enough to go through and specify the materials for the build orders). Same for the oil. I forgot rock nuts can just be cooked without pressing.

I forget about manual fill since I always secure a water supply one way or another, I guess that could be an issue though.

Moods...I don't think if something is not present they will want it (besides the afore-mentioned skulls, oh and I was wrong, that is fell and they will murder someone regardless, although macabre will want bone of some sort) forbidding also works to hide things. The thread though might be an issue because the hospital will have thread but they can't use the hospitals thread. Speaking of the hospitals thread,  spinning the initial draft animals will give you like 10-20 thread, if you bump up the hospital to that number and forbid all your other thread, let hauling finish, then set it back down to default you will probably never need to restock or worry about them stealing your candy thread.

The wood crossbows are for the city guard squad, per tradition those who employ one issue them wooden crossbows (preferably featherwood), so that when they beat the everloving shit out of your hapless haulers and crafters who ignored mandates they might not kill them. Some people worry about weight for their marksdorfs and even lesser trained ones, so they might prefer wooden bows all around (I'm not sure how durability has affected that, I know wooden shields now suck). After some early (like version 34) experiments with leather and bucklers and other garbage, I armor them identical to my infantry, shield and all.

So we can add the booze and milling jobs? Nice! Hopefully they work with work orders (I don't remember if they did or not)

Yeah, tiletypes my old friend. I don't know why I didn't think about flooring over the ponds. I guess going deeper makes it a bit easier too if you've got multiple soil levels.

Oh, jobs for green glass corkscrew and tube would be good additions to the orders (pump stack parts). Maybe blocks (I tend to go with rock still since glass are made 1 at a time not 4).
« Last Edit: July 23, 2021, 11:20:47 pm by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #297 on: July 23, 2021, 02:30:24 pm »

Here https://dffd.bay12games.com/file.php?id=12803 is a very old fort of mine that has the obsidian works if you want to see it in action.
It's is the bridge method https://dwarffortresswiki.org/index.php/DF2014:Obsidian_farming with a self-measuring reservoir and pump-stack powered by double-dwarven water reactors.

It has drains for excess water but they get very little if any. It's also great for garbage disposal. The 3 wide intakes on the magma supposedly are better for fps, I really can't tell. I also set the pumpstack up so that it can actually be turned on and off and so it runs very little, as the fill is very fast. You only need 1 depth per tile.

So looking at that fort, again the "amount of lye" as a condition appears to work properly for me, if I play with the number it goes red/green appropriately. I'm also wondering if a barrel will only hold 5 units (again I have the 1 tile stockpile for it).

Here https://drive.google.com/file/d/1zoE9SnRYa1rAcohciRPq1pFCfev1U8_x/view?usp=sharingis a rough of the plan, the exporter didn't capture place/query for the levers. Very WIP obviously. Might have to seperate the pump stack and water reactors, it makes the orientation somewhat fixed. Same for the levers. We want the access doors on the south side for Dreamfort, since it should go north of the fort, alongside the masons and closest to the QSP. It should be the middle or lower layer ideally (we clear the room by channeling) And then that reactor could only handle a few more levels of pumpstack, so if it were very deep it wouldn't be enough.

Oh, surface1, bump trees up to pri 1, so the woodcutter doesn't find other things more important to do. Allow all food in the starting pile too (fats & seeds); the seed bags will wind up in a barrel, I have fat that would rot in the kitchen (because I slap up butcher/tanner/kitchen/still/2nd mason on the surface while most of them would be standing around doing fuckall waiting for the woodcutter & miners and get initial jobs done. Useable refuse somewhere (underutilized cloth pile is a good place) for the butchering by-products as well.

Ok, the new autobutcher settings not working right for me.
These are mine:
Spoiler (click to show/hide)
It sets everyone to unwatched. When I had unwatch DOG the line above autobutcher start it acted like it wasn't there (dogs were marked). Before I added the on-new-fortress it worked properly.
Ok, I added "on-new-fortress autobutcher watch all" above "on-new-fortress autobutcher unwatch DOG" and that seems to work.

Do you find that you have to toggle the hospital zone from/back to hospital before the boxes/beds/etc showup? Oh, also if zone is set for animal training then dwarfvet will make use of it.
« Last Edit: July 24, 2021, 10:40:47 am by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.

myk

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #298 on: July 24, 2021, 06:30:05 pm »

We've made some assumptions in the automation orders about how things are configured. I've been experimenting with a "setup" blueprint that makes some standardizing changes. However, I'm not exactly sure which changes I make are "universal" and which are just a product of my own idiosyncrasies. Which of these changes make sense? They should be good as defaults for newbies in particular. As long as we're clear about what changes we're making, more experienced players can override them with their own preferences. But is there anything here that is clearly "most people won't want this"? Is there anything obvious I've missed?
  • assigns the first dwarf (likely the expedition leader) to manager, chief medical dwarf, broker, and bookkeeper roles (and sets bookkeeping to the highest precision)
  • sets standing orders: only farmers harvest, gather refuse from outside (incl. vermin), no autoloom
  • creates burrows named "Inside" and "Clearcutting area", one for use in sieges and the other to configure autochop to keep the area around the surface fort clear. It's up to the player to define the areas, though. I don't think I can do that automatically..it depends too much on how the player ends up laying everything out and what their requirements are for autochop
  • creates a "Siege" alert and associates it with the "Inside" burrow
  • adds a cloak to all default military uniforms
  • in the "metal armor" uniform, replaces "metal armor" item with "metal breastplate" and "metal mail shirt". replaces "metal legwear" with "metal greaves".
  • removes ammo assignment for hunters
  • adds hotkey names for interesting levels. it's up to the player to adjust them to actual zoom locations since the position of the central stairs, soil depth, and the presence or absence of aquifers all affect where everything ends up. Having the hotkey names pre-populated is still useful, though.

For the pump stack, I've come to the conclusion that I messed up the dig pattern. I connected the access stairwell to the incorrect pump tile. That's why it was leaking without doors. Fixed, but now it needs another round of testing.

You're right about not min-maxing on geese. Leaving most creatures at the autobutcher defaults is probably the right way to go. OTOH, I *will* make a *personal* config (onMapLoad_myk.init) that butchers more aggressively.

I revamped my embark profile (based a lot on yours), and 4 silk ropes definitely made the cut. I'm still testing it, but I can already see it is suitable for a much greater variety of embarks. I don't have to be so prescriptive about which embarks are "good" for dreamfort now! I am still trying to avoid any troublesome items, like bituminous coal, though.

Regarding the nestboxes -- you said you "remove them from later stage by hand" -- what do you mean? Having something in target tiles would bork Python quickfort, but in DFHack quickfort, it's perfectly fine if the nestboxes are built early. They'll just get skipped by the later #build blueprint when it detects the tile isn't free.

I am fairly certain that moods can require things regardless of whether you have them on hand. In just my last game, a moody dwarf required raw green glass. I could produce it easily, luckily, but I hadn't ever made any before the mood struck.

I'm not convinced that we should add orders to our automation for one-off building projects. If it's coming from a blueprint, there's 'quickfort orders' for that. If it's something you're doing yourself, I think it would be more efficient if the player were to also generate the corresponding orders.

For example, I just created a 98-level pump stack. As part of the planning, I set buildingplan to require screw pumps to be made of green glass and I (manually) created orders for 98 green glass tubes, 98 green glass corkscrews, and 98 green glass blocks (my stone was being eaten by my masons too quickly for me to depend on stone availability -- and I have embraced the multicolor constructions that come from not setting the material for my mason jobs : p). If we had automation orders that ensure 1 available green glass tube, corkscrew, and block, it would take at least 98 days to get the pump stack operational. Creating the one-off, high-volume jobs got the job done much quicker.

Nice obsidian farming blueprint! Once it's done, we can export all the sheets to csv format (via xlsx2csv -a -p '' "obsidian farm.xlsx") and open a PR to merge it into the DFHack blueprint library -- it's generally useful and not specifically tied to dreamfort. It should also get some documentation in the library guide.

I haven't gotten to auto-connecting levers yet in the blueprint plugin, but it's on my list.

I'll play with lye a bit. Right now that stockpile accepts all misc liquids, which means lye plus milk of lime. With barrels, we could likely halve the size of the pile (or maybe have two one-tile piles?). Any ideas what to put in the extra space? something we'd like a visual cue for whether we have stock or not?

Brilliant idea for raising the priority for chopping the trees. Done. I wrote those blueprints long before setting priority was a quickfort feature and I never thought to go back and update it. I'll test on my next run-through to make sure my woodcutter stays on task without manual prodding.

I've actually been a little unhappy with the starting food and booze stockpiles ever since we made all those improvements to getting a minimally functional fort set up faster. Now its useful lifetime is very short -- only a few days. Do we even need one anymore? Stockpiles on the industry level won't be available until the miners get through all that rock, so stone and wood (and "misc") stockpiles are still useful. However, the farming level, which stores food, booze, and refuse, is ready so quickly. My dwarves usually haven't finished storing the booze that I brought in the wagon before it's time to move it all downstairs.

The reason I hadn't enabled seeds in the starting pile was because the seed feeder pile on the farming level doesn't accept barrels. If seeds are collected into a barrel on the surface pile, they won't ever be moved to the (barrel-enabled) seeds stockpile on the farming level, which takes only from the (non-barrel-enabled) seed feeder pile. (If anyone is wondering why it's set up this way, see the note on the wiki.)

Now, as I'm writing this, I realize that we can actually handle this situation. we know the farming level is directly beneath the surface (unless the player does something fancy like channel an extra layer of vents and dig farming two layers down to avoid ponds like we discussed a few days back...but let's ignore that case for now). We can set up a "give" relationship between the stockpiles on the surface and the ones on the farming level. Then we can be a little more generous with what the surface stockpiles accept.

I enabled animal training for the hospital for dwarfvet (and documented it here). Do you happen to know if veterinarians need just ANIMAL_CARE enabled, or ANIMAL_CARE plus the normal doctor labors?

I haven't had any trouble with hospital furniture getting placed -- furniture gets placed in the order it was registered with buildingplan. How would toggling the zone even affect furniture placement?
« Last Edit: July 25, 2021, 09:58:57 am by myk »
Logged

ldog

  • Bay Watcher
    • View Profile
Re: DFHack: quickfort | buildingplan | blueprint | blueprints/library
« Reply #299 on: July 25, 2021, 03:08:34 am »

If I made the mechanic first in the embark then that would work for me. I usually set it to highest but I've just come to the conclusion it is better to leave it alone until at least 1st migrant wave. Early on having everyone working and hauling (especially my last embark I got like 800 wood just from the surface clearing orders) is more important than an accurate stock count. I aim to have industry dug out and farm3 completed by the end of the 1st season. Broker I am finding my initial 7 never do, since the first 2 migrant waves generally have better candidates anyway. Manager has to be assigned but won't actually start working (or gaining skill) until...I am not really sure what triggers it, either migrant wave or possibly 20+ dorfs.

Burrows would be hard to define unless you can find a way to do them in the actual build plans? So when you designate surface1 or farming1 it paints them in. That would be pretty badass.

The rest of them sound great to me (especially if I don't have to manually build uniforms, my least favorite task), except taking away the hunters ammo. They need it to function. I'm not big on them (military squad is much better) but I often let ones who arrive with the skill continue to do it until I decide to yoink them for military service.

Oops, yeah pump stacks are easy to mess up, been there done that, I didn't catch it on your plan either.

Well I don't think the default is all that great, although I think we've got a fairly good tuning for the most common things. Granted clinodev probably won't like all his guinea hens being butchered lmao. I've always been the goose crusader, trying to get other poultry users to see the error of their ways.

I just did 4 ropes this time too, a lot easier than trying to have the planter make them (he is busy by then, besides I'd generally rather his moodable be weaponsmith than clothier)

Oh, I meant I remove the extra nestboxes from crafting. Cancel job and recreate with 2 less. I just did 2 female/1 male this embark, and they both laid fertile eggs so I may stick with it. I got 10 between the 2 of them, which if I get that every season is still way too many hatchlings anyway.

Other people have said that about moods so you could be right. Maybe I've just been lucky and never had that happen to me. OTOH, the people who really like to micro-manage their artifacts go and forbid everything they don't want used, like to force platinum artifact weapons for instance. That's a level past what I can be arsed with so I've never tried, but that would be same net effect as not having it. I think thread and cloth would be special cases because if you have them in a hospital they become like Schrodinger's cat or something. They aren't available but they don't quite "cease to exist" like a forbidden item.

Not sure which one-off you are talking about (because I dumped so much info)? The pump parts?  I was thinking just handy to have a couple on hand, just like blocks and mechanisms and other odds and ends; I always like to have a few extra on hand for those little last minute projects. Yes, for a pumpstack or the obsidian farm I would queue them the usual way. Being as the orders have gotten very long and complicated I can understand your objection to them.

Yeah, it's a good little farm, runs pretty smooth.

I split them into 2 seperate 1 tile piles. I haven't gotten around to making paper lately so not sure about the lime, but it should act the same. Visual stock, on that side of the house...would have to think about it (brain addled from long late Rust session, need to go to bed). The steel, coal and sandbags are certainly handy.

Getting food into a stockpile is kinda critical, granted booze doesn't rot, seeds have to be left out a very long time. I think anything in the wagon is safe anyway. The meals and any leftover meat from butchering as well as the tallow need to go into a pile. Especially since I remove those extra surface facilities as soon as I am done with them. The booze is kinda important for me still, because I want to reclaim those barrels with combine-drinks. The seed bags should get taken back out to go into the barrelless pile, but yes, you either need to make a link or remove the surface pile.

The stone pile I find very useful, because you can set links which forces wheelbarrows to be used to get stone instead of them hauling it. The rest of the stockpiles, not so much actually, depends how early I decide to pop the wagon, and there really is no pressing need to dismantle it. I'm seeing patience in a lot of things actually gets the Dreamfort built faster. Queueing too many things at once and it turns into a clusterfuck.

Just animal care. They will actually gain the regular skills from treating animals though. I didn't actually notice that until today since the wardogs went apeshit on some wild boars and got themselves all tore up, and my vet had started skilling in all of the medical skills.

Not the furniture getting placed, it's when I go in and look at the hospital zone details I see 0 coffers, 0 tables, etc. I noticed it because I realized stock wasn't getting hauled and when I looked into the issue that was why. It has been my last few embarks. I don't seem to recall this issue from several months ago, but I am old and lately somewhat forgetful.
« Last Edit: July 25, 2021, 03:14:08 am by ldog »
Logged
Quote from: Dirst
For example, if you wanted to check if a unit was eligible to be a politician or a car salesman, you'd first want to verify that there is no soul present...

Quote from: gchristopher
The more appropriate question becomes, are they awesome and dwarven enough.
Pages: 1 ... 18 19 [20] 21 22 ... 29