D00Med / farlands

Steampunk/fantasy themed subgame with dinosaurs
29 stars 11 forks source link

Mobs, animals and NPCs #165

Open MarkuBu opened 6 years ago

MarkuBu commented 6 years ago

Minetest really needs a new system for mobs. There is absolutely no mod that really works well.

Here are some prerequisites I would have:

This is to prevent the map from being flooded with animals and NPC's.

screenshot_20171113_102906

It is not a problem to survive on such a map because you always have enough to eat. Just wait for the next animal.

Will add more later

tobyplowy commented 6 years ago

@MarkuBu i wish that was a thin but the mt core devs dount give a crap about mobs so we probably wount see them untill 1.0.0 :/

well makeing a new mob api will be good but its too much work :/

MarkuBu commented 6 years ago

The core devs want to have a mob engine, but there is no engine that is nearly good enough to be added. Also it is necessary to implement some functions to the engine. And as long as nobody knows what is really needed they can't add anything.

mobs redo is the best mob engine we currently have, but from my point of view it is still horrible. Sofars entity_ai has some good ideas, but it is far away from good or even finished.

D00Med commented 6 years ago

Things NPC's should do:

Use doors Adopt empty homes. Change to different types of NPC (eg: butcher, smith, etc.) depending on what is inside their home. Go to their homes at night

Things that would be nice for them to do:

Use beds Stick around the general area of their home. (maybe teleport if they are too far away)

Xaleth commented 6 years ago

@hkzorman 's advanced_npc mod does pretty much all of these things.

MarkuBu commented 6 years ago

Well, First of all, NPC's shouldn't spawn on time based events, cause they will "flood" the map. Spawners should only be used for hostile mobs e.g. in dungeons

@toby, can you make different textures for NPC's for different jobs and maybe male/female?

And is it possible to detach the head from the keyframe animation and rotate the head from a script with bone animation? I know that it is possible to move each bone (see ObjectRef in lua_api.txt) but I don't know how a model has to be prepared for this.

tobyplowy commented 6 years ago

Well, First of all, NPC's shouldn't spawn on time based events, cause they will "flood" the map. Spawners should only be used for hostile mobs e.g. in dungeons

I agree

@toby, can you make different textures for NPC's for different jobs and maybe male/female?

Yup can do

And is it possible to detach the head from the keyframe animation and rotate the head from a script with bone animation? I know that it is possible to move each bone (see ObjectRef in lua_api.txt) but I don't know how a model has to be prepared for this.

Is this the thing you have to do to rotate the head so it looks at the player if so that would be awesome to have

D00Med commented 6 years ago

Well, First of all, NPC's shouldn't spawn on time based events, cause they will "flood" the map. Spawners should only be used for hostile mobs e.g. in dungeons

I agree also, should the "spawners" instead spawn an NPC when they are right-clicked?

And is it possible to detach the head from the keyframe animation and rotate the head from a script with bone animation? I know that it is possible to move each bone (see ObjectRef in lua_api.txt) but I don't know how a model has to be prepared for this.

It's possible I think, but I don't know how.

MarkuBu commented 6 years ago

should the "spawners" instead spawn an NPC when they are right-clicked?

Why a spawner at all? Spawn one villager per building. If you need more villager, build a house and breed a new one or find a second villager

D00Med commented 6 years ago

@MarkuBu The main purpose of the spawners is to allow players to populate villages. By having it work as it did, there was more randomness to the population of villages, but I'll admit it didn't work very well at all. Have you ever tried getting a mob to go where you want? breeding NPC's (apart from being a little creepy, breeding them and kidnapping the kids xD), will make it awkward to get the NPC's where you want them. A spawner is a nice easy way to get around this.

MarkuBu commented 6 years ago

But "spawn" as many villagers as you want for free is totally overpowered and doesn't add any progress to the game.

D00Med commented 6 years ago

Again, this is something that could be avoided with automatic spawning, if not for the fact that it doesn't stop. I don't see it as a major problem anyway, the npc's are still not particularly useful unless they have houses. Maybe players should be able to obtain a tool that spawns a limited number of npc's before it wears out? or maybe spawners, once placed by a player, are unbreakeable until after they spawn a certain number of NPC's, and then are removed.

Xaleth commented 6 years ago

Define the parameters of the spawners by the amount of village plots placed. This is easy to do.

D00Med commented 6 years ago

That doesn't sound easy. Remember the spawners are mostly for use with player-built villages and towns, not really for the villages placed by the mapgen