Bay 12 Games Forum

Please login or register.

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

Author Topic: Downsizing DF for performance purposes  (Read 3170 times)

eerr

  • Bay Watcher
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #15 on: August 07, 2018, 02:52:52 pm »

Alternatively, is there a way to slow down massively the coming of migrant waves? (as in, adding a lot more time between each waves).

Been a long time reader of these full of wonders forums, Hi!

Digging, building and wealth creation attract dwarves.

That value and space attracts migrants.

If you don't want dwarves, just dig less and make less.

Use stuff like communal barracks, quantum stockpiles/universal stockpiles.

Then you can regulate the arrival of dwarves based on how much you create.
Logged

Fereval

  • Escaped Lunatic
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #16 on: August 07, 2018, 03:00:31 pm »

I see! I wonder if  developing exclusively  above ground (small space, no digging, using the cheapest materials) would help or worsen the fortress attractiveness in the end...
Thanks for the hint.
« Last Edit: August 07, 2018, 03:02:32 pm by Fereval »
Logged

feelotraveller

  • Bay Watcher
  • (y-sqrt{|x|})^2+x^2=1
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #17 on: August 07, 2018, 07:04:17 pm »

Then you can regulate the arrival of dwarves based on how much you create.

Easier to control by editing the POPULATION_CAP in ~/data/init/d_init.txt.  Set it below your current population to stop migration.  When you are ready for more (next season) set it above again.
Logged

SpeardwarfErith

  • Bay Watcher
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #18 on: August 08, 2018, 12:02:15 am »

if you are fine with some very serious downsizing, I suggest playing a 1x1 embark on a pocket world. The FPS difference is ridiculous- There is barely any lag, even at ~100 dwarves.
Logged
The swordsman Smoma Acaltekud: Hello Ago. Life is, in a word, death.
The swordsman Smoma Acaltekud stabs you in the lower body with his iron scimitar, tearing apart the muscle and tearing apart the left kidney!
The iron scimitar has lodged firmly in the wound!

Battle Royale Mode: A DFHack Script

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #19 on: August 16, 2018, 03:09:27 pm »

Alternatively, is there a way to slow down massively the coming of migrant waves? (as in, adding a lot more time between each waves).

Been a long time reader of these full of wonders forums, Hi!
If you're willing to use dfhack, I recommend max-wave.lua. Though I edited mine to also count residents when raising the cap.

A similar approach would be possible for invasions as well.

lethosor

  • Bay Watcher
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #20 on: August 17, 2018, 10:42:09 am »

Mind sharing your edits? That looks like something useful to include in DFHack.
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.

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #21 on: August 18, 2018, 05:43:09 pm »

Just replacing line simple 34's isCitizen check with
Code: [Select]
if dfhack.units.isCitizen(v) or (dfhack.units.isOwnCiv(v) and dfhack.units.isAlive(v) and not dfhack.units.isTamable(v)) then
I imagine there's probably some edge case that check doesn't quite work out for; i.e. possibly kidnapped unicorns and beak dogs. Could use `not df.global.world.raws.creatures.all[unit.race].flags.CASTE_CAN_LEARN`, but it seems like there should be a better way (I combine it with isTamable check elsewhere, but cba...).

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #22 on: August 18, 2018, 09:23:28 pm »

I'm actually pretty sure that df.creature_raw.find(unit.race).caste[unit.caste].flags.CAN_LEARN is the best way to do it--CAN_LEARN combined with citizenry is (again, as far as I know) the only thing that determines if labors can be done on a unit now.

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Downsizing DF for performance purposes
« Reply #23 on: August 19, 2018, 06:55:44 am »

Hm, odd. I initially tried that first, but got an error and reworked. Must have been a typo, though, since works now.
Pages: 1 [2]