[Mod] Creatures [git] [minetest_mods_creatures]

Post Reply
User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

[Mod] Creatures [git] [minetest_mods_creatures]

by MirceaKitsune » Post

After several days of working around the clock, I'm happy to announce one of the mods I've been most eager to create. It's intended for a game I will be making later, but for now I'm releasing a minetest_game version.

Important: For the mod to work properly, you must first disable the default player script. To do that, open minetest_game/mods/default/init.lua and comment out the dofile line for player.lua.

- Mod information:

So... what is this all about? The Creatures mod is mob framework forked from PilzAdam's SimpleMobs. It is based on a different approach to what players and monsters should be like. Typically, players are players and the "superior race" of the Minetest world... while mobs only exist to attack them, let them farm meat, or have a pet.

Creatures changes that. It works by defining races, which are played by mobs and players equally. All races have their own alliances, and the player can be part of any species he wishes. What can the player reincarnate as? Anything! Players can become mice, sheep, monsters, oerkkis, or the normal player who was now turned into a mob (humans spawn in the same areas as sheep). Of course, small or non-intelligent races have limited abilities. For example, mice only offer an 1 x 1 crafting grid and have 4 inventory slots rather than 32, while having less hit points and a lower eye position (camera view offset).

By default, players start as ghosts, and need to possess a mob in order to become part of their species. Each mob has a random chance of being possessible. Possessible mobs will typically walk toward the player, who punches them in order to assume their body. When a player dies, it becomes a ghost again. Ghost players are never attacked by any race, as they are not considered part of the living world. On the other hand, ghosts are not able to have any inventory (items are instantly deleted) and cannot dig or place nodes. When the player is a ghost, the sky and screen are purple while a spooky ambient sound can be heard.

- Technical stuff:

Most work was on ensuring that the differences between players and mobs are as few as possible, and making all elements common. At the time, mobs and players both: Take environmental damage (water or light), play random sounds, have the same walk speed, the same maximum health, and more. For example, mobs use the server's default walking and running speed which assures they always match that of players, while the "speed" offset of the race equally applies to both. There's only one creature definition containing the creature's parameters.

On the downside, there are a few things I couldn't add. For instance, the collision box cannot be changed for players yet... so if the player possesses a mouse, it still can't go through tunnels which are 1 block high. Lava damage can also not be disabled... so while stone monster mobs are immune to lava, stone monster players are still hurt by it. I'm hoping I may request a few engine changes in the spirit of this mod later on.

Otherwise, I implemented several new features and abilities to the existing mob framework, while keeping it simple and lightweight. Most important one is that mobs can also attack and kill each other, not just players. I also added several new sound effects, which give the world a lot of extra depth.

I will continue to develop the mod until I feel it has everything it could and should have. Most importantly, the mod is open to new features and ideas. Also, if you wish to add something which I don't feel like coding, feel free to submit a pull request. Do however mention what you intend to do first, as there are changes I might not accept. Please let me know what you think or if you find any bugs, and I hope you all enjoy the mod!

- Screenshots and download:

Github page

http://i57.tinypic.com/22cj10.png
http://i62.tinypic.com/14ag22e.png
http://i60.tinypic.com/2i1ziid.png
http://i60.tinypic.com/eb6643.png
http://i60.tinypic.com/11l3q4p.png
http://i57.tinypic.com/2dqitkp.png
http://i58.tinypic.com/4hp8j9.png
http://i58.tinypic.com/348r19j.png

- License:

Code by MirceaKitsune (LGPL), based on SimpleMobs by PilzAdam (WTFPL). Media (models, textures, sounds) by various authors and under various licenses. Full license information included in the README.txt.
Last edited by MirceaKitsune on Sun Jun 28, 2015 11:50, edited 4 times in total.

User avatar
Excalibur Zero
Member
Posts: 142
Joined: Tue Apr 02, 2013 19:45
GitHub: ExcaliburZero
Location: United States
Contact:

Re: [Mod] Creatures

by Excalibur Zero » Post

I commented out the specified line and installed the mod and used it in a new game. It was working at first, as being a ghost was working, I saw the screen purple-ish and in 3rd person couldn't see my self. When I finally found a mob, a sheep specifically, to posses I punched it and Minetest crashed. I got this debug message:

Code: Select all

20:13:19: ACTION[ServerThread]: singleplayer joins game. 
20:13:19: ACTION[ServerThread]: singleplayer joins game. List of players: 
20:14:04: ACTION[ServerThread]: singleplayer damaged by 6 hp at (-20.194,0.965,18.115)
20:14:14: ACTION[ServerThread]: singleplayer punches object 4: LuaEntitySAO at (-37,3.51,40)
20:14:14: ACTION[ServerThread]: LuaEntitySAO at (-37,3.51,40) punched by player singleplayer, damage 1 hp, health now 4 hp

In thread 7f4324320780:
/home/chris/minetest/src/inventory.cpp:624: ItemStack& InventoryList::getItem(irr::u32): Assertion 'i < m_size' failed.
Debug stacks:
DEBUG STACK FOR THREAD 7f42eb6ff700:
#0  virtual void* MeshUpdateThread::Thread()
DEBUG STACK FOR THREAD 7f42f1cc1700:
#0  virtual void* EmergeThread::Thread()
(Leftover data: #1  MapBlock* ServerMap::loadBlock(v3s16))
(Leftover data: #2  ServerMapSector* ServerMap::createSector(v2s16): p2d=(2,10))
(Leftover data: #3  ServerMapSector* ServerMap::createSector(v2s16): p2d=(8,8))
DEBUG STACK FOR THREAD 7f4307ca6700:
#0  virtual void* ServerThread::Thread()
#1  void Server::Receive()
(Leftover data: #2  void Server::SendBlocks(float))
(Leftover data: #3  void Server::SendBlockNoLock(irr::u16, MapBlock*, irr::u8, irr::u16))
(Leftover data: #4  MapBlock* ServerMap::loadBlock(v3s16))
(Leftover data: #5  ServerMapSector* ServerMap::createSector(v2s16): p2d=(-5,3))
DEBUG STACK FOR THREAD 7f4324320780:
#0  int main(int, char**)
(Leftover data: #1  void ClientMap::renderMap(irr::video::IVideoDriver*, irr::s32))
(Leftover data: #2  virtual void ClientEnvironment::step(float))
(Leftover data: #3  void Client::Receive())
(Leftover data: #4  void Client::ProcessData(irr::u8*, irr::u32, irr::u16))
(Leftover data: #5  void MeshUpdateQueue::addBlock(v3s16, MeshMakeData*, bool, bool))
Also you may want to note that there is a naming conflict with the name of the mod Creatures (viewtopic.php?f=11&t=8638).

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures

by MirceaKitsune » Post

Excalibur Zero wrote:I commented out the specified line and installed the mod and used it in a new game. It was working at first, as being a ghost was working, I saw the screen purple-ish and in 3rd person couldn't see my self. When I finally found a mob, a sheep specifically, to posses I punched it and Minetest crashed. I got this debug message:

Code: Select all

20:13:19: ACTION[ServerThread]: singleplayer joins game. 
20:13:19: ACTION[ServerThread]: singleplayer joins game. List of players: 
20:14:04: ACTION[ServerThread]: singleplayer damaged by 6 hp at (-20.194,0.965,18.115)
20:14:14: ACTION[ServerThread]: singleplayer punches object 4: LuaEntitySAO at (-37,3.51,40)
20:14:14: ACTION[ServerThread]: LuaEntitySAO at (-37,3.51,40) punched by player singleplayer, damage 1 hp, health now 4 hp

In thread 7f4324320780:
/home/chris/minetest/src/inventory.cpp:624: ItemStack& InventoryList::getItem(irr::u32): Assertion 'i < m_size' failed.
Debug stacks:
DEBUG STACK FOR THREAD 7f42eb6ff700:
#0  virtual void* MeshUpdateThread::Thread()
DEBUG STACK FOR THREAD 7f42f1cc1700:
#0  virtual void* EmergeThread::Thread()
(Leftover data: #1  MapBlock* ServerMap::loadBlock(v3s16))
(Leftover data: #2  ServerMapSector* ServerMap::createSector(v2s16): p2d=(2,10))
(Leftover data: #3  ServerMapSector* ServerMap::createSector(v2s16): p2d=(8,8))
DEBUG STACK FOR THREAD 7f4307ca6700:
#0  virtual void* ServerThread::Thread()
#1  void Server::Receive()
(Leftover data: #2  void Server::SendBlocks(float))
(Leftover data: #3  void Server::SendBlockNoLock(irr::u16, MapBlock*, irr::u8, irr::u16))
(Leftover data: #4  MapBlock* ServerMap::loadBlock(v3s16))
(Leftover data: #5  ServerMapSector* ServerMap::createSector(v2s16): p2d=(-5,3))
DEBUG STACK FOR THREAD 7f4324320780:
#0  int main(int, char**)
(Leftover data: #1  void ClientMap::renderMap(irr::video::IVideoDriver*, irr::s32))
(Leftover data: #2  virtual void ClientEnvironment::step(float))
(Leftover data: #3  void Client::Receive())
(Leftover data: #4  void Client::ProcessData(irr::u8*, irr::u32, irr::u16))
(Leftover data: #5  void MeshUpdateQueue::addBlock(v3s16, MeshMakeData*, bool, bool))
Also you may want to note that there is a naming conflict with the name of the mod Creatures (viewtopic.php?f=11&t=8638).
Strange... I don't get that crash myself when possessing mobs. Even more strangely, that error doesn't point out to a specific Lua line being at fault. Maybe this mod uncovered some bug in the engine?

And it's likely too late to rename my mod, especially to something good. People will likely use either this or the other mod named creatures, so it shouldn't be a problem either. But good to know, thanks.

Amaz
Member
Posts: 354
Joined: Wed May 08, 2013 08:26
GitHub: Amaz1
IRC: Amaz
In-game: Amaz

Re: [Mod] Creatures

by Amaz » Post

This is really good!
If I die when I am a ghost, however, the game will crash, without an error message if I die from falling or drowning, or with an error message from trying to posses mobs and dieing.. (Can you posses unwiling mobs?) The game will sometimes crash when I die from killing allied mobs when alive.
Apart from the somewhat crash happy nature of this mod, it is really good! Thanks for making such a unique, fun mod!

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures

by MirceaKitsune » Post

Amaz wrote:This is really good!
If I die when I am a ghost, however, the game will crash, without an error message if I die from falling or drowning, or with an error message from trying to posses mobs and dieing.. (Can you posses unwiling mobs?) The game will sometimes crash when I die from killing allied mobs when alive.
Apart from the somewhat crash happy nature of this mod, it is really good! Thanks for making such a unique, fun mod!
Glad you like it! And no, you can't possess unwilling mobs. That seemed a bit evil to allow... but also because I want mobs in each race to have a limited probability of being possessed, in order to make it rare for powerful races to grant players a body.

And yeah, apparently the mod is triggering something bad in the engine. From what I understand and am getting the impression, it's something related to inventory, and could have to do with player inventory sizes being modified.

Once again, make sure player.lua is commented out. Also, I advice disabling the bones mod too, which feels like a likely source of conflict. Bones store the player's inventory on death, so maybe they don't like things like 1 inventory slot?

Amaz
Member
Posts: 354
Joined: Wed May 08, 2013 08:26
GitHub: Amaz1
IRC: Amaz
In-game: Amaz

Re: [Mod] Creatures

by Amaz » Post

Okay. I'll have a go at that. I did comment out player.lua, and will try disabiling the bones mod. Thanks!
Looking at the debug.txt, it does have an error message related to bones.

User avatar
Topywo
Member
Posts: 1721
Joined: Fri May 18, 2012 20:27

Re: [Mod] Creatures

by Topywo » Post

Very original mod! I enjoyed trying it out.

- I had the same error as Excalibur Zero (assertion...etc.) (I died after trying to kill an ally)

- I somehow expected the ghosts to be able to fly and have noclip

thetoon
Member
Posts: 106
Joined: Tue Dec 11, 2012 12:55

Re: [Mod] Creatures

by thetoon » Post

It's actually rather creative (no pun intended), but :

* it's completely changing the gameplay, so maybe it would be better as a game (unless it's already intended as a basis for games)
* it's incredibly difficult to spot creatures when a ghost (haven't found even one, myself). So unless I have a generation problem (should the console say something when spawning creatures?), it might be helpful to make the ghost see life more easily. Think "predator". Still, it might be difficult with current engine's state.

Very good work anyway.

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures

by MirceaKitsune » Post

I committed changes which might reduce (not fix) the crashes. I studied what happens and it's clearly an engine bug. The function at fault is apparently player:hud_set_hotbar_itemcount when inventory:set_size("main") is also used. Even if the hotbar item count is equal or less to the inventory size, there is still a crash. Even so, the crashes only happen sometimes... apparently taking items into the inventory after logging in increases those chances. Only way to prevent it was setting hotbar size to 1 all the time, in which case inventory changes no longer bothered the engine. Someone should look into this ASAP, as that function is currently broken.

Amaz
Member
Posts: 354
Joined: Wed May 08, 2013 08:26
GitHub: Amaz1
IRC: Amaz
In-game: Amaz

Re: [Mod] Creatures

by Amaz » Post

thetoon wrote: * it's completely changing the gameplay, so maybe it would be better as a game (unless it's already intended as a basis for games)
MirceaKitsune wrote: ...It's intended for a game I will be making later, but for now I'm releasing a minetest_game version...
thetoon wrote: * it's incredibly difficult to spot creatures when a ghost (haven't found even one, myself). So unless I have a generation problem (should the console say something when spawning creatures?), it might be helpful to make the ghost see life more easily. Think "predator". Still, it might be difficult with current engine's state.
If you want to see where creatues spawn at just add display_mob_spawn = true to minetest.conf while minetest is closed. But personally, I like it the way it is...

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures

by MirceaKitsune » Post

Opened an issue about the crash on Github: https://github.com/minetest/minetest/issues/1275 Will announce here when the problem is solved so the mod can become playable without causing crashes. Sorry for the inconvenience, and hopefully it will all work again soon.

4aiman
Member
Posts: 1208
Joined: Mon Jul 30, 2012 05:47

Re: [Mod] Creatures

by 4aiman » Post

Nice!
Thanks for this mod and the ideas you gave everyone by posting this! :)

This will be of a benefit to the "ghosts" mod ))

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: [Mod] Creatures [minetest_mods_creatures]

by Inocudom » Post

viewtopic.php?f=9&t=8798
I asked the creator of the mod linked to above if he would support your mod with his mobs. I would just love to be a cute little bee.

viewtopic.php?f=11&t=8638
Could this mod be useful to you too?

dgm5555
Member
Posts: 245
Joined: Tue Apr 08, 2014 19:45

Re: [Mod] Creatures [minetest_mods_creatures]

by dgm5555 » Post

MirceaKitsune wrote:For the mod to work properly, you must first disable the default player script. To do that, open minetest_game/mods/default/init.lua and comment out the dofile line for player.lua.
It took me a little while to figure out the location of the "minetest_game" (on my ubuntu system its: /usr/share/minetest/games/minetest_game/...)

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures [minetest_mods_creatures]

by MirceaKitsune » Post

There is news to be posted here. First of all, RealBadAngel helped fix that horrible crash when the hotbar was shrunken, meaning that this mod should no longer bring down the engine. I'm noticing that there are still occasional crashes, but we're working on solving them. Either way, the mod is much safer to test now.

Second, I've added a lot of new features and mechanics to the mob system! Here's a list of the most relevant ones:

- The alliance system was reformed into an interest list. Each value ranges between -1 and 1, where 1 means "for this interest" and -1 means "against this interest". The average of all things two creatures have in common defines to what extent they are enemies or allies. The lower this value, the more likely it is for a mob to attack you, while the higher, the more likely that the mob will follow you around (and let you possess it when you're a ghost).

- The old mechanism to follow or attack creatures was converted to a target list. Each creature analyzes its surroundings, and creates a list with all mobs / players around it, which includes how important that creature is and if it's an enemy or an ally. The entry with the highest priority is the task the mob carries out.

- Additional to following and attacking, there are now logics for avoiding targets. When a mob can't fight or is too wounded, it will run away from enemy mobs / players. Mobs will also change attack targets into avoid targets when their health gets too low, meaning they now attempt to flee battle before they're close to dying.

- AI execution times were improved and are now a mob property. By default, mobs will take new decisions every 1s when idle, every 0.5s when following / avoiding, and every 0.1s when fighting. Previously there was no limit for mobs that were attacking, so this should also be a performance improvement for the server.

For the fun of it, here's a screenshot of allied mobs following me around:

Image

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: [Mod] Creatures [minetest_mods_creatures]

by Inocudom » Post

Inocudom wrote:viewtopic.php?f=9&t=8798
I asked the creator of the mod linked to above if he would support your mod with his mobs. I would just love to be a cute little bee.

viewtopic.php?f=11&t=8638
Could this mod be useful to you too?
The first mod uses the MIT License:
http://en.wikipedia.org/wiki/MIT_License

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Now with mob personalities!

by MirceaKitsune » Post

Today I spend most of my time implementing mob personalities. Each creature definition contains a list of traits, each trait consisting of a min and max value. The actual trait is a random value between the two, decided once per individual mob and persisted (between server restarts) for tamed mobs. An example and description of the current traits:

Code: Select all

traits = {
	attack_interval = {0.75, 1},
	think = {0.5, 0.75},
	vision = {15, 20},
	roam = {0.5, 0.65},
	loyalty = {0.5, 0.75},
	fear = {0.25, 0.5},
	aggressivity = {0.5, 0.75},
	determination = {0.8, 1},
}
- attack_interval: How many seconds the mob shoots / punches, basically the attack skill.
- think: How many seconds the mob makes new decisions or takes actions.
- vision: View distance in which other creatures are detected.
- roam: When the mob is idle, this determines how much it's likely to walk around or sit in place.
- loyalty: How probable it is that the mob will follow allies around and defend them.
- fear: Likeliness of the mob running away from enemies (if aggressivity doesn't succeed first).
- aggressivity: Likeliness of the mob to attack enemies (if fear doesn't succeed first).
- determination: Lower values make it more likely for a mob to drop distant targets and abandon a task.

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures [minetest_mods_creatures]

by MirceaKitsune » Post

Added one more thing before calling it a day: Mobs may now choose an attack target based on who they see fighting around them, by evaluating their relationship toward both parties (loyalty toward ally and aggressivity toward enemy). If a mob sees a friend hitting a foe, it may choose to attack that foe as well. If a mob sees a foe hitting a friend, it may attack that foe.

This calculation is done efficiently in the on_punch event (only executes when a punch takes place), and only mobs in a radius where a mob could be watching are evaluated, so this isn't a costly feature and shouldn't burden the server. Overall, despite the advanced AI I've been coding, this mod should still be as lightweight as SimpleMobs... and it intends to stay that way.

Lastly, I gladly inform everyone that RealBadAngel committed one more fix to GIT, which completely fixes the crashes! The mod should never crash the engine again, which now makes it 100% safe to use and put on a server.

User avatar
HeroOfTheWinds
Member
Posts: 470
Joined: Wed Apr 23, 2014 23:16
GitHub: HeroOfTheWinds
IRC: WindHero
Location: Hawaii

Re: [Mod] Creatures [minetest_mods_creatures]

by HeroOfTheWinds » Post

This is looking better and better. I have yet to try it, but I might download it in the near future to test the performance. Mobs have rarely been kind to my laptop, so I'm waiting til I have a stronger platform... :P

Sounds like you're doing an excellent job!
Nam ex spatio, omnes res venire possunt.
Why let the ground limit you when you can reach for the sky?
Back to college now, yay for sophomore year schedules. :P

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures [minetest_mods_creatures]

by MirceaKitsune » Post

Thank you all for the nice words and enjoying this mod! Today I made even more changes, mostly unimportant ones.

The one worth mentioning is that mobs will also follow each other now, not just the player. You will occasionally see one mob followed around by others, sometimes breaking apart and forming new groups. This is fun because you can see them ganging up and sitting as if talking to each other, similar to teenager groups in front of a school. Note that this makes it harder for ghosts to find a mob willing to be possessed... look for loners. Screenshots of groups below.

I also fixed health being applied each time creature settings were set, causing players to get maximum health whenever logging in. Health is now persisted like it normally should be.

Image

Image

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: [Mod] Creatures [minetest_mods_creatures]

by Inocudom » Post

Mobs such as sheep and rats appear to walk above the surface of the ground.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] Creatures [minetest_mods_creatures]

by Sokomine » Post

MirceaKitsune wrote: The one worth mentioning is that mobs will also follow each other now, not just the player. You will occasionally see one mob followed around by others, sometimes breaking apart and forming new groups. This is fun because you can see them ganging up and sitting as if talking to each other, similar to teenager groups in front of a school.
That sounds very intresting and is something I missed in other mob mods. Those omnipresent sheep each mob mod supplies never gather into groups. That might also be intresting for inhabitants of villages.
A list of my mods can be found here.

User avatar
AMMOnym
Member
Posts: 682
Joined: Tue Sep 10, 2013 14:18
IRC: AMMOnym
In-game: AMMOnym
Location: Slovakia

Re: [Mod] Creatures [minetest_mods_creatures]

by AMMOnym » Post

This mod is really intresting, but could be people a litle bit slower ?

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures [minetest_mods_creatures]

by MirceaKitsune » Post

Alright everyone... I have some very nice stuff to announce today. I added two major changes available in latest GIT:

The first is a remake of how mobs interpret battles around them. Instead of simply "seeing that an enemy hit an ally and jumping in", mobs do a complete evaluation of the situation, and interfere based on their relationship toward both sides. This means that if a mob spots two enemies attacking each other, it will temporarily aid the less important enemy in order to attack the more hated one. On the other side, a mob will also attack a player who is attacking his own allies. Be careful there players, don't hit your allies or you'll start an entire riot!

The other and most exciting change is that there's now support for skinning. You can define multiple texture sets per creature, and each individual mob will randomly choose one. Skins are fully persisted for both players and mobs, and ghosts who possess a mob will of course also inherit their skin.

I added up to 13 skins from the skins mod. Yes, females are also in! And yes, this also means female sounds for attack / damage / death. In regard to mobs, female humans are worse fighters than male humans, but more intelligent and loyal in turn.

Image

Image

Image

Image

Image

User avatar
MirceaKitsune
Member
Posts: 924
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

Re: [Mod] Creatures [minetest_mods_creatures]

by MirceaKitsune » Post

Today was mostly bug fixing day. I fixed player skins not being applied properly, and mobs occasionally getting stuck.

Mobs will now only follow other mobs if they are idle, and discard follow targets (excluding players) if they start doing other activities. Apart from fixing mobs getting stuck in a loop by trying to follow each other, this also makes sure that each group has only one leader, rather than everyone following everyone else around.

I also renamed the human mobs to human_male and human_female. Note that existing humans will now be treated as orphaned entities, as they're no longer defined. Use /clearobjects to delete all existing mobs, or start a new world.

For the time being, I've used enough energy on this mod, and will likely be taking a break from it once more. I got it to a stable and functional state, where mobs behave as expected and are able to radiate their personalities and show complex behavior. I advice putting this on a server for testing... and if you're interested enough, looking through the code and letting me know if there's anything I missed or could improve.

Post Reply

Who is online

Users browsing this forum: No registered users and 19 guests