Ls19 carryingCapacity

Eure Foren für alle Diskussionen rund ums Thema Modding.
Thalvur
Posts: 28
Joined: Thu May 31, 2018 1:15 pm

Ls19 carryingCapacity

Post by Thalvur » Wed Jan 09, 2019 11:44 pm

Hallo.

Wie am Thementitel zu sehen interessiert mich, was die carryingCapacity ist. Kann mir da keine schlüssige Übersetzung drauf reimen. Bin gerade dabei den Kuhstall etwas zu verändern und weis nicht worauf sich dieser Wert bezieht.
Danke für die Hilfe schonmal.

Anzahl maximaler Tierzahl ist ja schon gegeben. Bezieht es sich darauf, ab wieviel Tiere keine weiteren reproduziert werden?

"Liegt die reale Populationsdichte darunter, wächst die Population durch Geburten oder Einwanderung aus benachbarten Lebensräumen, liegt sie darüber, schrumpft sie durch Todesfälle bzw. Auswanderung. Ist die reale Populationsdichte sehr niedrig, ist ihr Wachstum maximal, " (wiki)

Edit don_apple: hab' deine "leeren" Beiträge entfernt.

User avatar
joker301069
Posts: 150
Joined: Thu Mar 05, 2015 5:35 pm
Contact:

Re: Ls19 carryingCapacity

Post by joker301069 » Fri Jan 11, 2019 1:53 pm

Ich kann mir nur denken das ist die Menge an Futter was die Tiere aufnehmen um es anschließend vor dem Futtertrog zu schmeißen.Damit man was zum sauber machen hat.

User avatar
HeinzS
Posts: 10600
Joined: Mon May 16, 2011 5:19 pm

Re: Ls19 carryingCapacity

Post by HeinzS » Fri Jan 11, 2019 2:20 pm

in der Lua steht etwas: https://gdn.giants-software.com/documen ... class=6877
(ich kann aber kein Lua) :confusednew:

User avatar
johny7530p
Posts: 53
Joined: Sun Oct 28, 2012 1:01 pm
Location: Westerwald
Contact:

Re: Ls19 carryingCapacity

Post by johny7530p » Fri Jan 11, 2019 2:48 pm

Hallo,

übersetzt heißt carryingCapacity Tragfähigkeit. Und so wie ich das in der Doku sehe ist das ein Faktor der scheinbar auch eine Rolle spielt in der Kalkulation der reproductions rate.

bin mir nicht 100% sicher, aber ich würde mal darauf tippen.
Gruß Tobi *thumbsup*

Thalvur
Posts: 28
Joined: Thu May 31, 2018 1:15 pm

Re: Ls19 carryingCapacity

Post by Thalvur » Sat Jan 12, 2019 2:14 am

Also ich habe jetzt mal 1std rumgespielt mit dem Wert, es ändert sich weder was an der Prozentangabe des Futters/Stroh noch an der Reproduktionsrate, was ich zunächst vermutet habe. Aus der Lua werde ich ebenso nicht schlau, dazu beschäftige ich mich nicht wirklich damit. Allerdings ist laut dieser der Wert zur Berechnung der Reproduktionsrate da.
local birthIncrease = deltaTime * birthRatePerDay * ((carryingCapacity - numAnimals) / carryingCapacity) * numAnimals
Als LUA Laie seh ich da nicht durch, aber geh ich richtig der Annahme, dass es sich hier um eine Formel handelt?
/ steht für Division und * für Multiplikation?

User avatar
johny7530p
Posts: 53
Joined: Sun Oct 28, 2012 1:01 pm
Location: Westerwald
Contact:

Re: Ls19 carryingCapacity

Post by johny7530p » Sat Jan 12, 2019 11:29 am

Morgen,

ich habe mich nochmal mit dem wort carryingCapacity befasst und der normale übersetzter sagt wie folgt aus Tragfähigkeit. Wenn ich aber mal ein englisches Wörterbuch nutze könnte das auch folgende Bedeutungen haben:

-zulässige Siedlungsdichte
-Kapazitätsgrenze
-Belastbarkeit
-Nutzlast

ich könnte mir noch vorstellen das dieser Wert was zu tun haben könnte mit der Anzahl Sichtbarer Tiere bzw. Anzahl Tiere die auf einem Land Grasen können. Das ist allerdings nur eine Vermutung.
Gruß Tobi *thumbsup*

Herr Ackergold
Posts: 1
Joined: Sun Jun 02, 2019 1:32 pm

Re: Ls19 carryingCapacity

Post by Herr Ackergold » Sun Jun 02, 2019 4:48 pm

Ich hoffe die Frage ist noch aktuell.
Ich bin noch ziemlich neu und unwissend beim modden. Deshalb habe ich mich auch gefragt was dieser Wert bedeutet. Als Anfänger versuche ich jetzt nur fehlendes Wissen durch logisches Denken zu ersetzen. Die Formel müßte die Geburtenrate in Abhängigkeit von der Stallbelegung regeln. Also je mehr Tiere desto weniger Geburten pro Ingametag. Das ist aber nur eine Vermutung durch Anwenden der Formel.

Was kann man damit machen?

folgender Stall wird in den Beispielen verwendet wenn nicht anders angegeben:
maximale Anzahl Tiere: 100
carryingcapacity (cc): 100

Hier nun die Formel:
local birthIncrease = deltaTime * birthRatePerDay * ((carryingCapacity - numAnimals) / carryingCapacity) * numAnimals

ich verwende bei Multiplikationen ein "x" und für Divisionen ein ":" vllt. wird's dann für einige deutlicher.

deltaTime x birthRatePerDay (abgelaufene Zeit multipliziert mit GeburtenRateProTag Grundwert für Geburten

numAnimals = aktuelleAnzahl der Tiere im Stall

Zur Vereinfachung setze ich das Produkt aus deltaTime x birthRate auf den Wert 1 dadurch sind abgelaufene Zeit und Geburtenrate bei allen Beispielen gleich. Das Produkt aus deltaTime und birthRatePerDay lasse ich deshalb in den Beispielen weg da es ja stets 1 beträgt
Jetzt der wichtigste Teil der Formel. Der Teil der den Verlauf der Geburtenrate regelt.
in meinem 1. Beispiel 10 Tiere im Stall
Formel
Ich löse die Formelklammern zum besseren Verständnis in 2 Schritten auf, wobei ich nach dem 1. Schritt die innere Klammer stehen lasse, obwohl sie sofort wegfallen kann da es in der Formelzeile dann nur noch Divisoren und Multiplikatoren gibt.
((carryingCapacity - numAnimals) / carryingCapacity) * numAnimals
((100 - 10) : 100)) x 10 = (90 : 100) x 10
(90 : 100) x10 = 0,9 x 10
0,9 x 10 = 9
9 Kälber würden geboren
Das bedeutet das die Geburtenrate bei 10 Tieren im Stall 90% beträgt wenn die carryingCapacity auf 100 steht und die max. Anzahl Tiere ebenfalls auf 100

2. Beispiel der gleiche Stall (100cc 100na) ist halb voll: 50 Tiere
((100 - 50) : 100) x 50 = (50 : 100) x 50
(50 : 100) x 50 = 0,5 x 50
0,5 x 50 = 25
25 Kälber würden geboren im gleichen Zeitraum wie im 1. Bsp. allerdings mit 50 Alttieren
Das bedeutet das die Geburtenrate bei 50 Tieren im Stall nur noch 50% beträgt.

3. Beispiel Stall ist fast voll: 90 Tiere
((100 - 90) : 100) x 90 = (10 : 100) x 90
(10 : 100) x 90 = 0,1 x 90
0,1 x 90 = 9

9 Kälber würden geboren im gleichen Zeitraum wie in beiden vorherigen Bsp. allerdings mit 90 Alttieren
Das bedeutet das die Geburtenrate bei 90 Tieren im Stall nur noch 10% beträgt wenn die carryingCapacity auf 100 steht und die max. Anzahl Tiere ebenfalls auf 100

Die Geburtenrate müßte also durch diese eingebaute Funktion linear absinken bis sie im Endzustand (wenn die Anzahl der Tiere im Stall den Wert von CC erreicht haben) Null erreicht.

Wenn man die cc kleiner setzt als die maximale Anzahl der Tiere sinkt die Geburtenrate rascher ab und geht auf Null bevor der Stall voll ist und zwar genau bei der Anzahl Tiere die bei cc eingestellt ist. Werden darüberhinaus durch Zukauf mehr Tiere im Stall einquartiert als der Wert bei cc müßte man wieder Tiere verlieren durch Tod oder weglaufen da die Funktion dann negativ wird.

4. Beispiel Stall ist 3/4 voll: 75 Tiere - Stallkapazität 100 Tiere, cc steht aber nur auf 50, aber 25 Kühe wurden zugekauft um 75 Tiere zu haben.
((50 - 75) : 50) x 75 = (-25 : 50) x 90
(-25 : 50) x 75 = -0,5 x 75
-0,5 x 75 = -37
Es müßten demnach dann 37 Tiere sterben oder weglaufen, ich hab das aber noch nicht getestet. Der Wert für cc sollte also mindestens die gleiche Größe haben wie maxnumAnimals.

Wenn man cc höher setzt als die max. zulässige Anzahl der Tiere dann sinkt die Geburtenrate nicht so schnell ab wenn der Stall voller wird. Was passiert wenn der Stall komplett voll ist weiß ich zum jetzigen Zeitpunkt noch nicht, denke aber das es eine Fehlermeldung geben wird so wie bei den Eiern oder der Wolle wenn der Lagerplatz des Stalls voll ist, denn der Wert numAnimals (aktuelle Anzahl an Tieren im Stall) darf über den Wert maxnumAnimals (max. zulässige Anzahl) nicht hinausgehen.

Kuhzuchtanlage
Ich habe mir testweise aus einem KuhstallMod einen Mod mit einer "Kuhzucht" gemacht. Ein spezieller Stall bei dem die Fertilität nicht so rasch absinkt, der aber dafür ziemlich klein ist. Da ich nicht die Rechte an dem Originalmod habe darf ich ihn nicht veröffentlichen aber ich kann die Zeilen nennen die ich geändert habe:
Namen geändert:
<placeable>
<storeData>
<name>
<en>Cow Production CleanMax</en> <de>Kuhzucht selbstreinigend</de>

dann einige Zeilen weiter unten:
Hier die gewünschten Werte für maxNumAnimals und carryingCapacity eintragen:
<modules>
<module name="animals">
<config type="COW" navmeshNode="0|8" animalLoadTriggerNode="0|0" maxNumAnimals="50" husbandryFileName="$dataS/character/cowAnimalHusbandry.xml" placementRaycastDistance="2.0" carryingCapacity="500" rideableDeliveryStartNode="0|6|0" rideableDeliveryWidthNode="0|6|0|0" rideableDeliveryHeightNode="0|6|0|0"/>

Da der Stall recht klein ist habe ich die Miete und Kaufpreis etwas heruntergesetzt (die Zeilen dafür sind ganz oben)

Der Effect bei 25 Tiere also Stall zu 50% voll:
((500 - 25) : 500) x 25 = (475 : 500) x 25
475 : 500 = 0,95
0,95 x 25 = 23 (abgerundet)
23 Kälber auf 25 Alttiere
Geburtenrate ca. 95 %

Die Geburtenrate sinkt kaum ab
Der Effect bei 45 Tiere also Stall zu 90% voll:
((500 - 45) : 500) x 45 = (455 : 500) x 45
455 : 500 = 0,91
0,91 x 45 = 40 (abgerundet)
40 Kälber auf 45 Alttiere

Bei meiner Kuhzucht würde die Geburtenrate nur auf 88 % abfallen wenn der Stall fast voll ist, allerdings darf man den Stall nicht zu voll machen, da die überschüssigen Kälber keinen Platz finden und verlorengehen. Das Optimum wäre also ein nur zu 50-60% belegter Stall. Kommt wahrscheinlich auch drauf an ob man auf einem Server in Echtzeit spielt oder nicht.

Um die Spielbalance nicht zu sehr zu gefährden habe ich die Kuhzucht relativ klein gehalten, da sich ansonsten das Milchgeschäft des Hauptstalls möglichwerweise nicht mehr lohnt und man nur noch Zuchten baut. Ob 25-35 Zuchtiere mit 50 Gesamtkapazität zu wenig oder bereits schon zuviel sind muß ich noch testen, aber das kann jeder selber einstellen je nach Geschmack.

Milch, Gülle und Kuhmist produziert die Zuchtanlage natürlich auch genau wie jeder andere Kuhstall. Auch die Trigger bleiben gleich. Der Stall selber mit seinen Grundfunktionen wird dadurch nicht verändert. In Verbindung mit dem Cowmod der neue Kuharten reinbringt die verschiedene Eigenschaften wie Fertilität, Milcherzeugung ect. wird's evtl. noch interessanter. Die gezüchteten Kühe muß man regelmäßig aus der Zuchtanlage rüber in den Hauptstall bringen. Dazu braucht man einen Viehtransporter

Ich hoffe ich konnte zu dieser Frage etwas beitragen. Falls jemand andere Information hat bitte hier posten.

Viele Kälber für leckere Filets
wünscht Herr Ackergold

Thalvur
Posts: 28
Joined: Thu May 31, 2018 1:15 pm

Re: Ls19 carryingCapacity

Post by Thalvur » Wed Jun 12, 2019 8:44 pm

Vielen Dank Herr Ackergold für deinen aufschlussreichen Beitrag der mir so manche Frage beantwortet hat!

Post Reply