An optimal planting and road grid layout? Post your ideas.

Started by stigma, July 20, 2017, 03:29:58 AM

Previous topic - Next topic

stigma

Hey all,

I've had this problem rattling around my brain for a bit...
Assume a wide open flat area of normal soil. You want to plant a lot of stuff - but you also want your pawns to be able to move around quickly. Not only to plant/harvest all those crops but to get around in general.

Now what sort of pattern of roads (meaning any 100% speed floor) and growing plots would be optimal? It's a fairly complex problem - and though you could probably solve this via math for a "correct" solution I'm not setting the bar quite that high :)

Main things to consider I think is:
- The pattern used. A grid of rectangles is the most obvious, but my intuition tells me it is far from ideal. For one it is pretty bad any time your pawns need to travel diagonally.
- The density of roads compared to farming plots. More roads means faster travel, but also less dense farming area - meaning you need to travel more (not to mention needing more space in total for the same yield). There must be a good balance somewhere.

If anyone has good ideas I'm all ears. Also, it does rather seem like the sort of problem that someone good with math has already obsessed over - so if there is a thread or other resource on this you know about - please link it :)

-Stigma

Canute

I design mosttimes a 25x25 room, 4 quadrants each got room for a sunlamp area.
And doors at each wall at the middle, 2 floors cross from left/right up/down.
Uproofed on cold biomes.

niklas7737

Im generally against roads seperating fields of dirt because while dirt itself has a beauty of -1, a road tile would easily get dirty and therefore create an uncomfortable environment for your colonists or extremely tedious cleaning tasks.
Your farmer will spend most of his time actually planting or cutting your plants so that his movement speed doesn't matter all that much and hauling the harvested yield won't be that much faster with roads either.

So if you do insist on using them, I recommend using few road tiles for big fields to keep the amount of cleaning work reasonably low.
However, I think that everything would work faster if your cleaner didn't have to clean the pathways and hauled the yield instead.

stigma

Quote from: niklas7737 on July 20, 2017, 11:10:26 AM
Im generally against roads seperating fields of dirt because while dirt itself has a beauty of -1, a road tile would easily get dirty and therefore create an uncomfortable environment for your colonists or extremely tedious cleaning tasks.
Your farmer will spend most of his time actually planting or cutting your plants so that his movement speed doesn't matter all that much and hauling the harvested yield won't be that much faster with roads either.

So if you do insist on using them, I recommend using few road tiles for big fields to keep the amount of cleaning work reasonably low.
However, I think that everything would work faster if your cleaner didn't have to clean the pathways and hauled the yield instead.

Hmm... I guess it's a fair point - but I have never bothered to clean any pathways before (I only clean rooms and absolutely nothing else, rarely even stockpile-rooms). I haven't really run into many mood problems, but then my pawns tend to be maxed on beauty by breakfast.

But it is a valid point - I'm just not sure how much it really impact the outside beauty. I will have to check. That said... using no roads at all? Good god - how will people get anywhere? :(

-Stigma

AngleWyrm

It might be useful to observe pawn pathing behavior for clues; where will they break from walking down a road to cross a less efficient garden?

I have the pathAvoid mod that gives/takes points from the cost of moving into each tile. The effects of using it seem to depend on how far they plan to travel. If it's a long way, they'll still cross even the most forbidden tiles because the forbidding process applies a constant value that has less meaning on long paths than short ones.
My 5-point rating system: Yay, Kay, Meh, Erm, Bleh

Mufflamingo

#5
If your problem is cleaning roads, then use rainbeau's terraforming mod. It allows yoi to build packed dirt roads. It doesnt get dirty, it gives you 93% movespeed, and gives you that natural feel. Because using stone tiles or concrete on a farm is not nice to look at. Well at least for me. ;D

Here's a screenshot of my farm. Its not that big, but more than enough to feed my colonists. It's more of a large garden rather than a farm. I put packed dirt roads from rainbaeu's fertile fields to serve as roads. And its just beside my food warehouse. I also put a fence from Medieval times to keel those pesky critters out.

[attachment deleted by admin due to age]
Bleeeee. . . . .

SmallArachnid

Seconding the use of Rainbeau's Fertile Fields mod! (Also, Mufflamingo, I think that looks like a rather nice garden!..)

But, let's assume you don't want to use dirt roads, stigma? There are a few options for you, here are two I've used and been happy with.

One - an animal (or 'animal,' in the case of robots) from one mod or another that can perform the cleaning labour. There are a few mods that do this, from the Misc. Robots mod by Haplo to HouseKeeperAssistanceCat, which is my standard go-to for colonies that don't have some serious story/challenge behind them...

Two - my favourite for when I'm feeling especially evil, dedicating one colonist to cleaning. Removing all labour from them. Their entire existence will be spent cleaning up giant bug guts and getting sad thoughts from their ugly environment. HA, HA, HAHAHA! This works best if the colonist is of the 'serf' type. Not because they're better at it, but because you can get a real feeling of villainous pride at your handiwork.
But don't remove their legs, even for medical training; that does make them more inefficient, after all!

Oh, I can't recall, because I don't seem to have it in my list of activated mods at the moment, but there are one or two mod that I think have 'self-cleaning/undirtiable' floors in them. They're expensive to build though... I know Telkir's MoreFloors has one!
Of course, the sterile look doesn't necessarily fit farms, does it...

On that note, I'd really like 'crushed glass in gravel' floors. For that homey, slightly hippie look!

Ekarus

I just build my "roads" around the circle a sunlamp provides, gives me room to make the room as large as I want and have the power and such reach it without having a dead strip through my fields. You can put power lines, walls, heaters, whatever on the "road."

Kozmo

My preference is 12x12 fields surrounded by 1 tile thick road.  This matches up to my 14x14 rooms (counting walls).  I found that I can place 2 Tool Cabinets in the middle and reach all production, it covers full reach of trade beacons, sun lamps, and gives good buff.  Also it holds up all roofs without additional support.  For the fields, when I do use roads I dezone all of the roads from Home Area.  This is so the villagers wont clean it and prevent fires on them.

All my brain damaged pawns are janitors until I can tech up enough to do brain surgery.  For some reason they love the smokeleaf!

dkmoo

@ OP - sorry mate, the most "optimal" planting layout is actually no roads at all and this is why:

You can't look at travel time between road vs dirt in isolation to determine how to maximize efficiency in your farm. the most "efficient" farm is measured by having the most amount of food hauled into your storage with the least amount of time and area. Under this premise, the more appropriate question to consider is "how much of the time saved from traveling faster on road vs dirt that could be converted to additional food yield in terms of extra growing time (under the assumption that during travel time plants do not grow) would make up the yield lost from giving up a farmable tile for road." Viewed this way, one can quickly realize how much of a waste having road is:

For Ex: assume a typical 20x20 farm. even having a very "minimal" 10 tile road that goes from the edge to the middle of the farm would mean a 2.5% reduction in total yield for the area (10/400). However a 10-tile road only saves about 1110 ticks of travel time per harvest:
    Math: 1) standard walk speed is about 5 tiles/second, or 5 tiles/60 ticks, or 12 ticks per tile
             2) walk speed differential between road and dirt is about 13% (100% - 87%). Factoring in the round trip, you are looking about 25% travel time savings for a given distance
             3) over 10 tiles, thats 12 x 25% x 10 = 30 ticks per trip
             4) for a rice farm (more on why using rice below), 20x20 produces a maximum of 2800 units of rice, that's 37 hauling trips, @ 30 ticks of time saved per trip = 1110 ticks of total travel time saved per harvest.

So, for a 20x20 map, you saved 1100 ticks of growing time, which even if you apply it to the fastest growing crop, rice, which takes 180,000 ticks to grow (2,500 ticks/game hour x 24 game hours/day x 3 days of growing time per harvest = 180,000 ticks). resulting in 0.6167% increase in yield. Therefore, you lost 2.5% of yield by having that 10 tile road for about a 0.6% gain in yield from faster travel time.

You might argue that by having larger plots would make having road worth it because it'll be longer travel time and you lose a smaller % to the road b/c your overall area is larger - that is true. so lets see what happens when we double the plot to 40x40 with the same single tile road to the middle of the farm (20 tiles long)

% of yield lost due to less farmable tile: 20/1600) = 1.25%.
% of yield gained due to faster travel time over 20 tiles of road: 12 ticks/tile x 20 tiles x 25% travel time saved x approx 150 hauling trips (11000 rice over the area/75 rice per haul) / 180,000 ticks per rice harvest = 2.5%

looks like in this scenario, the % yield gain more than made up for the % yield lost. In fact, in this set up of having a single road to the middle of the farm has a "break even" size of about 30x30 when it "appears to be worth it to have a road.

Does that mean you should use road for plots larger than 30 x 30? not quite - keep in mind that the calculations above used some VERY pro-road assumptions: 1) traveling to all points of the farm goes thru this 1 strip of road, thus maximizing the value of the travel time saved. 2) crop does NOT grow while pawn is traveling (bc the planter needs to get there to plant it, and planter only goes back AFTER crop reaches 100%). 3) used only rice - the fastest growing crop and one of the most "haul intensive" in terms of units produced per tile 4) ignored the time it takes to plant/harvest, 5) used only 1 strip of road to the middle of the farm. In a real game situation, none of these assumptions hold 100% of the time 1) pawns may not even travel the full length of the road, or even at all, if it's closer to the edge 2) in "resowing" situations, the harvest and resow happens in 1 trip so "time saved" from those trips is only 12.5%, not 25%. 3) anything that takes longer than rice, or less haul intensive,  will give you a even smaller % of yield saved from travel time, especially if it doesn't give you more hauling trips (for more times saved) from having more units produced per tile - ie heal root or devilstrand. 4) Including harvest/sowing time would increase the denominator in our %, making the time saved yield even smaller. 5) building any more roads to increase yield from travel time saved would only further decrease the yield from the loss of farmable area.

I know this is a LONG post to read but hopefully ive laid out some of factors you should consider (and choose to not build roads)

Mufflamingo

Quote from: dkmoo on July 21, 2017, 10:06:16 PM
@ OP - sorry mate, the most "optimal" planting layout is actually no roads at all and this is why:

You can't look at travel time between road vs dirt in isolation to determine how to maximize efficiency in your farm. the most "efficient" farm is measured by having the most amount of food hauled into your storage with the least amount of time and area. Under this premise, the more appropriate question to consider is "how much of the time saved from traveling faster on road vs dirt that could be converted to additional food yield in terms of extra growing time (under the assumption that during travel time plants do not grow) would make up the yield lost from giving up a farmable tile for road." Viewed this way, one can quickly realize how much of a waste having road is:

For Ex: assume a typical 20x20 farm. even having a very "minimal" 10 tile road that goes from the edge to the middle of the farm would mean a 2.5% reduction in total yield for the area (10/400). However a 10-tile road only saves about 1110 ticks of travel time per harvest:
    Math: 1) standard walk speed is about 5 tiles/second, or 5 tiles/60 ticks, or 12 ticks per tile
             2) walk speed differential between road and dirt is about 13% (100% - 87%). Factoring in the round trip, you are looking about 25% travel time savings for a given distance
             3) over 10 tiles, thats 12 x 25% x 10 = 30 ticks per trip
             4) for a rice farm (more on why using rice below), 20x20 produces a maximum of 2800 units of rice, that's 37 hauling trips, @ 30 ticks of time saved per trip = 1110 ticks of total travel time saved per harvest.

So, for a 20x20 map, you saved 1100 ticks of growing time, which even if you apply it to the fastest growing crop, rice, which takes 180,000 ticks to grow (2,500 ticks/game hour x 24 game hours/day x 3 days of growing time per harvest = 180,000 ticks). resulting in 0.6167% increase in yield. Therefore, you lost 2.5% of yield by having that 10 tile road for about a 0.6% gain in yield from faster travel time.

You might argue that by having larger plots would make having road worth it because it'll be longer travel time and you lose a smaller % to the road b/c your overall area is larger - that is true. so lets see what happens when we double the plot to 40x40 with the same single tile road to the middle of the farm (20 tiles long)

% of yield lost due to less farmable tile: 20/1600) = 1.25%.
% of yield gained due to faster travel time over 20 tiles of road: 12 ticks/tile x 20 tiles x 25% travel time saved x approx 150 hauling trips (11000 rice over the area/75 rice per haul) / 180,000 ticks per rice harvest = 2.5%

looks like in this scenario, the % yield gain more than made up for the % yield lost. In fact, in this set up of having a single road to the middle of the farm has a "break even" size of about 30x30 when it "appears to be worth it to have a road.

Does that mean you should use road for plots larger than 30 x 30? not quite - keep in mind that the calculations above used some VERY pro-road assumptions: 1) traveling to all points of the farm goes thru this 1 strip of road, thus maximizing the value of the travel time saved. 2) crop does NOT grow while pawn is traveling (bc the planter needs to get there to plant it, and planter only goes back AFTER crop reaches 100%). 3) used only rice - the fastest growing crop and one of the most "haul intensive" in terms of units produced per tile 4) ignored the time it takes to plant/harvest, 5) used only 1 strip of road to the middle of the farm. In a real game situation, none of these assumptions hold 100% of the time 1) pawns may not even travel the full length of the road, or even at all, if it's closer to the edge 2) in "resowing" situations, the harvest and resow happens in 1 trip so "time saved" from those trips is only 12.5%, not 25%. 3) anything that takes longer than rice, or less haul intensive,  will give you a even smaller % of yield saved from travel time, especially if it doesn't give you more hauling trips (for more times saved) from having more units produced per tile - ie heal root or devilstrand. 4) Including harvest/sowing time would increase the denominator in our %, making the time saved yield even smaller. 5) building any more roads to increase yield from travel time saved would only further decrease the yield from the loss of farmable area.

I know this is a LONG post to read but hopefully ive laid out some of factors you should consider (and choose to not build roads)


My nose just bled.
Bleeeee. . . . .