Jump to content

Suggestions from an optimization engineer


Recommended Posts

First off, let me say this is such a great game. I hope you see my appreciation in the lengths of this feedback. I appreciate the hard work and if anything comes across as cynical, that's not the intent at all. Also, if there's anything here useful to mechanistry in any way I hereby sign over any rights or intellectual property to mechanistry in the hopes of being able to play an enhanced version of this game I love. I'm not a game developer by trade, I am an electrical engineer which includes some software development and a fair bit of optimization. I hope 

Game Mode:
This game plays very well in an open mode but I think specific goals and scenarios are the biggest way to focus the experience. In my mind you create saves on special maps and have specific objectives like "complete construction of this bridge across a chasm" or "store 1000 of each food resource" or to "store 5,000 water", get a beaver to max happiness (more on this subject below), restore water to a dry lake bed, reach a population of 1,000 (god help your CPU), or similar. Aesthetic pieces like housing or multi-leveled designs could be shown off in these scenarios too giving players more ideas to incorporate into their thriving towns.
Objective based gameplay in my mind would always end with a congrats and an unlock along with the ability to continue on if you choose free of constraints. Maybe they start small like "survive the drought" but really challenging things could promote creativity or "speedruns" to see who can solve the task in the least in-game time. These scenarios could even be used to unlock the beaver tech tree to some extent and can also be used as a tutorial of sorts to walk the player through common techniques. Efficiency is itself an elegant goal that can be embraced but a more discrete beginning and end to typical gameplay would be fulfilling, maybe even present an opportunity for a narrative, while also making the current playstyle feel refreshingly open and limitless.

Easy/Hard difficulty:
The game doesn't really work well when several of the settings are adjusted off of "normal". I have progressed hard mode several times to the point that hundreds of beavers are in no danger of dyeing without issue but the gameplay mechanics break down with excessive drought times. A square of water lasting 22 days makes for strange issues when droughts last similar durations or even longer. A field of hydro crops typically sits with .65 water or so on top of it which only equates to 14 days. Wild plants die off very quickly leaving a barren and dry world, but how did those plants get there in the first place? Survival requires more water storage against longer droughts for sure, but little else. The length of drought is not a good difficulty slider for Timberborn IMHO and should be generally restricted to what is now in "normal" which balances things well enough where wild trees at least have some reason to survive. Even on normal, chestnut trees die out from seasonal droughts in their spawn locations on the longest seasons. Perhaps this could be mitigated by extending the time for trees/bushes to survive without water to longer than the longest drought at a minimum. 
How about some difficulty that's not related to water? Increase food consumption. Decrease walking speed. Increase working speed. Decrease lifespan. Increase building times. All the things that non-basic needs provide advantages for are designed to adjust in-game so they would make better difficulty adjustments than water cycles getting so completely lopsided. A little bit of each would probably be more interesting and less one sided. Hard mode in the current game just means 4x as much water storage 

Drought Scheduling:
I think you should implement four settings rather than just pause and un-pause, namely add "only during drought" and "only during wet season" as options. So many times the automation loop is broken by switching to "summer jobs" when the water stops flowing. This would also make some of the water based power generation a little less furstrating because you could shift your workforce automatically from say water/manufacturing to baking/grilling/building simply by adding in these two choices combined with your already added work prioritization settings (thanks so much for that!). Setting Pumps to only work during the wet season would save so much clicking and panic inducing frustration from either forgetting to un-freeze them causing your beavers to die of thirst or leaving them on and losing an entire cycle (because you have to wait for it to be wet again to replant and then regrow) of both wet and dry plants.
A more drastic solution might be actual rain that would occasionally fall during the wet and dry seasons and make things green. Maybe even cause some temporary flooding that runs down into deeper spots and into the stream. A regional effect that passes across the map like a cloud randomly might be an interesting mechanic. Rain Barrels might make for an interesting water generating/storage hybrid. This might be a bit much but it's not like water appeared upstream without some kind of closed loop rainfall cycle. Not having rain is a contrivance at best. 


Irrigation: 
Making dirt green is not a balanced affair in Timberborn. Irrigation towers are faction specific but are atrociously useless. A square of water lasts for 22 days and costs only a little water to make. A water dump filling one square needs to be manned for all of a few hours every 22 days and radiates out irrigated land, assuming it's on level or above anything around it, 15 squares away. One beaver for a few hours of dumping (plus perhaps a few hours of pumping to make the water used back) can irrigate hundreds of squares. I don't think water dumps are the problem, I think the irrigation mechanic itself is the problem. The irrigation tower's economics are probably more reasonable and present a significant balance needing effectively their own water pump to feed (running say only the wet season) and probably a hauler to transfer efficiently. Even if water dumps were removed, canals only cost turning farmable ground into a "solid" platform top along with some upfront material cost to bring water  that again, lasts for weeks, to remote areas. Canals are at least far more expensive (read: fun) and don't go uphill like a beaver carrying water up some steps but they also highlight this same irrigation problem.
I think the thing to do is have land suck up water more actively. If you want to irrigate a 15 square radius around your single watered spot, it should consume a tremendous amount of water. To facilitate this, each square needs to consume water at some rate, probably proportional to the evaporation rate perhaps 1/10th as much, and the radius fed from a water square needs to be proportional to how full it is. Keeping a 1 square mini lake full of water presents hundreds of squares worth of consumption so you're pouring water into a waiting sponge. Similarly, canals would drain into the ground if they were long enough instead of providing weeks of water for the cost of a strip of land you can still build nearly everything on top of.  Each green square would essentially behave a little like water tile does in the game today with it's own internal level spilling out to those around it at a set rate facilitating the radius in the game today but at a constant drain. This would certainly increase water consumption so I would probably double a water square's water contents as well, balanced to have today's maps still deliver a reasonable amount of water to the exit while still greening what they typically had before. 
This would also give ground a little bit of storage itself to stay green after a water resource nearby has been removed for some small amount of time which would come with other benefits like reducing the need for early game dams and water control. 


Water Storage:
Doubling water density is also relevant for discussing water storage in Timberborn. Large water tanks are 3 by 2 (ignoring the graphic that the tank itself isn't the entire size of the space it occupies and 3 squares tall. That's all of 18 squares but holds the equivalent of 60 squares of water. This messes with the density issues of using fancy damns, dikes, and pumps for drought storage vs simply rows and rows of water tanks. Building a 10x10 box that's say a mechanical water pump assisted 3 squares above the waterline you need to maintain is an engineering marvel but still evaporates losing ~23 units of drinking water to evaporation PER DAY and stores only 3x100x5 = 1500 water. 5 large water tanks take up 30 squares of ground (although they can be built on top of things), lets be extreme and say another 15 for pathing, and store the same amount of drinking water without the threat of evaporation.
Imagine building a physical tank of water with levees and filling it with water dumps to use as water storage. How deep would it have to be to beat the same flat dimensions as a few large water tanks built on top of it? Very deep. Water storage is simply too strong. Consumption, to me, seems about right considering the amount of space water tanks take up so I would reduce beaver's drinking needs along with their water consumption and water pump's productivity to keep things the way they are other than improving the tradeoff of storing water as water (which should be optimal, it's a lot harder to actually engineer in practice). This is also in line with what i discussed earlier about increasing the number of units inside a water cube to account for some level of irrigation drain (which is currently free beyond a slight increase in water surface area evaporation). Lets make water do more water-ey things like get used for irrigation and less for drinking water. 


Food balancing:
Unbalanced things add some personality and I think it's an important design choice that resources take varying amounts of beaver workforce, land use, time, and provide different benefits. That said, food production can get way out of hand quickly. Bread is the best example where just four beavers (farmer, gristmill, baker, hauler) can effectively generate the bread consumption for about 500 happily fed beavers from limited land use (including the fraction of a windmill to run the gristmill). Sunflower seeds may be directly farmable but require a tremendous amount of land usage by comparison. That can present interesting tradeoffs but balancing food production and demand for a beaver civilization is perilous. Over-production quickly chokes storage. My solution is typically to store on the order of 20-40 of each food resource PER BEAVER (that's two to four thousand for a 100 beaver community) requiring 32,000 storage per 100 beavers FOR FOOD and seasonal pausing/unpausing to try and balance supply and demand. 
The fix here is to increase food consumption IMHO, beavers have it too easy. As they move faster and carry more from upgrades, food consumption should also increase. Working a larger percentage of your land to feed beavers would increase land usage which is perhaps too plentiful. I would hate to reduce the functional distance from a district center we can build so I think increasing food consumption would be a good reason to spread out a bit (and also to build ABOVE your farms with platforms late game). I have another thought on how to re-balance food consumption covered later on in leisure. 
Digging into the specific resources, I wish beavers would eat more of the late game foods and less of the early game foods as the "good stuff' becomes available. It would be nice if carrot consumption reduced more significantly in favor of bread, for example. Grilled Spatterdock and Cattail Crackers are also likely to pile up given similar staffing and land use. Perhaps resources further down the tech tree should be eaten preferentially a bit more. Hunger is balanced perhaps on consumption but a beaver's "taste bar" for carrots could slow way down. Early game, beavers would still eat them because they're hungry and certainly get the carrot benefit but late game, they would more often choose to fill their hunger bar with tastier choices due to their faster draining preference/benefit bars. Hopefully though given food availability, beavers continue to fully satisfy all their wants AND needs, which is great (and not currently happening for leisure). 


Leisure:
Even lowering the workday significantly, beavers have weird habits utilizing leisure activities. I have tried in vain to get any significant population of beavers to maximum happiness for any length of time. Typically, my beaver population endgame goes between 19 and 21 happiness peaking when they go to sleep and vallying at the end of the workday. I think pathing has a lot to do with this. Beavers on leisure time should stay at a site until their interest bar is completely full, not try to do so many different things in the same night. It's inefficient for them to spend so much free time walking about rather than getting to the fun stuff and it's sad to see them finally hop in the hot tub for the first time all season only to stay till the bar is 25% full and pop right back out again. I think things should be balanced that given sufficient supply of leisure activities, beavers aught to be able to do one each night (given a 16 day default schedule) and both fill that specific bar that night and also have it remain green (in the bonus) through a cycle of all leisure activities. 
My more drastic solution is two work shifts. Beavers could spend 8 hours working, 8 hours of leisure, and 8 hours of sleep and work two shifts. This would double the housing needs and perhaps some CPU utilization (but beaver pathing for work and play are separate problems that wouldn't have much to do with each other so is it really that different?) and increase food consumption (which is what I referenced above would be a significant positive). This would give more time to enjoy the leisure benefits. Assigning beavers at each building to two shift slots gets complicated but it seems feasible. Adjusting each shift's schedule between work, leisure, and sleep would also add some optimization opportunities. 


Material balancing:
I think this is pretty well done, I just wanted to make a couple points. First, interesting building shapes make for interesting game decisions. I think 2x3 and 2x4 and 3x3 buildings are over-used. Lets get some more weird shapes like the large water tank, large storage, and distribution posts (but just a quick note that distribution posts don't work correctly in conjunction with haulers and they are comically over-sized for what they do). I'd love to be able to stack up my industry a bit more without platforms (more on that later). The main thing I wanted to talk about here was gears. They are essential fairly early on for large water tanks (even if you nerf them) and many mid-tier constructions but they take 6 hours making them effectively more manpower and power use intensive than late game resources like treated planks and explosives. Having to build each construction in equal proportion is boring, don't get me wrong, but gears should probably come out a bit faster. Re-balance gear prices for constructions as needed I think but gear production should be sped up. 
Mines are also really really fast at generating scrap metal. By my estimation it takes 9 smelters to keep up with a mine. To feed it you need approximately 5 gear workshops, 2 treated plankers, 2 plankers, a paper mill, 2 explosive factories, an entire forester, 4 lumberjacks, approximately 500 squares of maple trees (or four times the raw wood generation if you need to power all that with engines) and the end result is a trickle of metal of about 50 per day. When a metal platform costs 500, this is a tremendous percentage of your civilization dedicated to making an endgame resource that has very limited use outside of literal platforms. The density raised platforms offer is a HUGE endgame advantage but it mostly arrives well after any purpose for it's advantage can be leveraged. Tens of cycles are needed to gather enough metal to build a set of platforms so you can do what? Build more production on top of it to feed into a mine? Wasn't that why I started this whole cycle? Mines need to slow WAY down and metal prices for platforms needs to be drastically cut (more on this later). I'd similarly reduce the amount of scrap metal stored in wreckage and equally extend the time it takes to gather for scavengers. This sounds like nerfs but combined with lowering metal platform costs, it makes it a more reasonable goal to incorporate into your city rather than something people essentially never experience because they've already moved on from the beaver town they've built.
Maybe we can have a scenario where you start with a massive storage warehouse full of metal (that can't store anything else) and you may actually want to build some platforms early on, would be interesting! 


Power Generation:
There is a clear three-tier system for power generation in timberborn. The best is windmills with their only negative being they don't output 20% of the time. You can say "but they may output at very low power!" but this misses the substantial density benefits. Windmills are only 1 square and do require some spacing but 1 square is trivial to fit on a platform above a path. Paths are needed anyway and naturally branch with significant spacing. Windmills output during droughts and have an upfront cost but present by far the best value. Building 5x the windmills from a peak power perspective your district needs is not a problem with how easily they go on top of paths. I would nerf windmills by making large windmills require solid ground construction. Small windmills could still be built on top of paths but they're much more balanced with limited clearance. Perhaps a small nerf to both windmill's power maximum too.
Engines provide the game's only constant power but the upfront cost of metal is effectively the endgame currency and they consume ABSURD amounts of wood. The energy density isn't bad if you look only at the square they occupy (which is actually physically larger than an array of windfarms when you factor in power connections let alone the space for buildings in between the towers) but once you factor in the wood involved, it makes it very difficult. Iron Teeth at least can store their massive wood needs in stackable towers of storage but ultimately their burn rate limits them far more than their wind powered friends. I think small windmills should be available to iron teeth and I think engine's wood costs should drop by a factor of four. Raise the upfront metal costs if you want them to be more balanced.
Water power sucks. That's all varieties. The large waterwheels are physically huge and difficult to work with but are not really any better from an energy density perspetive. Water power has no continuous wood cost but is far more intermittant than wind when you compare it over an entire season. Creating automatic pausing and unpausing based on seasons would help some as I discussed above but I think ultimately the power generation needs to be increased. I think large waterwheels should just be removed, iron teeth already have a water power advantage with the smaller wheel that effectively doubles the output. I'd just further double the power generated by water in general.


Platforms and Building Density:
Building things more efficiently, even if it means some teporary scaffolding or having to rescue a beaver who got cut off, is arguably the most fun thing in Timberborn. Efficient placement of buildings and farmland in the varying terrain on each of the maps is most of the gameplay to me. Platforms are criminally under-used, particularly by the power starved iron teeth. The 3x3 platform is also far FAR less valuable than the 5x5 to warrant what is only a 2.5x cost difference. I think the metal costs of platforms should come way down. Perhaps add logs, planks, and even treated planks to their production costs but make platforms more viable. 3x3 platforms are mostly only usable over farms (costing approximately 1/9th your farmland for nearly a 2x usable space increase)  because the space between pilons is at most 2 squares. 5x5 next to another 5x5 is a cavernous 4 squares between them offering room for every building in the game AND a path. I would like to see an expansion to the platform offering where what we have today is much cheaper and available to both factions and iron teeth get some more flexible choices like the arches we've seen in some mods. Perhaps give us some choice on platform height as well?


Third faction idea:
I would suggest an artistic faction of beavers, the opposite of the iron teeth. They should forgo metal entirely but instead give them a new resource, glass. I envision sand gathered from building something on "flowing" water shorelines (proportional to flowrate in the adjoining water squares) and being able to melt down sand or "glass shards" scavenged from wreckage to make glass. Glass could be used for some more steampunk type stuff and also in some more artistic options. Power generation I would offer the small windmill (which I also think you should give to the iron teeth) as well as a steam engine which requires water and wood as resources like the iron teeth's engine requires wood but is more efficient, say 600 hp from a 3x3 factory (though why not give it a weird shape?) but with a significant glass construction cost. Monuments could be more artistic requiring either sand or glass as well. They'd also need some combination of treated planks or something else to build arches or some other platform type endgame density improver since they have no metal, perhaps with a more artistic flair. Masters of tubing, they could also create pumps and dumps (require power?) with glass tubes to transfer water kind of like we transfer power now, including UPHILL, offering all kinds of irrigation fun. Maybe a leisure faction specific sand pit to play in? Iron teeth should get a gym that costs metal and other things to put together but doesn't require power. Folktails can sit on benches, give them some actual purpose. 

This ended up being quite the rant. Hopefully something in here is valuable. I'm happy to discuss any changes mentioned here in more detail. If nothing else, I entertained myself for an evening writing about one of my favorite games ever.
Love,
-mosc

Link to comment
Share on other sites

  • 2 months later...

I kind of wish you had split all of this out into multiple threads.  There's too much here for me to want to spend the time to read it all, especially seems I partially agree with some of what you're saying and partially don't, so also want to write replies.  I just simply don't have the time and would have rather had smaller bites to deal with. 🙂

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

This website uses cookies for the purposes of: collecting information about the website use, saving settings and personalizing the User interface. You may change your cookie settings at any time. Read more in our Privacy Policy and Cookies