It's great how diffrent the villagers look like - and yet their style is somewhat similar withhin a given village. That's excellent! And it fits well to the villages.
Punching the villagers for talking is a bit risky as punching counts as an attack in other circumstances. It'd be safer to have chat on right-click by default. Trading could be an extra option for the player.
The chat itself is very nice. The comic style chatboxes look very good. Villagers even say good-bye if a player ends the chat with them! That's very nice. It'd be nice if they would stop their plans about walking in the future or would stop when walking and a player starts talking to them. Maybe a more general "the villager is busy/doesn't seem to hear you right now" would be more convincing than "busy with planning walking" :-) But that's a small detail. Sometimes the texts are a bit too long for the text chat box and the box ought to be larger. I also had to add a check for "and text_string " in line 2489 in init.lua as the text_string parameter was at least once empty. In the long term it would be great it players could "answer" the mobs by clicking on a button. The owner of the tavern was asking me if I like the weather...but how shall I reply? :) That mobs show what they are (gender, age, profession, ...) when pointing at them is also great. It's very nice that villagers show their names in the chat boxes. It's great that the villagers have diffrent chats based on their profession. Some of their chats won't work without other mods installed (yeti, slimes, ..). Players would look for those monsters in vain.
Some of the sentences the villagers say randomly might count as "wisdom" and perhaps be stored in a book the player carries with him/her. That's something I'd love to have in AdventureTest as well. Maybe that's more important once there are quests (something for later on :-)). Players could also become known to the villagers over time. Maybe less to individual villagers than to the village as a whole due to that taking up less storage space.
One villager was even observed harvesting wheat and replanting :-)
Trading does not seem to work. A miller offered some wheat - but it was only a 9x9 grid and I had no idea where to move the wheat or which price he was demanding. Drawing items out of the trade grid and throwing them to the floor for later pickup works. The villager said "thanks", but it seemed to be a very odd, one-sided trade.
Regarding code-style: One single big file is not so good for maintenance. Splitting it up into smaller files would be easier to read. It's already well-organized inside.
To have the villagers move only in 8 directions and not entirely randomly might be a good idea and help them a lot to get around inside their villages. But what will they do if mobs attack them? They'll eventually have to learn how to defend their homes. Afterwards they could of course just teleport to the center of the current node they're standing on and continue to walk about from there without trouble.
It's good that there are traders assigned to the wagons. Building types bench, deco, empty, field, fountain, pasture, pit, shed, spawn, tent, wagon and well do not get inhabitants assigned in the newest version of mg_villages due to there beeing no beds where they could sleep. It's a good idea that villagers are intrested in these spots and keep talking about them. Maybe any villager could talk about those spots if he's there or that's his target. To have travellers/traders sleep in their wagons is also a good idea but might need closer inspection of the wagons. Not all seem suitable for sleeping. Maybe people staying in the inn/pub (if there is one) could own a wagon and be travellers.
ErrorNull wrote:
- Stays within certain distance from their initial spawn point.
That's a very good idea.
ErrorNull wrote:
- complete trading function
I do of course like the trading function from my mobf_trader mod. Else I wouldn't have written it :-) It ought to be possible to integrate that as well. Perhaps the formspec is not always perfectly nice...
ErrorNull wrote:
- add unique chat dialogue for remaining villager types
Those add a lot of life to the mobs. The existing ones are fine already. But more certainly can't hurt :-)
ErrorNull wrote:
- improve eye and hair placement on some villagers
- add proper clothing textures for 'travelers'
- add body textures for 'old' aged villagers
The look of the villagers is one of the major strengths of this mod. Any further improvment there is certainly very good and will make it even better. But it's very good already.
ErrorNull wrote:
- villagers can walk through and open/close doors and gates
That ought to work in combination with my mob_world_interaction mod that's based on burlis pathfinder. No need to write that anew. You still need to call the appropriate functions in your movement code. There does not seem to be a path-following movement code included? Perhaps the one from npcf will do. I got good results with it.
ErrorNull wrote:
- tower guard spawn atop the tower too!
The tower in village type "nore" has a bed now and will get a guard assigned. The guard doesn't have any idea of where his workplace is. None of the mobs has such knowledge. The code stores which plot they work on, but...that's only the start. Mobs ought to be attracted to the appropriate tool-nodes for their work. Bakers and smiths ought to love furnaces, millers my handmill and perhaps the treshing floor, guards the top of their towers (which is not a special node...), farmers fields...but no such code exists so far.
ErrorNull wrote:
- multiple villagers spawn in taverns
Hm, some could be visitors from neighbouring villages, but most of them ought to be locals. A tavern (and the benches in it) are targets of high intrest for a poor working mob...they just don't know it yet. But I'd rather have villagers go there than special villagers spawning just in the pub.
ErrorNull wrote:
- villagers appear in their homes and lay in their beds at night
- villagers climb stairs
- villagers sit on furniture
That's the job of
mob_world_interaction. The sleeping in bed, finding a place next to a bed/bench/table to stand, the pathfinding...all that exists already. Learning to use other furniture will follow. And stairs are no problem for burlis pathfinder or the movement code from i.e. npcf. The mob still has to decide which node he wants to use next.
ErrorNull wrote:
- figure out how to use GitHub
Once you've created a repository, github will tell you what to do. Having a (unix) shell at hand helps a lot.
ErrorNull wrote:
(regarding zorman2000s mod)
at the same time, you also plan the scope of your NPCs to do much more than i care for my villagers to do. my focus is on simplicity and being processor/server friendly, so i don't plan things like: establishing friendships, tame animals and ride carts, governments and economic activity simulation. i'm glad your mod is here too to offer more choices to everyone!
Don't undervalue establishing friendship. Especially young players want to be friends with everyone. Establishing a relationship with others (often also animals and sometimes even machines) is a very human behaviour. It's important that your actions towards the villagers have reasonable consequences. It's ok if they're forgiving errors fast, but building up and establishing friendship with the village could be a very convenient goal for players. The mod will be most useful in singleplayer when there are no other players available. Ressources are less short in such an environment then on a server.
Anyway...a great mod. Thank you for writing and publishing it! I'm looking forward to future updates and will continue to play with it.