Frequently asked questions
Straight answers, including the ones that aren't flattering. If yours isn't here, ask on GitHub.
The basics
What does it do, in one sentence?
Once a day, it moves adult beavers between the existing beds so the colony's total walk to work is as short as possible.
How often does it run, and how long does a pass take?
The first pass starts as soon as the game runs on a save the mod hasn't seen. After that, a pass runs at the start of every in-game day. On a colony of a few hundred beavers, a pass takes about 150 to 200 ticks: roughly 90 seconds to two minutes at normal speed.
Moves are applied when a pass ends, which can be at any time of day. Beavers walk to their new home the next time they go home.
Does it have settings?
No. There is no menu and nothing to set. The tuning constants are in the source for people who rebuild the mod; see DEVELOPING.md.
What is a "move cycle"?
A group of beavers who each take the next one's bed, like A→B→C→A. Every home in it keeps as many adults as it had. A cycle is applied all at once, or not at all if anything in it has changed; a two-beaver swap is the smallest.
How it decides
What does "shortest" mean here?
The game's own route cost from home to the beaver's assigned workplace, so stairs, platforms and ziplines count. Each workplace prices its 32 nearest homes in its district; farther ones are estimated. Every move is priced again with a fresh route before it happens.
Why didn't a particular beaver move?
- It is already in the best place the total allows. Someone else needed that bed more.
- Moving wouldn't be worth it. A rearrangement has to save at least one route-cost unit for each beaver it moves, so the colony doesn't churn.
- It has no job, so its commute isn't measured.
- Its home is paused, blocked, or switched off by automation. Those homes are skipped.
- It was skipped this time because something changed mid-pass, and it will be reconsidered tomorrow.
What happens to unemployed adults?
They don't care where they live, so they take whatever bed is left. An unemployed beaver may give up a home next to a workplace so a working beaver can have it.
Does it use empty beds?
Yes. An adult moves into an empty bed when that shortens the colony's total walk, so a home's number of adults can change.
It takes only adult beds: the game keeps a third of each home's beds for kits. A move is turned down if it would leave fewer homes able to have a kit.
Breeding, children and saves
Does it affect breeding?
It's built to protect it. Children never move, and adults never take a kit's bed. A move is turned down if it would leave fewer homes able to have a kit: the game needs two adults, a free bed and room for another child.
Will children be separated from their parents?
Children never move, but the adults in their home may change, especially on the first pass. We haven't found any game mechanic that ties a child to specific adults, but we can't rule one out. If it matters to you, try it on a copy first.
Can a beaver end up homeless, or in a home it can't reach?
No beaver is made homeless. A beaver who can reach work is never moved to a home that can't, and one who can't is moved to a home that can, when a bed can be arranged. Every move is checked with a fresh route first, and a cycle the game refuses is rolled back.
Is it safe for my save? What if I remove it?
The mod stores a little data in your save: up to about 100 KB on a colony of a few hundred beavers, more on larger ones. If you remove the mod, the data is ignored and beavers keep their homes. As with any mod, keep a backup of important saves.
Compatibility and comparisons
Can I use it with Housing Optimize or Commute Balancer?
No. Two housing mods would keep undoing each other's moves. If either is enabled, Optimized Local Housing turns itself off and logs a warning, so pick one. See Troubleshooting.
How is it different from Bobingabout's Housing Optimize and Commute Balancer?
As their Workshop pages describe them:
- Housing Optimize unassigns everyone at the start of each day and refills homes first-come-first-served, nearest first. Its author notes the result isn't guaranteed to be the best.
- Commute Balancer works gradually over days. It moves a beaver to a closer empty home, or swaps when the benefit outweighs the other beaver's inconvenience.
- Optimized Local Housing solves each district exactly, once a day, for the smallest total commute. It moves adults into empty beds too, but never so that fewer homes can have a kit.
Both have thousands of subscribers and far more real-world mileage; this one is newer. The comparison on the home page has one replay's numbers.
Is it the best housing mod?
We don't claim that. Solving exactly should give the shortest total commute of the approaches above, and the tests support that. But this mod has far less mileage than the established ones, and stability and disruption matter too.
The fair test is to run each mod on a copy of the same save for a few in-game days, then compare the average commute. If you do, we'd like to hear the result.
Does it work in multiplayer, or with BeaverBuddies?
It's designed for it: every player's game should make the same moves, even across a reload or a mid-pass join. Every player must install the same mod version and run the same game version.
One live hosted co-op session (about 11,000 ticks, 15 passes) showed no desync in the host's log. That session ran the code the stable release started from; this release hasn't been played live by two players yet, so treat it as encouraging rather than conclusive.
Does it work with the Iron Teeth faction?
It hasn't been tested. It was developed and replayed on a Folktails colony.
Which game versions, operating systems and mods does it need?
- Timberborn 1.1 (built against 1.1.2.4, minimum 1.1.0.0). A future update could break it.
- Checked on Windows only.
- No other mods are required. It doesn't need Harmony or Mod Settings.
The project
Is it open source?
Yes, under the MIT license. The source, tests and build steps are on GitHub.
Is it stable?
Yes. The code the stable release started from ran 16 passes in a row in a live game, including a hosted co-op session, with no errors, warnings or rollbacks. This release's newer changes are covered by automated tests but haven't been played in a live game yet. See what is tested and what isn't.
How do I report a bug or suggest something?
Open an issue on GitHub. The troubleshooting page lists what to include.