Search Unity

Eliot AI - NEXT GENERATION of AI tools [NOW RELEASED]

Discussion in 'Assets and Asset Store' started by eliot-ai, Oct 18, 2018.

?

What would be the best thing to add to Eliot next?

  1. New type of Nodes based on machine learning

    39 vote(s)
    26.7%
  2. Eliot Hub - place to share your Eliot Behaviours and Skills

    31 vote(s)
    21.2%
  3. Copypasting parts of Behaviours

    5 vote(s)
    3.4%
  4. Embedded UI system for displaying Agent's stats

    12 vote(s)
    8.2%
  5. Support of 2D Sprite-based worlds

    14 vote(s)
    9.6%
  6. Groups and formations of Agents with a single goal

    29 vote(s)
    19.9%
  7. Agent's stats system that can affect the power and other settings of the Skills

    16 vote(s)
    11.0%
  1. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @zenGarden
    Thank you, I am glad to hear it!
    I appreciate the ideas you've put up here and I will address them one by one.
    1) You can use Waypoints to do exactly that. When an agent is wondering around, or running around, it will pick the next waypoint inside the polygon defined by the waypoints group assigned to the agent.
    2) That's pretty easily implemented visually with the Behaviour Editor. You can find an example of that in the tutorial that features the healer skeleton. He is trying to keep a certain distance to the foes.
    3) You are absolutely right here, that would be awesome. I am working on more generic and more frequently requested features at the moment.
    4) You can spawn creatures using Waypoints but unspawning is a great idea for the optimization.
    5) Again, pooling capacity is an embedded into the capabilities of the waypoints, except unspawning.

    Thanks again for the ideas. Love getting this sort of feedback.
     
    Mark_01 likes this.
  2. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    That's great waypoints are available.

    But it was not waypoint, but some zone limit location for npc assigned to that location.
    For example this could be some camp position, creatures could patrol randomly , but could never leave the camp over 1km for example.
    It's zones creatures can't live, this helps in bigger games to keep enemies or npc groups in their zone (better game flow and performance management).

    I find strange pooling system is embedded in waypoints as they are different systems.
    But if it works, that's great.
    Pooling is for game using several creatures and many of the same type, like mmo games for example.
    instead of destroying an object creature, you disable rendering , script , physics , collisions and put it back on the pool.
    When the player is far from some spawning zone, you can remove the pool and objects it contains.
     
    recon0303 and eliot-ai like this.
  3. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    In Eliot Waypoints play multiple roles. They provide a classic usage of waypoints aka follow the path, but you can use them to restrict areas as well and to pool agents within the area at runtime.
     
    recon0303 and Mark_01 like this.
  4. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    What about some ranged and melee AI examples for an FPS game ?
    With Ai classes like shotgun, pistol and melee, long range rifle, armored with gattling gun, dogs.
    With some AI tasks like :
    - player sound alert (walk, run, fire)
    - AI able to alert other nearest AI to help
    - AI able to make some limited group like two characters, and inspect random positions around the last player seen position
    - AI squad ability : a squad with some number limit characters, one character is the leader, any another character can become the leader , there is always one leader , the other characters leading the progression the leader choose, they can also retreat, follow or flank.


    I think there is lot of demand for such AI modules.
    The advantage of Behavior Trees is people could fully customize any of those behaviors with more or different functionality.

    I have used some Unity AI plugins , and behavior plugins or made my own AI, your plugin seems the most easy and straight forward and providing good functionality to start with.
     
    recon0303, eliot-ai and Mark_01 like this.
  5. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Everything you have just mentioned is present in the TDS demo, except the squads and groups :)
    The same settings, in fact the same Behaviours and agents can be applied to an fps game. Just change the graphics and you'll have the soldiers.
    Groups and squads functionality is not hard to implement but you are right, would be great to have this thing automated. I want to design the leadership system abstract and generic so that it is not just applicable to the formations of soldiers or animals.
     
    recon0303, zenGarden and Mark_01 like this.
  6. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    451
    I wonder if this might plug into ( for people that have Love/Hate ) I just got the love/hate asset, since I think Eliot AI will be integrated with this .. Could love/hate form groups or squads as well ? Just thinking out loud here
     
    eliot-ai likes this.
  7. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    You'll need to make different classes and behaviors.
    The alert nearest soldiers when one sees the player, and the patrol around last seen player position (some bit of infiltration gameplay).
    This could become a great soldiers AI video , or binary game demo.
     
    Last edited: Jan 14, 2019
    eliot-ai likes this.
  8. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    We have exchanged the vouchers with Tony Lee so the integration with Love/Hate is on its way, thanks for asking :)
     
    recon0303 and Mark_01 like this.
  9. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    I don't think that new classes are necessary for that kind of behaviour. A new method for setting a new temporary patroling area are would be enough.
    A kind person and I are working on an extensive tutorial at the moment. I will feature what you have suggested there. It won't be an fps game but the pattern should be applicable to any Eliot agents.
     
    HeadClot88, Mark_01 and zenGarden like this.
  10. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    54
    I dont get root motion to work with A* Pathfinding. Any ideas? AI does not follow path made, either stands still or walks straight ahead.
     
  11. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @psych77

    If you want to use rootmotion, you probably want also use it for turning. You need to configure the animator controller so that there is a float parameter that controls the animation of turning left and right and specify the name of that parameter in the Agent's settings in the inspector.
     
  12. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    782
    Hi, this asset looks very promising! I wonder if it can help create flying/swiming AI that does not use grounding. And can it create AIs that can fly,walk and swim (as simple as a duck)?
     
  13. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @Harekelas
    Thanks for the question. Eliot is an abstraction over things like pathfinding engines, therefore it requires one to work. To create birds or fish in a 3d space you would have to define how exactly do you get from point A to point B or you could look for a solution on the Asset Store. Eliot can help you make Agents that can decide when they need to get from point A to point B and decide what those points are, but you need to define how to move between them.
     
  14. Melle_

    Melle_

    Joined:
    Jul 16, 2018
    Posts:
    15
    Hi, I just got this asset and everything looks good.

    But I'm not good with animations and animator controllers.
    I could really need a tutorial with a humanoid with an animator controller and the parameters Speed, Turn, Dodge, TakeDamage, LoadSkill and UseSkill.

    Do I need to have states in the animator controller that matches the parameters, is that enough or do I need a blend tree also?
    The parameters Speed, Turn and dodge need to be a float in the animator controller or a blend tree?
    Can the other parameters be bool?
     
  15. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    782
    So apart from pathfinding, Eliot is totally able to let agents change their moving method and pathfinding logic on the fly, right?
     
  16. DespairBear

    DespairBear

    Joined:
    Nov 1, 2013
    Posts:
    218
    Picked up your asset and am loving it so far. Quick question on waypoints, is there currently anything available that allows for smoothing/reducing the pause which happens at each waypoint? If not I'm sure I can implement a solution, but no sense doing what may already be a handled case.

    Also for the invokers like WalkToTarget, how exactly do you set the target? Or is the target simply set by something like a perception node like SeeFriend? which would then set the Target to be the seen friend?

    Next question is can behavior states be executed in parallel? For instance on entry can I have multiple exit transitions for a No conditional check?

    Last question is is there any way to send messages to other objects and to set variables within the agent (say move speed and such)

    Sorry if this is covered in the tutorials, I'm a "read the manual" and figure it out type haha

    Thanks for the help in advance.
     
    Last edited: Jan 20, 2019
  17. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi,
    Blend trees are not required, but can be utilized. Speed and Turn need to be float. Others are assumed to be triggers. At the moment, making use of booleans would require a bit of coding.
     
    Mark_01 likes this.
  18. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    If you want to change from, say, NavMesh to A* Pathfinding in the Play mode (no idea why would it be useful) you can do it through the API, but in the editor mode, it is just a matter of specifying a value of the parameter in the Agent's Inspector.
     
  19. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @DespairBear thanks for the questions

    Do you mean Eliot.Environment.Waypoint or the waypoints used py the pathfinding engines?

    You got it right. The target is defined by whichever object you are quering for.

    You can. All the attached nodes are executed when the conditions are met.


    You can extend the interfaces and add the methods that would do that. Then you will be able to get access to that from the Behaviour editor.
     
    Mark_01 likes this.
  20. siumanchun

    siumanchun

    Joined:
    Apr 7, 2013
    Posts:
    33
    Hi @ eliot-ai :
    1. Eliot AI Ver 1.2 Subport Unity 2017.4.X ?
    2. Please Add Eliot AI For Playmaker Info Help !
    Thank You !
     
  21. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @siumanchun
    Thank you for getting in touch.
    Eliot supports any Unity version that is 5.6 or higher.
    You can find PlayMaker Actions that are related to Eliot under the Eliot section in the PlayMaker. That actions can help automate some of the possible interactions between Eliot Agents and the environment without the code.
     
    Mark_01 likes this.
  22. DigitalIPete2

    DigitalIPete2

    Joined:
    Aug 28, 2013
    Posts:
    14
    Hi Eliot,

    I'm having some difficulty with getting my Mecanim characters to physically move under control of Eliot and I cannot understand why. I can see animations working (some of them at least) but nothing seems to want to move. Root Motion is on, the NavMesh system appears to be set up ok. I've downloaded the skeleton and dragon assets you recommend and I've been following the tutorials but there's as there's no finished working examples (by that I mean the tutorials expect you to fill out the skills and behaviors for the examples so I can't compare to a working example - which would be very useful) it is hard to work out where I am going wrong.

    Also in your tutorials the skeleton seems to be of legacy type, when I downloaded it, it was set up as a mecanim animation?

    Any help would be much appreciated.
     
  23. Quaaaid

    Quaaaid

    Joined:
    Nov 10, 2012
    Posts:
    13
    Hey @eliot-ai,

    I can't find anywhere how I use the A*Pathfinding integration, could you give me some pointers? Thanks :)

    EDIT: No worries, was being an idiot :)
     
    Last edited: Feb 1, 2019
    eliot-ai likes this.
  24. langtusaupt

    langtusaupt

    Joined:
    Mar 15, 2017
    Posts:
    5
    Hi@eliot-ai, Can Eliot change Api level to Net 4.x ? Thanks
     
  25. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    I believe the .NET API is backward compatible, so you shouldn't experience any troubles with either of the .NET versions. I am not entirely sure what do you mean by that question though. Let me know if I have answered it :)
     
  26. langtusaupt

    langtusaupt

    Joined:
    Mar 15, 2017
    Posts:
    5
    Thanks,because I bought the Asset uMMORPG and, uSurvival, They use Mirror Network it requires .Net 4x.
     
  27. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    That should be fine. Anyway, if you have any troubles with getting this to work, just let me know and we will get it up and running.
     
  28. Memane

    Memane

    Joined:
    Jan 24, 2019
    Posts:
    4
    Hello Eliot
    I'm currently creating a game is I would need a really strong Ai with group action on the AI does it protect another AI to prevent it to die ... your addons the offer it?

    Thanks for your help.
     
  29. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @Memane
    I would suggest you to check out this tutrorial. It features exactly what you have asked about.
     
    Mark_01 likes this.
  30. C3P

    C3P

    Joined:
    Oct 26, 2014
    Posts:
    44
    how does Eliot AI movement compare to Polarith AI Pro Movement for moving, steering & turning?
    how smooth is the AI movement in Eliot? can polarith and Eliot work together if that would be beneficial?

    I'm working on mobile Android games, and these are just a few pre sale questions i have
    In any case i would be getting A* Pathfinding too.

    thanks for your answers
     
  31. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @C3P I haven't used Polarith AI Pro Movement but it seems to me like it is a kind of a steering system that works on top of pathfinding engines like A* and NavMesh. Eliot on the other hand is a decision making system. It seems to me like they can work together seamlessly. Eliot would for example answer the question "where to move?" and Polarith AI Pro Movement would answer "how to do move".
     
  32. IsntCo

    IsntCo

    Joined:
    Apr 12, 2014
    Posts:
    141
    I am trying to decide on Eliot or Emerald AI for my AI solution. Any insight on why Eliot may be a better choice?
     
  33. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @Appminis Thanks for the question. For example, Eliot provides a high level visual scripting system, which allows to experiment and build reusable behaviors rapidly and achieve desirable results in a predictable way. Secondly, as many people have already pointed out, Eliot is very easy to understand and work with compared to other AI solutions. And of course, the community! In a matter of 1-2 months the Eliot Hub will be introduced - a platform for sharing the Behaviours and Skills for Eliot. This means that if you will need for example a soldier AI, you will probably be able to find a tested version of it on the Hub. Cool, isn't it? ;)
     
    Mark_01 likes this.
  34. IsntCo

    IsntCo

    Joined:
    Apr 12, 2014
    Posts:
    141
    Thanks for the quick info! :)
     
  35. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    484
    How easy it is to integrate with other templates like. Invector thirdperson or opsive third person controllers??
     
  36. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @witcher101, thanks for the question. Within around a week I will release an update that will feature an integration with:
    - invector controllers
    - opsive controllers
    - GKC
    - ootii motion controller
    - UFPS
    - basic integration with picelcrushers love/hate (will be deeper in the following updates)

    The update is ready now and is being tested before the release, so if you need help with it now, I can provide it right away via email.
     
    Last edited: Feb 9, 2019
  37. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    451
    Looking very forward to that update!!! There are people in the Opsive outside forum that are
    talking about and asking for integration with Eliot-AI, saying Eliot-Ai is so much easier to use.

    I agree, am looking so forward to the intergrations.
    Thank you for your hard work and support.
     
    eliot-ai likes this.
  38. voanerges

    voanerges

    Joined:
    Aug 18, 2014
    Posts:
    3
    Hello! i need to create a battle system between player and bots - on swords and arrows
    i have first question - how can clean player ( he have only unit component ) by sword attack enemy bots?
    second - how can enemy attack player by sword or arrows
    third - how i can make archer unit ( with arrows ) player/ bot


    я говорю на русском - если можно ответить мне на русском или укр буду благодарен =)

    i try to make battle system byself - but it is works bad

    my skype gromiskuplen

    https://www.dropbox.com/s/fd5dozbuwxpt0tz/rac-newvideo.mp4?dl=0
     
  39. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    119
    Purchased it almost immediately when i saw this. I get a little bit of spending money and i spend it immediately every. single. time.
     
    Mark_01, eliot-ai and StevenPicard like this.
  40. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    663
    You pretty much covered most of the contollers on the asset store, still, it would be nice to support the controller that comes with "RPG Character Mecanim Animation Pack". It's actually pretty nice.

    https://www.assetstore.unity3d.com/en/?stay#!/content/63772
     
    Mark_01 and eliot-ai like this.
  41. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @voanerges, thank you for getting in touch! If you want to affect the Agent's resources, such as health, you just need to call the Damage method that is a part of the Agent class and pass the amount of damage you need. If you need a more specific kind of help, please, drop me an email (eliotaiproject@gmail.com).
     
  42. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Glad to hear that, welcome on board :)
    The update itself is ready, testing takes a little more time that I had anticipated.
     
  43. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi Steven, glad to hear from you :). Every integration takes time and I have decided to try and give the community the ability to do things like that and share it with each other on the Eliot Hub. I myself will work on fundamental improvements such as deepening the level of abstraction of the overridable interfaces, increasing modularity of the system and introducing machine learning into the equation.
     
    StevenPicard and Mark_01 like this.
  44. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    663
    No problem. I don't think it'll be hard for me to implement an integration.

    Awesome! This was something I was going to ask you about.
     
    Mark_01 and eliot-ai like this.
  45. Censureret

    Censureret

    Joined:
    Jan 3, 2017
    Posts:
    228
    @eliot-ai i am considering buying the package after i saw that you integrate with the ootii motion controller.

    However, as you might know the motion controller comes in "several" different packages such as Sword and shield, Archery, Spell and swimming.

    I was unable to find any documentation on the integration is it possible that you could elaborate? :)
     
  46. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @Censureret, thanks for getting in touch. The documentation regarding integration is included with the package. I am attaching the pdf in this message as well. Hope it clarifies matters for you. Cheers.
     

    Attached Files:

    Mark_01 likes this.
  47. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    119
    @eliot-ai

    I recently purchased Eliot AI and just installed it this morning with the new update. I have not gotten a chance to read thru all of the tutorials yet and I am not sure if i did something wrong but I immediately get the following error after import.

    Assets/Eliot AI/Eliot/AgentComponents/Motion.cs(439,32): error CS0246: The type or namespace name `OotiiActorMotionEngine' could not be found. Are you missing an assembly reference?

    I obviously have Ootii components installed but I cannot find the mentioned class anywhere. Is this something that we are supposed to create? I did not find anything about it in the integration documentation.
     
    eliot-ai likes this.
  48. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Hi @KeithBrown, I have just imported the latest version into an empty project and I didn't encounter any errors. Please, try to reimport and let me know if that solved the problem. Thanks.
     
  49. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    119
    @eliot-ai
    So I am pretty sure that if you import into an empty project you will not see the error. You need to have OOTII's motion controller installed so that when your IntegrationManager calls the SetupPackage routine for ootii it will then set the preprocessor directive, OOTII_TPC. Once that is set then the following code becomes active from the Motion.cs class.

    Code (CSharp):
    1.         public void Init(Agent agent)
    2.         {
    3.             _agent = agent;
    4.             _agentAnimation = agent.AgentAnimation;
    5.             switch (_type)
    6.             {
    7.                 case MotionEngine.Turret:
    8.                     _motionEngine = new TurretMotionEngine();
    9.                     break;
    10.                 case MotionEngine.NavMesh:
    11.                     _motionEngine = new NavMeshMotionEngine();
    12.                     break;
    13. #if ASTAR_EXISTS
    14.                 case MotionEngine.Astar:
    15.                     _motionEngine = new AstarMotionEngine();
    16.                     break;
    17. #endif
    18. #if OOTII_TPC
    19.                 case MotionEngine.OotiiTpc:
    20.                     _motionEngine = new OotiiActorMotionEngine();
    21.                     break;
    22. #endif
    23.             }
    24.             if(_motionEngine != null)
    25.                 _motionEngine.Init(agent);
    26.         }
    The code between the OOTII_TPC preprocessor is the issue. If you import into an empty project then you will never see the error that the OotiiActionMotionEngine() class does not exist.
     
    eliot-ai likes this.
  50. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    160
    Great thanks for letting me know about that! I have already updated the package. Just need to wait for approval. For now though you can just remove the following lines:

    #if OOTII_TPC
    case MotionEngine.OotiiTpc:
    _motionEngine = new OotiiActorMotionEngine();
    break;
    #endif
     
    Mark_01 and KeithBrown like this.
unityunity