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

Preparing for new animals #53

Open
DokimiCU opened this issue Dec 3, 2021 · 2 comments
Open

Preparing for new animals #53

DokimiCU opened this issue Dec 3, 2021 · 2 comments

Comments

@DokimiCU
Copy link

DokimiCU commented Dec 3, 2021

Eventually more animals will get added. Seeing as I done animals in a unique way, this deserves some explanation.

My "ecological" style of running animals was a proof of concept. (That's why there's so few species right now). I've shown it can work, within limits. Now the code needs tidying up. After that the number of species can be expanded.

Things to consider:

  • Balancing is difficult. Animals start following actual ecological principles. Theoretically it should get more stable the more interacting species we add. It does help to understand ecology to balance this (e.g. predator prey cycles, niches, density dependent growth)
  • Population explosions cause performance issues. Currently this addressed by some "density dependent" inhibitors, notably cannibalism.
  • Brainless grubs do excellently. More sophisticated animals would benefit from higher intelligence than the code currently gives them.
  • Herbivores and generalists work great. I suspect larger herbivores will work fine, as long as they can do meaningful travel.
  • Predators don't work well. In reality predators need high intelligence and large territories to survive. Large carnivores might be better spawned and removed by an Event
  • Given that: Kubwakubwa, Sarkamos, and Darkasthaan could be swapped out for more generalist animals, so they can survive when they fail to find prey. We can keep the names, just make them something else.
  • On that note: Consider all existing models as placeholders. I just grabbed what I could find. Pegasuns don't have to be a type of chicken, they might be better like a cassowary. The cliche overuse of spiders was not intended. That's all we had. I suspect the Sneachan model is a Minecraft clone, so should be changed.
  • The core of the animals code mimics real ecology, but we can fudge that. Exile is not an ecology simulator. I just wanted populations that behave in a realistic way. e.g. so you must think about sustainable harvesting etc.
  • Tidying up the code: Being an experiment, it got a bit messy!
  • Functions missing from code: ability to handle multiple textures, size growth of young, seasonal behaviour, inheritance...
  • Bringing health effects in: e.g. venom, zoonotic diseases. Needs a lot of work to do this.
  • I was surprised by how much personality the male pegasun ended up with. I think it's a combo of the "warning before attack" plus "flight or fight". The randomness/contingency in both is what makes him feel alive - the illusion of a mind. Personality like this is something to aim for in all animals.
  • domestication: People will want to do this. So... I dislike the usual Minetest way: punch a horse with an apple ten times and you can ride it like a motorcycle. Real animals have independent minds. A better way: each animal has a per-player trust rating that is gained or diminished by the players actions towards the animal. At high trust the animal will apply it's normal social behaviors to the player (even if humanly inappropriate e.g. like how a dog will lick your face and sniff your butt.)
@DokimiCU
Copy link
Author

DokimiCU commented Dec 3, 2021

Some Possible new animals:

To fill gameplay gaps:

  • A large dangerous herding/hunting animal: e.g Aurochs (someone did one somewhere. Gundul, mobkit?). This looked impressive. I like that it's not "out to get you" but you need to be careful or it will stampede. Potential for domestication, carrying loads.
  • A small agile herding/hunting animal: choose your strategy between the two.
  • Riding animal: something to fill the role of a horse (but not necessarily an actual horse).
  • Small companion animal: something cute and harmless that you just want to have as a pet.
  • Large companion animal: something to fill the role of hunting dog (but not necessarily an actual dog).
  • small dangerous critter: e.g. like a scorpion, poisonous snake. Kubwakubwa almost fill this role right now. Something that makes you cautious, but isn't actively hunting you down like a large carnivore might.
  • Large carnivore: spawning handled by events. Hunts the large herd animals. I suspect things that come out of the sky or deep ocean will be easier to handle spawning e.g. a giant eagle, a giant amphibian??

To fill world building gaps:

  • Some flying insects/birds: e.g. Dragonfly. We have a sky, might as well use it.
  • Songbird: for aesthetics. I'd like to have a dawn chorus. I think it would add a special touch.
  • Fruit/nut eaters: ecologically something would be distributing those seeds
  • Pollinators: e.g. butterflies (same reason as above). Bees and honey.
  • insectivores: we have a lot of grubs. Something to eat them will keep numbers down.

Just becuase it might be fun:

  • Ants/termites: Could do actual swarm intelligence, but typically needs excessively large numbers to work well.
  • something freakin weird??: To create the feeling that "Anything is possible here".

@wizardofgcc
Copy link

My ideas:
Some kind of large tortoise/other reptile that is herbivorous, found semi-rarely in grasslands in groups of 3-5. These would have a hard shell and can kick or bite you very hard, so hard to hunt unprepared, probably better with a sling since, and the shell would have uses e.g. armor. They would eat a lot of grass, and wander the grasslands in search of it. They could be made tame and controlled, used for the meat and shells, but would require a mobile lifestyle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants