Bay 12 Games Forum

Please login or register.

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

Author Topic: Massive FPS issue that was not present in 0.34  (Read 7660 times)

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #15 on: September 23, 2016, 09:21:21 pm »

Visually, snow can also make it really obvious.

But I primarily used dfhack's probe tool. Different region id and biome ids are good but not perfect indicators, though different temperatures, savagery and evil are similarly good ones.

In my above case, I only had swamps as untamed wilds, so it made it easy (telling the difference between temperate and tropical joyous grasslands though, not so easy - mini-map checking for being present on ground + reveal/farm plotting required for exact coordinates).

Did confirm with farm plot, though. Often still absolutely necessary, given biomes can pop 50-square part of them a region away, thus giving plants of a biome not present at any of the four map edges or suggested by even a 16x16 rectangle pre-embark.

Given it's massively easier to get a biome by shearing, it has potential for biomes where you don't care about trees (got two of those 4+air in 1x1, sadly both need rejection to generate).

In particular, tundra is the only biome (untested glacier) I've changed from previous one without changing the underlying geographyand not always, which provides for polar bears and freezer siege traps with still liquid surface water.

Note that, like on land, you can have several biomes shear into same airspace. However, the highest levels tend to be of 1 biome.
« Last Edit: September 23, 2016, 10:13:09 pm by Fleeting Frames »
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #16 on: September 24, 2016, 02:59:08 am »

Thanks.
I wonder if it's possible to copy and modify the probe tool to scour the embark for you and spit out some kind of results (or even just an ugly list)? Maybe something to look into in a few months when DFHack has caught up with DF.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #17 on: September 24, 2016, 04:44:13 am »

Don't see why not - heck, could even output colored bbcode - although I lack the lua and dfhack know-how. Using gui/gm-editor on biome ids can also get to know what it refers to, I think...Though given the above overlap, not sure what parameter to use even if I remembered how.

A different approach could be to expand the size of the vanilla minimap, perhaps, though that wouldn't work on air shears (nevertheless, it's still very useful for telling different symbol/color biomes at glance even now).

Libash_Thunderhead

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #18 on: September 24, 2016, 05:27:03 am »

Question: If you build floors up to map edge in mid-air where the built location has different sheared biome than ground, can animals of belonging to the biome enter the map on top of said construction? (In my case, freshwater swamp.)
Haven't tried recently, but I tried building a roof that covered the entire map in 40.24, animals just spawned on top of it.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #19 on: September 24, 2016, 06:42:51 am »

Question: If you build floors up to map edge in mid-air where the built location has different sheared biome than ground, can animals of belonging to the biome enter the map on top of said construction? (In my case, freshwater swamp.)
Haven't tried recently, but I tried building a roof that covered the entire map in 40.24, animals just spawned on top of it.
And Fleeting Frames said he tried it and it worked...
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #20 on: September 24, 2016, 08:07:26 am »

The difference was that I abandoned and then reclaimed before testing :v

Can just retest without that, ofc.

EDIT: Retest without abandon+reclaim had a giant slug walking in. They're [NOT_FREEZING], not swamp, but they're NOT flying.


Version 43.03, btw.
« Last Edit: September 24, 2016, 08:42:04 am by Fleeting Frames »
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #21 on: September 24, 2016, 04:52:44 pm »

I've started dabbling with scripts and looked at Fleeting Frames' 5 biome embark. It seems the lua script fails to get valid info out of the two 16*16 tiles where the biome shearing happens when they happen. Probe does get info there, however, and as far as I can see (with the world generated in 0.43.03), there are actually 3 additional biomes sheared in, numbers 25, 27, and 29. In addition to that, they only break in on some levels, but not all of them, and I do get info out of the levels with the normal expected biome.
It can also be noted that while biome boundaries probably do not follow the 16*16 tile grid, data failure does.
I have only probed sample points within the biome shearing tiles, so potentially there could be more oddities hidden.

Based on this giant sample of 1, it seems you can detect shearing with a lua script and then use "probe" to probe it further.

Edit: I was wrong, only 2 additional biomes are sheared in, as 25 is one of the surface ones.

However, comparing the pre embark info with the embark gives another discrepancy.
The pre embark info stated:
X = Tropical Freshwater Swamp, Untamed Wilds
Y = Tropical Grassland, Joyous Wilds
Z = Tropical Savanna, Joyous Wilds

XX
ZY

However, the lower left corner is actually Terrifying, not Joyous Winds.
« Last Edit: September 25, 2016, 03:11:43 am by PatrikLundell »
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #22 on: September 25, 2016, 03:55:16 am »

On that map, in addition to the sheared in Terrifying Dry Broadleaf (from the region tile to the W) and Temperate Savanna to the NE, minimap also suggest some untamed grasslands around a pool on the ground level (biomes 3-16 and 5-16, as well as 2-16 laying west to wagon). However, they're all swamps.

Goes without saying that when things look exactly alike underground to reveal for all layers and on minimap, noticing materially different biomes is a pain - though one time I found it by using getplants on cucumbers (yet another reason to let herbalists harvest while you're digging out first rooms).

PS: The above tests I did were done on two different and superior if incomplete 43.03 maps :v

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #23 on: September 25, 2016, 05:45:31 am »

I can't make neither head or tail out of the first biome number, as it paints patterns within 16*16 tiles that end abruptly at the borders. The pattern is the same from the ground down, though, while it seems to be 0 above ground.

Unfortunately, the structure the Probe command uses doesn't seem to be accessible from lua: I've found the top one, but then the next field I want to access (world_data) is nil (while other fields are populated). The data item containing the biome parameters (rainfall, etc) is the one that returns a null pointer on sheared tiles when you try to read it using the lua method.
It should, however, be possible to collect the data for the surface and create a crude biome map based on the wiki's biome description (which misses the one oddball, tropical dry broadleaf, I think it was).
Given my non existent gui knowledge, that "map" would consist of characters symbolizing the biomes as a 2*2 matrix in the DFHack window itself. I'll make an attempt to see what happens.

The quality of the map doesn't really matter for the hacking I do, since I don't intend to actually use it as anything other than test bed. And I routinely send everyone except the miners and the wood cutter to collect all plants initially as well, b.t.w.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #24 on: September 25, 2016, 06:21:12 am »

Regarding abrupt-ending border-painting, something that might be related is how sometimes I find a soil layer that is only partial aquifer - if you go around the minimap with 1x1 embark square, you can find in same biome area with and without aquifer. Using reveal and dig designation shows that the aquifer starts from a straight horizontal or vertical line (in a 48x48 grid) and then floodfills the soil layer of that soil type on that z-level. Not an interface artefact either, as I've confirmed it actually behaving like that with digging.

Also, note that some biome numbers are for clouds, according to gui/gm-editor.

My use of farm plots to confirm the differences has a failure point as well, being unable to tell the difference between temperate shrubland and savanna or tundra and taiga, for instance. If probe command output latitude/rainfall/drainage in addition to temperature, I'd go by that, but even then the single-tile checking + doing marked dig designation for biome boundaries is a pain on ground, and impossible in mid-air (without using liquids plugin to paint some obsidian floor first).

(Though taiga/tundra you can tell by minimap if on ground since one is forested biome.)

....Hey, it occurs to me that your PALU2 embark map probably has different biome shearing into the sky as well for some curious wildlife/planting.

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #25 on: September 25, 2016, 08:55:59 am »

The region concept is slightly odd, though, since a single biome region can contain a large number of different actual biomes, as long as they're generally of the same type. My world painter experiments resulted in all the forested areas of the elven lands being a single biome, despite having vastly different temperature and drainage, as well as varying rainfall, resulting in all normal forest types within a single biome region. Since all of it is a single region, all of it gets the same evilness rating.

How do you find biome info via gui/gm-editor? I've "only" managed to invoke it on creatures and objects, not geography. And, while asking, which convoluted data path did you follow to get the info?

Anyway, I've managed to hack together a script that describes the surface biomes of your embark as a colored character matrix output into the dfhack command window (which needs to be enlarged to avoid wrap arounds), where the color represents evilness+savagery and the characters represent the biomes (which do not quite match the ones used natively in DF, as the documentation describes brackish mash and hilly savanna, for instance). It currently doesn't capture water (such as pools) except ocean (not tested, should work...), and as yet it's hard coded to your embark dimensions and the ground level. It should be reasonably easy to generalize it as well as providing a shear detector that can indicate where shear exists.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #26 on: September 25, 2016, 10:47:14 am »

Searched for gm-editor in the dfhack's 300 pages iirc, then typed it into dfhack to use on the appropriate data structure. Something like df.world.biome.[9]....Pretty sure that isn't right though - 'tis was a while ago.

Ditched it from my list of considerations it at the time since it didn't seem to give any meaningful data for single cases any faster than just building a farm plot.

Nonetheless, that sounds great. My own dreams of such a script are more about applying something visible in df, but the problem with using designations for it - well, see above on air.

Hm...Maybe notes? Also gets around the 7/14 limit.

Though a colored output would be less painful to look at than notes, I think.

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #27 on: September 25, 2016, 01:12:37 pm »

Ah, I didn't realize you could invoke gui/gm-editor with a structure! Unfortunately, it seems the world_data pointer (in df.world) used by Probe is null when viewed by gm-editor as well.

Edit: The display script seems to be working (mostly). Since it uses temperature to determine biome it fails to identify cold tropical biomes, etc.

Spoiler (click to show/hide)

Edit 2:
And a primitive shearing detector:
Spoiler (click to show/hide)
« Last Edit: September 25, 2016, 03:08:51 pm by PatrikLundell »
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #28 on: September 26, 2016, 12:49:24 am »

Regarding that legend, there isn't brackish Swamp/Marsh to the best of my knowledge - right next to ocean, it is saltwater (mangrove, if sufficiently low-drainage - think it was 9 or 4, somewhere in PWDF thread) swamp, 1 tile away it is freshwater. Wiki doesn't list those either, brackish only going for water bodies.

So can use just lowercase/capital for those.

...Also, Dry Broadleaf is latitude-dependent and happens only in a 127ns or 257ns world with poles, so it's kinda an oddball case. (Reminds me of my thought of adding latitudes for biomes in the wiki. Ah, got pushed off though...Kinda of an annoying case to check each map 3 times due rounding and different biomes having different cutoffs)

Still, even with that, trying showbiomes.lua....Impressive nonetheless, and that temperate/tropical distinguishing can be gained back by changing tropical biomes to have hotter temps and only once geography is selected turn them to freezing.

Trying showshear.lua... Level 25-30? I guess the embark is 30z fat. I know right now that airspace has atm 1 swamp, 1 tundra and 2 unknown joyous wilds shears (none present at ground level). Seems like it picks the tundra for + and everything else for *.

Trying on another map....Weird, it seems to fail to detect untamed swamp/unknown joyous wilds difference in pluses, possibly because of being present at ground level?

Nonetheless, very quick to check.

EDIT: For instance, using showshear for inspection, I have discovered that changing distant elevations from 200 to 201 can keep local biome map the same while making the airspace change.
« Last Edit: September 26, 2016, 02:20:13 am by Fleeting Frames »
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Massive FPS issue that was not present in 0.34
« Reply #29 on: September 26, 2016, 03:00:02 am »

Thanks for trying it out. If it has any use it's a success from my perspective.

Brackish is described on the biome wiki page as having a salinity of 33-65. Mangrove is a saltwater swamp with a drain <10.

I know Tropical Dry Broadleaf is latitude dependent, but how do you know whether you get that or Tropical Moist Broadleaf instead? At a guess, rainfall determines which one you get, but I don't have the info (I assume it shouldn't be too hard to check for pole, and you can probably compute latitude.

Levels 25-30 should be the air ones, so your embark is probably fairly shallow. In the embark in your world I've primarily used for testing the shearing of biome 25, which also was present on the surface, did not fail to retrieve the data, presumably because the biome had to be available for its usage on the ground, so shearing of biomes that exists "legally"elsewhere is not detected by that method. I may try to replace plus signs with something else to depict the biome number (the number itself can't be used as it's generally two digits).

If I understand your edit correctly, you changed the world by modifying a distant tile, regenerated, and reembarked?

I've found a way to handle lakes, and I've fixed a bug with streams and brooks, but it's still far from perfect. If you were to check an embark where you've dug a strip mine below the ocean level is should show that area as ocean, for instance.

Updated showbiomes:
Spoiler (click to show/hide)
Logged
Pages: 1 [2] 3 4