Page 2 of 3
Posted:
Mon Jun 24, 2013 09:24
by Thermal_Shock
shaneroach wrote:For me, mobs will be far more fun if/when there is enough AI for them to form towns and communities (monsters and people, obviously. Not animals... Well, maybe baboons...)
I envision a 3d dwarf fortress in my minds eye, though I would think that is a very long term goal and one I am setting more for myself than for the Minetest community at large.
That's an awfully high bar to set. Especially with the hope for a 3D Dwarf Fortress. As much as I would love to see the same.
Personally my hope is for an AI with multiple states.
Neutral- A wandering mob that doesn't react to the player.
Avoidant - Runs from the player at a certain distance.
Aggressive - Pursues the player
I'd assume that could fulfill most players needs without being to pie in the sky for the devs.
Posted:
Mon Jun 24, 2013 09:51
by Nore
A 3D Dwarf Fortress? That would take years to code! And it would have to be done with the engine itself, and no control for lua, so bad.
Posted:
Mon Jun 24, 2013 20:07
by shaneroach
Nore wrote:A 3D Dwarf Fortress? That would take years to code! And it would have to be done with the engine itself, and no control for lua, so bad.
Hehe, as I said... more for my own personal motivation than anything the community needs to bother with here. The beginnings of it though would be pretty simple. People go home at night, go to a shop or other appropriate work place during the day, and react with the basic AI Thermal Shock was discussing.
Posted:
Wed Jul 03, 2013 10:21
by MirceaKitsune
This is something I consider one of the top concerns right now too. From what I heard, the reason mobs aren't in by default is that there's no mob system that's good enough. There are currently two implementations developed by two people, both of which have their own issues:
-
MOB Framework by sapier: More detailed and complex, but slow and CPU intensive at times.
-
Simple Mobs by PilzAdam: Lightweight and less resource intensive, but simpler and a bit buggy.
My suggestion is to go with PilzAdam's (which also has properly themed 3D models for animals) and slowly add features to it over time. I got a glimpse of it on VanessaE's server, and IMO it looks pretty good... although some minor movement issues are visible.
Posted:
Tue Jul 09, 2013 09:30
by SilverWolfLily22
There isn't a mob system that is good enough? What? We can make one up.
It wouldn't be too hard. Tell me if I should put my thinking cap on.
Posted:
Tue Jul 09, 2013 11:47
by MirceaKitsune
SilverWolfLily22 wrote:There isn't a mob system that is good enough? What? We can make one up.
It wouldn't be too hard. Tell me if I should put my thinking cap on.
There already are two, and their developers are experienced. So if it was possible to make a perfect one, such would have surely existed already.
I think some issues and limitations are problems with Lua entities overall, and will require code improvements also.
Posted:
Tue Jul 09, 2013 14:36
by Casimir
That means we still have time to think about a proper concept for mobs.
The two current mods try to copy the minecraft model, which I don't like at all. It make the night unusable - minecraft is unplayable without bed, you can do noting but waiting for sunrise. Or you spend the night slaying an infinite number of zombies.
There are some alternative concepts:
* Mobs are friendly until you attack them.
* Mobs only spawn in certain areas. E.g.: dungeons for the dungeonmaster, desert ruins for the sandmonster.
* Mobs are created at generate, and when they are dead they stay dead. (problem with clear_objects)
* Generate mobspawners instead of mobs. E.g.: graveyards for skeletons, cursed trees for treejumpers.
Posted:
Tue Jul 09, 2013 15:21
by Jordach
SilverWolfLily22 wrote:There isn't a mob system that is good enough? What? We can make one up.
It wouldn't be too hard. Tell me if I should put my thinking cap on.
Re-inventing the wheel takes way too long. It's probably best to contribute to Simple Mobs and go from there.
Posted:
Tue Jul 09, 2013 17:05
by MirceaKitsune
Casimir wrote:That means we still have time to think about a proper concept for mobs.
The two current mods try to copy the minecraft model, which I don't like at all. It make the night unusable - minecraft is unplayable without bed, you can do noting but waiting for sunrise. Or you spend the night slaying an infinite number of zombies.
There are some alternative concepts:
* Mobs are friendly until you attack them.
* Mobs only spawn in certain areas. E.g.: dungeons for the dungeonmaster, desert ruins for the sandmonster.
* Mobs are created at generate, and when they are dead they stay dead. (problem with clear_objects)
* Generate mobspawners instead of mobs. E.g.: graveyards for skeletons, cursed trees for treejumpers.
I believe those would be the easy part. Main problem I noticed is that mobs either don't have an intelligent and complete behavior yet (eg: they walk into walls because they don't detect the path is blocked), either have various glitches and lag a lot (eg: animations can't be matched properly), either are CPU intensive. Some of those things could be solved in the mod, but I believe issues with Lua entities in C++ need to be fixed primarily.
Posted:
Tue Jul 09, 2013 19:52
by Sokomine
The peaceful "normal" animals from mobf are already quite good and useful. The cpu usage doesn't raise that much if you just keep a few meadows with several dozen sheep, cows and chicken. It only gets bad when hostile mobs start spawning.
What I'd like to see are more types of animals. Those could easily be added if someone does a model for them.
The Minecraft way of letting hostile mobs spawn in the dark may be ok for players seeking adventures, but it's not so great for those who try to build. Perhaps that "spawning in mines" that was suggested might be a good idea. We ought to have peaceful inhabitants that spawn in villages and live there. Plus animals that roam the wild (and are sometimes dangerous if they consider the player to be food :-))
Posted:
Wed Jul 10, 2013 14:05
by SilverWolfLily22
Well we definitely need something to turn mobs on and off.
Like in mobf u can turn certain mobs off.
Re: About when will we get proper mobs in minetest?
Posted:
Sun Jun 28, 2015 00:35
by Diamond knight
i think that mobs should be something that is configurable
the game kind of feels dead when you are the only non plant life form in the entire game
a few lightweight animals would be good but should have some settings if the minetest conf (like making them even more stupid, making them 2d, etc) for slower computers
with the developers support they could even be added in the c++ for even less lag
Re: About when will we get proper mobs in minetest?
Posted:
Sun Jun 28, 2015 07:42
by TenPlus1
I already use a slow computer when playing Minetest and Mobs Redo runs fine for me and adds a healthy number of entities to the world...
viewtopic.php?f=9&t=9917
Re: About when will we get proper mobs in minetest?
Posted:
Sun Jun 28, 2015 11:03
by MirceaKitsune
I seriously believe my Creatures mod is something I can offer to this thread:
viewtopic.php?f=9&t=9240It is based on PilzAdam's SimpleMobs, although at this stage it's been so heavily rewritten it's mostly the code layout that remains recognizable. Make no mistake however, it is still as lightweight and optimized and cleanly written.
What makes Creatures different firstly is that it takes a new approach to mobs: Players aren't considered people while mobs are animals or monsters or villagers. Everyone is simply a creature, with the same features and capabilities (to the best extent technically possible), the difference between players and AI minimized as much as possible. To better illustrate this, players spawn as ghosts and become ghosts when they die, and possess a mob in order to gain its body and features (species, appearance, etc). They can possess a person, a monster, or even animals like sheep or rats!
You can write your own creature settings as well as mods (modules) on top of Creatures, which offers a lot of code hooks and modding flexibility. The API is however still at the stage where it can undergo changes, so it's best to suggest features for the default creature set instead. In either case, I really think it's something Minetest users should try out and will enjoy at this stage.
Re: About when will we get proper mobs in minetest?
Posted:
Sun Jun 28, 2015 14:59
by pandaro
I also believe that an efficient API for MOB is necessary, I also agree with a sensible planning their introduction:
first in many other parts minetest should be further improved, to give extreme stability and speed minetest.
When the rest of the complex system minetest will be completed, then it will be investigated what is the most efficient compromise for creatures within minetest.
I think there are at least two types of creatures needed to create different games and they should be able to be chosen by modders and server administrators:
stupid creatures (not using or use limited computational resources)
intelligent creatures (much more expensive)
not only survival games require intelligent creatures, games that require, for example, complex farming or trading may require very complex entity refined.
So there is the need for efficient API that can vacate the modders to introduce AI complex as they please.
Re: About when will we get proper mobs in minetest?
Posted:
Sun Jun 28, 2015 15:25
by Dragonop
Oh man, you had to remember me the good old mobs from the 3.0...
Re: About when will we get proper mobs in minetest?
Posted:
Sun Jun 28, 2015 18:36
by 4aiman
You know, I've longed for an C++ mobs API.
But now I'm sure that even if that *will* happen - I'll never get the AI *I* wanted all along.
Hoping to be able to provide some binaries (*.dll or *.so) is even more stupid as someone will definitely think that a dynamic library == security issue. Even if it will be Minetest that will call several functions from a library.
Thus I don't want API as such. Pathfinder, ground/air flags exposed to lua, animations selection, fast code for jumps or for being pushed back - having some of those as a part of AI (which is to be used in Lua) may be a good idea on the other hand.
Even if Lua isn't the best way to add any mobs, there's NO alternative to create AI/API that some certain person wants to create.
Having all that in mind I can say that I've became indifferent to mobs in default.
Not only I've created my own mobs.
I don't play minetest_game either.
I have my game which is not compatible with minetest_game (and is overlooked by many for that reason including it's mobs API) while simplemobs mod has become a standard of sorts and I'd rather not change that.
I can brag all I want about how cool my game and mobs are, but...
meh...
Everyone's free to guess why.
Those who can add a mod or use a custom game won't complain too much.
Those who can't...
My experience with android port showed me that it doesn't really matter whether mobs lag or not and how poor their AI is.
I don't think that adding a stupid mobs just for the sake of those who are too small/inexperienced to add a mod is worth doing it.
Those who want mobs in default should create a list of features that they want to have, like:
- breeding
- feeding
- projectile weapons
- flying/swimming mobs
- different attack procs
- XP drops
- items drop (which?) upon kill
- jumping over obstacles
- finding a clear view of a player for a distant attack
- exploding attacks
- environmental damage
- spawn rates control
- available animations
- collision box rotation
- disable collision box
- equip armour
etc.
Then that list should be broken in to 2 categories: C++ and Lua.
C++ goes into engine,
Lua becomes a part of builtin.
Some of those functions will require adoption of some mods like "3d_armor".
Chose wisely ;)
Re: About when will we get proper mobs in minetest?
Posted:
Mon Jun 29, 2015 20:09
by Sokomine
pandaro wrote:not only survival games require intelligent creatures, games that require, for example, complex farming or trading may require very complex entity refined.
Not really. Trading is pretty inexpensive regarding computation time as it only happens when a player clicks on a mob and wants to trade. If that takes a bit of time then, it's usually not an issue. It's more important to have efficient spawning of mobs (do we need to spawn another one right now? and if so, where? -> expensive) and optimized code at those places that get executed by all mobs every fraction of a second is usually more important.
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 14:58
by golthem
My suggestion is that someone do run over of simple mobs making it fit in better with the default game (if that's possible ;) ). Perhaps tweaking the mobs themselves. Then bring that to the table and we can have this discussion.
My belief is that simple mobs has a "fake AI" that with the proper programming, could be put to pretty good use and at least that would give us a foundation to start perfecting.
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 15:23
by 4aiman
@golthem
To better fit minetest_game mobs should be accompanied by 3d_armour and many other mods. w/o those I'd have to agree that mobs are needed only to slay smth.
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 15:31
by golthem
@4aiman
For what purpose? The player or the mobs?
It's probably a good idea to have some armor options in the default game anyways.
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 16:08
by 4aiman
@golthem
w/o adding armour mobs have to be made too weak (to compensate the inability to protect from their attacks).
I believe that the whole AI of mobs for a game w/o armour should differ from that for a game with armour.
That includes sieges, group-attacks, fractioning, mobs walking/running speed, max view distance and much more.
Of course that is only my opinion - I'm all for singling out some feature that are in-common for any kind of AI and adding that to C++.
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 16:17
by TenPlus1
We need a mob system that works on the same principles as the player, certain nodes can hurt (fire, lava), you can drown in water (can be disabled), can wear armor if available, as well as the AI to handle each one... This is something Minecraft does quite well and is more of an ENTITY system which has features you can turn off or on (AI, hurt, hunger, drowning, armor, flying, walking etc.)... Kudos to MirceaKitsune in making some of this possible in his Creatures mod...
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 16:33
by 4aiman
Actually, my mobs are hurt by lava, can be made to drown, can fly, can wear armour, can be fed and much more :)
(all but armour is out there in the old magichet release)
The problem is: to properly code that all, the minetest_game should be overhauled.
That's what some of us are trying to do.
Too bad I can't afford shipping magichet with Minetest.
Well, it's not like MT would *allow* me to do that - the license is rather similar to CC-BY-SA-NC.
I'm still struggling with new biomes system, but other than that I'm pretty ready to make a release.
(I still have to decide whether to buy a server or host myself - the price is nearly the same.)
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 16:42
by golthem
That all makes sense for sure. This is one thing I think Minecraft has really got down (not trying to compare the two, just making a reference...) hostile mobs spawn at night and in dark. There, right from the beginning you have some protection, just go out at day and carry torches when mining. For those who desire to battle, they can make armor, weapons, etc. and then venture into the night or without armor, the mobs still don't have crazy health just enough to add a challenge. The question is, what type of mobs are we referencing? Hostile, friendly, or both? What are the benefits to each?
Re: About when will we get proper mobs in minetest?
Posted:
Wed Jul 01, 2015 17:42
by TenPlus1
Sorry 4aiman, what I meant was that an all round entity system would be an advantage in that no-matter WHAT the mob; player; animal, they all follow the same damage system, armor system instead of being coded seperately...
Re: About when will we get proper mobs in minetest?
Posted:
Thu Jul 02, 2015 07:52
by 4aiman
No need to apologize, Ten :)
I wasn't intended to prove anything or to argue about anything :)
What I meant was that the current system allows us to create rather complex mobs+players interaction (including all the effects you've mentioned).
But the ways of doing that are very hacky sometimes.
@everyone
Now, the reason why I've written about adbs is simple:
If there would be any "movements" towards creating a *generic* system for all entities (like TenPlus1 suggests), devs will absolutely need to look into all current mobs implementations and compare the code.
I'm aware of at least 3 kinds of mobs: animals (MOBF), Simplemobs and adbs.
MOBF is a heavy but *very* complex system.
Simplemobs has many derivatives each fixing bugs and/or introducing new features.
Abds were inspired by simplemobs but were coded from scratch and went further towards MC-like mobs in all possible ways.
IMHO it would be rather stupid to not take a notice on what can await one on the path of creating a generic entities system.
I'd rather give you an example:
Just a couple of days ago a new "get_player_velocity" function was introduced.
I've already suggested to change the name to "get_velocity" - all for the sake of a generic method names and ease of programming.
My point?
Look at those _player_ functions. Think about impossible tasks (on_move for a *non-detached* player inventory). Notice how many sanity checks there are which serve the one and only purpose: make sure that the method exists.
API was made by a C++ coder(s) with little to no regard (just my opinion) to Lua side.
Thanks to a design like this, *is_player* was a player-only method for quite a while, which rendered it being a method and not a field useless (was fixed, "quite a while ago" too).
So, in two words:
I'm all for a kind of a system that Ten proposes.
My only hope that the assigned coder will take a look at some mobs and make some corrections.
Re: About when will we get proper mobs in minetest?
Posted:
Thu Jul 02, 2015 15:00
by Sokomine
4aiman wrote:My only hope that the assigned coder will take a look at some mobs and make some corrections.
It's open source...whoever takes the job gets it. If the result is good enough, and other people are convinced of it, it will get used.
I'd love to have a system with a generic interface for registering mobs, which then can be extended by adding more complex behaviour through further mods.
Re: About when will we get proper mobs in minetest?
Posted:
Thu Jul 02, 2015 18:37
by 4aiman
@Sokomine
I was talking about looking into existing mobs' Lua code to make less design errors in C++.
That has nothing to do with open-sourceness, e.g of course it's open source ;)
Re: About when will we get proper mobs in minetest?
Posted:
Fri Jul 03, 2015 01:11
by golthem
4aiman wrote:@Sokomine
I was talking about looking into existing mobs' Lua code to make less design errors in C++.
That has nothing to do with open-sourceness, e.g of course it's open source ;)
I believe Sokomine was meaning that the job is not assigned to someone, someone volunteers to take it up.