[API]Open AI [open_ai]

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

[API]Open AI [open_ai]

by jordan4ibanez » Post

Open AI

An API which makes mob creation easy and fast. Mobs made with this API are aesthetically pleasing, fast, low on resources, and include all the things you'd expect out of a mob in the game (In the release).

Right now I am working hard to get all the code working to the best of my abilities to get mobs which add to the game but do not hog resources.

Mob entities will use their own internal functions to be as quick as possible and to be modular.

Goals:
  • Utility mobs which can regrow whatever the harvestable item is
  • Drowning
  • flying
  • Mobs avoid walking into other mobs and players
  • Hostile mobs attack players
  • Hostile by day, or hostile by night mobs
  • Avoid sunlight or darkness and seek shelter if available
  • Climb ladders and bounce on bouncy nodes
  • Equip armor and an item if using player mesh along with armor mod
  • Use line of sight to get player or entity positions when following, if a player gets out of line of sight, the last position that the mob saw you or the other mob, it will go to
  • Mob sound effects
  • Death animations
  • Particles
  • Remembering players that attacked/fed them and adjusting accordingly
  • Learning what nodes hurt/help them
Information about this mod can be found on the github wiki

I hope to have a complete mob AI sometime by June. There are also no version numbers, this is rolling release.

Github

License:Creative Commons 0
Last edited by jordan4ibanez on Mon Jan 02, 2017 19:15, edited 26 times in total.
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

User avatar
AiTechEye
Member
Posts: 1002
Joined: Fri May 29, 2015 21:14
GitHub: AiTechEye
Location: Sweden

Re: [API]Open AI [open_ai]

by AiTechEye » Post

3 other goals to add:
remeber to avoid objects / nodes that have damaged it
hide while low health / are peaceful
temper, get more agresive if something hurted it, or less after eating/more health

Some extra facts:
some believe that AI only is thinking / smart bots, but the word means "artificial intelligence" they not only thinking, they also teaches himself / remember.
And some modify its source code.

User avatar
TenPlus1
Member
Posts: 3969
Joined: Mon Jul 29, 2013 13:38
In-game: TenPlus1
Contact:

Re: [API]Open AI [open_ai]

by TenPlus1 » Post

Erk! That last point may be tricky when the minetest sheep becomes the next skynet :P

User avatar
Desour
Member
Posts: 1519
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

Re: [API]Open AI [open_ai]

by Desour » Post

but the sheep could remember which player was nice to it and who was mean
or it gets better skills that help at running away from evil players wanting to kill the sheep, eg. on birth they collide on jumping often with wall and its easier for the murderous player to kill it
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: [API]Open AI [open_ai]

by jordan4ibanez » Post

UjEdwin wrote:3 other goals to add:
remeber to avoid objects / nodes that have damaged it
hide while low health / are peaceful
temper, get more agresive if something hurted it, or less after eating/more health

Some extra facts:
some believe that AI only is thinking / smart bots, but the word means "artificial intelligence" they not only thinking, they also teaches himself / remember.
And some modify its source code.
DS-minetest wrote:but the sheep could remember which player was nice to it and who was mean
or it gets better skills that help at running away from evil players wanting to kill the sheep, eg. on birth they collide on jumping often with wall and its easier for the murderous player to kill it
That's a good idea. Not only should they learn when players are mean to them, but they should learn what nodes hurt/feed them
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

User avatar
ErrorNull
Member
Posts: 296
Joined: Thu Mar 03, 2016 00:43
GitHub: ErrorNull0

Re: [API]Open AI [open_ai]

by ErrorNull » Post

looks pretty cool! tenplus1's mobs-redo is pretty awesome already, but i'll be keeping my eye on yours too!

My request: add some sort of api to allow other mods to pass their own rewards (like experience points) or to execute custom functions (like upon death, or tame, or whatever) into your mobs.

User avatar
AiTechEye
Member
Posts: 1002
Joined: Fri May 29, 2015 21:14
GitHub: AiTechEye
Location: Sweden

Re: [API]Open AI [open_ai]

by AiTechEye » Post

i tried before, but got borred, but now I could not refrain: create AI NPC/mobs
(reason: found minetest.find_path)

I have been working on it for 3 days, and there are one kind of npc, that can search & mine trees, search for a suitable space and build a house (the house corrently always fails)

i need to make it remember where to find resurse (currently only trees, (kinda done))
remmber where it lives
and make the building not fail :-) + some extra small things
then i will upload it as a very wip / test mod.

User avatar
azekill_DIABLO
Member
Posts: 7507
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: [API]Open AI [open_ai]

by azekill_DIABLO » Post

I don't wanna troll. Just because from the day I started MILA seems like every1 wants to do apis for mobs :D
Gone, but not dead. Contact me on discord: azekill_DIABLO#6565
DMs are always open if you want to get in touch!

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: [API]Open AI [open_ai]

by jordan4ibanez » Post

Here's an update video showing the slightly improved path finding implication and basic magnetic "soft" collision detection.
https://youtu.be/PDrIm3LKmDg

Updates:
  • Mobs will now only jump when the pathfinding goal is higher then they are
  • A mob will stop moving when the pathfinding goal is less than 2 points
  • Mobs use a magnetic "soft" collision detection so there can be a lot of them in an area without them getting stuck on eachother
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: [API]Open AI [open_ai]

by jordan4ibanez » Post

ErrorNull wrote:looks pretty cool! tenplus1's mobs-redo is pretty awesome already, but i'll be keeping my eye on yours too!

My request: add some sort of api to allow other mods to pass their own rewards (like experience points) or to execute custom functions (like upon death, or tame, or whatever) into your mobs.
Thank you for the idea, this has been implemented with no limitations

Users can define custom functions that normal entities use, plus the on_die function for when a mob dies
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

User avatar
TheReaperKing
Member
Posts: 531
Joined: Sun Nov 22, 2015 21:36
Contact:

Re: [API]Open AI [open_ai]

by TheReaperKing » Post

I'll be following this carefully as it seems super interesting and I find AI interesting in general. One thing I'd be personally interested in is NPCs that are easy to add and have them say something when you approach or right click them. Eventually I'd love to see a mod like Millenaire in Minetest but I know that is asking a lot. This is fantastic work and I loved the vid of the sheep following you. I think my students would absolutely love it if their animals/pets could follow them because I don't think they do in mobs redo unless I'm missing something.

Also side question, in your video I saw you had some bamboo trees. What mod are those from? They look quite interesting.

Thanks and take care!
-Mike
Become A Real Life Superhero - http://SuperheroHill.com
Project Lead of the Doom 3 Mod Last Man Standing - http://Doom3Coop.com
Project Lead of Platinum Arts Sandbox Free 3D Game Maker - http://SandboxGameMaker.com
Youtube Channel - https://www.youtube.com/user/PlatinumArtsKids

User avatar
Wuzzy
Member
Posts: 4908
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

WHY?

by Wuzzy » Post

This mod leaves one fundamental question open: Why? Why another mobs mod?

Sorry, but this is like the gazillionth mobs mod. The Minetest community really suffers from a serious case of Not Invented Here when it comes to mobs.

The feature list does not impress me, nor the list of planned features. It does not stand out from the rest, most other mob mods already have these. I am sure you worked hard on this mod already, and I appreciate that, of course. But basically you seem to implement (mostly) what other mods already have. It doesn't seem to be a smart use of your time.
The few new planned features which are actually unique would probably be better off in one of the existing mods. Why not just contributing to one of those?

But you may convince me otherwise. Is there anything in this mod or in your plans which requires an entirely new mod? Or do you use a general design concept which is fundamentally different from the existing mods?
Otherwise, I feel your mod will ultimately just be 90% redundant to mods which already exist, are already implemented, work fine and have been tested.

Don't get me wrong: I am generally in favor for more mobs and for more mob features. But I also feel the community is already very fragmented when it comes to mobs, and it only gets worse. It is not good to have various mob features scattered around in many small incompatible mods.
I am also not against more mobs mods, as long they actually make sense and follow a principle not already implemented by other mods. But I do not like the proliferation of mods only for the mod's sake.

Do you have a particular reason why you chose to start from scratch rather than to use one of the existing mods? E.g. have the existing mods problems which seem unsolvable?

Don't get discouraged by my words either: You are of course still free to do whatever you want and you can ignore everything I say. :D I am just not sure if it is really a good use of your time to start completely from scratch (which you apparently do) if your goal is to make mobs easier. But maybe you have a legit reason, I don't know.

Long story short: My goal is not neccessarily to shut your mod down or something like that, my goal is to make you think about your goals.

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: WHY?

by jordan4ibanez » Post

Wuzzy wrote:This mod leaves one fundamental question open: Why? Why another mobs mod?

Sorry, but this is like the gazillionth mobs mod. The Minetest community really suffers from a serious case of Not Invented Here when it comes to mobs.

The feature list does not impress me, nor the list of planned features. It does not stand out from the rest, most other mob mods already have these. I am sure you worked hard on this mod already, and I appreciate that, of course. But basically you seem to implement (mostly) what other mods already have. It doesn't seem to be a smart use of your time.
The few new planned features which are actually unique would probably be better off in one of the existing mods. Why not just contributing to one of those?

But you may convince me otherwise. Is there anything in this mod or in your plans which requires an entirely new mod? Or do you use a general design concept which is fundamentally different from the existing mods?
Otherwise, I feel your mod will ultimately just be 90% redundant to mods which already exist, are already implemented, work fine and have been tested.

Don't get me wrong: I am generally in favor for more mobs and for more mob features. But I also feel the community is already very fragmented when it comes to mobs, and it only gets worse. It is not good to have various mob features scattered around in many small incompatible mods.
I am also not against more mobs mods, as long they actually make sense and follow a principle not already implemented by other mods. But I do not like the proliferation of mods only for the mod's sake.

Do you have a particular reason why you chose to start from scratch rather than to use one of the existing mods? E.g. have the existing mods problems which seem unsolvable?

Don't get discouraged by my words either: You are of course still free to do whatever you want and you can ignore everything I say. :D I am just not sure if it is really a good use of your time to start completely from scratch (which you apparently do) if your goal is to make mobs easier. But maybe you have a legit reason, I don't know.

Long story short: My goal is not neccessarily to shut your mod down or something like that, my goal is to make you think about your goals.
Because I want to
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

u34

Re: [API]Open AI [open_ai]

by u34 » Post

Which kind of mobs are planned for the future? I see only sheeps yet.

User avatar
Wuzzy
Member
Posts: 4908
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: [API]Open AI [open_ai]

by Wuzzy » Post

@jordan4ibanez:
Okay then. How do you intend Open AI to stand out from the rest?

User avatar
maikerumine
Member
Posts: 1420
Joined: Mon Aug 04, 2014 14:27
GitHub: maikerumine
In-game: maikerumine

Re: [API]Open AI [open_ai]

by maikerumine » Post

Wuzzy wrote:@jordan4ibanez:
Okay then. How do you intend Open AI to stand out from the rest?
Already the code is much simpler than all the others, which is a nice thing.
Talamh Survival Minetest-->viewtopic.php?f=10&t=12959

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: [API]Open AI [open_ai]

by jordan4ibanez » Post

Wuzzy wrote:@jordan4ibanez:
Okay then. How do you intend Open AI to stand out from the rest?
To be the definitive mobs mod of minetest, aesthetically pleasing while adding elements to the game that haven't been thought of or implemented yet while not taxing the hardware. Code readibility and simplicity is also a goal which will be implemented some time in the future.
cHyper wrote:Which kind of mobs are planned for the future? I see only sheeps yet.
I don't know, anything I can think of.
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

User avatar
TheReaperKing
Member
Posts: 531
Joined: Sun Nov 22, 2015 21:36
Contact:

Re: [API]Open AI [open_ai]

by TheReaperKing » Post

For new Mobs since you have them already following you in your newest video, what about pets? Dogs, maybe cats, frogs (not realistic but fun), horses, dragons, etc. Maybe even an NPC/travel guide/travel companion. Just ideas :)

Just to ask again in case you missed my post, what mod were those bamboo trees in from your carts videos and other videos?

Take care!
-Mike
Become A Real Life Superhero - http://SuperheroHill.com
Project Lead of the Doom 3 Mod Last Man Standing - http://Doom3Coop.com
Project Lead of Platinum Arts Sandbox Free 3D Game Maker - http://SandboxGameMaker.com
Youtube Channel - https://www.youtube.com/user/PlatinumArtsKids

User avatar
FreeLikeGNU
Member
Posts: 311
Joined: Tue Oct 28, 2014 02:50
GitHub: FreeLikeGNU
IRC: freelikegnu
In-game: FreeLikeGNU

Re: [API]Open AI [open_ai]

by FreeLikeGNU » Post

I have watched your videos on follower pathing and it looks very nice so far, I must say! I don't think there is anything wrong with making another mobs AI. I was about to make some comment like that ("Why yet another mob AI, why not work on an existing?), but then I thought, AI is super complex and any working approach that one is will to share with the rest of us should be appreciated. It's easy to call out "duplicated effort" but really, no one has "solved the problem" for everyone (if such a thing is even possible) so if you have a new way that works for you, where others do not, that's all the reason you need!

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: [API]Open AI [open_ai]

by jordan4ibanez » Post

FreeLikeGNU wrote:I have watched your videos on follower pathing and it looks very nice so far, I must say! I don't think there is anything wrong with making another mobs AI. I was about to make some comment like that ("Why yet another mob AI, why not work on an existing?), but then I thought, AI is super complex and any working approach that one is will to share with the rest of us should be appreciated. It's easy to call out "duplicated effort" but really, no one has "solved the problem" for everyone (if such a thing is even possible) so if you have a new way that works for you, where others do not, that's all the reason you need!
Hey thanks man. Yeah I'm trying my hardest to do everything a mob should do!
TheReaperKing wrote:For new Mobs since you have them already following you in your newest video, what about pets? Dogs, maybe cats, frogs (not realistic but fun), horses, dragons, etc. Maybe even an NPC/travel guide/travel companion. Just ideas :)

Just to ask again in case you missed my post, what mod were those bamboo trees in from your carts videos and other videos?

Take care!
-Mike
Thanks for the ideas! And the bamboo is from TenPlus1's ethreal mod

Here is another update video showing how mobs ride in carts:
https://youtu.be/7-pht8dizMc
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

User avatar
TheReaperKing
Member
Posts: 531
Joined: Sun Nov 22, 2015 21:36
Contact:

Re: [API]Open AI [open_ai]

by TheReaperKing » Post

Thanks for the heads up on the Ethereal mod! I love the video of the mobs riding in the minecart, that's priceless!

Also thanks for all of your code comments. I'm going to have my students check out your mod and look at the code to get an idea about how the AI code works. I think it'd be interesting to have them (and me) compare and contrast your code vs mobs redo just to see how things are achieved.

Thanks for all your hard work! I love watching the development.
-Mike
Become A Real Life Superhero - http://SuperheroHill.com
Project Lead of the Doom 3 Mod Last Man Standing - http://Doom3Coop.com
Project Lead of Platinum Arts Sandbox Free 3D Game Maker - http://SandboxGameMaker.com
Youtube Channel - https://www.youtube.com/user/PlatinumArtsKids

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: [API]Open AI [open_ai]

by jordan4ibanez » Post

TheReaperKing wrote:Thanks for the heads up on the Ethereal mod! I love the video of the mobs riding in the minecart, that's priceless!

Also thanks for all of your code comments. I'm going to have my students check out your mod and look at the code to get an idea about how the AI code works. I think it'd be interesting to have them (and me) compare and contrast your code vs mobs redo just to see how things are achieved.

Thanks for all your hard work! I love watching the development.
-Mike
It's good to know that this mod is being used for learning, thank you.



Here is a small update on how the leash appears when dragging mobs around: https://youtu.be/B_3Ai5LJs-g

A mob cannon: https://youtu.be/t6d9PUuf-Y8
Last edited by jordan4ibanez on Tue Dec 20, 2016 08:16, edited 1 time in total.
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

User avatar
TheReaperKing
Member
Posts: 531
Joined: Sun Nov 22, 2015 21:36
Contact:

Re: [API]Open AI [open_ai]

by TheReaperKing » Post

Ha wow I love the leash. The kids are going to FLIP getting to walk their pets, haha. I'm almost excited to be back at work just to show them, almost :)
Become A Real Life Superhero - http://SuperheroHill.com
Project Lead of the Doom 3 Mod Last Man Standing - http://Doom3Coop.com
Project Lead of Platinum Arts Sandbox Free 3D Game Maker - http://SandboxGameMaker.com
Youtube Channel - https://www.youtube.com/user/PlatinumArtsKids

Robsoie
Member
Posts: 104
Joined: Fri Apr 29, 2016 16:22

Re: [API]Open AI [open_ai]

by Robsoie » Post

I checked the videos and i'm really amazed at how those mobs are moving, they nearly "feel" alive.
Can't wait to see how it will go.

User avatar
jordan4ibanez
Member
Posts: 1926
Joined: Tue Sep 27, 2011 18:44
GitHub: jordan4ibanez
IRC: jordan4ibanez
In-game: jordan4ibanez

Re: [API]Open AI [open_ai]

by jordan4ibanez » Post

Robsoie wrote:I checked the videos and i'm really amazed at how those mobs are moving, they nearly "feel" alive.
Can't wait to see how it will go.
Thank you very much.
Last edited by jordan4ibanez on Wed Dec 21, 2016 02:50, edited 1 time in total.
gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble gobble

Post Reply

Who is online

Users browsing this forum: apercy and 4 guests