Bay 12 Games Forum

Please login or register.

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

Author Topic: anyone ever survive indefinitely?  (Read 6004 times)

vjek

  • Bay Watcher
  • If it didn't work, change the world so it does.
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #15 on: June 21, 2013, 06:35:01 pm »

The fort of 400 Dwarves

Have a look see for yourself, it's possible!

This is a vanilla 34.11 fort with 400 dwarves. To keep the fort alive, there are a bunch of legendary farmers, but other than that, the rest are peasants.
There are no other races in this world, but if you breach the caverns, you'd find plenty of enemies and Forgotten Beasts.

On a 3.4Ghz i7, I get an average of 188 FPS with this fort, and DF uses ~250MB of RAM.

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #16 on: June 21, 2013, 06:40:04 pm »

I tend to create elaborate surface constructions, because I hate having to deal with vomit, and like windows.

It is the 20,000 stone blocks that induce the FPS death.  Again, SMP would alleviate this burden, since inanimate items in the array don't make pathing decisions, and resorting that array can safely be done in another thread because of this.

Logged

Urist Da Vinci

  • Bay Watcher
  • [NATURAL_SKILL: ENGINEER:4]
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #17 on: June 21, 2013, 07:52:04 pm »

The real enemies are boredom and FPS. Walling yourself in isn't too hard. You can also have a vampire locked in a 1x1 wall somewhere, and you'll survive nearly forever (ghosts)

Caged stark raving mad vampire, where the cage is walled up somewhere, is immune to ghosts and provides literally indefinite fort life.

paldin

  • Bay Watcher
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #18 on: June 27, 2013, 03:13:04 pm »

(Have 2.8ghz (had to underclock due to case heat buildup issues, despite loading the case with fans) i7, with 12gb ram in the living room. 8 cores baby. It's a space heater! I still get FPS death.)
Off topic, so spoiler tag.
Spoiler (click to show/hide)

Surviving indefinitely only requires you to sustain producing enough raw materials to keep all the negative thoughts down. I was experimenting with creating a vault (ala Fallout) type fort, where the only way in would be walled up as soon as able, and my only concern was getting to the cavern layer (release cavern spores) and figuring out how to deal with migrants. The idea being that dwarfs only gain negative thoughts when friends die of unnatural causesverify but not when they die of old age. So all I needed was to keep them fed, clothed and drunk and then friendships would produce enough happy thoughts to keep things going. I've also decided to only embark to terrifying biomes because:
Spoiler (click to show/hide)
Since I don't intend on fighting, military skills and equipment at embark is fruitless; but that also means I haven't managed to get very far in my hermetic quest.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #19 on: June 27, 2013, 03:28:48 pm »

[OT reply]

Spoiler (click to show/hide)
« Last Edit: June 27, 2013, 03:54:33 pm by wierd »
Logged

Telgin

  • Bay Watcher
  • Professional Programmer
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #20 on: June 27, 2013, 04:13:31 pm »

I tend to create elaborate surface constructions, because I hate having to deal with vomit, and like windows.

It is the 20,000 stone blocks that induce the FPS death.  Again, SMP would alleviate this burden, since inanimate items in the array don't make pathing decisions, and resorting that array can safely be done in another thread because of this.

20,000 blocks inside constructions?  I believe several posters have indicated that these don't contribute in any meaningful manner to FPS.  I'm guessing the game flags them and skips them for most calculations.
Logged
Through pain, I find wisdom.

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #21 on: June 27, 2013, 04:22:43 pm »

Trust me, stone blocks eat into the item register array. Subsequent queries of the item array take longer and longer the more items are in it, dropping the FPS.
Logged

VerdantSF

  • Bay Watcher
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #22 on: June 27, 2013, 04:30:51 pm »

 :(.  I'd like to get started on a megaconstruction, but not if all those block spell FPS doom for my fortress.

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #23 on: June 27, 2013, 04:40:28 pm »

Non-constructed, and non_engraved walls don't behave as "items", so they don't cause the FPS penalty.  You can still create a massive megaproject, just use cast obsidian casons, and then tunnel them out. Dispose of the retaining walls used to cast the casons via deconstruction and dumping of the blocks into the magma source.

Logged

Telgin

  • Bay Watcher
  • Professional Programmer
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #24 on: June 27, 2013, 06:01:07 pm »

Trust me, stone blocks eat into the item register array. Subsequent queries of the item array take longer and longer the more items are in it, dropping the FPS.

Oh, certainly.  If nothing else the game still has to traverse every item in the list, even if it skips it immediately.  However, Quietust wrote a DFHack plugin that removed all items in constructions and marked constructions to reproduce the items when removed.  Effectively, the items are completely gone from the item vector at that point.  He said it had no discernible impact on FPS.  I'm sure there was some, but probably minimal.

That was for an older version of the game though (40d I believe), and it's possible that other aspects just dominated the FPS so it wasn't noticeable.
Logged
Through pain, I find wisdom.

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #25 on: June 27, 2013, 06:14:31 pm »

As linked to earlier in the "what causes FPS death?" Thread, NWKohaku did a very exhaustive investigation of the impact of the item register becoming large.

The conclusion drawn was that when the item register reaches around 100,000 members, FPS death occurs. This includes other items, such as trade goods, pots, barrels, furniture, etc, and not just stone blocks.  20,000 stone blocks is 1/5 of that sum. I support the findings, as ever time I have started approaching that mark, my FPS makes a tremendous dive for the worse.

Keeping items out of the array, or removing them from the array has a mitigating effect on the problem. (Eg, turning stone boulders into cabochons, then engraving other goods with them destroys the cabochons as discrete items, but retains/improves the networth.) Carved rooms aren't composed of items, like a constructed room is. For this reason alone, you can have a much larger carved stone megaproject than a constructed stone block one.

It is also dwarfier to magma cast the megaproject anyway. :D
Logged

guessingo

  • Bay Watcher
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #26 on: July 03, 2013, 11:56:02 am »

has toady improved performance with new releases or has the performance improvements strictly been from better CPUs?
in this kind of game is there anyway to offload some of these calculations to the GPU even though the game doesn't use much graphics?
with multi-core processes is it possible for Toady to use threading? or instead of 1 big array break up into multiple arrays and then spawn multiple threads to process them? I understand that coding this would be very difficult. not sure if its unrealistic.

just curious. As he adds more stuff to the simulation, I am wondering if there will be hardware to keep up with it. I know cpus get better over time, but the mold lately is more CPUs, more memory, and offloading graphics processing to GPU. clock speed has been relatively static for 10 years.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #27 on: July 03, 2013, 12:00:17 pm »

From what I am seeing looking at dwarf attribute data, he could get a very profound increase in performance just by changing variable types, and changing how he handles his data, execution wise.

He seems to make heavy use of logic operators, and less on math operators. This means he cant really leverage the strong floating point capabilities of the stream and shader processors in GPUs, nor even really make good effective use of SSE or FPU capabilities of the CPU!

(A logic decision is profoundly more computationally expensive than a math operation!)
Logged

Kofthefens

  • Bay Watcher
  • Keep calm and OH GOD CAPYBARAS
    • View Profile
    • Marshland Games
Re: anyone ever survive indefinitely?
« Reply #28 on: July 03, 2013, 06:22:13 pm »

(A logic decision is profoundly more computationally expensive than a math operation!)

Why is this? I would have expected using a bool to be extremely fast.
Logged
I don't care about your indigestion-- How are you is a greeting, not a question.

The epic of Îton Sákrith
The Chronicles of HammerBlaze
My website - Free games

ORCACommander

  • Bay Watcher
  • [ETHIC:TORTURE_ELVES: PERSONAL_MATTER]
    • View Profile
Re: anyone ever survive indefinitely?
« Reply #29 on: July 03, 2013, 09:03:59 pm »

if statements require a lot of effort to cycle through and can be a lot more verbose than say an equation used render the engine trails of a of a starfighter


edit: koff is your avatar a fractal?
Logged
Pages: 1 [2] 3