Menu

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.

Show posts Menu

Messages - Zhentar

#406
Bugs / Re: [A14b] Animals disappearing
October 24, 2016, 05:07:00 PM
In this context, "wild" is based on the species, not the origin of any individual pawn. Pets and farm animals won't ever count, and other species always will count.
#407
Bugs / Re: [A14b] Animals disappearing
October 24, 2016, 10:29:39 AM
The game assumes that tamed wild animals are still participating in the ecosystem. This is working as designed.
#408
General Discussion / Re: Beer
October 23, 2016, 10:48:06 PM
Keep kibble or simple meals close to your beer, and animals will be less likely to drink it. They'll only drink beer if they are "desperate" because they can't find any real food (and they don't search particularly far for it).
#409
General Discussion / Re: Wierd heat problem
October 23, 2016, 09:47:08 PM
The reason why it behaves that way is that in the code, vents don't constantly transfer small amounts of heat; they occasionally transfer large amounts of heat, one at a time (in a consistent order). The hottest room has a vent that always takes heat out of the hallway immediately after the heater vent heated up the hallway, heating up that room the most; then the hallway is colder for the next vent, which then takes a bit more heat out of the hallway, and so on, until the very last room is left with a cold hallway. Then the hallway gets heated back up, and it goes through the whole round again.
#410
Outdated / [A15] [A16] Auto Flick Designation Sun Lamps
October 23, 2016, 01:01:21 AM
A16 Download Link: https://github.com/Zhentar/AutoFlicker/releases/download/v1.1/AutoFlicker.zip

A15 Download Link: https://drive.google.com/open?id=0B_iRcVI-TJMZb1JKenRzeTZyVmM

This mod adds an "Auto Flick" option to Sun Lamps and Switches. When enabled, they will automatically designate themselves to be flicked on in the morning (around 5:30, a little bit before plants finish resting), and to be flicked off at night (19:12, when plants start resting).

How is this mod different from other time of day switch mods? It aims to be a Vanilla-friendly micromanagement reduction. Because the actual flicking is still pawn performed, it does not give you any new capabilities or labor reductions that were not already available to a reasonably attentive player. But more importantly, because it is purely pawn powered (presumably using the same timekeeping device they use to follow work/rest schedules), it does not need to be research gated; it is available to your Tundra/Ice Sheet colony on Day 1.

Also, the flick designation is added via a CompProperty that could be used by other mods for other devices (and different hardcoded on/off times are supported).

License: MIT License
Source: https://github.com/Zhentar/AutoFlicker
#411
The vapor pressure of atmospheric CO2 is too low to actually form a solid; it will condense but immediately sublimate back into gas.

But to add another reference point, Coldest air temperature measured on Earth: -89.6°C

Lichens can survive extreme cold temperatures, but they still need the temperature to rise to at least 0°C before they can photosynthesize. The sort of biome you're asking for is Tundra, not ice sheet (which unfortunately does not simulate lichen appropriately, so it's still doesn't have the ecosystem you want in game).
#412
The algorithm is still the Vanilla A* algorithm, except that it will revisit closed nodes. I'm using the region system to create a high accuracy, low cost heuristic. There's actually nothing cached across pathfinding calls - I had planned to but the calculations turned out to be cheap enough that there's little need to.

The heuristic starts with an A* search (called Dijkstra in the code because I only recently added the heuristic to it) to traverse a RegionLink graph from the destination to the start, building a map of estimated costs for the regionlinks (using the octile distance between the centers of the regionlinks), and the cheapest regionlink for each region. Then, when calculating the heuristic cost for each cell, it just calculates the distance to the cheapest regionlink for the current region, and adds on the cost.
#413
General Discussion / Re: Strange Tempertures Variations
October 21, 2016, 11:54:53 PM
Heaters and vents affect the temperature of their rooms every 250 ticks, randomly distributed. One tick, the heater warms up the room it's in. Then a little while later, the bottom right vent ticks and warms up that bedroom. Then the top left vent ticks, then top right, and finally bottom left; the central room gets a fair bit colder each time so each connected room gets heated less than the one before.
#414
General Discussion / Re: Orbital trade beacon radius
October 21, 2016, 05:26:23 PM
Yes, it is. You would have to detour Building_OrbitalTradeBeacon.TradeableCellsAround to modify the radius.
#415
It's probably not possible with an XML mod, but distinguishing between tamed and wild animals in C# code is trivial.
#416
Oh, one other thing I should mention: tamed animals do respect forbidden items. So forbidding eggs you want to hatch will assure they are safely left alone, even if your animals have access to them and have nothing else to eat at all.
#417
General Discussion / Re: Curious performance
October 21, 2016, 01:36:44 PM
Let's see....

  • They were ever a colonist
  • They were ever a prisoner
  • Their corpse exists (includes graves)*
  • They are a Faction leader
  • They've been kidnapped
  • They are in a Tale (e.g. you traded with them, they shot your colonist, etc.)
  • They're directly related to another pawn
  • There's a 10% chance to keep live pawns just 'cause

*Obviously dead pawns aren't in the "pawnsalive" list. They also tick faster than live pawns.

Note that as the number of pawnsAlive increases, the odds of reusing a world pawn instead of generating a new pawn increases as well (capping out at an 80% chance at around 2,000 world pawns). You would need an enormous number of visitors to build up the list just from that. The direct relations should be self limiting for the same reason. Perhaps the Hospitality mod? I haven't tried it yet myself, so I don't know how high the number of visitors can get, but it seems like you'd need a constant stream to build up a huge pawnsAlive list.

Now, pawnsDead on the other hand... it looks like there's no garbage collection on the pawn relations. So if two siblings attack in a raid, get mowed down by turrets, then incinerated, they'll be kept around on the pawnsDead list solely because they're related to each other. Huge tribal raids could supply an awful lot of dead relatives.
#418
Quote from: Andy_Dandy on October 21, 2016, 08:30:02 AM
I don't think for instance Wargs eat any vegtables.

Yes, different species have different definitions of "edible".

I just took another look at the code. My memory was slightly off - animals do have a preference against eating fertilized eggs (in addition to beer and chocolate). But I also finally noticed what I was missing - animals only consider food that is in the same room as they are (and that they can see!). So it doesn't matter how much kibble you have, if it's not in the same room as the eggs; if they get hungry and eggs are the only thing in the room to eat, that's what they'll eat.

edit from the future: I was misreading the code; it does check other rooms for tamed animals. I'm gonna have to investigate animal food behavior further...

#419
General Discussion / Re: Curious performance
October 21, 2016, 12:03:29 PM
I would guess that it is caused by one of the mods. The base game tries to discard any pawns that aren't important when they leave the map. Or.... I wonder, were you breeding animals? You could generate a large number of pawns that aren't discarded due to relationships that way.

Either way, I'm surprised it made that much of a difference. The world pawn tick code doesn't look particularly expensive.
#420
Animals have no preference for different kinds of food (I think they're supposed to only drink beer if there's nothing else, but that's not the observed behavior). When they get hungry, they eat the closest edible thing. You have to use animal areas to keep them away from anything you don't want them to eat, although putting sleeping spots by the things you do want them to eat helps.