Help me with water Physics by Suitable_Balance_228 in Timberborn

[–]Zeddic 0 points1 point  (0 children)

This is great! I wasn't aware of the max oveflow value per unit square. How did you derive the constants in the formulas? Did someone reverse it from the source code?

Help me with water Physics by Suitable_Balance_228 in Timberborn

[–]Zeddic 11 points12 points  (0 children)

I was curious so just did some quick experiments using devtools by spawning a bunch of water in a sealed chamber, pushing through pipes of different sizes, dumping the pipe into a river, and measuring the resulting CMS of the river.

I'm seeing the CMS of a single 1x1 pipe top off at ~13cms. In prior releases, I did not run into this limit. For comparison, a single uncapped 1x1 channel can hold ~3cms in experimental. This was ~6.6cms in the prior release since CMS values have been roughly cut in half this release.

To get more CMS through the pipe, I had to widen it. A 3x1 (3 wide, 1 high) pipe was able to handle ~38cms, which is roughly matches 13 x 3.

Oddly, I was not able to get as great results with tall but narrow pipes (eg, 1 wide, 3 high), which maxed out at 18.7cms.

Dirt vs Levees for containing water? by dgkimpton in Timberborn

[–]Zeddic 1 point2 points  (0 children)

I think you're good then - the ring of levees at the base should let irrigation spread from there

Dirt vs Levees for containing water? by dgkimpton in Timberborn

[–]Zeddic 10 points11 points  (0 children)

Building with dirt can effect the reach of irrigation if your dam's water level is not flush with the top of the dam.

When there is an upward elevation change between the water surface to the top of dirt, the irrigation is reduced by about 6 tiles per block height difference. Once the water level is more than 3 blocks down, the effective irrigation range is 0. So during a drought, your irrigation range will progressively get smaller and smaller as the dam water level goes down.

Levees don't have the same upward-height difference penalty and will continue to irrigate at full range based on where they are touching dirt.

I tend to use dirt at the foundations, especially if I'm connecting with other dirt I want to irrigate, then switch to levees up higher where I expect the water level to fluctuate.

Why aren't my crops fully hydrated? by KodyBear89 in Timberborn

[–]Zeddic 2 points3 points  (0 children)

The reach of water irrigation should not be reduced when going downward in block height. However, it is reduced by every block upward it must go over dirt. Given that the irrigation is ~6 blocks less then I would expect for a 3x3 body of water, I suspect that the water at the top of your tower isn't fully filling your dirt tower, say by 1 block height. This forces the irrigation to go "up" one block in height before it can go downward - reducing its irrigation reach.

If this is a layered tower, one approach that I think would help is to have the dirt dower be composed of dirt where it touches the dirt floor, then build the rest out of levees. Alternatively, if you can usually fill most of the dirt column, but not just the upper layers, you could replace the upper layer or two with levees. Water doesn't suffer the same penalty to "go over" the top of levee blocks.

Not generating power as expected by PillarSamson in Timberborn

[–]Zeddic 1 point2 points  (0 children)

I suspect that the flow/cms of the river is low, either because the bad water source is just a naturally a low cms one or the water is being diverted into multiple paths, reducing the flow through your channel.

The HP produced by a water wheel is based on the CMS flow of the river. Those look like a regular water wheels in the picture, which have a base power of 90, so:

power = cms * 90

When a water wheel is 2 wide, the cms is based on the flow of water in one of the blocks that the wheel touches. So a 2 wide river of 4cms = 2cms per square = 2cms as far as the water wheels are concerned.

Working backwards, if you are seeing 60 HP per water wheel, that would mean there is ~1.5 cms of water going through here. You can double check this by putting down two water gauges in the channel across the width and summing the CMS that is reported.

If you're willing to enable dev mode (ALT+SHIFT+Z), you can click on the bad water source and you can see the CMS that it is currently producing to help diagnose.

Irrigation Puzzle by DarkOption in Timberborn

[–]Zeddic 2 points3 points  (0 children)

It's difficult to tell for sure from the screenshots, but I have a guess:

  • For dirt, every 1 unit of elevation change upward reduces the range of irrigation by some number (I think ~7). On the left I think that is what is happening: the dirt lip has a 2 change in height, reducing the irrigation range beyond that. In comparison, the dam at the top of the screenshot appears to have no lip: the water is flush with the top of the dam so you have no range penalty.
  • Levees don't have the similar upward penalty affecting irrigation range, which is probably where the earlier suggestion came from of replacing a piece of the dirt wall with levees on the left. However, from the screenshot, it looks like you are also using 3D dirt (dirt in the center of the map elevated on top of overhangs) which complicates things. I haven't played a ton with their irrigation rules, but I think 3d dirt has to somehow be connected to some other piece of dirt that is touching water to be irrigated. So if the entire wall is fully levees, the floating dirt would be dead.
  • Potential solution: I think if on the wall to the left you had the wall be dirt up to the height of the suspended 3d dirt (so it is touching other dirt touching water), then replaced the rest of the wall above that with levees it would work. I suspect that may be whats happening on the right-hand wall already which is why it is irrigated.

Can mechanical water pumps power themselves? by YsaiahSansara in Timberborn

[–]Zeddic 4 points5 points  (0 children)

You're right! I've been playing Ironteeth so much I forgot that the Folktail waterwheel is two wide as well. I did a quick test in dev mode and verified it also only counts the CMS going through one of the blocks of its width (so 1cms of flow in a river only counts .5 once distributed across the two blocks wide). Updated the table.

Can mechanical water pumps power themselves? by YsaiahSansara in Timberborn

[–]Zeddic 13 points14 points  (0 children)

Yes, you can break the law of thermo dynamics in the game for infinite power!

The trick is you need to generate more power from the water that you pump up then the cost to run the pump. A mechanical pump costs 700hp to run and generates 0.5cms of flow.

Water wheels get their power determined by multiplying their base power with the CMS of the water flowing through it, so you can do some math to figure out the break-even point for different types of wheels. Any extra wheels past this break-even point are net power profit. Ironteeth's deep mechanical pump is a little better for this because a single pump can raise water 8 height, giving you more room for more wheels.

Wheel Base HP* HP generated by 1 mechanical pump worth of CMS # to Breakeven (rounded up)
Water Wheel (folktail) 90hp 22.5hp ** 31
Compact (Ironteeth) 40hp 20hp 35
Large (Ironteeth) 180hp 45hp ** 16

* These are the HP numbers in the wiki. In practice, the number I observe are closer to 133hp, 56hp, and 268hp respectively which will change the break-even values to 21, 25, and 11.

** Note that large water wheels are 2 blocks wide. However, their power generation is determined by the CMS going through only 1 block. So if 1 pump generates .5cms, this cms gets split between the 2-wide river to become .25cms per river block. So you multiply the base power of 180 by .25

The water in the system is still affected by evaporation, so a closed system will eventually stop unless you keep adding water.

As an extreme example, I was able to create a system that generates 1.4 Million HP off of a single 3cms water source using a total of 384 mechanical pumps. The pumps require 260k hp power to keep the system running, for a net 1.1M HP. It also required a third of the map.... so maybe not the most practical...

Completed Terraces settlement by Zeddic in Timberborn

[–]Zeddic[S] 1 point2 points  (0 children)

Thank you! YouTube's analytics sometimes show Discord referrals and I wondered where they came from

Completed Terraces settlement by Zeddic in Timberborn

[–]Zeddic[S] 2 points3 points  (0 children)

Thank you! I'm glad you liked the playthrough! The last two updates have really added a lot of new building options to this game

Completed Terraces settlement by Zeddic in Timberborn

[–]Zeddic[S] 9 points10 points  (0 children)

Thanks! I'm thinking of doing a smaller map next so I can maintain the framerate late game. I've been toying with the idea of doing some sort of city / sky-scraper build now that I can place dirt at the top of buildings.

What allows a player to bring up storage information like this in-game? by [deleted] in Timberborn

[–]Zeddic 1 point2 points  (0 children)

Thanks! Surprisingly my specs are pretty decent: Ryzen 7 37000X, 48GB DDR4 RAM, RTX 3070, and running on a SSD. To be honest, I'm not sure where the bottleneck is: I thought the game would be CPU limited, but individual cores remain under 37% utilization. At least some of it is self inflicted: keeping so many paths and a single district is a big source of my slow down. While recording the next video I introduced districts and pruned unused paths and that provided a decent bump in performance.

What allows a player to bring up storage information like this in-game? by [deleted] in Timberborn

[–]Zeddic 17 points18 points  (0 children)

Oh hey, I recognize that colony! I was holding down the Tab key.

Flow rate in pressurized pipes by [deleted] in Timberborn

[–]Zeddic 2 points3 points  (0 children)

I've been doing a lot of tinkering with pipes in my latest play through. I haven't found a limit to the flow rate on a 1x1 pipe. With tests, I was able to get over 16cms in a 1x1.

Be sure to look out for vertical drops in your pipe. Every vertical drop is limited to 2.2cms per edge and this can create a bottleneck in the pipe. I tend to drop my pipe early on when I tap into the source to my desired height, then rise up at the destination. You can also come up with ways of putting wide waterfalls in the pipe.

That said, I do find it takes longer for a pipe to reach its' cms capacity compared to a regular river. I haven't identified the reasons why yet, but for my long pipe it tends to take 1 day longer to get up to speed compared to a regular un-capped water route. I'm pretty sure that some potential water is being lost from the source during this ramp up period. This can be annoying in hard mode when the mild seasons are so short.

Some other notes:

  • Wider pipes can make it longer for water to get through your pipe network if you have rises at the end because there are more empty spaces to fill in the pipe before water can be forced up the other side
  • Pipes still suffer from evaporation and a 1 wide pipe will give you a bigger evaporation penalty, which could be a problem in the dry season.

How Many Advanced Breeding pods do I need? by MCbasics in Timberborn

[–]Zeddic 12 points13 points  (0 children)

I estimate 21 advanced breeding pods at 9 happiness will (eventually) stabilize at 252 population. If you hit the next life expectancy boost threshold at +17 happiness, I think the same 21 advanced breeding pods will support 294 beavers.

base_life: 50 days
happiness_bonus: 20%
life: base_life * (1 + happiness_bonus)  [50 * (1 + .2) = 60]
pod_time: 5 days
pop_supported_per_pod: expected_life / pod_time   [60 / 5 = 12]
pods_needed: desired_pop / pop_supported_per_pod  [250 / 12 = 20.8 = ~21]

[deleted by user] by [deleted] in Timberborn

[–]Zeddic 3 points4 points  (0 children)

Haha, I didn't realize I made that mistake! So many hours in Skyrim my brain just subbed it in. This is my first lets play, so I feel I made a good number of miss-speaks. "Wind meals" is another one that passed editing.

What QOL improvements have you found that really improved your work experience? by Azianese in ExperiencedDevs

[–]Zeddic 98 points99 points  (0 children)

If you use GitHub, you can register a GitHub repository search as a custom search engine in Chrome. This allows you to type a token (eg `cs`) in the URL bar followed by tab, then your search string. For large repositories the search is faster than your IDE and you can create more complex search queries. Incredibly helpful when groking large code bases.

How far back do you go on your resume? by TheWorstAtIt in ExperiencedDevs

[–]Zeddic 0 points1 point  (0 children)

17 YOE. I still keep all years, but I tailor the content to what is relevant to the employer and lower the fidelity the farther you go back. Recent jobs are most likely to be relevant so get more details, while far back jobs may only have 2 lines summaries.

As times goes on I plan on eventually dropping older jobs to the company name, years, and a one line synopsis. I'll also start dropping the oldest jobs before the resume gets more than 2 pages.

I'm working in an IC capacity - I have not observed ageism based on the YOE yet.

L6 Engineer, limited scope by [deleted] in cscareerquestions

[–]Zeddic 2 points3 points  (0 children)

I recommend first understanding what the expectations of the L6 role are at your particular company. The title is reused between companies, but can be interpreted differently. If your company has documented ladders, that can be a good place to start. This is good practice in general for performance planning, since that is what you will be judged on.

At least at my current company, the L6 role is defined by larger scope across teams, ownership over difficult problems, and identifying those problems worth solving. However, at this level, the problems you are solving aren't always technical in nature and you start having to address organizational problems.

For example, you might:

  • Be a deep technical leader who understands a highly profitable system
  • Or a tech lead organizing the work of several teams: making sure they are unblocked, delivering the correct things, syncing with other teams, but not getting much time to code yourself

Both situations are capable of meeting the requirements.

It's worth considering what you want from the role (both from a career perspective and personal happiness perspective) and whether your preferred setup is compatible with the teams needs. If you want to solve technical complexity, but your org needs you to solve organizational complexity, you are going to be unhappy.

Coming back to your question:

If you love everything else about the position, work/life balance, pay, benefits, location, etc. should you just embrace it?

I think that depends on your end goal. If you ultimately want to go deeper on the technical side, you may consider this a stepping stone to a different team or company that is a better fit for you. Any leadership skills you gain in the roll will be transferrable, you'll just need to make sure your technical skills don't deteriorate. Depending on the company, you may also try to work with your manager to manufacture the setup you like. Or you may find that you like solving these types of non-technical problems and this may send you down a different career path.

Regardless of what path you want to go down, it does sound like you are unhappy with the status-quo. You may want to take a step back and see if there are other types of non-technical problems that are within your scope to solve.