Announcement

Collapse
No announcement yet.

Logic Driver - Easily Design Gameplay Systems with State Machines

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    2.3 is now available for 4.24 & 4.25

    Leave a comment:


  • replied
    In case anyone missed the Discord announcement,

    Version 2.2 is now available!
    Patch Notes

    Currently in development: Parallel States




    And what yinpsoft suggested is also being worked on, most likely by allowing multiple state classes to be stacked per state node.

    Leave a comment:


  • replied
    Logic Driver is absolutely the right thing for my project, I was keeping finding a proper FSM plugin in UE4 environment. After several days using, I found that there is a limitation about reusing the 'State'. According the design now, I need put all the logic in one state node. But in our game project, there are various logic unit in a state, such as, add buff to some players, open a door somewhere, set a timer and disable AI and so on. All these logic unit may be reused in anytime and anywhere. Game designers could use these logic units to make all kinds of gameplay. As time goes by, we could accumulate many logic units, the more logic units we developed the less work we will do in the future, and the more stable of the game logic.
    So in Logic Driver, I think there should have a logic unit(we can call it Action) under the state object. An action object contains all the generic logic. It can expose some config fields display in the UE details panel so that the designers can adjust gameplay by changing these fields. Maybe you have realized that it is the same thing with Playmaker in Unity. Yes it is.

    Please could this feature in the future updates ? I would provide more detail information in your email

    Leave a comment:


  • replied
    Version 2.1.1 is out for 4.23-4.25 with some bug fixes.

    Patch Notes

    Leave a comment:


  • replied
    Hey everyone! Just an FYI that because of the 2.0 update, the original Logic Driver product is now considered PRO, and a new LITE version is available.

    Everything in Lite is already part of Pro. No need to buy anything else.

    Leave a comment:


  • replied
    Wow, Epic fixed this fast. The 2.1 update is now available for UE 4.24.

    Leave a comment:


  • replied
    It was just brought to my attention that 4.24 did NOT receive the Logic Driver 2.1 update, but 4.23 and 4.25 did. If anyone is still on 4.23 and planning to update to 4.24 check the Logic Driver version you have installed first. If it's 2.0.1 or less you're fine, if it's 2.1 you should hold off until this is resolved or contact support@recursoft.net.

    I have asked to Epic to rebuild / redistribute the 4.24 version.

    Leave a comment:


  • replied
    Version 2.1 Released
    Unreal Engine 4.23 - 4.25

    When updating it is important everyone working on the same project also updates. Assets saved on this version are not fully compatible with older versions.

    Enhancements
    General
    • Added user tooltips to graph properties.
    • Added `IsActive` and `GetGuid` to node instances.
    • Added documentation links to blueprint editor help menus.
    Replication
    • Added `bIncludeSimulatedProxies` to actor components so actors that aren't possessed by a player controller can execute logic when configured for the client domain.
    • Improved initial instance replication which should resolve issues when leaving bInitializeOnBeginPlay checked not always starting the state machine on simulated proxies.
    • Initial replication now replicates the current state(s) of the authority state machine rather than rely on the default initial state being accurate.
      • Can be disabled by unchecking `bReplicateStatesOnLoad`
    Ticking Optimization
    • Actor components are now responsible for ticking their instances.
    • Instances that don't need to tick (such as references) never register their tick function.
    • Instances no longer tick before they are initialized.
    • Added `bLetInstanceManageTick` to components as an advanced option.
    • Added `bTickBeforeInitialize` to instances as an advanced option.
    • Added `bTickRegistered` to instances as an advanced option so they can unregister their tick function all together.
    Changes
    • Manually calling the actor component `Initialize` function and not passing in a context will now automatically set the context to the component owner.
    • Renamed Editor and ProjectEditor settings from State Machine Editor to Logic Driver.
    • Deprecated `bCanEnterTransition` of conduit classes.
    • Creating a new conduit class no longer automatically wires a parent node to CanEnterTransition.
    • Instance compile validation skips blueprints that are new or loading.
    • Updated custom K2 node pin names to be consistent with UE4 naming conventions.
      • Once you save a state machine on this version you cannot open it in an earlier version of Logic Driver or connections may be broken.
    Bug Fixes
    • Fixed intermittent crash during garbage collection for Stand Alone Game builds.
    • Fixed actor component state machine templates from being selectable debug objects.
    • Fixed const mismatch on GetNodeIconSize which could prevent compiling from source using strict warnings.

    Leave a comment:


  • replied
    2.0.1 Released
    • Nodes that are impacted by an Any State Node will have their color updated appropriately and additional information displayed on their tooltip.
    • Properties exposed on the node can no longer be edited while in debug mode.
    • Fixed crash for conduits that loop back on themselves and are configured to evaluate as transitions.
    • Added missing button images for TextGraphProperty variables.

    JimPhoenix the missing button images will resolve the warnings you were getting and text graph variables will look nicer now too. Thanks again for bringing that up!

    Leave a comment:


  • replied
    Originally posted by kaleidosgu View Post

    Thank you very much!
    I have another question. I got logic driver's copy from my company other project worker. If I want to use LogicDriver in a new project for the same company, should I buy it again?

    I believe the license through Epic allows you to continue to use it in the same company.

    From: https://www.unrealengine.com/en-US/marketplace-faq

    Can I share products with my team?
    Yes, you can share Marketplace products with your team but only for the limited purpose of the project that you are jointly developing. Content pooling or sharing products between developers outside of your organization is prohibited. Team members also cannot use products in an unlimited fashion for their own projects.

    Edit:
    I may have interpreted the licensing wrong, I e-mailed the marketplace team your exact question and got this as a response:
    Plugin usage is a bit more strict. Technically a plugin must be purchased per-seat and per-project. Please see our EULA for more information.
    Last edited by Recursoft; 04-23-2020, 10:34 AM.

    Leave a comment:


  • replied
    Originally posted by Recursoft View Post


    It's possible but the best way is to use a transition condition or an event.

    You could add an event delegate to your actor, then bind to it on the transition and fire it from your actor to switch the states. That would make it really clean and efficient.


    Back to your original question, there's a function available for state instances which does what you want, but it was meant to be called from either a state class or within a state node.

    If you really want to do it from an actor component, you could do something like this. It's kinda messy because you can't directly search for a state by name, you would have to check the active state instance.



    This is from a state node, if it's possible to place the logic here, or from within a state class, it will work much better.
    Thank you very much!
    I have another question. I got logic driver's copy from my company other project worker. If I want to use LogicDriver in a new project for the same company, should I buy it again?

    Leave a comment:


  • replied
    Originally posted by Kenyon1977 View Post

    That's a really meaty update! Thank you!
    You're welcome! I hope the component templates help you- I made it a point to make sure that got added in for 2.0, I still feel bad that local state variables never got added.

    Leave a comment:


  • replied
    Originally posted by kaleidosgu View Post
    Hi everyone. Could I execute a forcing transition from statemachine caller?
    Or I have to transit by transition's condition?
    For example: StateA could transit to StateB. StateA is current state. I want to transit from StateA to StateB without changing the transition condition. I want to use StateMachineComponent force transit it.

    It's possible but the best way is to use a transition condition or an event.
    https://logicdriver.recursoft.net/do...ed-transitions

    You could add an event delegate to your actor, then bind to it on the transition and fire it from your actor to switch the states. That would make it really clean and efficient.



    Back to your original question, there's a function available for state instances SwitchToLinkedState which does what you want, but it was meant to be called from either a state class or within a state node.

    If you really want to do it from an actor component, you could do something like this. It's kinda messy because you can't directly search for a state by name, you would have to check the active state instance.
    Click image for larger version

Name:	image_189243.png
Views:	152
Size:	166.2 KB
ID:	1748454


    This is from a state node, if it's possible to place the logic here, or from within a state class, it will work much better.
    Click image for larger version  Name:	ForceTransitionState.PNG Views:	0 Size:	127.9 KB ID:	1748455
    Last edited by Recursoft; 04-21-2020, 09:49 AM.

    Leave a comment:


  • replied
    Originally posted by Recursoft View Post
    Finally put together patch notes for 2.0.

    Highlights -
    • Custom Nodes in BP or C++
    • Expose Variables on Nodes
    • Text Graph Properties for parsing text on a node
    • Auto-bind multicast delegates to transitions via dropdown
    • New AnyState node which represents any other state node in a graph
    • Conduits now can behave like transitions or states
    • Actor Components support templating so the instance defaults can be edited directly in the details panel
    That's a really meaty update! Thank you!

    Leave a comment:


  • replied
    Hi everyone. Could I execute a forcing transition from statemachine caller?
    Or I have to transit by transition's condition?
    For example: StateA could transit to StateB. StateA is current state. I want to transit from StateA to StateB without changing the transition condition. I want to use StateMachineComponent force transit it.

    Leave a comment:

Working...
X