Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Farm Mutable #62037

Merged
merged 14 commits into from
Nov 14, 2022
Merged

Farm Mutable #62037

merged 14 commits into from
Nov 14, 2022

Conversation

LovamKicsiGazsii
Copy link
Contributor

Summary

Content "Farm Mutable"

Purpose of change

Partially resolves #35212

New England's countryside doesn't spawn nearly enough farms, and the ones that spawn don't seem to produce much.
This PR adds a new type of farm - made with the power of mutables - that should hopefully negate the problems mentioned in the issue above.

Describe the solution

The mutable is made up of 9 phases:

  1. farm entrance — the root of the mutable - connects to the farm house and the farm clusters
  2. farm house — basically 3x3 Farm and farm_lot_forest
  3. farm house extension (if farm house is farm_home_1) — adds either a greenhouse, silo or chicken coop to 3x3 Farm
  4. farm cluster — 9x9 size farmlands that connect in a grid-like pattern
  5. farm cluster edges (all) — connects to an unresolved join of a farm cluster
  6. farm cluster edges (left) — connects to an unresolved join of a farm cluster (fallback for 5, in case it left out a join)
  7. farm cluster edges (right) — connects to an unresolved join of a farm cluster (fallback for 5, in case it left out a join)
  8. farm exit — adds a road connection to an unresolved join of a farm cluster (max 1)
  9. fix unresolved joins — fixes any remaining unresolved joins with a dummy join

A finished mutable looks something like this:

kép

The building blocks that make up the mutable mainly use the general-purpose tiles I made back in #31188, which have been expanded with newer mapgen (like hay- and cornfields), and updated (dirt roads) to better suit the new farm.

Some of the farms with lower crop yields ( farm_lot_wired_2x3, farm_lot_empty_3x2, farm_lot_2x4 ) have been obsoleted. The mutable has made them redundant.

farm_lot_forest, Farm, Farm with silo, Farm with chicken coop and Farm with greenhouse are now incorporated into the mutable. They no longer spawn separately.

Other farms, like farm_horse, St_Johns_farm, farm_2side and farm_stills are unaffected by this PR.

Describe alternatives you've considered

  • not obsoleting the old farms
  • obsoleting the old farm fields in farm_tiles.json
  • adding farm_2side and farm_stills to the available building types
  • differentiating silos and grain bins
  • adding more variations: pastures, vegetable fields, sheds, etc...
  • (I know very little about proper plowing patterns)

Testing

Created a new world, surveyed the land for farm mutables.

Additional context

A guide for all the building blocks:
kép

More screenshots:

kép
The new dirt roads and farm fields:
kép

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Map / Mapgen Overmap, Mapgen, Map extras, Map display <Bugfix> This is a fix for a bug (or closes open issue) json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels Oct 31, 2022
@anothersimulacrum
Copy link
Member

This is amazing, fantastic work!

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Nov 1, 2022
Copy link
Member

@Maleclypse Maleclypse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm having trouble seeing what monsters would spawn in these specials. Am I missing the spawns?

@LovamKicsiGazsii
Copy link
Contributor Author

I'm having trouble seeing what monsters would spawn in these specials. Am I missing the spawns?

Only the farmhouses and orchards have set spawns. Farm fields and dirt roads don't spawn any monsters.

@dseguin dseguin merged commit 6781dcc into CleverRaven:master Nov 14, 2022
@LovamKicsiGazsii LovamKicsiGazsii deleted the farm-mutable branch November 14, 2022 17:41
@Holli-Git
Copy link
Contributor

This is beautiful, thank you

@JonathanLochridge
Copy link
Contributor

These look super cool. I am really looking forward to coming across these.

Obsoleting most of the old farms is cool.

I was wondering how much variation in size this caused?

I know for orchards that they tend to be smaller and more self contained more often than grains like corn and such which take massive amount of land to make sense. Since the most efficient way to farm stuff like that is with big tractors. But, orchards are often still pretty compact

@LovamKicsiGazsii
Copy link
Contributor Author

I was wondering how much variation in size this caused?

Because of how randomized everything is, I can't really put an exact number on this; I've seen farms ranging from 80 to 1120 OM terrains large. Depends on how many puzzle pieces there are.

I know for orchards that they tend to be smaller and more self contained more often than grains like corn and such which take massive amount of land to make sense. Since the most efficient way to farm stuff like that is with big tractors. But, orchards are often still pretty compact

I happen to live in a very agricultural region and have seen orchards like these, plopped in the middle of farm fields. Thought there'd be no harm in representing stuff like this in the game. They also help break the repetition, which is nice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Map / Mapgen Overmap, Mapgen, Map extras, Map display
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Countryside seems devoid of life
7 participants