-
Notifications
You must be signed in to change notification settings - Fork 34
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
Create a separate FishFarm Function #320
Comments
As part of this work I think I've uncovered a mistake in the logic concerning |
Link this to its discussion |
Great that you caught this. I'm also wondering why the cpu utility spiked up since we started implementing the settlement partition in concurrent threads. Any particular reasons ?
Question, if we one day implement the object database for storing values, would we still be using these |
So I've found a potentially even bigger problem but I'm not sure. The |
True that building functions aren't serialized. I wonder how it would affect the greenhouse crops since I thought the crops are serialized |
Add a new BuilindgCommand and ProcessCommand the console. #320
I have done a couple of tests and the Crops are different after a reload. If the Crops are not referenced by a serialised object they will not be saved. Moreover, the Farming class is rebuilt in the Building. |
Each ResourceProcessing function has it's own dedicated processes now so they can be controlled individually. Also fixed a bug that stopped anyone doing ToggleResourceProcess tasks. Also allowed the toggle duration & minimum period to be set via the building.xml. The big 'Solid Waste' processes have a larger toggle duration and periodicity. #320
I've wanted to make the
But I probably fail to account for how greenhouse and other functions do have persistent objects that need to be serialized.
So, how or in what fashion do we organize what to be serialized ? Java serialization has some built-in ability to simplify the serialization graph but we better not rely on it too much, since we are moving toward the JSON serialization. From the perspective of each settlement, what minimal things does it want to be serialized through the simulation ? From the perspective of each person, what minimal things does it want to be serialized through the simulation ? I have wanted to work toward saving each person as a personID, and each settlement as a settlementID but haven't fully considered many factors involved. I suppose in future it makes sense to have flexibility in "transferring" out a person from one simulation to the other. |
Functions and the objects they reference have state so they need to be saved. |
Added a new building type to the building.xml & updated settlements.xml to add the the template. Building UI Panel now has a Fishery panel to support the new Function. The new TendFishTank task now delays the tending weeds phase so it does not trigger all the time. #320
Great that you added Now the Biologists/botanists have new tasks to do. Btw, the TendGreenhouse has issues with TaskPhase switching. It switches too fast and doesn't stay in one TaskPhase for a good duration of time. I envision TaskPhase as just one type of minor tasks within a major task and there can be a number of minor tasks to choose from. So, say you give me 15 millisols for Next time when I come back, I'll do "cleaning". |
Yes the task needs some tuning. Also any fish caught are not added to the inventory yet |
Can you commit all the changes made so far ? Even though it's not 100% complete, it's better for me to start from the latest copy of mars-sim you have. There are few things in other areas I'd like to change. |
Caught Fish are added to Settlement Inventory as fish meat & fish oil. #320
I'm pretty happy with this last commit. I have reworked the |
I should have said. I haven't got the Unit Test working yet because they use a non-existent Building Type which breaks everything in the walking tests. This should be easy to fix tomorrow by making |
By the way, we may as well update our wiki on Food Production as we are working on getting the fishery and beehive to work. |
Sure good point |
Right now, by default we give New Pompeii a fish farm. I was thinking of making fish farm initially available to a Japan Aerospace Exploration Agency (JAXA)'s settlement because they would love to make sushi out of the fish :D Also, see the red box in the pic above, the Tank Size should be 10000 but right next to it, there's an artifact that looks like a "|" symbol. Q: If we allow players to tweak things in a fishery, what do you see fit that can be adjusted ? I know at some point in future, we would for sure have different species of fish for the player to experiment with. If that's the case, we may as well now think of beneficial changes to our UI that will be more intuitive and for players to change parameters in a fishery, just like in a game or in a simulation application. |
Do we already have recipes for making Sushi meals? If not, we need a new ticket for that and I'll have to do some ...well... "research" (yummy) today. |
Hahaha. It is actually an 'l' meaning litres. Just doesn't come out very well. I'll change it to the work 'litres' to make it clearer. The actual number needs some adjusting. 10K was an initial guess; 10K litres would occupy a tank that is 10m2 which is probably smaller that the dedicated Fish Farm building could hold. But they can not be too high; they need a large surface area. |
Well, 10 cubic meters is a lot of water, if it has to be produced on Mars or be transported from Earth. If the aquaponics start with shrimp, even far less water could be enough for a small sustainable production. |
I'm also having second thoughts about bee keeping as well. There is a lot of nature we have to consider to have bees. It's easier to add a new Function to cover bee keeping but I have no idea on how to model the honey creation; it is very dependent upon what crops are in the Greenhouse and the greenhouses are not big enough to support a hive from what I have read so far. |
Yeah, though I think it COULD work out with vertical farming and a really huge greenhouse - and maybe a more resourceful species of bees. Sure nothing that can be constructed easily. Especially on Mars. |
Can we have the algae farm ? Do you see that it can be modeled similarly as fish farm ? |
we could have either algae ponds, on growing algae in rows and columns of bags. I've seen research journal that use bags of algae as a part of the waste removal system. They have wanted to genetically engineer algae to also absorb surface radiation. That's why these bags are designed to be fitted in between the outer and inner wall of a hab. |
I don't see why it couldn't be modelled in a similiar fashion. It could just be a Function applied to a Building. |
Sure. does it warrant a brand new building function ? or reuse the old farming function ? |
@bevans2000 , btw, can you add the version tag info with your name to all the new class files you have created in the last few months ? I've helped adding that back in some but not all. |
Sure |
I like the idea if a new Fubction because it gives us flexibility to apply it any building, maybe a new dedicated one or existing buildings as isolation bags. |
I took the liberty of capturing the pic below from a recent Mars Society conference: Mars Aquaponics System - Carl Greenbaum - 2021 Mars Society Virtual Convention |
Just added filet sandwich and sushi plate in this commit. |
Is there a way to control or change the rate of harvesting of fish both automatically and manually ? We can add a vertical number slider field for adjusting the harvest rate and checkboxes for tweaking the max and min number of fishes, etc. |
Btw, I'm also thinking of adding some control for revealing and the ability of adjusting the food and water consumption for each settlement. We already have ability to automate the water ration if water goes low. We could do the same for food rationing. Players can see the rate at which food and water is consumed and can manually adjust this rate. |
Nice |
Btw, I'm committing my algae pond in a moment. |
12.07.2023 - change: vary the starting # of fish to only 5% to 15% of what it used to be - change: rework tendWeeds() in Fishery to grow the weeds - change: rework TendFishTankMeta and TendFishTank - change: revise OptimizeSystem and OptimizeSystemMeta - change: add show water mass and work time in BuildingPanelFishery Relates to #320 and #986
12.07.2023 - change: reduce worktime in Fishery - change: reduce weed demand in TendFishTankMeta - change: vary fresh water to be added in AlgaeFarming - change: add showing # of weed and total fish weight in BuildingPanelFishery - change: call Animal's growPerFrame() with param time, instead of calling Organism's growPerFrame() without param Relates to #320, #986, #1169
Is your feature request related to a problem? Please describe.
Move the fish farming and bee keeping to separate Building Functions. This allows a new Building of FishFarm to be created and bees to be used in only the bigger greenhouses.
Also this will allow the creation of new Tasks to replenish the fish and honey stocks.
The text was updated successfully, but these errors were encountered: