Another Bug Post

I was originally going to post this as a forum post, because it’s basically just an enormous wall-o-text, but I decided what the hell you only live once. And then you die. Like everyone else. So before you die, you might as well waste a few minutes you can never get back reading this wall-o-text.

Playtesting 0.8.0 has revealed some bugs: thankfully not major, crash-inducing ones. They’re mostly problems with longer-term simulations.

I tried tracking down the two major ones this morning (over-reliance on carnivory and species-count becoming desynchonised from the creatures) and failed miserably. Couldn’t reproduce the latter at all, and the former is just plain odd.

It doesn’t seem to be an energy leak bug: creature’s can’t survive if you kill *all* the plant matter, which is a good sign. But they *can* survive extraordinarily well on a very small amount of food.

I think I’ve got an idea, though: I’m starting to think this might be a recycling issue related to the way biomass is handled.

When a creature eats a plant, the amount of energy it consumes is constant, but then other factors kick in (the creature’s diet, the plants efficiency, global efficiency if it worked properly, etc) to reduce the amount of usable energy that is actually added to the energy bar.

The unusable energy is added to the creature’s biomass value, which is little more than a storage space, keeping track of the energy that the creature has consumed during it’s lifetime. When it dies, biomass (along with any leftover health or energy) becomes delicious meat.

Meat is a more efficient food source. You might be able to see where I’m going with this.

Whether a herbivore or a carnivore eats the plant, the same amount of energy is introduced to the population. Even a near-carnivore will eat plants in an emergency, and even though the individual might not be able to make use of the biomass it picks up, it’s pure-carnivore siblings can when it dies. So the population ends up relying on these omnivorous mutants to bring energy into the system. And of course, unlike a herbivorous population, when each of these carnivores dies they can be fed on in turn by their siblings, resulting in an incredibly efficient survival strategy that requires far less energy input overall. It’s quite elegant, actually.

Alright, that’s enough admiring the enemy, what can we do about it (assuming that huge steaming pile of extrapolation was at all accurate)?

My first inclination is to reduce the meat efficiency. But that doesn’t actually stop the energy from being introduced to the population: it just means it has to go through more creatures to be usable. Plus it makes carnivory less likely. The problem isn’t carnivory so much as so efficiently recycling the incoming energy.

The large total plant energy is what caused the problem in the first place, so I could reduce that. I’d need to increase the efficiency of herbivory to compensate: the end result would be that eating plants would add substantially less biomass.

Or efficiency could actually influence the total amount of energy that’s added: rather than having a constant increase and divvying it up between biomass and energy. But functionally, that’s pretty much the same as reducing planet energy content as mentioned above, since they’re the things with the low efficiency.

Or… well, I could finally accept the fact that the biomass value isn’t hammerspace and rework it somewhat.

Honestly, I’ve been treating biomass wrong for a long time. It was originally a way to ensure the conservation of energy, but a potential storage of infinite meat on every creature is quite frankly rediculous and unrealistic.

So, how to fix?

In real life, edible biomass *isn’t* simply unused energy: that only applies to fat stores, and those are just a tiny fraction of the creature’s edible meatiness. It’s structural: muscles, flesh, etc. It’s correlated with mass. And unused or unusable food isn’t stored forever as fat stores, either: it’s expelled.

So, the sensible way to fix this might actually be a deliberately introduced energy leak. Sort of like Decay, only happening while creatures are alive. It’d work something like this:

Creatures gain biomass normally up to a set point (perhaps their childhoodCost (to represent structural biomass) plus a percentage of their mass (fat stores)), after which it leaks out over time (possibly even providing a minor energy boost as it does so). It would have to leak exponentially faster the higher it went, to prevent a creature capable of rapid consumption from outpacing the energy leak indefinately simply by gathering food.

This would put a limit on the amount of meat a single creature could provide, meaning that carnivores eating a particularly bountiful meat pile would get a much smaller meal: enough to produce one or two children, rather than dozens.

Hopefully, that should put a spanner in the works of the current dominant survival strategy.

We’ll see…

Qu

Advertisements
  1. #1 by White parrot on April 7, 2015 - 6:50 pm

    “And unused or unusable food isn’t stored forever as fat stores, either: it’s expelled.”

    In other words, we need to implement creature poo. At last! XD

    “When a creature eats a plant, the amount of energy it consumes is constant, but then other factors kick in (the creature’s diet, the plants efficiency, global efficiency if it worked properly, etc) to reduce the amount of usable energy that is actually added to the energy bar.

    The unusable energy is added to the creature’s biomass value, which is little more than a storage space, keeping track of the energy that the creature has consumed during it’s lifetime. When it dies, biomass (along with any leftover health or energy) becomes delicious meat.”

    The notion of biomass as currently implemented seems quite counter-intuitive to me: it sounds like creatures digest what they can to add to their energy bar, then add the unusable poop to their fat rolls??? I hope I misunderstood, and you actually meant that when their energy bar is full, the excess usable energy derived from their meal is transferred as fat biomass, while the truly unusable energy is lost (as poop). Or perhaps I just don’t understand at all how the digestive system currently work. >_<'
    The "conservation of energy" you speak off seems irrelevant here, because animals are open systems that just get rid of unusable energy.
    In general, the biosphere is an open system, where energy is constantly lost as heat, like everywhere else in the universe: the system is maintained because plants access an external energy source, the Sun (while elsewhere dark smokers or something play the same role). Don't fear loss, for it is unavoidable … Woa, that's dark.
    If you absolutely want to keep track of unusable energy, I'd suggest you use it as fertilizer … Perhaps one day creatures will be able to eat their own poop to filter its usable energy again (as rabbits do, for example), but this gross time hasn't come yet.

    "Whether a herbivore or a carnivore eats the plant, the same amount of energy is introduced to the population. Even a near-carnivore will eat plants in an emergency, and even though the individual might not be able to make use of the biomass it picks up, it’s pure-carnivore siblings can when it dies."
    See, that just doesn't make sense to me because fat is from digested, actually usable energy. So carnivores couldn't get fat on plant matter: they'd poop or vomit it, I guess. There's no sense in deliberately storing unusable matter!

    … I still feel like I missed something. 😐 Still, that's interesting. ^_^

  2. #2 by White parrot on April 7, 2015 - 7:47 pm

    Rereading this, I realize I have indeed misunderstood most of what you said -you did address points I’ve mentioned. Sorry for taking your time! o~o
    Though …

    “a potential storage of infinite meat on every creature is quite frankly rediculous and unrealistic.”
    “Creatures gain biomass normally up to a set point (perhaps their childhoodCost (to represent structural biomass) plus a percentage of their mass (fat stores)), after which it leaks out over time (possibly even providing a minor energy boost as it does so).”
    We have creatures IRL made up of pile of fats, mostly because food is hard enough to come by; but humans have overcome this burden and this resulted in a peak in … obesity.
    Obesity. When fat stores are far beyond what is normal and healthy. THIS is what you’re aiming for.
    Too much fat could slow down creatures and make them less enduring, hurt them through cholesterol problems … Having infinite rolls of fat isn’t unrealistic because it’s not useful, but unrealistic because it’s actively dangerous to maintain.
    Alternatively, the AI could help creatures realize they’re eating too much, but where’s the fun in that? More fun variation is; they’d have to evolve the correct threshold of “satiety” to know we they have indeed reached their safe maximum: as the adaptation is less than perfect, we’d have creatures that stop to eat a bit before reaching this limit, and others who are indeed chronically obese when exposed to too much food at once.

    Also, I maintain that creatures should poop truly unusable energy rather than store it. :p

  3. #3 by Prudentia on April 8, 2015 - 6:16 am

    Dung beetles!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: