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

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

    35 vote(s)
    21.7%
  3. Copypasting parts of Behaviours

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

    13 vote(s)
    8.1%
  5. Support of 2D Sprite-based worlds

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

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

    16 vote(s)
    9.9%
  1. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    191
    Thanks for the quick reply.
     
    eliot-ai likes this.
  2. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Hi how can I play a jump attack animation that will go to the player instead of run to target node when player distance > 10?
     
  3. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi! You have a few options:
    1. RushForward Invoker
    2. Trigger the animation with the Skill
    3. Both
     
  4. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Hi in the rush forward invoke can I assign a custom animation?
     
  5. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    If you are using legacy animations, you can set the Dodge animation clip in the Inspector. If you are using Mecanim, you can set a name of an animator trigger that would make the agent play the appropriate animation. This animation will be played when the agent calls "rush forward".
    upload_2019-2-28_12-27-16.png
     
  6. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Are there any integration docs for invector? Or is it already in the source code?
     
  7. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    There is a pdf document called "EliotIntegration.pdf" in the root folder of the package. But most things are already handled by the source code.
     
  8. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    Hi! I'm currently checking out your asset on the store and I have a few questions to see if it fits my needs.

    I'll start off by saying, I want to create an large open world game that holds around 20 players all connected. On the client, the world is split up and streamed in when needed using World Streamer. The host client will handle all NPC AI, however the host client will also have their world streamed in dynamically as they move around.

    1. Can Eliot AI be used with multiplayer games?

    2. Can Eliot AI simulate entitles separately from the game objects? So if a part of the world hasn't been streamed in, can the NPCs not visible still run whatever AI they need?

    Basically to sum up my questions, I'm trying to duplicate what Spacial OS is doing but on a smaller / local scale. I need all Entities / AI to continue running even if their assets haven't loaded into the game world.
     
  9. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi @PyroStudios, thank you for getting in touch. I have to say that none of the things you have listed are automated in Eliot by default, however I believe it is a doable task. To provide multiplayer, the server would have to let the client know about 3 things: agent's transform, agent's animation, particles spawned by the agent.
    Regarding your second question, the answer is probably no, at least it is not implemented/automated by default.
     
  10. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    Thank you for the reply. So it sounds like there would always need to be one client that has a full view of the world in order to keep the AI running. Ok that's not bad.

    And my final question (sorry I didn't ask in my previous post), What are your benchmark numbers on max agent count? Could I potentially have 10,000 agents running with most of their AI just being as simple as moving between several waypoints and detecting if a player is nearby?
     
  11. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    The performance really comes down to the power of your PC and the complexity of the agents (obviously :)). What's less obvious and probably more helpful is the fact that I can squeeze out 40 fps on my lenovo ideapad (ntel® Core™ i7-7500U CPU @ 2.70GHz × 4, Intel® HD Graphics 620 (Kaby Lake GT2)) with 400 agents in the scene.
     
  12. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    I see that the Integration PDF explains how to make an Invector player character damage an Eliot Agent. Have you implemented making an Eliot Agent damage an Invector player. Finally, have you integrated how an Invector character blocks attack by an Eliot Agent? Blocking is a standard feature of Invector.
     
    Last edited: Mar 19, 2019
  13. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi @wood333, Eliot Agents damage Invector player automatically using the Skills. You don't have to spend any extra time to get it to work. Regarding Blocking, drop me an email if it does not work as it is. We will figure that out.
     
    wood333 likes this.
  14. bonkabonkstudios

    bonkabonkstudios

    Joined:
    Dec 24, 2014
    Posts:
    2
    Hi! I was wondering if there is any plan to have parameters in behaviours. Maybe something similar to how the unity animator looks? It would be super helpful to be able to use simple primitives for checking if events happened!
     
    eliot-ai likes this.
  15. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi @bonkabonkstudios, thanks for the question! Yes, in fact, Node parameters will be one of the most important features of the following update. Subliminum gave a good idea about the solution as of the current version.
     
    Mark_01 likes this.
  16. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    I have been working on the skeleton tutorial in Unity 5.6.5. I get this, along with subsequent errors and editor freeze.
    Elliot error.JPG

    EDIT: The issue may have been caused by another asset, (I only have 4 in the project). I will re-do the tutorial
     
    Last edited: Mar 26, 2019
  17. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Hi how can Eliot ai detect the invector player? I'm using the v1.1.1 and haven't updated it yet.
     
  18. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Thanks I'll try it now
     
    Subliminum likes this.
  19. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Hi regarding the invector integration, I have a problem. Eliot Ai doesn't damage the invector player and I got an error: Failed to call function TakeDamage of class vThirdPersonController
    Calling function TakeDamage with no parameters but the function requires 1

    And also I'm using the v1.1.1 and I don't have the integration doc. There's an integration regarding invector earlier in this thread but its for the ranged version of invector. How can I damage Eliot ai by melee weapons?
     
    Last edited: Mar 30, 2019
  20. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Hi @Subliminum can you send me a copy of the integration docs? I don't have enough money right now to update because of school expenses since I'm a graduating student.
     
  21. noname2u2

    noname2u2

    Joined:
    Jul 11, 2017
    Posts:
    4
    Does this work with generic mecanim animations? If so, how do i set it up to use them? Testing with the free Rhino from Unity Store.
     
  22. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi! Yes, Eliot works with Mecanim. You would need an Animator Controller which is set up so that the motion is animated by a parameter that regulates the motion speed and another optional parameter that regulates the degree to which the character is turning left and right. Also you can start an arbitrary animation, or set of animations using Animator Triggers.
     
    noname2u2 likes this.
  23. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Hi @eliot ai does v1.1.1 can integrate with invector? I saw a thread earlier and there's an error when I add the take damage function in the on apply target in the skills. Here's my error;

    Failed to call function TakeDamage of class vThirdPersonController
    Calling function TakeDamage with no parameters but the function requires 1
     
  24. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi. Just upgrade to the latest version and this will be handled automatically. Cheers.
     
  25. dinaloraven234

    dinaloraven234

    Joined:
    Dec 20, 2018
    Posts:
    141
    Hi @eliot-ai I don't have enough money right now to update because of school fees and other expenses. Please help me integrate it as I want to use it for my boss ai
     
  26. xoodZ

    xoodZ

    Joined:
    Jan 8, 2018
    Posts:
    17
    Hello!
    I have a bag - links between elements are not saved in behavior editor (like a bug wroten in coments).
    My steps:
    1. Create a new blank project in Unity 2018.3.11.f1 (win10),
    2. Import Eliot asset,
    3. Create new behaviour,
    4. Open new behaviour in behaviour editor,
    5. Add 1 observer and 2 invokers, after add 3 transitions (screen1),
    6. Press Cntrl-S many times, after select "Save" in context menu,
    7. Reopen new behaviour in editor and saw only 2 transitions (always saw only 2 firsts transitions) (screen2),
    8. If I try open behaviour from sample scene, then all nodes placed in one corner, and not have transitions (screen3).
    Please fix it.

    I also have a plea - please add integration with Dialog System (of Pixel Crushers) similarly "Behavior Designer" or "Emerald AI 2". Link with description - http://www.pixelcrushers.com/dialogue_system/manual2x/html/emerald_a_i.html

    And one question - have ideas on how best to implement an energy barrier in Eliot (for example, a large dome, under which a group can hide), so that it is transparent to vision, but the shells could not fly into it

    PS. Sorry for my English.
     

    Attached Files:

    d1favero likes this.
  27. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi! Some people have encountered that bug in the past and the solution was to switch to one of the official Unity releases.
    Thanks for expressing the idea of integration with the Dialogue System. I will consider that for the future updates.
     
  28. xoodZ

    xoodZ

    Joined:
    Jan 8, 2018
    Posts:
    17
    Thank you.
    Вut I use last official Unity release - 2018.3.11. Please try it yourself.
     
  29. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    I have just tried to reproduce the bug in Unity 2018.3.11f1 and failed to do so. I have tried to press ctrl+s, select the "Save" menu item, turn on the play mode but the behaviour stayed intact. Please, try to reimport Eliot. If that does not help, I would suggest to reinstall Unity. let me know if any of that helped.

    Basically the object will be transparent to the agents' perception if there is no "Unit" component attached to the dome. Also you might want to consider tweaking the layers in the perception raycast in case the dome's collider is doublesided. You can find the code responsible for that in the Perception class.
     
    Mark_01 likes this.
  30. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    I have the excact same issue with nodes disconnecting at runtime everytime!
     
    d1favero likes this.
  31. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    I tried with 2018.3.12, 2018.3.11 and 2019.1 beta clean projects and installs.... Always the same issues with nodes, all nodes are in the upper left corner. Then if i drag them down, or make my own nodes.. save my setup, and then when i open the behavour the connection is gone.
    upload_2019-4-10_23-10-29.png

    if i move the nodes connections are black:

    upload_2019-4-10_23-10-59.png

    Then i save and close, and when im opening it again this happens connections get lost:

    upload_2019-4-10_23-11-44.png
     
    Last edited: Apr 10, 2019
  32. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Hi @psych77. Please, try to switch the .NET version to 3.5
     
  33. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    I am working on it at the moment :)
     
    Mark_01 and Subliminum like this.
  34. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Well that did work, unfortunaly it also complicates my project massively:) I have many things that depends on .NET 4x for example vegetation studio pro for instance.
     
    d1favero likes this.
  35. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Sorry to hear that :/. What I can suggest though is to work on Unity 2018.2 (or 2018.1) if that is possible. I will make sure to remove that bug in the next update.
     
    Mark_01 likes this.
  36. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    in working with the healer tutorial I had two problems:

    1. The heal behavior as explained in the tutorial does not function correctly, however, the heal behavior in the "finished" folder, which is more complete than the behavior we built in the tutorial, does work. Which is correct, the tutorial or the heal behavior in the "finished "folder? A working demo scene would have helped. You move on to creating the heal skill without first completing the heal behavior graph. The completed heal graph is not shown in either the video or written tutorial.

    2. The healer creates many FX heal particle "clones" on its target that do not go away. What are we supposed to do with the growing number of particle clones?
     
  37. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    Thank you for expressing the concern! The working demo scene requires third party assets that I do not have the right to distribute, so the best thing I can do is to upload the tutorials separately onto the website. I cannot tell the precise time when I will put my hands on doing that as now I am working on the new update.

    You can add a script onto the prefab that would destroy the particles if you wish :). The script can be found in the standard unity assets available for free from the Asset Store.
     
    Mark_01 and wood333 like this.
  38. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    I love updates. :)
     
    eliot-ai likes this.
  39. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Hi, thanks for the answer. Tried both version same issue in .NET 4
    How far off are the next update?
     
    Last edited: Apr 11, 2019
    d1favero likes this.
  40. d1favero

    d1favero

    Joined:
    Oct 14, 2011
    Posts:
    15
    Waiting for the fix too. Right now the asset is broken.
     
    psych77 likes this.
  41. Craig_Green

    Craig_Green

    Joined:
    Oct 31, 2013
    Posts:
    6
    I know on your roadmap you probably already have a visual representation of the nodes that are being executed during runtime. However until that point it would be helpful to provide a capability to give some indication of where you are in the tree when troubleshooting. Would it be possible to implement a Debug InvokerNode that just writes a custom message to the console window? Perhaps this already exists. Let me know - thanks!
     
  42. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    It is hard to tell at this point since there are some cool and juicy features planned for the update which will take time to implement for sure. Some of the features require a great deal of experiments (hopefully these will be present in the next update). I don't want to mislead by giving the wrong information, so I will say that I simply don't know at this point. My gut feeling is somewhere around a couple of months. However, as Subliminum pointed out in his comment, you don't have to wait so long to get rid of the bug because it is most likely that some dll or third party asset is causing the problem. I am using .NET 4.0 on every single project I work on and I have never experienced that bug. I would go with the Subliminum's suggestion to try and upgrade the IDE of choice. Regards.
     
    Mark_01 likes this.
  43. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Il try that i guess, just sucks to downgrade i guess, im using some off the functions in the beta.


    Doubt it, since i tested on clean projects for all versions so far :)
     
  44. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Still the same issue =/ only works with .NET 3.5 with me, tried to update Microsoft Studio as well.
     
    Subliminum likes this.
  45. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Value not found
    UnityEngine.Debug:Log(Object)
    Eliot.Repository.JsonObject:get_Float() (at Assets/Eliot AI/Eliot/Repository/JsonObject.cs:346)
    Eliot.Repository.JsonFactory:Serialize(EliotBehaviour) (at Assets/Eliot AI/Eliot/Repository/JsonFactory.cs:440)
    Eliot.BehaviourEditor.BehaviourEditorWindow:Reverse(Object) (at Assets/Eliot AI/Eliot/BehaviourEditor/BehaviourEditorWindow.cs:785)
    Eliot.BehaviourEditor.BehaviourEditorWindow:OnEnable() (at Assets/Eliot AI/Eliot/BehaviourEditor/BehaviourEditorWindow.cs:134)
     
  46. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Yeah using english build. Replicating is easy ;) Download 2019.1 beta newest or some other version inside unity hub, and put on .NET 4.X ;)
     
  47. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    So here is the result of yet another attempt to replicate the bug in unity 2019.1
    .NET 4, pressed cts+s many times, selected Save many times. Didn't get the bug.
    upload_2019-4-14_19-41-23.png

    I can understand your frustration, cause I can't even replicate the bug. Otherwise I would be able to point to the error...
    Try to install .NET 4.7.2 Developer Pack. I had problems with the latest versions of unity before having it installed.

    It means that some information about the behaviour is broken. The information is read from a json string. I'm pretty sure that .NET version has nothing to do with this particular error since the nodes are created manually from a compressed json instead of being deserialized directly into object. Probably either you have edited a behaviour's josn string directly or the editor has tried to deserialize an empty behaviour.
     
  48. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Well now i dont understand anything.. because i made like 10 clean projects imported eliot alone in different versions, and always got the same message in .NET 4x.

    While if i changed to .NET 3.5 it stayed in tact. And i have .NET 4.7.2 developer pack installed.

    upload_2019-4-14_19-9-15.png
     
    Last edited: Apr 14, 2019
  49. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    163
    You have the "allow unsafe code" and "use incremental GC" options turned on. I don't know how they work, but you might want to try and make the settings look like the default ones one by one. Maybe one of them is causing the bug.
     
  50. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    55
    Hmm didnt change anything, think ive tried pretty much everything inside unity editor. It seems like its related to something else. Maybe visual studio settings no clue really.