ACE-based Node Trees (creating State Machines/Behavior Tree/Dialogues/Quests in C3)

0 favourites
  • 3 posts
From the Asset Store
Node Downloader is a plugin for download file for Construct 3 and construct 2 game engine
  • EDIT : Flowchart feature was released in r370 by Construct Team.

    I detailed here the suggestions about how it could be enhanced to become a powerful addition to handle Game Logic to create Dialogues / Quests / Combos / States Machines and Behavior Trees.

    construct.net/en/forum/construct-3/general-discussion-7/new-flowcharts-feature-r370-179833/page-2

    I created this thread to discuss about a "ACE-Based Node Tree" suggestion that would allow us to decuplate the visual scriptings capabilities of Construct. (to create State Machines/Behavior Trees/Dialogues/Quests)

    First post is the explanation of the full potential of Node Tree in C3 and a benchmark of the best implementations of "ACE-Based Node Trees" in the game engine market, second post will be more about how this feature could be implemented in the context of C3 (still didn't have time to write it and do quick mockups)

    TLDR :

    • Eventsheets-based visual scripting is awesome
    • [Top-to-bottom visual scripting like C3, using Actions, Conditions and Expression (ACE), executing logic contained in Plugins and Behaviors under the hood]
    • Node-based visual scripting is bad
    • [by that I mean Blueprint-like nodal system which quicly become very messy]
    • NodeTrees built upon Eventsheet is INCREDIBLE.

    Yesterday, I randomly stumbled upon a <100 views hidden Video of an upcoming Unity feature called “Muse Behaviors” : it’s basically a mix of something similar to the Actions & Conditions we’re using in Construct 3 with a Node Tree. To be honest it's mindblowing, and it looks like they plan to use Actions/Conditions for more systems (maybe Unity Eventsheets ?)

    Subscribe to Construct videos now

    When i saw this video, it gave me the urge to suggest something i’ve been thinking about from quite a long time : “ACE-Based Node Tree” or “Node Tree Eventsheets” in Construct. It would probably require a huge amount of work but I think this is a perfect match for Construct 3, which would be the best engine on the market to integrate that kind of stuff thanks to his amazing Eventsheets and all the Action/Condition/Expression features that exist thanks to all official and 3rd party plugins and behavior.

    If done right, it would allow us to create all kind of extremely powerful systems :

    • Behavior Trees
    • States Machines
    • (Behavior Tree and State Machine, other kind of Trees could be useful not only for AI but also to create the global flow of our Game, like a Game Manager but also advanced user interface system)
    • Utility AI
    • G.O.A.P
    • Dialogue System
    • Quest System
    • And even more : Combat System ?

    Game Creator 2 and its modules

    The reason I’ve been thinking about that is because i’ve been playing for a few years with a wonderful 3rd party Unity tool suite called Game Creator 2. I’m 100% sure Game Creator 2 is inspired by C3, and then the Unity Team was inspired by Game Creator 2 and its innovative tools to create their own “Muse Behaviors” they’re about to announce.

    I’m talking about those tools because they help to understand the full potential of Node-Tree using ACES and it’s the closest possible implementation that could be done for Construct 3.

    Game Creator 2 for Unity is a suite including a base tool and a bunch of modules.

    The Game Creator 2 basically implements a ACE (Action/Condition/Expression) system very similar to how Construct 3 works, but in the Unity context.

    With base GC2 you can create your "eventsheets" directly on your objects using the Unity Inspector (not as cool and easy to use as C3's global eventsheets, but still the best visual scripting system ever created for Unity - ugh i hate Unreal Blueprint-like nodal systems that most softwares implement for game-logic)

    However GC2 additional modules also allow you to create logic as seperated assets that are composed by "Tasks" (= Mini Eventsheet blocks composed by Actions/Conditions), there are 2 main categories of "Task Trees" :

    • GC2 TASK TREES (used in Behavior Module)
    • GC2 TASK HIERARCHIES (far more pleasant to use for stuff like Dialogues/Quests/Combo)

    1. GC2 TASK TREES: BEHAVIORS MODULE

    (State Machine, Behavior Tree, Utility AI and G.O.A.P)

    GC2 built Node-Tree systems on top of Actions, Conditions and Expressions to achieve the 4 Main type of AI systems used in the Game Industry. (they can in fact be used in far most situation besides just AI)

    Those are basically like "Trees of Eventsheets" made of "mini-Eventsheets"

    Official GC2 Behavior documentation: (worth a read)

    Showcase video: (go to 13min10 to this it in action even if the explanations before are really interesting)

    Subscribe to Construct videos now

    If you want to understand the incredible potential of those 4 Node Tree AI system, i also totally recommend to watch this wonderful Gamer Maker’s Toolkit video explaining how each of those type of AI, and especially Utility AI, were used to create one of the most innovative and fun gave ever : The SIMS. Awesomesauce.

    Subscribe to Construct videos now

    Utility AI : Basically you define the "needs" of a character and it automatically picks the correct goal based on what should be prioritized. It’s used very cleverly and at different scale in the Sims to handle the behavior of each character but also for more abstract concept such as neighborhood in the Sims, to create powerful story machines constantly creating emerging gameplay and situations.

    2. GC2 TASK HIERARCHIES :

    Dialogues, Quests, Combo etc...

    GC2 use a different king of "Task Tree" for its Dialogue/Quest/Combat Combo modules, they looks more like a Hierarchy of "mini eventsheets" (=Tasks) that is far more readable and useable for that kind of purpose.

    It's also the kind of system used by Dialogic 2 for Godot (the last cool visual scripting tool I wanted to mention in this benchmark)

    It's basically like an "Super-Eventsheets" made of "mini-Eventsheets"

  • CONSTRUCT IMPLEMENTATION SUGGESTION (Wip)

    (I'll edit this post to add C3 Mockups later)

    I beg Construct Team to deeply look into those tools if they ever consider adding such a Node-Tree feature :

    • 1. Game Creator 2 and its modules (Unity 3rd party)
    • 2. Muse Behavior (Unity official)
    • 3. Dialogic 2 (Godot 3rd party)

    All potential use-case should be taken into consideration (from State Machine/BehaviorTree to Utility AI and Dialogue Systems), it should be versatile enough to be able to do everything.

    EDIT I refined this suggestion in this post based on the Flowchart feature C3 Team just released

    construct.net/en/forum/construct-3/general-discussion-7/new-flowcharts-feature-r370-179833/page-2

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • This looks incredible. For a moment when i read the topic i thought it was a new plugin you were releasing.

    I hate to be pessimistic all the time, but i'm not going to bother voting, because i already know the response.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)