Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] fAutonomy for Unity (Free Open Beta) - World's 1st Deep Learning AI Plugin for Unity

Discussion in 'Assets and Asset Store' started by aibrain-fautonomy-team, Jun 12, 2018.

  1. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27

    World's 1st full-fledged Deep Learning AI plugin for Unity
    The Deep Learning AI Behaviour Designer




    >>> GET IT NOW <<<








    Deep Learning AI for all Unity games and apps.

    First release -- still in Open Beta (Free).

    Goal-driven, lightning fast, lightweight, DNN (Deep Neural Network) based AI behaviours for NPCs (Non-Player Characters), able to learn and generalize.

    Train instead of scripting (reduces time & cost of game design / development).

    Uses Google TensorFlow for training and inference.



    IMPORTANT: fAutonomy requires AI server-connection only for training AI behaviours (into Deep Neural Networks - DNNs). AI behaviours made with fAutonomy are trained on the fAutonomy AI servers.

    The 7 reasoning steps trained fAutonomy agents perform under-the-hood in runtime (e.g. during gameplay), when receiving a percept (sensory input / observation) from the Unity game-environment:



    Regarding data-privacy: only user credentials (if any - user-credentials are optional: not necessary), and the created AI behaviours are shared with the fAutonomy AI servers, nothing else.
    • 1 or more AI agents per Unity Scene.

    • Compared to standard scripted game AI, with fAutonomy, games developers can have better quality AI, for more agents in their game-scenes, for the same computational cost, and thus with fAutonomy you can create e.g. living-breathing game-environments, that are more immersive for the players and improve re-playability, especially in comparison to immersion-breaking simple game-environments populated with simple shallow non-responsive NPCs, still typical in many, even AAA games today.

    • fAutonomy provides better AI behaviours via server-side SL (Supervised Learning) using propriety, domain-independent training data generation (patented technology). SL can produce better, more robust AI behaviours and more quickly than RL (Reinforcement Learning), while also being able to complement it.
      NOTE: RL and SL can be used together in tandem.

    • fAutonomy also comes with convenient visual editors to allow non-AI experts to access the state-of-the-art in game AI.
    • Game-builds do not require fAutonomy server-connectivity. fAutonomy AI runs completely on-device.

    • Lightning fast instantaneous real-time responses (due to DNN-based AI behaviours).

    • Applicable to any Unity game (even though building games with fAutonomy works only for Windows x64, as of now (1st open beta release), but soon it is going to be extended to other platforms, including mobiles and consoles).

    • fAutonomy is domain-independent. Works with any type of game (RPG, FPS, puzzle, platformer, simulation, ...).

    • fAutonomy provides goal-driven AI behaviours, that require minimal / constant computational resources (CPU/GPU/memory due to the DNNs at the core of fA AI Behaviours == fA is lightweight and scalable (so games developers can have better AI for more agents in their game-scenes, and thus create e.g. living-breathing game-environments, that are immersive and improve player-engagement and re-playability, especially in comparison to immersion-breaking game-environments populated with shallow and non-responsive NPCs, even in many of today's AAA-games).
    >>> QUICK USER GUIDE <<<


    fAutonomy provides non-scripted AI agent-behaviours able to GENERALIZE (unlike scripted game AI, such as behaviour trees or finite state machines).

    Robust AI agent-behaviours can be trained online even in just a few minutes using SL (Supervised Learning), relying on patented training data generation. SL is superior to RL (Reinforcement Learning) in terms of behaviour quality and training times (convergence). Create complex AI behaviours quickly and robustly.

    Goal-driven, lightweight, quick, scalable & domain-independent (applicable to all Unity games). Coming with Visual Editors, and a lightweight C# API, with which you can simply adapt it exactly to your game.

    Supports an arbitrary number of agents (one or more). Each agent can have the same AI behaviour, or each agent can have a different AI behaviour, or anything in-between.

    fAutonomy agents can learn, adapt & respond intelligently even to unexpected situations, unlike scripted game AI. Scripted game AI cannot be prepared for every situation. With fAutonomy you do not have to worry about that anymore (saves time & development cost). With fAutonomy AI, agents (e.g. NPCs) act in order to achieve their goals in a forward planning fashion, and these goals can change even in runtime. Agents can learn and change their behaviour in runtime.

    Each fAutonomy agent has it's own personal agent memory (expressive belief-system), which they can use for planning & reasoning using human-like semantic and episodic memory, and patented, state-of-the-art, DNN-based forward planning technology, called 'NeuralPlanner'.

    Each fAutonomy agent has it's own sensors, with which they perceive their environment (partly or completely - you decide), and actuators (with which they can change their environment, or even their own state, including physical, communicative and/or cognitive/reasoning actions).

    Create environments that are alive, with depth, with agents, that have their own life, their own goals -- agents, that are fully autonomous...and all of that at a price of minimal CPU and memory cost, thanks to DNN-based AI. In runtime only DNN inference is performed, which requires constant time and space (memory). This way fAutonomy AI is truly scalable, without any compromise to the quality of AI behaviours.

    Integrates seamlessly with the Unity Editor (adds a Tools/fAutonomy menu).

    Comes with unlimited-time free AI server access (no subscription or website registration required), and 2 example projects.

    Train with AI servers & play on the device!!

    No AI server connection needed after building, neither Unity Pro. Games can be distributed without any server-connection. Connection to fAutonomy AI servers is required only for the time of game-development, for training the AI agent-behaviours. Once AI agent-behaviours are trained, no fAutonomy AI server connection is needed anymore to play the game.

    NOTE: runs on any platform, where Unity Editor runs, however currently games can be built with fAutonomy only for Windows 64-bit.

    PLEASE NOTE: fAutonomy for Unity is still in Open Beta, provided as free. Soon more target-platforms are also going to be added, including mobiles and consoles.

    Stay ahead of the curve -- switch to fAutonomy now!

    For more information, please visit the Asset Store product page, or the official website, or please contact us via our email address.

    Also please don't forget to leave a comment here on the Forum to share with us your impressions or questions.

    We truly hope you enjoy our product, and use it to create something new and awesome!

    Thank you very much for trying fAutonomy!
    AIBrain's fAutonomy Team
     
    Last edited: Jul 31, 2018
    OdderOtter and Louis_J like this.
  2. Louis_J

    Louis_J

    Joined:
    Jun 13, 2018
    Posts:
    4
    been trying for a few days now. promising stuff (actually brilliant), but needs more examples and tutorials. it may be not yet ready for us too switch to it from regular game AI tools, such as behavior trees or fsm, but a great leap in the right direction. good job guys! keep on pushing!

    your stuff is already better than any other deep learning AI tool out there. with more documentation and the ability to build games with fautonoym also for console and mobile this would be definitely my choice.
     
  3. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Louis,

    Thanks so much for your great, supportive and insightful comment, and also for trying our product.

    We are in the process of including more examples, more detailed documentation, video tutorials, and also of course the support for mobile and console platforms is also in-development. We hope to be able to include a release-ready version of these in one of the coming regular product patches.

    Thank you and please stay tuned and let us know, if you have any more questions or comments!

    fAutonomy Team

     
    Last edited: Jun 14, 2018
    Louis_J likes this.
  4. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Thanks for making an awesome tool, keep on pushing.
     
  5. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Thanks, Mr. Spark - we're on it :)) Thank you for the positive reinforcement! :)
     
    Louis_J likes this.
  6. Louis_J

    Louis_J

    Joined:
    Jun 13, 2018
    Posts:
    4
    thanks
    now it looks like its all free. are you going to keep it that way?
     
  7. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Louis,

    Yes, absolutely.

    fAutonomy is always going to be provided as free (even without any registration), however in 1-2 months we are planning to launch 'fAutonomy Pro/Plus', which is going to be a paid asset on the store.

    So there are going to be 2 fAutonomy assets on the store: a free version (current version improved), and a paid version. That latter, paid version is going to provide better AI server-side.

    We are still in the process of collecting feedback from the community with the current free (open beta) version, and the mentioned next steps also depend on that feedback.

    Please let us know, if you have any more questions and also if you have anything to share about your experience with fAutonomy.

    Thank you,
    fAutonomy Team

     
    Louis_J likes this.
  8. Louis_J

    Louis_J

    Joined:
    Jun 13, 2018
    Posts:
    4
    sounds like a plan. also thanks for replying to my question in detail on the product page. your explantion helped. looking fw to the updated docs and tutorials. best, lj

     
  9. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Hey,
    Any small tutorial for a beginner in AI?
     
  10. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi, sure! Are you looking for a tutorial for using fAutonomy, or AI in general?

    Did you see the Quick Start Guide link above in the original post?
     
  11. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Thanks for the response.
    I am new in both (ML AI & fAutonomy) .
    So I want to how to start ?
     
  12. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    For AI this is a superb-amazing full free intro course on Udacity (highly recommended):


    You do not have to complete any exams, of course, and since it is full free, you can just go through the videos, and enjoy. :) Peter Norvig (head of research at Google) and Sebastian Thrun made this course (latter is head of Udacity, before AI prof., really good AI researcher).

    This course is of course not necessary to use fAutonomy, but in case, as you asked, someone is interested in the basics of AI (not just Deep Learning, but AI in general) in a most principled and comprehensive, exciting, up-to-date way, then this is definitely a good starting point.

    Now it is 1st of July in the US. On the 9th of July the best Coursera ML (Machine Learning) course is going to start, created by Stanford University, headed by the very well known Andrew Ng. Please check it out here:


    Of course there are tons of resources about ML all around the web, and also the intro to AI course above (by Norvig & Thrun) include some information about ML.

    Then, as a next step, you can check A. Karpathy's great DL (Deep Learning) course at Stanford, here:


    Then about CNNs (Convolutional Neural Networks), which are now used in fAutonomy, in relation to the above CS231n Stanford course, you can find really good info and explanation here:


    After that, if you check the Quick User Guide of fAutonomy, also linked above, it should be like a piece of cake. :)


    Nonetheless, since fAutonomy creates sort of a planning AI model of the world (game-world), which is then used to train a DCNN with ___goal-driven___ behaviour / data, it may be worth, if you check also some stuff about AI planning. The intro to AI course covers some of that as well (after search algorithms are explained), but you can find some more useful info about that e.g. here:


    PDDL (Planning Domain Definition Language), and its Multi-Agent extension, called MA-PDDL, are one of the underlying data-description formats in fAutuonomy.

    We hope that this can give you a good headstart!

    Please let us know, if we can provide you with anything more.

    Thanks,
    fAutonomy team
     
    schiehll, alittlebyte and OdderOtter like this.
  13. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Thanks for the in-depth information.

     
  14. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    You're most welcome! Please let us know, if we can provide anything more.

    BTW: new YouTube demo video is available of fAutonomy in the works, FYI:

     
    Louis_J and TechnicalArtist like this.
  15. Louis_J

    Louis_J

    Joined:
    Jun 13, 2018
    Posts:
    4
    great stuff guys! keep it coming. more such videos and demos that explain what one can do with fautonomy.
     
  16. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Thanks, Louis, it's all on the way. :)
     
  17. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    I'm trying to get started and I seem to have an issue. The window that pops up from Tools -> Setup AI Scene has some grid areas that, according to the documentation, can be interacted with by right clicking to create new nodes. However, when I do it, nothing happens.

    I am using Unity 2018.2

    In the quickstart guide I would include details where it says "this can be left blank for now" to reference a page number (in either pdf) where details can be found on how to utilize these property string methods.

    Additionally, the example scenes don't seem to run correctly (they throw null pointer exceptions). It is unclear what needs to be done in order to see these work.

    I also get this network error waiting for training sometimes:
    Code (CSharp):
    1. Exception: System.Net.WebException: Error getting response stream (ReadDone2): ReceiveFailure ---> System.Exception:    at System.Net.WebConnection.HandleError(WebExceptionStatus st, System.Exception e, System.String where)
    2.    at System.Net.WebConnection.ReadDone(IAsyncResult result)
    3.    at System.Net.Sockets.Socket+SocketAsyncResult.Complete()
    4.    at System.Net.Sockets.Socket+Worker.Receive()
    5.   at System.Net.WebConnection.HandleError (WebExceptionStatus st, System.Exception e, System.String where) [0x00000] in <filename unknown>:0
    6.   --- End of inner exception stack trace ---
    7.   at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
    8.   at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0
    9.   at AIBrainEditor.AIBrainServerComms.SendAndProcessWebRequest (System.Net.WebRequest request, System.Byte[] requestData) [0x00000] in <filename unknown>:0
    10.   at AIBrainEditor.AIBrainServerComms.Poll () [0x00000] in <filename unknown>:0
    11.   at AIBrainEditor.AIBrainServerComms.WorkerThread () [0x00000] in <filename unknown>:0
    12. UnityEngine.Debug:LogError(Object)
    13. AIBrainEditor.AIBrainLog:LogException(String)
    14. AIBrainEditor.AIBrainServerComms:WorkerThread()
     
    Last edited: Jul 23, 2018
  18. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    Thanks for letting us know!

    Can you please try with one of the last/latest 2017 versions of Unity?

    We are planning to switch with fA to Unity 2018 in one of the next patches, so your input is most valuable (we were not aware, that the NodeEditor does not function properly in v2018.2, so we are going to investigate), but in the meanwhile it would be great, if you could try e.g. with Unity 2017.3.1f1...

    Please let us know, if possible!

    Thanks,
    fA team
     
  19. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    I was planning on doing that tomorrow (bit late to do it tonight), as I figured there might be some incompatibilities (nothing every upgrades cleanly).

    (Oh, and trying to fiddle with the Tools -> Setup window for the sample scenes sometimes will throw Null Pointer Exceptions; unclear if this is because the data is missing, the data is bad, the window is bad due to the higher Unity version, or what)
     
  20. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Sounds good. Thanks for making the effort, and please let us know, how it went!

    The NullPointerException may be due to your Unity version. Please try with v2017, and let us know, if you still have the same issues, or if they are solved.

    Your beta-testing effort is most appreciated. :)

    Thanks,
    fA team
     
  21. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    Looks like the UI works perfectly in this version, so yeah, definitely some weirdness going on in the newer Unity.

    I'm still getting the server error though (looks like I edited that into my first post after you replied; didn't expect a response that quickly!).

    Text of the error above, but here's as much of the console as I can do at once, in case any thing else helps:

     
  22. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    We just saw your edit to your previous comment, including the System.Net.WebException you got.

    We understand that you got this exception both in Unity v2018.2 and also in v2017...

    The reason should be mainly, that there is a time-out during the connection to our fA AI servers.

    If your job (training task) is put to the job queue on fA AI server-side, then even after some waiting (until the currently running / previously scheduled job finish) you would not get such a time-out exception.

    What you can do: please click on the "Test Connection" button in the Tools / fAutonomy / Preferences menu to see, whether the server is accessible to you. If that works, then training should work as well.

    Please let us know, whether this helped.

    Thanks,
    fA team

     
  23. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco!

    Thanks for this additional bug-report. We are looking into the issue more deeply now.

    Also please see our reply to your above edited post. There are some ideas, what you can do to avoid such (probably connection time-out) exceptions, and why these happen.

    Let us get back to you here as soon as we have more info on this.

    Thanks again for letting us know, and for experimenting with our tool! :)

    Best,
    fA team

    P.S.: BTW, we're happy to hear that all started working well with Unity v2017. We are going to make a patch soon, making fA run well on v2018 as well, and we'll let you know, so please stay tuned. :)

    * * *

     
  24. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    The connection succeeds just fine.
    Either its an intermittent internet connection that doesn't affect my normal usage (in which case, the polling script could use a retry action, because the moment it times out, it stops attempting) or there's something else going on.
     
  25. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    Thanks for the further info.

    Does it (training of fA AI behaviours) work for you now? (We did a server-restart on our side.)

    Best,
    fA team
     
  26. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    Giving it a run now. I've basically been training the Door_Key ai for all of these, which is more or less useless as the data was included in the asset, but it is at least something I can poke button and watch thing.

    Annnd...no, same exception.

    I also sent an email yesterday morning on some other topics; primarily looking for insight into things not covered by the (current) documentation and interest in helping to create a more realistic demo that can be included in the asset.
     
  27. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    Thanks for giving it another try, and for letting us know.

    It is unfortunate, that you get the server-connection time-out error/exception again.

    We just tried to train the DoorKey AI behaviour, and on our side all worked fine. Please see the below screenshot:



    - direct URL: https://imgur.com/a/fvp9BI2 ...or... https://postimg.cc/image/3uclxxv2l

    What you could try is the following:
    1. Try training again a few times, and please let us know, if it fails each time the same way, or whether it succeeds on some occasions. In the latter case it would be nice to know the success ratio... :)

    2. If training failed each time, given that the fA AI server is up-and-running, our best guess is that it must be something related to your firewall setting. Can you please check, whether Unity is allowed to send/receive HTTP requests?

    3. Please make sure, that in the Tools / fAutonomy / Preferences menu the User Credentials part is completely empty. I.e. please try to use the tool in unregistered free mode.
    At last, but not least, thank you very much for your email. We are in the process of providing you with a proper reply, answering all your questions. It is exciting to hear, that you are working on an RPG game, and consider fA as a candidate for controlling the enemy NPCs in your game. Let us provide you more, also in relation to the suggested collaboration, in our email reply.

    Thank you very much,
    fA team
     
  28. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    1. I haven't had it succeed yet (though the number of trials is all of five or six so far), but I'll keep playing with it.
    2. Should be *checks...*
    • Windows firewall: check
    • Other software firewalls: none installed
    • LAN: complicated
      • Router 1: Error: system returned cthulhu. Disabling firewall (there is exactly one setting: on and off with no details as to what it does). No effect.
      • Router 2: check, router 1 is a DMZ
        • Just for giggles, disabled the firewall here too. No effect.
    • Bypass all the things, VPN mode enabled!: Still failed.
    3. Yep, completely empty

    Email: sure thing, no hurry, just wanted to make sure that it was seen. I've got a few more questions I've been compiling that I'll send along at some point as well; don't want to clutter this thread with a bunch of back and forth on multiple topics (single thread isn't good for that sort of thing).
     
  29. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Dear Draco,

    Thank you so much for further testing, investigating, and experimenting with fA to try to find the reasons for the server-connection time-out on your end.

    It is unfortunate to hear, that even disabling your firewalls didn't help in solving the issue.

    So, in order to progress further we would like to ask you to kindly provide us with some more information about the issue and context, if possible.

    Could you please send us the following in email, as attachments and/or answers?
    1. The Editor.log file, generated by the Unity Editor, as it is right after you tried training your AI behaviour, and received the server-connection time-out exception. Please first exit the Unity Editor, then restart it, load your project, and after that is done, try training, and right after you get the exception, please make a copy of the Editor.log file, so that you can send that 'snapshot' to us in email as an attachment. You may be able to find this LOG file here, if you are using Windows (but it depends on your system config. of course):

      X:\Users\<YourWindowsUserName>\AppData\Local\Unity\Editor\Editor.log

    2. The system config. details (op. system, version, etc.) and Unity Editor version you are using.

    3. The Assets/fAutonomy/Resources folder ZIP-ped (you can share it e.g. as a Google Drive link, if that is easier or more convenient). If you have more AI scenes / AI behaviours, please let us know, in case of which you receive the error. Of course, if it is the DoorKey example, then that is trivial (no need to indicate:) Anyway, taking a look at the exact files (within the above folder), that you're uploading, might give us more insight. Maybe something is not 100% in there (in that folder).

    4. If possible to share, can you provide us with the IP address, from where you are trying to access our server, and also the location (city, country), from where you are trying to connect? That may help us, in case it is a firewall setting on our end, in our data-center.
    Another question: is the trained DNN downloaded eventually on your end, even though you receive the exception, or not?

    Thanks a lot,
    fA team
     
  30. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Draco,

    here is another idea: the core: your exception may result from our AI server temporarily not being able to accesa our DB (DataBase) server, hosted by AWS (Amazon Web Services). Given that fAutonomy is still full (free Open Beta), and we have 0 revenue from it, we use a so called Free Tier on AWS. So we use a free-tier DB server provided by AWS for free, for now / currently, and this DB server sometimes drops connection for unknown reasons. We guess, that after we switch to a paid-tier on AWS, the QoS (Quality of Service) provided by their DB server is going to be much better (~100% availability). But now unfortunately this is still not the case.

    ...aaand we think, without yet seeing any more info from you, that probably this is the reason for the exception you receive during training.

    So, here is what you can do, to check this issue:

    1) Please visit the fautonomy.ai website, and sign-up in the top-right corner, creating a full free account, coming with a registered free unlimited time subscription (which is now practically the same as the unregistered free subscription you were using until now).

    2) After you have a username (your email address), a password (to login on our website) and a SID (Subscription ID - long alphanumeric string you can see, after loggin in on our website, and which you can copy-paste from there), please input these 3 details (your user credentials) in the Tools / fAutonomy / Preferences menu.

    3) After inputting these 3 details in the Preferences menu, and making sure, they are correct, please first click on the "Test Connection" button at the bottom of the Preferences menu to check, whether the fAutonomy AI server is accessible tp you at all. If not, then please let us know.

    4) If yes (if the "Test Connection" was successful -- you should get a popup, that clearly confirms that), then please click on the "Verify Details" button under your user credentials in the Preferences menu. During this our AI server should try to connect to our DB server to check, if your credentials are correct. Now if this doesn't work for you, then now you should receive probably the same WebException (server time-out exception), which you received before. Please let us know.

    If not (if you didn't receive an exception, after trying to "Verify Details", given your details are correct), i.e. if "Verify Details" was successful, then probably there is some other cause to your problem.

    If however "Verify Details" fails for you, then probably that is the reason: DB connection time-out.

    In this case, what you can do, is this: please try to "Verify Details" not too frequently, until it succeeds, and then start your training session.

    Can you please try this and let us know, whether it works?

    Sorry for the inconvenience. We are working on making the server-backend much more robust and rocksteady. :)

    Thanks,
    fA team

     
  31. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    The AWS free tier might be the problem. Good catch!
    Giving the suggestion a try now.

    Registering didn't seem to help, but I thought I'd wait a while before retrying as well as reducing the polling frequency from the default 1-minute to 3-minutes (figuring if there was a rate-limit involved, this would reduce the number of requests to the server). That worked!
     
  32. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    That is really great to hear.

    It seems that your UX was affected by AWS DB connectivity.

    The polling time set to 1 (min.) should work fine probably as well.

    You also have a little circular Refresh button in the List of AI behaviours.

    If you click on that during training, that also initiates polling, effectively.

    So polling once per minute, or even every 2-5 seconds should not be a problem, if there is DB connectivity in the background.

    We'll do our best to improve on this, but in the meanwhile we're happy to have found this sort of workaround with your kind help.

    Thanks again, and congrats on solving the issue + please enjoy using our tool! :)

    We're going to provide you a proper email reply as well during the day today.

    Thanks,
    fA team

     
  33. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    I look forward to being able to see what I can really accomplish with it.
     
  34. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Thanks, Draco! We're now in the process to provide a demo video showing a stealth-game-like situation (we call it internally Stealth Fortress demo) with 25 NPCs and 1 PC (Player Character), which is our most complex demo until now. It also includes now IAC (Inter-Agent Communication) based on the FIPA-ACL standard.

    Side-note: if you're interested in such, you can find more info here in their specs.: http://www.fipa.org/specs/fipa00061/SC00061G.html

    We'll keep you posted, and hope to be able to share also the Building Blocks demo, which you mentioned before (sharing which would be invaluable, we know - just it needs a bit more polishing before public release, e.g. including it as part of the distribution package).

    Cheers,
    fA team
     
  35. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    I look forward to seeing that demo too. I've noticed a lot of references to it in the quick start guide (and which assumes I have access to it).

    Thanks
     
  36. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    Sure. As soon as our 25 NPC 'Stealth Fortress' demo becomes publishable, we are going to share it either first as an executable, or maybe even as an open-source Unity project, if there are no licensing issues in terms of the assets used in the demo. That is still not 100% clear now.

    Anyway, in the meanwhile we can probably share a video of it, maybe in the coming few days. We'll let you know!

    Btw, the Quick User Guide refers to the 'Stealth Fortress' demo, but only as an example, without really assuming you have it. So the guide should be hopefully comprehensible even without having a copy of that Unity project. :)

    On another note: we just checked, and fA works well w/ Unity up to v2018.1. ...the fA Editor issues you kindly reported with Unity v2018.2 (now latest) are being addressed, as we speak. Maybe we can patch that bug too in our coming next patch. Actually we have a tight hard deadline for delivering it over here, and there is so much else too, but we hope to be able to fit that bugfix in the next patch (v0.93) as well.

    Cheers,
    fA team
     
  37. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    The important bits to look at are how the behaviors are set up and what the agent's code looks like. I've been trying to put together a simple AI that chases the player, but it seems to take forever to run the neural network, so I'm not sure what parameter I've entered incorrectly / poorly that's causing the training to take so long.
     
  38. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    can you send us over the 'configuration' folder under Asset/fAutonomy/Resources/..., which contains the relevant, compiled AI behaviour, whose training takes so long?

    BTW, in the coming days we are going to update the AI server with a much better, optimized data-generator, which may speed up your training as well. Usually, if the data-space is very massive (in size), but the number of data-points (to be generated for training) is small, then the current data-generator might take longer time to produce those data-points, before actual DNN-training begins on server-side.

    However, as said, the coming update to the DG (DataGenerator) is going to solve that, most probably.

    Should we let you know, when we deployed this new update on our server-side?

    Best,
    fA team
     
  39. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    For an idea of how long its taking (server side!) the status has been "Job added into queue" for about 18 hours now.
     

    Attached Files:

    • Main.zip
      File size:
      17.8 KB
      Views:
      351
  40. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco!

    18 hours is not regular, by far. Training should take a few minutes, max. 10-30 minutes worst case with regular settings.

    So something is again not 100%. Please don't wait longer than max. 10-15 minutes.

    Question: did you try clicking on the 'Refresh' button in the 'AI behaviour list', beside the trained AI behaviour?

    Let us check the ZIP you shared, and get back to you soon with more.

    Thanks,
    fA team
     
  41. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    Yeah I had tried that, all it did was tell me that the job was added to the queue.
    Only reason I let it go so long was because I was doing other things and then let it go overnight. Definitely didn't expect that to be normal.

    I'm looking at my setup again as well and I may have gotten the belief updating wrong (I only just noticed the dropdown for Initial/Regular/Action Outcomes), but in trying to fix this I've realized another probably error but run into an issue of "how do I express what I want to have happen?"

    In this case: if the player's visible, move towards the player. If the player is not visible, move towards where we last saw the player. If we are close to that location and still do not see the player, return to initial position ("return-to-guard" action). That is, there's two conditions to check and I can't figure out if the Conditional Effect node is an AND or an OR comparator.

    The "goal" is set to "minimize distance to target" and both actions are configured to reduce that distance, while the C# script handles calculating a true distance (irrespective of which action is being acted upon, by being able to tell whether or not there's a valid Last Seen position).

    Edit:
    Went through and redid a lot of the training setup to see if I could identify a problem and make things better. It's been training for ̶2̶0̶-̶3̶0̶ ̶m̶i̶n̶u̶t̶e̶s 12 hours and still going. Attaching that data as well.

    Further edit:
    I've also tried modifying the DoorKey example to use a visual perceptor to send the location of the key to the agent via the ReceiveActionFromAI method parameters. However, nothing I've tried has worked:
    • Added perceptor, initial beliefs for the key, and parameters. Failed
    • Tried removing things until I was back with what I started, everything failed and I had to reimport
    • Adding things one at a time (and remembering to compile!) until it fails:
      • Add key-location properties to the agent definition...fails to finish
      • Unchecked inclusion of the properties...fails to finish
      • Remove the properties...fails to finish (??!? How? This should be identical to the untouched behavior!)
    As well as some other issues:
    • Stop Training button doesn't (seem to?) work. The only way to terminate an infinite-training behavior is to restart Unity.
    • Unity does correctly remember settings, but only for the GUI display. I have to manually adjust the polling frequency every time I start Unity (as well as validate login information).
    • Numeric value ranges for the server have a minimum value of 0, even when these values represent things like "position" which can easily (and very validly) be negative.
      • Or social variables, like "influence" where 0 is neutral, 100 is friends, and -100 is enemies.
    • The variables that can be added to training data (same UI window) can be AI Object properties...and entirely limited to entity name and entity type.
    • Object y-coord property missing.
     

    Attached Files:

    Last edited: Jul 30, 2018
  42. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    Just wanted to let you know, that we received your message, and that we're in the process of processing it. :)

    Please give us some time to do so. We are going to get back to you soon (as soon as we submitted the next update to fAutonomy, v0.95, to the Unity Asset Store).

    In the meanwhile please check out our new demo video, showing that fAutonomy support multiple agents and IAC (Inter-Agent Communication), here:


    Thanks,
    fA team

     
  43. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    No worries, I realize it takes time. I'm just messing with things on my own to see if I can get something to work, but I haven't been.

    I'm just baffled, because what I had been doing should work, but it doesn't. And I included my troubleshooting in case it might shed some light on things.

    Thanks again for your replies.
     
  44. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Hi Draco,

    Thanks for your patience, and for experimenting further with fAutonomy.

    We've looked at the generated AI behaviour config. you kindly attached to your above cited message, and we have a few comments about it.

    In the meanwhile you may have noticed, that we released fAutonomy version v0.95, which is way better, than the previous versions (also in terms of server-side training).

    You can now use it with the latest version of Unity (version v2018.2.1f1 atm), and all works well, plus it came with the Stealth Fortress demo video, and the package now also includes +2 examples: an uncertain version of DoorKey (with belief-updating), and also the BuildingBlocks demo, which you were also asking for. Now these +2 examples are also part of the package, so you can take a look at them, and they may give you a further idea about how to apply fA in your settings.

    Now let us try to first respond to some of the flaws we saw in the 'GuardRoom' AI behaviour config. you provided.
    1. First of all, in the Encoder you provide only the value of the "distancetarget" numeric property (of your guard agent) on the input of the DNN. We believe it would be nice to add +1 cell to the Encoder config. with the value of the 'seeplayer' boolean property (of the guard agent). The DNN should be able to decide, given your AI action definitions, after all, whether to 'chase-player' (if 'seeplayer'), or else 'return-to-guard'. Please provide the most relevant info on the input of the DNN, which is most relevant for decision making (action-selection). For example the information, that you provide in the preconditions of actions, and also what is relevant for the goal to be true.

    2. In the Training Data Generator (TDG) config. you loop over some of the values for 'distancetarget' (0 distance, or 1 distance, which seem not much, but it does distinguish), and 11 values for 'health'. So altogether you have a data-space of size 2*11=22. Very small. You should also loop over the values of the boolean 'seeplayer' property, at least, increasing your data-space to 44.

    3. ...and then, still in the TDG config. the number of data-points you want to generate from your available data-space is currently set to 3. Now that is extremely minimal. No DNN can be trained with such amount of data at the moment... :) So please increase this number e.g. to 44, or more. Hundreds of data-points would be ideal. You can create e.g. a 'tdg-multiplier' numeric behaviour specific property, and loop over it's values as well, just to multiply the size of the data-space (if it is not big enough otherwise). If you loop from 1 to 10, then you would already have a data-space of 10*44 = 440 data-points, from which you could sample e.g. 200, at least.

    4. If you have more data-points for training, testing and validation, then please increase also the batch-size, and set the split (between training, test and validation data-sets) properly. E.g. in case you have 200 data-points, having 30 for test, and 20 for validation is good enough in your case. Then 150 remain for training. ...and you could work with a batch of 20-to-50.

    5. Having 200 steps for training should be enough for first experimentation, and then you may want to improve further, if that is not enough to make the DNN smart enough.
    Now let us try to give some hint about the following you wrote:

    "if the player's visible, move towards the player.
    If the player is not visible, move towards where we last saw the player.
    If we are close to that location and still do not see the player, return to initial position
    "

    So you have this 'seeplayer' boolean property for the guard agent, which is perfect. Please try to create a belief-update rule to perceive that property value. You need e.g. a regular and action-outcome rule for that as well, that processes the SELF part of a percept, and of course the percepts, you provide the AI with, should include a SELF part as well. So the AI can receive the value of the 'seeplayer' property, and update it's beliefs, whether it sees the player, or not.

    You have the 'seeplayerx' and 'seeplayerz' numeric properties of your guard agent. These contain the last (X,Z) coordinates of the player, where you last saw it. You could have a 'everseenplayer' boolean property as well (e.g. behaviour specific), which would be set by a belief-update rule, if the player is seen...and so you would know, whether the values of the 'seeplayer...' properties are relevant, or not at all. ...and then, whenever you see the player (regular or action-outcome percept), you should update the value of these 'seeplayerz...' properties, as you seem to be doing already (with your 2 regular belief-update rules).

    BTW, the effect of the 'return-to-guard' action are not proper in the ZIP, you gave us. Please check. Same as 'chase...'.

    You could have an investigate action, which can be scheduled for execution by the AI, if the player is not seen, but was seen before, and you did not investigate. In that case you should try to move closer to the last-seen X,Z coordinates.

    ...and now at last, but not least, let us try to respond to some of the additional remarks you wrote. Let us cite, and respond in-line below:

    • Stop Training button doesn't (seem to?) work. The only way to terminate an infinite-training behavior is to restart Unity.

    *** Good observation. In the current client unfortunately the 'Stop Training' button still doesn't work. We are going to update this in a further patch.

    • Unity does correctly remember settings, but only for the GUI display. I have to manually adjust the polling frequency every time I start Unity (as well as validate login information).

    *** Draco, please leave the polling freq. at default 1. No need to adjust each time. Validation is need only, if you want to use fA in registered free mode, as of now. In unregistered free mode (when you remove all user credentials from the Tools / fA / Preferences menu) validation is not required. In reg. free mode it is needed to authenticate with the server during training.

    • Numeric value ranges for the server have a minimum value of 0, even when these values represent things like "position" which can easily (and very validly) be negative.

    *** Thanks for bringing our attention to this. Let us investigate. Might be a glitch in the fA Editor (when defining new 'Numeric Sets' in the TDG config.)...and you're absolutely right: should be possible to loop over negative values as well. Let us check.

    • The variables that can be added to training data (same UI window) can be AI Object properties...and entirely limited to entity name and entity type.

    *** Draco, can you please clarify this more for us. It is not exactly clear, what you mean here. Are you talking about the TDG step of the AI behaviour config.?

    • Object y-coord property missing.

    Yes, it does - deliberately. If you need such a numeric property, you can add it to your custom AIEntityType-s (in the 1st step of AI Scene setup).

    Thanks,
    fA team
     
  45. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    Thanks for that. I'll dig through it and see what I can do. Looks like there are a lot of config options that I need to study and familiarize myself with.
    I'll definitely pull down the lastest version and dig through the examples as well.

    Thanks!
     
  46. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Thanks for taking the time!
    You're our No.1 Open Beta Tester at the moment. :)

    Cheers,
    fA team
     
  47. Curlyone

    Curlyone

    Joined:
    Mar 15, 2018
    Posts:
    41
    Hello, first of all im new to whole ai stuff, and i met fAutonomy a week ago, and the examples in asset really helped me out. Now i am trying to practice a little by making a few simple stuff with it.But i get this error same as above when i am trying to train(I am using Unity 2018.2.3):

    Code (CSharp):
    1. Exception: System.Net.WebException: Error getting response stream (ReadDone2): ReceiveFailure ---> System.Exception:   at System.Net.WebConnection.HandleError (System.Net.WebExceptionStatus st, System.Exception e, System.String where) [0x00000] in <60233c34ef3e4e5f892759dbfc5ae27d>:0
    2.   at System.Net.WebConnection.ReadDone (System.IAsyncResult result) [0x00000] in <60233c34ef3e4e5f892759dbfc5ae27d>:0
    3.   at System.Net.Sockets.SocketAsyncResult+<>c.<Complete>b__27_0 (System.Object state) [0x00000] in <60233c34ef3e4e5f892759dbfc5ae27d>:0
    4.   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in <f2e6809acb14476a81f399aeb800f8f2>:0
    5.   at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00000] in <f2e6809acb14476a81f399aeb800f8f2>:0
    6.   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <f2e6809acb14476a81f399aeb800f8f2>:0
    7.   at System.Net.WebConnection.HandleError (System.Net.WebExceptionStatus st, System.Exception e, System.String where) [0x0003b] in <60233c34ef3e4e5f892759dbfc5ae27d>:0
    8.    --- End of inner exception stack trace ---
    9.   at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) [0x00058] in <60233c34ef3e4e5f892759dbfc5ae27d>:0
    10.   at System.Net.HttpWebRequest.GetResponse () [0x0000e] in <60233c34ef3e4e5f892759dbfc5ae27d>:0
    11.   at AIBrainEditor.AIBrainServerComms.SendAndProcessWebRequest (System.Net.WebRequest request, System.Byte[] requestData) [0x0005e] in <8dd483c5eed34f778b34f518aa615eb4>:0
    12.   at AIBrainEditor.AIBrainServerComms.Poll () [0x0003c] in <8dd483c5eed34f778b34f518aa615eb4>:0
    13.   at AIBrainEditor.AIBrainServerComms.WorkerThread () [0x0008a] in <8dd483c5eed34f778b34f518aa615eb4>:0
    14. UnityEngine.Debug:LogError(Object)
    15. AIBrainEditor.AIBrainLog:LogException(String)
    16. AIBrainEditor.AIBrainServerComms:WorkerThread()
    17. System.Threading.ThreadHelper:ThreadStart()
    Also i have a question if you dont mind answering.
    I literally didnt understand how Belief updating works in 3rd project - DoorKey-Uncertain. So when agent attempts to take the key, it updates perception, so perception should look for if agent has actually have the key, or if agent failed to take the key. But i dont understand the code in belief updating.

    Rule Precondition
    NOT(Percept.door-key-agent.name == Behaviour.self)


    Regular Effect
    Behaviour.self := Percept.door-key-agent.name 


    What does this do exactly ?

    I know this a noob question, but i am simply trying to understand. Thanks for this amazing asset!
     
  48. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    Essentially what it does is that the Perception says "does my neural network state match the game state? If not, update the neural network state."

    Basically, the agent picked up the key, then checks his pockets: Wallet, keys, phone, good to go.
     
  49. aibrain-fautonomy-team

    aibrain-fautonomy-team

    Joined:
    May 16, 2018
    Posts:
    27
    Dear Curlyone,
    to answer your question: You are looking at the belief updating in the initial percepts. In this example it serves no other purpose than to offer a reference on which to extend this example. Roughly speaking, you can use this construct in order to ensure each agent has access to its own specific set of properties.
    If you want to understand how the belief updating works for this example, you have to look at the "Action Outcomes" (you can choose this directly under "Percept Processing"). Those make sure that the beliefs of the agent are in line with reality.
    We will reconsider whether we should have the initial percept included in this way if it leads to confusion.

    As for the bug, we are currently working on resolving it and will inform you guys.

    Thanks for the feedback,
    the fA team.
     
  50. Draco18s

    Draco18s

    Joined:
    Aug 15, 2011
    Posts:
    110
    Thanks! Its definitely interfering with my ability to prototype.