Cuberite Forum
New AI for Mobs - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Development (https://forum.cuberite.org/forum-13.html)
+--- Thread: New AI for Mobs (/thread-820.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22


RE: New AI for Mobs - xoft - 12-24-2013

I think it's safe to use the current cMonster::eType enum for "mob base", it corresponds to the protocol's entity type, so it makes sense.

I don't have a vision of what the "configurations" are exactly. Is it just "having member variables dedicated to X", or is there something more, such as a specific combination of "components"?

Where will undead-sunlight-burning go, component-wise? Does it go under Reactions? Or will there be a specific component for "environment reactions"? How about nether mobs not taking damage from fire and lava?


RE: New AI for Mobs - SamJBarney - 12-24-2013

Honestly, I don't know where sunlight-burning would go. I do think that "Environmental Reactions" would be a good place to put those. That way, squids can burn when exposed to air, nether mobs don't react to anything (maybe drown in liquids?), and regular mobs drown in liquids and burn in lava.
Though do nether mobs burn when exposed to sunlight?


RE: New AI for Mobs - xoft - 12-24-2013

Another question is, can you use multiple components for one "slot"? It would make *some* sense - we need the zombie pigmen to not react to lava, yet to have a very specific reaction to being hit by a player. On the other hand, it should be fairly easy to actually derive a single new component from those two. The only disadvantage is that all these combinations need to be defined compile-time, rather than combine various components in runtime.

We should make a mindmap of all these thoughts so that we don't get lost Smile


RE: New AI for Mobs - SamJBarney - 12-24-2013

Agreed.

Adding multiple to a slot would make it very complex... Plus, having multiple slots of a single type would make it difficult to prevent collisions. For instance, what would happen if I had multiple move types? If I had slime movement and squid movement on the same target, they would naturally conflict.

Do you have a tool that you usually use for a mindmap?


RE: New AI for Mobs - xoft - 12-24-2013

I used FreeMind a lot, I liked it (except for the fact that it's in Java).
http://freemind.sourceforge.net/wiki/index.php/Main_Page


RE: New AI for Mobs - SamJBarney - 12-24-2013

Found a free online one that saves mind maps as json:
http://mindmap.crazenut.org/mindmapswebapp.html

Anyways, I'm putting it together as a mind map. I'll post the results so that you can take a look at it and change it/comment on it.

Is there anything specific you would like in the mind map?

So here's one that I just threw together:
[Image: Screen%20Shot%202013-12-23%20at%203.14.23%20PM.png]


RE: New AI for Mobs - xoft - 12-26-2013

Will the player be represented in the same way? It would make some sense - we could then have players controlled by an AI instead of a real network client. On the other hand it would very much complicate the API to plugins, and most plugins would need rewriting a lot of code, because the cPlayer object provides quite a lot of functionality extra to entities.


RE: New AI for Mobs - bearbin - 12-27-2013

I think it would be really cool, IDK if it's possible in any sort of real timeframe though.


RE: New AI for Mobs - xoft - 12-27-2013

It might just be easier to make an "adapter" class that would allow us to put any AI component into a cPlayer object, rather than modifying the cPlayer object to fit in this new architecture.


RE: New AI for Mobs - NiLSPACE - 12-27-2013

We could also create a special mob class called cMobPlayer?