Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

Assets [WIP] Total AI - Open Source Agent AI Framework

Discussion in 'Works In Progress - Archive' started by zdwarren, Jan 27, 2021.

  1. zdwarren

    zdwarren

    Joined:
    Nov 3, 2017
    Posts:
    1
    I'm excited to announce Total AI has just been open sourced (MIT License)!

    It is in Alpha so expect bugs/issues and breaking changes.

    Summary
    Total AI (TAI) is a complete free open source agent AI Framework for Unity. Its goals are to provide an easy to prototype, flexible, fully customizable, and performant framework for a broad array of AI types and for a broad array of game types. Eventually TAI hopes to have a vast library of community created types that anyone can use to jumpstart their AI.

    The core of TAI are Agents who can to sense the world, create memories, plans, and act in order to either reduce their Drives or based on the action with the most utility. This is accomplished with its Type System and Plan/Mapping System. It is also easy to extend and customize through ScriptableObject's pluggable data and logic ability. This makes writing and plugging in your own custom AI logic easy.

    Links
    Website: http://totalai.org
    GitHub: https://github.com/TotalAI/TotalAI
    Discord: https://discord.gg/PfKUm42Zax



    Agent Logic Flow Diagram



    Features
    • Designed from the ground up to be take advantage of Unity's unique features.
    • Customizable - Usually will just need to implement a few methods to create a new type.
    • Quick to Prototype - easy to switch between various AI types.
    • Flexible - ScriptableObject Type system allows for lego-like building parts.
    • Multi-Agent - Agent Events allow for multi-agent coordination.
    • Intelligent division of Agent’s functions - Planner, Decider, Sensors, Memory, Movement, and Animation.
    • World Objects have states, state transitions, grow, built, damage, change appearance, and inventory recipes.
    • Inventory - Slot based inventory system that allows any Entity to be in any other Entity’s inventory.
    • Factions - Groups of Agents, can be figured into the Planning.
    • Drive (Motivation) based Planning - Agents will choose most pressing drive to lower.
    • Complex logic for Drive level changes - faction synced - attribute synced - custom equation changes.
    • Target Factors - Utility AI like selection process for choosing best target and best inventory target.
    • Selectors - Advanced selection logic for choosing values to use in a Mapping.
    • Mapping - Core unit of planning has Target Factors, Utility Modifiers, Input Conditions, and Output Changes.
    • Behavior/Decider Logic - Allows for complex logic for running and interrupting Mappings.
    • Mulitple supported AI types - GOAP, Utility AI, and FSM - Deep RL using ml-agents coming soon.
    • Attributes - Generic value types for Agents.
    • Roles - Allows for Actions and Drives to be changed dynamically.
    • Tags - Useful for controlling Mappings and can also be used to create relationships between Entities.
    • TypeCategories/TypeGroups - Attach multiple categories to Entities - Generalizes Mappings.
    • Agent View Editor - Agent properties, realtime history logging and plan tree visualization.
    • Setup Editor - Quick Basic Setup for a Project using the Setup Editor.
    • Custom Inspectors - Extensive use of custom inspectors for increased ease of use.
    • Extensive Documentation with goal of having 100% documentation coverage.
    Requested Feedback
    For everyone that tried out Total AI, thank you! I apologize for any bugs/issues encountered. You can report them here or on the Total AI GitHub Repo Issues.

    Please let me know if you feel like TAI is missing some core features or any parts are confusing and/or not documented well enough. Also let me know if there are certain topics that you think deserve a video tutorial.

    Contribute

    If you love AI and Unity please consider helping out with Total AI! All contributions are welcome.

    Thanks!
    Zac
     
  2. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    This is really great. I don't have the ability to help, but I hope many people will participate.