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

Animal Husbandry support needed #76165

Open
PatrikLundell opened this issue Sep 3, 2024 · 0 comments
Open

Animal Husbandry support needed #76165

PatrikLundell opened this issue Sep 3, 2024 · 0 comments
Labels
Monsters Monsters both friendly and unfriendly. NPC / Factions NPCs, AI, Speech, Factions, Ownership (P5 - Long-term) Long-term WIP, may stay on the list for a while. <Suggestion / Discussion> Talk it out before implementing

Comments

@PatrikLundell
Copy link
Contributor

Is your feature request related to a problem? Please describe.

We have animals, we now have to feed them regularly, we have companions, but we don't have means to get companions do the chores. That ought to be remedied.

We have and need two separate ways of dealing with many things as long as we're restricted to a single reality bubble, and that is performing activities within the reality bubble to some level of fidelity, and performing abstract activities in a base such that activities are simulated to have been performed while the base is outside of the reality bubble the bulletin board is interacted with (and possibly when the PC enters the same overmap tile as the bulletin board for background maintenance?).

Some activities that ought to be possible to delegate:

  • Feed the animals:
    • Bubble activity: Order to companion (and self as well?) causing the character to pick up appropriate feed and dump it at the feet of each domesticated animal within a new animal feeding zone (or some other alternative to select where/what to act). This can either be done "properly" by picking up stuff walking to the target, and drop the food (with the target adjusted on arrival if need be), or perform the feeding interaction. Or it an be done using the zone sorting logic of teleporting the stuff.
    • Base activity: Companions can be given the base background activity of feeding animals, which should cause all animals e.g. within the livestock expansion, but possibly the whole base or livestock feeding zones to be fed daily, with stocks being depleted based on how long the reality bubble has been away, and animals kept at a fed status (with handling of lack of food). There should also be a livestock expansion activity that does this as a one time activity (via the bulletin board), taking some time before the companion can be recalled, but, as usual, the feeding and feed consumption is performed on completion. It would be a bonus if it was capable of being a multi feed activity if the recall happens several days later.
  • Collect eggs:
    • Bubble activity: Order companion (or self) to collect eggs within new zone. Simulation can be from walking, picking up, delivery (when full, not per egg), walking teleporting, walking, to walking to zone and teleporting. Should have settings to allow you to ignore "rotten" eggs, sending "rotten" eggs to a separate destination, or collect all.
    • Base activity: Bulletin board activity for the livestock zone with the same set of filters. Also background daily activity.
  • Process eggs:
    • Bubble activity: Should be possible to string it to the collection activity such that processing starts when egg collection ends. Should basically be to subject the collected (usable) eggs to some recipe with the twist that it would also cause the character to move to a suitable location where the crafting can actually be performed. There might be a set of recipes available, and the settings ought to specify whether all eggs should be processed, the number collected (allowing for a stock to be kept), or a set number.
    • Base activity: Livestock abstracted version of the above, plus base background daily activity.
  • Milk animals:
    • Bubble activity: Grab suitable container (plastic bucket is probably the best one), walk up to each animal in turn, perform milking interaction, walk to designated storage tank and deposit the milk, walk to the next animal (or the same one, if not fully emptied) until all animals have been processed (or the storage is full).
    • Base activity: Livestock version of the above using bulletin board. Background daily activity.
  • Milk pasteurization:
    • Bubble activity: Pasteurize milk by walking up to suitable location and performing the recipe. Needs target containing tank (and recipe support for companion liquid processing). Should be possible to have this as follow up activity after milking. Similar volume control as for egg processing.
    • Base activity: Livestock bulletin board activity which really is just having the recipe available (again, requires the recipe to handle a destination tank). Daily background activity.
  • Milk processing:
    • Bubble activity: Make cheese and butter from pasteurized milk. Possible to string after pasteurization and should contain fixed or relative volumes to process (so e.g. half into cheese and half into butter), and should include delivery of the final product to the appropriate zone.
    • Base activity: Livestock expansion should have bulletin board versions of the above. Should also be background daily activities.
  • Slaughter:
    • Bubble activity: Order a companion to slaughter a specified animal. Should cause the companion to cull the animal, haul the carcass to a designated butchery zone (or designated location using some other method) and butcher it. The order should allow specification of what step(s) to perform, including capturing of blood (needs support for this), and delivery of the products to appropriate stockpiles.
    • Base activity: Livestock expansion: Bulletin board version of the above.
  • Butchery product processing:
    • Bubble activity: This should be possible as a follow up on the slaughter activity, and ought to eventually support additional companions to be recruited at this stage to work in parallel, given that the window for processing is limited. Should definitely support this step to be followed up by an additional instance of this step (process liver, process skin, ...) A range of recipes for processing of products. Also ought to include companion usage of smoking racks (filling racks with food and coal and light them). Products should be delivered to appropriate zones when done. A complication is that the amounts of various products isn't known in advance, so it should be able to "successfully" produce nothing and then proceed with the next stringed recipe if there wasn't enough for some step. Also, the steps ought to allow for all, set amount (effectively "up to"), and a percentage of the produced amount (100% differing from "all" in that 100% is of the produced amount, while "all" would be all in stock) to be processed.
    • Base activity: Livestock expansion: Bulletin board version of the above.

Solution you would like.

I think the section above gives an indication of what I want to be achieved. However, there are a number of "how" obstacles to overcome:

  • Companion crafting would have to be able to handle liquid products. It's probably sufficient for the above to be able to deliver the products to a designated container (which could either be some expanded recipe selection or a zone designation of a new zone). However, "normal" companion crafting would benefit from the ability to select target containers for the product at the time of crafting specification rather than at the time of completion.
  • There's a need to be able to order companions to seek out a crafting location (e.g. a new zone) and then perform crafting there.
  • There's a need to be able to have companions finish activities (including crafting) by optionally deliver the products to appropriate zones.
  • There's a need to be able to order companions to perform a string of activities such that activity B is performed when activity A is finished, and activity C is performed when activity B is finished, and so on. This essentially requires the ability to move to a location suitable for the follow on activity (as mentioned earlier).
  • There's a strong desire to allow follow on activities to be possible to be split between companions. A somewhat primitive starting point would be to allocate all of the participating companions to the initial linear activity(ies) and then take on tasks from an ordered task pool once parallel activities become possible.
  • It's quite desirable to be able to order a companion(s) to perform an activity string and have them resume activities after sleep. Butchering and processing a moose corpse takes a lot of time... It can be noted that it's also generally desirable to have companions resume activities after sleep rather than having to order them to resume every morning (and having to wake them up to give the order).

Describe alternatives you have considered.

No response

Additional context

There's probably a lot of additional activities you'd want to be able to hand over to companions.

@PatrikLundell PatrikLundell added the <Suggestion / Discussion> Talk it out before implementing label Sep 3, 2024
@Maleclypse Maleclypse added NPC / Factions NPCs, AI, Speech, Factions, Ownership (P5 - Long-term) Long-term WIP, may stay on the list for a while. Monsters Monsters both friendly and unfriendly. labels Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Monsters Monsters both friendly and unfriendly. NPC / Factions NPCs, AI, Speech, Factions, Ownership (P5 - Long-term) Long-term WIP, may stay on the list for a while. <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests

2 participants