Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Suggestion:dwarven matrix  (Read 1070 times)

ancistrus

  • Bay Watcher
    • View Profile
Suggestion:dwarven matrix
« on: December 03, 2010, 02:18:03 pm »

Most of us have seen our fortress die a FPS death.
But what is that thing about large numbers of dwarves that kills our performance? If it is just the amount of pathfinding then I suggest a project:
Have a fort with population divided into active and inactive dwarves.
Active dwarves create food and drinks for all.
Inactive are permanently locked in 1x1 rooms with bed and nothing else. No parties, no social interactions, nothing.
Feeding performed by dropping food from above. (Not sure if this works, maybe 1x2 rooms will be neccessary).
How many dwarves could a decent machine handle with this setup?
Logged

MagmaMcFry

  • Bay Watcher
  • [EXISTS]
    • View Profile
Re: Suggestion:dwarven matrix
« Reply #1 on: December 03, 2010, 02:52:59 pm »

Default answer: Go try it out and tell us what happened.
Logged

Urist McUristy

  • Bay Watcher
    • View Profile
Re: Suggestion:dwarven matrix
« Reply #2 on: December 03, 2010, 03:27:29 pm »

Well, you know what they say... When in doubt, !!SCIENCE!!
Logged

abadidea

  • Bay Watcher
  • [IS_8BIT_PROGRAMMER]
    • View Profile
    • 0xabad1dea
Re: Suggestion:dwarven matrix
« Reply #3 on: December 03, 2010, 03:30:22 pm »

My previous fort was down to 5FPS with only 80 dwarves. Brook, no magma. I read that doors can make a big difference in pathfinding speed. New fort, 192 dwarves, brook and magma, NO doors, 18FPS. It seems like improving pathfinding efficiency is more useful than locking up idles, because they tend to engage in long-term partying anyway.
Logged
ABadIdea likes bandfire opal, black opal, claro opal, crystal opal, fire opal, harlequin opal, jelly opal, levin opal, pinfire opal, precious fire opal, red flash opal, white opal, and microcline for its vibrant hue.

glory in the thunder, resplendent in the sky <-- I wrote a whole novel. There will be more.

harborpirate

  • Bay Watcher
  • cancels eat: job item lost or destroyed.
    • View Profile
Re: Suggestion:dwarven matrix
« Reply #4 on: December 03, 2010, 03:35:04 pm »

Re-read that and got what you were saying. Was not using any doors the only significant difference? Same df version, same size hallways?
« Last Edit: December 03, 2010, 03:37:39 pm by harborpirate »
Logged

abadidea

  • Bay Watcher
  • [IS_8BIT_PROGRAMMER]
    • View Profile
    • 0xabad1dea
Re: Suggestion:dwarven matrix
« Reply #5 on: December 03, 2010, 03:39:49 pm »

Re-read that and got what you were saying. Was not using any doors the only significant difference? Same df version, same size hallways?

Yes it was the only difference. Same game version, same layout, same size map. Instead of doors I built all rooms to have a diagonal entranceway so that the room-size floodfill doesn't spill into the hallways. Also contains miasma!
Logged
ABadIdea likes bandfire opal, black opal, claro opal, crystal opal, fire opal, harlequin opal, jelly opal, levin opal, pinfire opal, precious fire opal, red flash opal, white opal, and microcline for its vibrant hue.

glory in the thunder, resplendent in the sky <-- I wrote a whole novel. There will be more.

Max White

  • Bay Watcher
  • Still not hollowed!
    • View Profile
Re: Suggestion:dwarven matrix
« Reply #6 on: December 03, 2010, 04:37:04 pm »

Well this also brings another point into light, that being that useless rocks from digging tunnels are also meant to be a major cause of FPS hell, and with less active dwarfs your going to get less digging done, therefor less rock lag, so your test isn't very scientific.

Om a side note, I'm getting very distracted by abadidea. How can you program in 8bit? I mean there is 8bit pixel art (I personally prefer 16bit, but what ever) and 8bit music (Anamanaguchi FTW) but 8bit programming? Do you use machine code and make your scripts machine generic but only work on an 8bit OS?

Di

  • Bay Watcher
    • View Profile
Re: Suggestion:dwarven matrix
« Reply #7 on: December 03, 2010, 04:47:24 pm »

You can just kill off useless dwarves if you want do this because FPS, the only difference if whether you need to feed non-active ones.
However idling dwarves are pathing only to food stockpile, meeting area and bed.
And any fortress that isn't a pair of farmers and cooks feeding dozen of inactive dwarves needs haulers (you'll require them even in this case when population will grow big enough.
Logged
Quote from: Creamcorn
Dwarf Fortress: Where you meet the limit of your imagination, moral compass, sanity and CPU processor.
http://www.bay12forums.com/smf/index.php?topic=103080.0 Fix sober vampires!
http://www.bay12forums.com/smf/index.php?topic=91442.0 Dwarven Cognitive Science

abadidea

  • Bay Watcher
  • [IS_8BIT_PROGRAMMER]
    • View Profile
    • 0xabad1dea
Re: Suggestion:dwarven matrix
« Reply #8 on: December 03, 2010, 04:51:56 pm »

Well this also brings another point into light, that being that useless rocks from digging tunnels are also meant to be a major cause of FPS hell, and with less active dwarfs your going to get less digging done, therefor less rock lag, so your test isn't very scientific.

Om a side note, I'm getting very distracted by abadidea. How can you program in 8bit? I mean there is 8bit pixel art (I personally prefer 16bit, but what ever) and 8bit music (Anamanaguchi FTW) but 8bit programming? Do you use machine code and make your scripts machine generic but only work on an 8bit OS?

I directly program the Nintendo Entertainment System. "8-bit pixel art" and "8-bit music" is meaningless without reference to an 8-bit cpu.
Logged
ABadIdea likes bandfire opal, black opal, claro opal, crystal opal, fire opal, harlequin opal, jelly opal, levin opal, pinfire opal, precious fire opal, red flash opal, white opal, and microcline for its vibrant hue.

glory in the thunder, resplendent in the sky <-- I wrote a whole novel. There will be more.

Max White

  • Bay Watcher
  • Still not hollowed!
    • View Profile
Re: Suggestion:dwarven matrix
« Reply #9 on: December 03, 2010, 04:55:58 pm »

I directly program the Nintendo Entertainment System. "8-bit pixel art" and "8-bit music" is meaningless without reference to an 8-bit cpu.

AWESOME OVERWHELMING!!!
Emulator or the real thing?
Or, of coarse, you can take the middle ground and hacks out a NES so your computer feeds directly.

slothen

  • Bay Watcher
    • View Profile
Re: Suggestion:dwarven matrix
« Reply #10 on: December 03, 2010, 05:15:59 pm »

Well this also brings another point into light, that being that useless rocks from digging tunnels are also meant to be a major cause of FPS hell.

I hear this quite a bit in fps-death discussions, and i don't believe it at all.  Underground rocks don't have constant temperature calculations, and rocks are selected for tasks by shortest distance (i believe, or something similar) and not by the usual pathfinding algorithm.

Doors only cause problems if they are forbidden, and you have a significant number of dwarves trying to path to the other side of them.
Logged
While adding magma to anything will make it dwarfy, adding the word "magma" to your post does not necessarily make it funny.
Thoughts on water
MILITARY: squad, uniform, training
"DF doesn't mold players into its image - DF merely selects those who were always ready for DF." -NW_Kohaku

abadidea

  • Bay Watcher
  • [IS_8BIT_PROGRAMMER]
    • View Profile
    • 0xabad1dea
Re: Suggestion:dwarven matrix
« Reply #11 on: December 03, 2010, 05:17:02 pm »

I directly program the Nintendo Entertainment System. "8-bit pixel art" and "8-bit music" is meaningless without reference to an 8-bit cpu.

AWESOME OVERWHELMING!!!
Emulator or the real thing?
Or, of coarse, you can take the middle ground and hacks out a NES so your computer feeds directly.

I haven't yet saved up enough money to buy a flash cart, but I have friends with flash carts load my ROMs to double-check that it works on real hardware. I actually accidentally exposed a bug in the most accurate emulator, Nintendulator, with my first program, it was so bad...

We're going off-topic, but http://0xabad1dea.net/main/doku.php?id=retroprogramming and http://0xabad1dea.net/main/doku.php?id=chiptunes :>
Logged
ABadIdea likes bandfire opal, black opal, claro opal, crystal opal, fire opal, harlequin opal, jelly opal, levin opal, pinfire opal, precious fire opal, red flash opal, white opal, and microcline for its vibrant hue.

glory in the thunder, resplendent in the sky <-- I wrote a whole novel. There will be more.