My mobs, the current state

User avatar
Hamlet
Member
 
Posts: 455
Joined: Sat Jul 29, 2017 21:09
Location: Italia
IRC: H4mlet

My mobs, the current state

by Hamlet » Thu Jun 14, 2018 14:32

"TLDR" at page bottom.

Since lately I've been working on improving a number of mods, which share a number of features, I think it's better to use just a thread instead of scattering informations on the relative mods' threads.

All of the following is about not yet released versions.

These features are:
* health recovery, i.e. 1HP every 4secs
* daytime check, i.e. mobs despawn if time is between dawn (4700) and dusk (19250)
* spawning of custom nodes, or other mobs (dim light, ice spiders, cobwebs)

Briefly:
* Banshee and Ghost Redo use the daytime check
* Banshee places a (self-removing) dim light node where it first appears
* Snow Walkers rarely spawn 1 to 3 ice spiders
* Ice spiders spawn by themselves only on ice - ice spiders can place mobs:cobweb (which has a glue effect on players)
* The obsidian sword's damage will be lowered to match a steel sword's damage, due the fact that actually is like a diamond sword but obsidian can be easily obtained from oerkkis/crafted using lava+water; diamonds aren't that easy to find, so, fairplay you know.
* Mobs Humans recover health, can be passive, neutral or hostile (animal, NPC, monster)
* The Luggage (Disk Lord mod) recovers health (1hp every 2secs)
* The aforementioned mobs don't use pathfinding anymore (memory saving)

Underlying concepts and concerns:
* daytime check (15secs), health recovery(4secs), banshee's light node(15secs):

- banshees and ghosts must despawn regardless of their position's light level, and ghosts can't be damaged by a mese lamp (light > 13).
- the banshee's light node is both a warning and a prop; banshees kill on sight, thus I think it's fair to give players a clue when they risk certain death
- these checks require memory, but given the scarcity of spawned banshees and ghosts I think that it's a fair trade-off
- this trade-off should be reliable even on servers, where large amounts of bones are left around, given that banshees and ghosts will not spawn if there's already an active entity (a player, a mob) in that mapchunk

* one might not want these checks at all, anyway

- I will add an option to let users choose whether to use the default light damage method or the daytime check method to despawn these mobs; underground ghosts will not be an issue, banshees will haunt dark places (they can't be damaged).

* Q.: health recovery, is it worth?

- It relies on a counter of course, but it gets triggered just if the mob has been hurt and then left go away, thus in fact it will be active on single-need basis.
- Common situation: kill mobs, wait mob spawner, kill mobs, repeat.
New situation: fight mobs, IF you win THEN new mobs will be spawned ELSE the mob will stay and slowly recover health AND you or someone else can retry to kill it.
The mob spawner can relax.

* A.: it doesn't make much difference to me

- Imagine a monster that has killed you, which slowly recovers health while you are going back to it to finish it... well, it won't be as easy as before.
- Normal monsters can become "bosses" over time; when you have a diamond sword most mobs are as threatening as a butterfly, mobs like Mobs Humans (unreleased version yet) aren't like that - and I'm going to make them slowly increase their damage as they kill players, so a diamond sword will not grant you victory: you will have to carefully plan your next moves, using long ranged weapons, or traps, to weaken them before dealing the final hit.

* Q.: Why not pathfinding?

- Memory saving.
Banshees don't need it, ghosts can pass through anything.
Humans, Snow Walkers and Ice Spiders are as fast as players or faster, thus it's unlikely that they'll miss their target.


Too Long, Didn't Read Version:
I'm doing nice things for you, keeping in mind memory saving, fairplay, realism, difficulty-balance and challengement. Just be patient 'cause I'm knee-deep in multiple mods. :)
 

Astrobe
Member
 
Posts: 140
Joined: Sun Apr 01, 2018 10:46

Re: My mobs, the current state

by Astrobe » Sun Jun 17, 2018 09:38

I've downloaded your game the other day but still haven't tried it yet, as I am myself busy with mine. I like the way you think :-).

I've been thinking about the mob HP regen property too. Besides the advantages you point out, it also helps with animals/NPCs that jump in the water by accident only to go back on solid ground. Also it enhances both monsters in an indirect way, e.g. if smaller hostile mobs are spawned nearby; it's a nice change from just more HP/damage/missiles (armor doesn't count, it's just a fancy way of adding more HP).

Maybe it could be implemented as "air damage" from the MobsRedo perspective? It would make sense for fishes and sharks and it could be hijacked for usages like this (with negative damage).

I notice that for you it also solves a spawning problem. I use MobRedo's regular ABM-based random spawning but I'm a bit dissatisfied with it, but I have no better idea. Maybe "roaming" spawning points, which would randomly change location after they activate?

I've played with cobwebs too. The first thing to note is that drawtype="firelike" works very well on them.
I have the manticore mob from the horror mob by Doom to throw them as missiles; when they hit the player it spawns a cobweb on the player character.
I also have an ABM that spawns spiders on cobwebs and spiders spawn cobwebs too. This can lead to spider infestations. For instance if a spider falls into a cave and is left alone for some time... I once had to clear such a cave, I had to resort to set the cobwebs on fire. Fun times.
Cobwebs in my world can appear in two different ways: first, I've made a mod that creates ruins which places cobwebs in them. Second, my alternate version of Shara's Endless Apples has a chance to spawn a cobweb instead of an apple.
 

User avatar
Hamlet
Member
 
Posts: 455
Joined: Sat Jul 29, 2017 21:09
Location: Italia
IRC: H4mlet

Re: My mobs, the current state

by Hamlet » Sun Jun 17, 2018 15:53

Astrobe wrote:I've downloaded your game the other day but still haven't tried it yet, as I am myself busy with mine. I like the way you think :-).


Thanks! On which kind of game are you working on?

Astrobe wrote:I've been thinking about the mob HP regen property too. Besides the advantages you point out, it also helps with animals/NPCs that jump in the water by accident only to go back on solid ground. Also it enhances both monsters in an indirect way, e.g. if smaller hostile mobs are spawned nearby; it's a nice change from just more HP/damage/missiles (armor doesn't count, it's just a fancy way of adding more HP).


Indeed; the HP regen feature is working pretty good right now - I hope that it may serve as test-drive for the Mobs Redo's API, my hope is that it could be added as core API feature.
Now I am working on the XP gain feature, as it is it just records the number of won battles; it doesn't apply any change to mobs yet, save displaying a "Victories: N" as nametag - still I'm having fun looking at Humans battling like a gladiators' show.

Astrobe wrote:Maybe it could be implemented as "air damage" from the MobsRedo perspective? It would make sense for fishes and sharks and it could be hijacked for usages like this (with negative damage).


True! This is an example of how a simple idea can bring innovation, I am struck by the fact that when I had the issue with beached sharks I didn't even thought about it - instead of trying to fix their movement - dumb me. :)

Astrobe wrote:I notice that for you it also solves a spawning problem. I use MobRedo's regular ABM-based random spawning but I'm a bit dissatisfied with it, but I have no better idea. Maybe "roaming" spawning points, which would randomly change location after they activate?


As far as I know Mobs Redo has configurable mob spawners, you could try testing such idea by creating an ABM (maybe a LBM would be less memory intensive) which looks for the said spawners and moves them around.
However, is that to grant the spawning of some particular mobs regardless of the environment?

Astrobe wrote:I've played with cobwebs too. The first thing to note is that drawtype="firelike" works very well on them.
I have the manticore mob from the horror mob by Doom to throw them as missiles; when they hit the player it spawns a cobweb on the player character.
I also have an ABM that spawns spiders on cobwebs and spiders spawn cobwebs too. This can lead to spider infestations. For instance if a spider falls into a cave and is left alone for some time... I once had to clear such a cave, I had to resort to set the cobwebs on fire. Fun times.
Cobwebs in my world can appear in two different ways: first, I've made a mod that creates ruins which places cobwebs in them. Second, my alternate version of Shara's Endless Apples has a chance to spawn a cobweb instead of an apple.


Yes I reckon you mentioning that when we were tweaking the round trunks mod; I thought about the cobweb caging too, but then I discarded it because I thought that it would be overkill to cage a player surrounded by spiders and snow walkers :D realistic, but a bit too hardcore. Perhaps I'll add it as an option.
Your experiments are interesting, now I am curious to try your game! Maybe with a flamethrower for spider infested tunnels. :)

Speaking of drawtypes, I suggest you to check the lua_api.txt at line 891 because now there are other meshes available for the plantlike drawtype. They may be interesting for your cobwebs, I must admit I haven't tried them yet: I've left them for the next version of round_trunks.
 

Astrobe
Member
 
Posts: 140
Joined: Sun Apr 01, 2018 10:46

Re: My mobs, the current state

by Astrobe » Mon Jun 18, 2018 17:18

Hamlet wrote:Thanks! On which kind of game are you working on?


At first it was an attempt to recreate a defunct game, Firefall, a futuristic MMORPG with guns and jetpacks. Six months later, it's a <undefined style> coop/roleplay survival game with bows and levitation.

As far as I know Mobs Redo has configurable mob spawners, you could try testing such idea by creating an ABM (maybe a LBM would be less memory intensive) which looks for the said spawners and moves them around.
However, is that to grant the spawning of some particular mobs regardless of the environment?


The goal is only to reduce the ABM usage while keeping the randomness, nothing more, actually. Because currently one more mob type = one more ABM. They are on a 30 secs period by default though. Maybe I should follow the common piece of advice "profile first, then optimize".

Yes I reckon you mentioning that when we were tweaking the round trunks mod; I thought about the cobweb caging too, but then I discarded it because I thought that it would be overkill to cage a player surrounded by spiders and snow walkers :D realistic, but a bit too hardcore. Perhaps I'll add it as an option.


In my experience when the cobweb hits, often the players is not exactly at the center of the node they stand on, so it's more so sometimes it's easy to get out.

Speaking of drawtypes, I suggest you to check the lua_api.txt at line 891 because now there are other meshes available for the plantlike drawtype. They may be interesting for your cobwebs, I must admit I haven't tried them yet: I've left them for the next version of round_trunks.


Thanks for reminding me that. I stumble upon it too, but forgot to test them. "firelike" seems almost fitted for mural cloth decoration (curtains etc.), maybe some of these meshes could fit. Also: flags moving in the wind.

now I am curious to try your game!


Well if you happen to see a server named "Minefall", that's me.
 

User avatar
Hamlet
Member
 
Posts: 455
Joined: Sat Jul 29, 2017 21:09
Location: Italia
IRC: H4mlet

Re: My mobs, the current state

by Hamlet » Mon Jul 09, 2018 20:00

I've resumed the work on "Mobs Sidhe" (Dwarves & Elves), which has lead me to work on other mobs mods - "Balrog" and "Humans-dev".

- I've decided to split "Mobs Sidhe" in two mods, "Dwarves" and "Elves", since users might want only one of the two races. Currently I've been working on "Dwarves". Sidenote: because of this "Mobs Sidhe" will not be updated.


- Dwarves (miner, soldier, archer, paladine):
-- I'll release v0.1.0 in a day or two.
-- Use the recover health function.
-- Use the experience gain function.
-- Use the default Minetest Game tools and weapons.
-- Drop the default Minetest Game tools and weapons.
-- More in the "Humans" paragraph.


- Balrog:
-- For the first time I've seen one being spawned, thus I've decided to test it against Humans. Pretty fun: a bunch of them killed it while it was doing a massacre.
-- Actually they won because of the "knock_back", i.e. at some point it wasn't able to react anymore.
-- I'll have to turn off knock_back - actually it should be disabled already (init.lua at line 141) but I forgot to add that to the entity definition.
-- It proved being a real scourge, exterminating NPCs in a whole cave (-2000), which is exactly what it is meant to be.
-- It proved being not invincible, if users team up and have diamond armors and swords. "You will be an hero!"


- Humans:
-- Hopefully I've improved a bit the health recover function, thus I'll update it.
-- I'm getting crazy trying to fix the "sliding" occurring when mobs recover health, for some reason when the actual healing gets started it overrides the mob's animation (walking, standing, whatever).
-- When I'll have sorted out this issue I'll start working on the "timed-hiring" function, which I plan to add to dwarves as well.


- Elves:
-- I haven't started working on it yet, anyway the plan is to do the same that I've done with "Dwarves"; health recovery, experience gain, etc.


That's pretty much it, I hope you'll have the same fun I'm having while testing them.
 


Return to Modding Discussion



Who is online

Users browsing this forum: Clyde and 2 guests