Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to TerraFirmaCraft Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Dries007

      ATTENTION Forum Database Breach   03/04/2019

      There has been a breach of our database. Please make sure you change your password (use a password manager, like Lastpass).
      If you used this password anywhere else, change that too! The passwords themselves are stored hashed, but may old accounts still had old, insecure (by today's standards) hashes from back when they where created. This means they can be "cracked" more easily. Other leaked information includes: email, IP, account name.
      I'm trying my best to find out more and keep everyone up to date. Discord (http://invite.gg/TerraFirmaCraft) is the best option for up to date news and questions. I'm sorry for this, but the damage has been done. All I can do is try to make sure it doesn't happen again.
    • Claycorp

      This forum is now READ ONLY!   01/20/2020

      As of this post and forever into the future this forum has been put into READ ONLY MODE. There will be no new posts! A replacement is coming SoonTM . If you wish to stay up-to-date on whats going on or post your content. Please use the Discord or Sub-Reddit until the new forums are running.

      Any questions or comments can be directed to Claycorp on either platform.
Sign in to follow this  
Followers 0
DanNetwalker

Monster nests (a new model for spawning)

14 posts in this topic

Ok, I've think about the progressively challenging enemies and the concept of nests for a pair of hours (my girl took the tv set hostage again, so nothing of interest to shut down the head with), and I think I got a model for the nest idea. Care to take a look and elaborate the details?

Each nest needs several data:

  • ID: the nest number, assigned when generating the world map. "The first nest, the second nest, the third nest...".
  • Position: it's location in the world
  • Population limit: a nest can unkeep a max number of mobs.
  • Adult population minimal stock: it's the minimal number of adult mobs needed for the nest to keep producing young mobs.
  • Adult population limit: it's the number of mobs expected to stay near the nest. Exceding mobs will randomly go away from the nest.
  • Mob type: I bet no skeleton archer will want to share the nest with a family of wolves. Extreme case, but you see where I'm going to.
Each mob type whould need this extra data:
  • Age expectancy: how old are the mobs of this type expected to live before dying or despawning.
  • Age of maturity: how old this type of mob needs to be before turning adult.
Each mob should have some data too:
  • Nest id: the number of the nest the mob is attached to. It may be the nest where it was born, it may be an abandoned nest the creature took as a home. Mobs sharing a nest id are in fact the same "family".
  • Age: how old is the mob.
  • Max age: it would be the Age expectancy, randomly modified on spawn (some mobs will have less, some will have more). When a mob reaches this age, it will die or despawn. Certain effects like poison or burns could decrease this number, or increase in case of healing or similars.
And this would be the new behavior for the mobs:
  • A young mob stays close to the nest. Don't wander more than three or four blocks from the nest block. Once the minimal time for adulthood is reached, the mob turns adult.
  • Once per minecraft day, each nest with enough adult mobs and enough room for more mobs, a certain number of young mobs will be spawned. The number depends of the type of mob.
  • If a player attacks a nest, all the adult mobs attached to that nest run as fast as they can to protect it. When close to the player attacking the nest, they surround and attack the player. Ok, maybe surround is a behavior a little advanced, just all the nest attacks the player, at once.
  • If a player attacks a mob, all the mobs of the same family closer to a certain distance will attack the player.
  • If a mob has no nest assigned, it looks for a nest of the right type or an abandoned one (zero population); Choose the closest nest with spare space (the one with bigger difference between population and population limit that is reachable and go there. Once the mob reach the new nest it gets assigned to thas nest.

On map creation, nests are deployed. Each has a unique id, a random number of adult mobs, and a random number of young mobs. Each day, a random number of young mobs spawn in the nests, as long as there's room for them (max population not reached), and young mobs die if there's no adult mob assigned to the nest (this allows the player to "slay the fathers to destroy the nest"). If max adult population is reached, the exceeding will migrate away.

Mix all of this and you got a pretty realistic system. Mobs will stay alive for a time, then die, in a less predictible pattern than the "wait xx minutes". Since they appear on the nest and then spread, the location of the creatures look more natural, and a bigger mob density will hint for the existence of a nest.

Fighting players have the chance of purguing a nest, but not as easy as filling the place of torches and running away for a while: you have to kill all the adults, and either let to die the young or slaying them too, and that doesn't prevent the nest from being repopulated.

Mob spawn limit whouldn't be decided globally for the chunk, but from the sum of the nests' max populations, so there's no way to tell how much mobs there are out there withough looking at the debug info (maybe there's one nest, maybe there's two docens). Of course, a particularly jinx player could manage to anoy enough nests to get an army after his blood.

And once every certain time, or when speciall conditions are meet, certain types of nests could get angry with the player. This allows for undead assaults on new moon, spider attacks when too much charcoal pits are burning at the same time, wolves attacking if too much raw meat is stored or transported...

2

Share this post


Link to post
Share on other sites

Wow! A small idea brought out to a full scale suggestion all on its own. Nice job! This is just what TFC needs to replace the spawners and/or dungeons.

0

Share this post


Link to post
Share on other sites

I'm absolutely loving it. :wub:

This concept is shaping up to be able to entirely replace the old spawn monsters in darkness mechanic.so if the player wants to stay safe in his area for a while he needs to kill off all the nests within the active realm. Mo more torch spam needed, and we can indeed have torches that burn out after a certain time-frame without ending up having our mines full of monsters.

one little issue tho. Minecraft ignores chunks that are too far away from the player. effectively freezing the area in time. the counter to this is that if the player leaves an area alone for a certain number of days, (I.E it stays unloaded from memory) then depending on the rarity of the mob type it could repopulate the nests entirely if it were previously cleansed.

ETA: this idea did need a new topic. since the original small but very good idea grew out of hand and into something entirely different in just a few posts.

Edited by Antice
0

Share this post


Link to post
Share on other sites

I like it, well done! You pulled everything together nicely!

0

Share this post


Link to post
Share on other sites

one little issue tho. Minecraft ignores chunks that are too far away from the player. effectively freezing the area in time. the counter to this is that if the player leaves an area alone for a certain number of days, (I.E it stays unloaded from memory) then depending on the rarity of the mob type it could repopulate the nests entirely if it were previously cleansed.

Oh, right! I forgot to write about that detail too... you see, once a nest is "discovered" (the chunk where it is located is created), each nest is just a handful of numbers. It's coordinates, it's type of mob, how much mobs of each age are there... that is a small footprint in memory. In fact, If you keep those in a list, the game can calculate how much young or adult mobs are in a nest. Repopulating in a loaded chunk means create the mob entity, give it some info... in a nest on an unloaded chunks, it's a matter of handling a docen numbers, nothing more.

That would allow tricks like abandoned nests beign repopulated by nests out of the current loaded chunks, or preventing mobs from going extinct after an exaustive crusade by the player: each time the player gets close to a nest to destroy it, it gets close enough for another nest to appears.

0

Share this post


Link to post
Share on other sites

As requested by valkupo i have copied the mob specific ideas i posted in the other thread over here, since this the more proper place for it now.

forrest biome:

Wolf den:

litter the ground with bones, use the same method for the bones as with flint, just change up the texture and model so that it resembles a sheep's skull. the den itself should be a small hole into the ground with a nest inside. it could spawn new wolf cubs every now and then unless the den was fully populated by a certain number of wolves. the den could send out excess wolves to seek out the player for harrassment attacks every now and then. The main reward for dealing with this den is the nice pile of bones you get from the bone piles, and the nice shiny wolf pelts. would need to add some wolf pelt based equipement tho.

Swamp biome:

Crocodile nest: No overt clue to it's presence(except the fact that you are in a swamp). there will be a pile of leaves adn dirt there. this is the nest. it contains crocodile egg's. the mommy crock is going to be close by and she is hungry (guardian crocodile). the nest could spawn small crocodiles every now and then until desroyed or mommy crocodile is killed. she is a bit bigger and meaner than the rest of the crocodiles swimming around in the swampy waters. they are fairly slow and will not attack unless you are very close while on land, but get in for a swim and they will rappidly close in and attack you. the reward for killing mommy crockodile and all her pal's? Crocodile skin and meat. I know you want that pair of green crockodile boots.

0

Share this post


Link to post
Share on other sites

i wholeheartedly agree with this idea and with the changing of the mobs it might just fit right in. my only question is then do we only have to worry about nests? will we not have random spawns as well. would it change the idea of exhausting the resources that are around, ie the mobs as a resource

0

Share this post


Link to post
Share on other sites

i wholeheartedly agree with this idea and with the changing of the mobs it might just fit right in. my only question is then do we only have to worry about nests? will we not have random spawns as well. would it change the idea of exhausting the resources that are around, ie the mobs as a resource

hmmm... interesting. I didn't thouth of this as a problem, because I almost expected the nests density to be high enough to keep the players busy. Besides, since an "exausted" nest can be "reseed" from the closest nest, this exaustion is only temporal. But, what if the players organize a crusade, to the point of clearing a big space? Maybe random spawn on nests far from the players (invisible to their eyes, so that it doesn't look so unnatural? I really need more people thinking more of the details...

0

Share this post


Link to post
Share on other sites

Love the idea a couple additional ideas certain adults will leave the nest to roam free. Sometimes these free roamers will make nests of their own. The repopulation of nests could be based on biome and depth (underground) rather than being forced to load nearby nests.

0

Share this post


Link to post
Share on other sites

I'm going to be working on mob behavior in the future. I like the idea, and the baby-parent relationship will be improved on, as well as general mob-mob interaction. As far as the monster nests, it's how I'd like to handle spiders, making them more of a select enemy than one that spawns willy-nilly. Think lord of the rings, when smeagle leads frodo into the cave with the giant spider, but add in some of the spiders from Harry Potter 2 and you'll get what I'm looking for.

0

Share this post


Link to post
Share on other sites

LOTR big spider nest.... hmmm. I knew there was something missing. The behaviour I designed fits perfect for mammals, where any adult mob could spawn young mobs, but for a hive type of mob this would be incomplete: we need to mark what adult or adults are the "spawning" ones (the queen and/or king or queens of the hive).

And if you want to improve it even more, some of the adults could go a little away from the nest for different roles as hunting, gathering, finding resources... imagine a giant ant mob where some goes out of the nest to find sugar cane and recolect it. Your farms will be in danger if they reach! And an encounter with a wolf wouldn't be forced by AI, but a direct consequence of the wolf looking for food for the nest. I see opportunity of emerging behaviour in this one...

And there's the little detail, it should be needed to mark somehow who are the "spawning adults" and differenciate them somehow, both in behaviour (those can't leave the nest no mather what) and in looks (maybe a subtle change in texture, maybe a bigger or different model).

0

Share this post


Link to post
Share on other sites

LOTR big spider nest.... hmmm. I knew there was something missing. The behaviour I designed fits perfect for mammals, where any adult mob could spawn young mobs, but for a hive type of mob this would be incomplete: we need to mark what adult or adults are the "spawning" ones (the queen and/or king or queens of the hive).

And if you want to improve it even more, some of the adults could go a little away from the nest for different roles as hunting, gathering, finding resources... imagine a giant ant mob where some goes out of the nest to find sugar cane and recolect it. Your farms will be in danger if they reach! And an encounter with a wolf wouldn't be forced by AI, but a direct consequence of the wolf looking for food for the nest. I see opportunity of emerging behaviour in this one...

And there's the little detail, it should be needed to mark somehow who are the "spawning adults" and differenciate them somehow, both in behaviour (those can't leave the nest no mather what) and in looks (maybe a subtle change in texture, maybe a bigger or different model).

As in nature only the strongest get to make babies. so i agree. spawning adults should be a class above the normal adults.

If i may suggest:

make each mob type in at least 4 variants.

lowest tier is going to be the scout/gatherer/hunter type. these are the weakest of the adult ones, and they are generally the type you will most often encounter outside the nesting territory. there they roam around looking for resources for their nest... (they shouldn't really be taking anything from the world, they are there to let the player have some early enemies that are not too hard to kill)

the next tier is going to be the raiders. they are stronger than the lowest tier, and these are going to be actively seeking the player out to steal his/her food etc. this shouldn't happen all that often. maybe the nest would only spawn these when the player stays in an area for a prolonged period of time, or when the player has killed a certain number of the weakest tier.

the next tier is the "soldier" tier. these stay inside the nest area. they are big, mean and aggressive. they protect the queen/alpha pair.

Then we get to the last tier. the Queen/alpha pair or similar special entity. this entity will only stay within the center of the nest, and getting to them is a mean challenge all by itself. but the fight to cleanse the nest has just begun at that point. these entities are going to have to be like some kind of boss level mob. they could maybe even have some kind of special ability that the other mobs of the same species do not have.

The children/pups/spawn class should be a separate class that is outside the tier system. they are weak and vulnerable, and will stay inside a special spawning room in the nest. (if the game mechanic requires it then this would be where the spawner block is placed. make it indestructible, but allow it to deactivate on the death of the boss mob). the young ones should grow up become to one of the other tiers as needed to keep the nest populated.

1

Share this post


Link to post
Share on other sites

Good point, Antice.

BTW, the "nest block" doesn't even need to be visible, since the actual feedback of "there's a nest here" will be the young mobs and the queen or alpha pair that stays there.

0

Share this post


Link to post
Share on other sites

this is a great idea and exactly what my hunters update needs, i will deffinetly be reffrencing your idea in my thread when i post it, also i think there should be more mob types, and each mob type should have diffrent spawn hights, a can see zombies and skeletons on the surface and the bedrock level so they could be a general mob that you see every where, andas you go deeper you can find progressively stronger mobs the lower you go, i don't realy have any ideas, but if they redo the nether then they could use this to get a real lower levels of hell feel going with prgressively worse demons in game, and with the nest ideas this becomes simpler because certain nest types will only spawn at certain levels, great idea dude, this is a real help to my idea for a hunter update

0

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0