Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Saiko Kila

Pages: 1 ... 14 15 [16] 17 18 ... 119
226
DF General Discussion / Re: Took a few years off
« on: November 23, 2018, 05:18:19 am »
Hello, I was not really following the development process too closely during the recent say 3 years, can you please tell me:

1) How is the game scaling on modern CPUs? I have Core i5 8600K now, is the game still 32 bit single thread, or was there some effort to rewrite the code?

The faster single-threader, the faster the game. Scaling is almost 1:1 with the clock, and newer processors, which sometimes sacrifice clock speed for faster performance of newer commands (not used by DF at all), or for faster multithreading speed (more cores but slower), can suffer. This can be offset by faster memory controller or not, depends. Bigger cache also gives a boost, and faster memory too. You should have no problems with i5 8600 K at all, because it's one of the fastest single-threaders, unless you have low memory (you cannot really have SLOW memory).
So I suppose this site would be a help in choosing a CPU for a dwarf fortress player?
https://www.cpubenchmark.net/singleThread.html

I have an Intel i7-3770K which is at the 2,083 benchmark.  Since playing DF44.12 the game has been more stable and runs faster than any version of DF before.  Even with a 200+ dwarf fort on a 4x4 embark with a lot of livestock I was staying at 20FPS.  It would dip to 12FPS if one of those damnable buzzards spooked my livestock!

Last month I was actually messing around playing a fort in DF40.24 and I had performance issues and occasional crashes.

Yes, single-thread benchmarks are better than comparing clock speed, and the best kind of benchmark approximating performance in DF (apart from one specifically running DF) is single-thread integer tests. For example look at this comparison:
https://cpu.userbenchmark.com/Compare/Intel-Core-i7-3770K-vs-Intel-Core-i7-8700K/1317vs3937
At first 8700 K looks as if it was twice as fast, but scroll down to the Nice to Haves/SC Int (single-core integer speed), and 8700 K has only 23% lead there. Which would mean ~25 FPS over ~20 FPS. Which isn't that much, though of course every bit helps in bigger fortresses and in bigger worlds.

Technically DF also uses some floating point calculations, so you may look at mixed speed single core tests, but most of calculations are integers.

Number of dwarves and animals (plus visitors) is more important than overall size of the embark, but size starts to make difference when you dig deeper, and if you have more trees and such.

One note about the cpubenchmark (the one you quoted), the clocks they give is not the true clocks used in tests, but the ID string used by processor, which is rather base speed. Effective clock when using Turbo mode or similar would be higher. But the score stands.

As for crashing, the current version is better than these v.0.40xx, but still sometimes it can crash. Also sometimes I have issue in x64 version when there is a memory leak and all available memory is eaten (I have 16 GiB, so it's decidedly a leak), though it hasn't happened in the last few months.

227
DF Dwarf Mode Discussion / Re: Ethical vs. Practical
« on: November 23, 2018, 02:49:25 am »
I look at ethics from different perspective. If I see that a petitioner (merc, monster slayer, dancer, scholar or some such) has a wife or husband in my fort, I allow him or her even if I have population high enough. Also if this is an old widow looking for work I allow too, especially if close to death.

I see no ethical difference between dogs, cats and pigs, except cats are most annoying and dogs and other war-trainable animals are best used in the field. Fortunately cats have natural explorer abilities, so I throw a pair of them into caverns to explore, and replace when necessary. As for war-trainable animals, they are uncaged after becoming adults. This is a difference to other animals, which are caged after birth (unless grazers), and only several of them are kept outside.

By the way, despite using war animals, thanks to using trained military I don't really have much injuries amongst anyone. My war dog is more likely to die from old age than from battle wounds. Every year some of the dogs die of old age (I have 70 dogs at the moment), while rarely is one injured or killed in combat. I don't count dogs chained and used as bait (along with cats) outside, but even they are quite safe, once I've built drawbridge curtains around every chain area.

As for nobles, they don't act as true nobles (fortunately), so I'm nice to them. I do not have justice system, but they don't grumble. You have as noble nobles as you deserve (read: let them).

228
DF Gameplay Questions / Re: What is a "decent meal"?
« on: November 22, 2018, 03:08:42 pm »
The "mat" is an error: it should be "old_mat". There's another bug in the vicinity, however, causing the no part branch above to be incorrect as well.

Right.

Quote
Dorfs eat eggs from animal people, so why not milk/cheese? ;) However, I agree that ought to be changed.

Because it's gross ;) No, seriously I was more concerned that the item is described as camel's milk, but also because I don't see it can be obtained in any
meaningful way.

Quote
Vermin can be caught in vermin traps, and DF obviously generate preferences for eating vermin, but I haven't seen or heard of anyone catching and eating them except to stave off starvation. I don't know if dorfs with a preference for vermin can actually eat trapped vermin, though. If a dorf caught vermin to eat for a preference it shouldn't generate a bad thought though, as the dorf isn't forced to eat vermin.

There are vermin which can't be caught in traps, at least not in baited ones (there's a tag for it), and since some are in places not accessible to animal trappers, I think that these can't be really caught. An being non-fish, can't be bought.

Quote
The only vermin I know can be eaten "normally" is creepy crawler, which apparently can be slaughtered after being caught. I would expect that the non "fish" vermin that can be processed in other ways wouldn't leave any edible results, but I have never processed any.

I wonder what causes it. Maybe because it has no [NOT_BUTCHERABLE] tag.

Quote
I looked into the one humped camel man milk issue, and found it's common to all animal people that yield milk and cheese, namely that the product is named after the base creature, not the man variant. The bug tracker is unavailable at the moment, but I'll write a bug report later.

I noticed after changes that I had three dwarves with three different one-humped camel milk requirements. One of these was normal, another was from giant version, and third was from animal man, despite the same name. Talk about fussy eaters.

Quote
I tried to get the script to replace vermin, but ran into an unexpected problem: Not all the vermin fish that are edible according to the wiki Vermin page have the VERMIN_FISH flag set. The set of any_vermin and CASTE_MUST_BREATH_WATER includes Moon Snail but excludes Lungfish and Pond Turtle.

It think the [FISHITEM] is what causes vermin to be available both in stocks category (as fish), and in trade. It is available in caste flags, I'm not sure if also in general race flags. Since this tag is related specifically to their edibility, I would say it is a good choice for tests. Quite possible it's also the tag which creates this general (no specific part) food preference in the dwarves.

229
DF Adventure Mode Discussion / Re: How to become Overpowered: A Guide
« on: November 22, 2018, 02:22:53 pm »
9.) If you have a necromancer tower in your world go to it, dont attack the zombies. Becuase youre undead, the zombies will not attack you. Feel free to murder the necromancers though. Then take their demon book and learn to make zombos then leave.

10.) Your stats are now almost broken. With the bonus of your vamparism which doubles your stats, and if you became a necromancer, another double. Your stats are now quadrupled. Then find a dwarven fortress or a place with LOTS of villagers, then kill about 300 or more. Then go slay a megabeast or two

I don't think these two stand in unmodded game.

Point nine: the zombies won't attack you, unless you are enemy to them, for example because you attacked necromancer. If they don't attack you while being enemies, then it's a bug/glitch. In fact it's easier to become friendly with the necromancers than with zombies after that. This is also true if you come from civilisation which is in war with the particular tower (for example because you previously fought it in fortress mode), then you don't even have to attack anyone as adventurer, they will be hostile, at least zombies.

Point ten: necromancer doesn't give any abilities boost in vanilla game. If you had STR 1300 before becoming vampire, you have effective STR 2600, but it remains at that level if you become necromancer. You can train it, but won't get an instant boost. The only reason to become necromancer at this point is probably to have a reanimate spell, to cover you tracks while retreating or for fun. I don't think that necromancer has anything over vampire in terms of advantages, beyond that spell.

Last time I checked both on the same adventurer it was in v0.44.12 (current version of DF), though the world was created in v0.44.10.

230
DF Dwarf Mode Discussion / Re: What's going on in your fort?
« on: November 22, 2018, 07:43:40 am »
Sad fate of Olon the Scholar.

 About a year and half earlier, a human decided to visit my fortress. After a few steps he changed his plan and form to that of a weresheep. It passed the gates before they were closed, so I ordered a squad to take care of it. Ultimately only one soldier was interested in handling the foe, the rest of them took position that one is more than enough. The beast was near entrance when a civilian engaged it, a naturalised elf dancer. Before my soldier arrived, the civilian was cruelly dismembered and strangled. My soldier, formally a wrestler, but really a very pissed miner, pursued the sheep, and was exchanging blows, blocking or dodging his way, and hacking the monster to pieces. Slowly. When the beast was near death one dwarf scholar named Olon decided to help, gods know why. And he ultimately stole the kill, by punching it right before it bled to death. I wasn't happy, my soldier probably too. Of course, the scholar was bit by the weresheep, but shortly after the incident he decided to leave the premises. I took a note of him, expecting to hear more in the future.

 This came 15 months later, when the werebeast showed up. It was a weresheep, so seemed familiar - it was indeed Olon the Scholar. He was too close to the gates to be closed in time I thought but I didn't even try, knowing that the dog will occupy it for a while, and ordered a squad to attack. Again, they were too blasé for pack hunting and designated only one representative. This time it was a legendary mace lord with a bronze morningstar who caught the beast still near the gate (actually beyond) because it decided to pursue some human visitor, so I could just really close it if I wanted. Also, the fight was much shorter. Two or three from the morningstar shots maybe? The werebeast was able to kill the pursued human before that, so I can't say it was completely victim-less victory.

 I have checked if Olon had other kills in the meantime. No, he had only two to his account - the human bard now, and the same weresheep monster who gave him the curse to begin with, 15 months before. Kind of ironic, but that's how these curses work. Now, if I could ask him one question it would be "Was it worth it"? I mean the kill steal incident. It probably gave him a short lived fame, but was it really worth it?


On a side note, I made an archive save for some tests and repeats when the test come, and concluded that the silver vulnerability of this beast means not much - legendary silver warhammer was just scratching it, and it would be hard to say that it was supposedly 20x stronger than blows from other weapons.

231
DF Gameplay Questions / Re: What is a "decent meal"?
« on: November 22, 2018, 06:12:04 am »
It seems it works in newer games. But I have issue in older games, imported from v0.40.06 (but run in 0.44.12). It gives an error "attempt to index a nil value (global 'mat')" in line
Code: [Select]
old_str =  mat.material.prefix .. " " .. mat.material.state_name.Solid Is this "mat" declared at all?

Also regarding the changes: one of them was logged as:
Replacing unavailable bumblebee royal jelly with one-humped camel's milk on `MERC Hode /' Siegeplunged
However, the milk is actually from one-humped camel man... :)

I was also thinking more generally about replacements like of worm's gut by gut, or fly's brain by fly. Are creatures like these available as food normally in any way? I mean a dwarf can eat them if very hungry and has no other choice I believe (and has to catch them, and the mood change is probably negative), but how to make him eat them under normal circumstances? They can't be butchered, they can't be used as a part of roast, I don't think they can't be obtained other than by trade - but I'm not sure if it's in the form allowing eating (the are live).

I think that only aquatic vermin are obtained in a way allowing eating them (either from trade or from fishing, after preparing)? The only others are maybe purring maggots, moghoppers and various spiders, which are killed after extraction, but I don't remember last time I saw it, so don't know if they are edible (in the same state as prepared vermin fish), or just remains to be thrown away.

232
DF Dwarf Mode Discussion / Re: Face Palm moments you had
« on: November 21, 2018, 04:07:45 pm »
No goblins at all? That means some genocide. I wonder who did it - humans or elves.

Anyway, the most dangerous goblins are those past their expiration date. They may still be there somewhere.

233
DF Dwarf Mode Discussion / Re: Fortress full of vomit?
« on: November 21, 2018, 04:03:42 pm »
According to the combat report my poor hauler has bruised guts along with torn fat and muscle in various places. The attack was very recent, within the season I think. The guy has nothing on his diagnosis page, so I popped over to the hospital and realized I couldn't find my diagnostician. I know he was around before the attack, so I think it's safe to assume he was killed during the chaos and nobody's found the body yet. Can't believe I didn't notice until now. I'll assign a new one and see if this poor dwarf can't get some medical attention.

All bodies should be visible in the stocks menu (corpses). I'm not sure if it doesn't require max bookkeeper accuracy, but this should be set anyway. I always look at the stocks screen after battles and in the beginning of the year, because died animals in cages and dwarves away from high traffic areas won't be found too quickly. On the other hand if you do have coffins installed and set to accept citizens, the diagnostician can be already inferred in one of these.

As for the potential werebeastman, if he wasn't bitten he isn't infected (for example if the werebeast used claws), but if he was bitten, then fun awaits. And more vomit, probably.

234
DF General Discussion / Re: Took a few years off
« on: November 21, 2018, 01:52:07 pm »
Hello, I was not really following the development process too closely during the recent say 3 years, can you please tell me:

1) How is the game scaling on modern CPUs? I have Core i5 8600K now, is the game still 32 bit single thread, or was there some effort to rewrite the code?

The faster single-threader, the faster the game. Scaling is almost 1:1 with the clock, and newer processors, which sometimes sacrifice clock speed for faster performance of newer commands (not used by DF at all), or for faster multithreading speed (more cores but slower), can suffer. This can be offset by faster memory controller or not, depends. Bigger cache also gives a boost, and faster memory too. You should have no problems with i5 8600 K at all, because it's one of the fastest single-threaders, unless you have low memory (you cannot really have SLOW memory).

235
DF Gameplay Questions / Re: What is a "decent meal"?
« on: November 21, 2018, 08:01:36 am »
Allright, I'll try with changes. Also I removed a follow up answer,  where I've seen such things like replacing cow, pig, alpaca and sheep milk and cheese (but not from other animals), and also one instance of replacing available milk with unavailable booze. But this was with this flawed copy of your script, so maybe it was caused by these "printing errors".

OK, I've found an issue, but it is very rare. Sometimes I need a few thousand dwarves to run before it happens. It terminates the script with "attempt to index a number value (field '?')", which always happens in one of
Code: [Select]
preference.item_subtype = edible [rng_number].subtype lines. There are some of these, and I had the error in three of them. Last time it was when trying to replace something with phantom spider, and it was when "Replacing unbutcherable".

236
DF Gameplay Questions / Re: What is a "decent meal"?
« on: November 20, 2018, 06:25:42 pm »
Regarding the first script, the one http://www.bay12forums.com/smf/index.php?topic=172335.msg7888383#msg7888383
I've spent more time with testing it. First technical, the script is a quote not a "code", needs to be copied, and since some lines are too long for my web browserI had to edit it to prevent related errors. Not a big deal if someone knows Lua commenting style, but there it is. Second technical was I had to change
Spoiler (click to show/hide)
because new_str is treated as userdata data type, not as a string and it throws an error.
Third technical was I had to change lines
Spoiler (click to show/hide)
I suppose this is how it was intended, but I note it in case it causes some funny things.

Now about the workings, the actual working and changes to dwarves. During first pass it caused some changes, for instance
  IMPOSSIBLE bumblebee mead [bumblebee]
  to
  dwarven milk [purring maggot]
You may say that it's changing something impossible to something theoretically possible, so it's theoretically fine, but it also does change alcohol into non-alcohol. Now I don't know if it at all matters to the dwarf to have one alcohol, but sans the one hillock generated imigrant (which was created by the game de novo, like seven initital dwarves) all people do have one alcohol preference, and sometimes (often, I would say) it's the only food preference they have. So I think it would be good after change to still have one alcohol (or two).

Another change was
  TOO SMALL desert tortoise gizzard tissue [desert tortoise]
  to
  donkey stomach tissue [donkey]
which was OK, but after I ran the script second time (because there were still two impossible foods) this happened
  donkey stomach tissue [donkey]
  to
  giant slug liver tissue
Hm. Only reason I can think of is some residual cache of Lua, a problem which I also run into sometimes with my scripts, when they can reuse a variable between different runs (instead of having it reinitialised/cleared). So in this cases the variable needs to be cleared explicitly or something. Not that big deal overall, but something which can surprise an user.

However, third weird change I noticed was harder to explain:
  cow cheese [cow]
  to
  UNAVAILABLE roc muscle [roc]
It was on the first run. This was changed again in the second run:
  UNAVAILABLE roc muscle [roc]
  to
  hippo heart tissue
Which is OK. But why change the perfectly fine cheese to roc meat in the first place?

There was similar issue with other dwarf:
  penguin muscle [penguin]
  to
  UNAVAILABLE giant damselfly stomach tissue [giant damselfly]
which in second run was repaired with this change:
  UNAVAILABLE giant damselfly stomach tissue [giant damselfly]
  to
  giant hedgehog pancreatic tissue
There were of course many other changes (I ran it on fortress of 160 people), but these struck me as somewhat strange. You may keep an eye on cases like this.

----------

Regarding the second script, the booze cooker, this is first time I ran it, so I didn't fully know what to expect. First a technical: it throws an error (or rather warning) of "take_stock encountered unexpected LIQUID_MISC material mode: inorganic          0       33", which is caused by milk of lime. I added lines         
Code: [Select]
elseif i == "liquid_misc" and
               material.mode == "inorganic" then
in appropriate place, and the error disappeared.
      
            
As for the working, it seems it is working. I'm not quite accustomed to reading scripts of other people, this is the third dfhack script I read (other than mine own), so I don't fully understand what it is doing yet, but apart from one error once (it was expecting integer in line "job.job_items [l].item_type = df.item_type [vector [categor_iterator]]", I don't know why it wasn't getting an integer), it creates up to three jobs per kitchen, with seemingly preference for powder (flour) in the first three, but maybe it's because they are the freshest thing.

237
DF Dwarf Mode Discussion / Re: Uh-Oh - Vampire?
« on: November 19, 2018, 04:56:15 pm »
Yes, mosquito attacks draw blood but do not reset the vampirism counter. But even if they were able, that wouldn't amount to much - single attack from mosquito guy draws less blood than one tick of vampire drinking (so about one minute, and vampires drink at least ~2 hours). I've seen such attacks able to bleed people only in modded creatures. Even vampiric Forgotten Beasts in vanilla suck more.

As for big animal men, I know them only from adventurer mode. The biggest vampire I had was grizzly bear man, and he was sucking the same amount as a dwarf. But fortress mode is handled differently, so it would require testing.

238
DF Dwarf Mode Discussion / Re: Necromancer just... leaves?
« on: November 19, 2018, 10:51:23 am »
Next time save the game the necromancer is still there, or better when the siege is just announced, someone will look at the save.

There are two kinds of necromancers, even from the same tower - one is associated with sieges, the other (sneaking about) is formally not. These two kinds can come at the same time. Since changing siege ID of besieging unit to ID of former sieges forces it to abandon the siege, and necromancers are already known to have wonky siege IDs it is possible that the game assigns ID wrongly, which forces the unit to break siege and flee immediately after showing up. If the breaking unit is a leader of some other units (like often a troll leads several other trolls, or a gobbo officer leads a pack of other gobbos), then all these units also break the siege. In a small siege it is possible that only one leader is there, and he can break the whole siege on himself.

So it would be interesting to see if the problem is with the siege proper, or with the units and their siege ID, or something else.

239
DF Dwarf Mode Discussion / Re: Uh-Oh - Vampire?
« on: November 18, 2018, 10:09:24 am »
elephant men then? also, thats a lot of usefull insight you have there! do you know if the amount a vampire drinks is somehow related to the vampire's size? so, would a human vampire drink more blood than a dwarven one?

I don't think it is related to vampire's size, because it is partly random. The same vampire can drink different amounts when save-scummin, even from the same victim, and the difference can be bigger than the difference between humans and dwarves. However, I was testing only dwarven vampires, and also dwarven victims (not intentionally, most of my people are dwarves).

As a side note, if the victim is still alive, it never wakes up, because vampires prevent their victims from waking as long as they are drinking, and at least 6 hours after they've stopped.

240
DF Dwarf Mode Discussion / Re: Uh-Oh - Vampire?
« on: November 18, 2018, 06:32:05 am »
^ does this mean a very large dwarf, or maybe a human, can serve as an indefinit food supply for my vamp fort?

Not practically, because there are no humans big enough. When a vampire drinks, it usually takes somewhere between 5 and 15 litres of blood equivalent (if possible, i.e. the victim is still alive). If it takes close to the low bound of this range, the dwarf or human survives (except children and already bled ones, who have not enough blood). But next time the victim may be not so lucky and the vampire wants more than the victim holds. Also blood is refilled quite slowly, so if you have two vampires, the victim may survive first, but not the second.

Vampire doesn't need as much blood (it requires about 4.2 litres to sate every 3 months, unless hasn't feed for more than 3 months), but is just wasteful.

Pages: 1 ... 14 15 [16] 17 18 ... 119