Announcement

Collapse
No announcement yet.

GC FSM - Event-driven, hierarchical finite state machines is now available on the Marketplace

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

  • replied
    Another “new feature” release in less than a month! Version 1.7 introduces the possibility to have Submachine States remember their history when exited, so that the next time they are re-entered they will start from where they were interrupted instead of re-starting from scratch! If you know what a Deep History Pseudo-state is in UML, well… that’s basically the same! The feature exploits internally the FSM snapshots that were introduced in v1.6. I have updated the Submachine State documentation page with info about the new feature.

    A minor bugfix also: now if, while restoring a snapshot, a running FSM is already in the right state, that state is not exited and re-entered.

    And don’t forget to have a look at the updated example project!

    Leave a comment:


  • replied
    Long time no see! It took so long but version 1.6 is now available with some new features! You can now save the state of the FSMs of your object and then restore the exact state at a later time. Snapshot objects are convertible to/from strings so you can also use them to serialize FSMs states. More info at http://gamecentric.com/gcfsm/saving-and-restoring-fsms/

    Enjoy!

    Leave a comment:


  • replied
    Version 1.5.3 is online, another minor release to fix a few bugs.

    First of all, there was a regression on Unreal 4.20: under certain circumstances, FSMs would stop and disappear unexpectedly. It turned out the problem was caused by the recent optimizations in the garbage collector. Many thanks to users eanticev, Albie_123 and woodzong for their very detailed reports that allowed me to found the bug in no time!

    Second, nativization of blueprint including FSMs didn’t work properly and is now fixed. Thanks to user eanticev for the report.

    Leave a comment:


  • replied
    Another minor update: version 1.5.2 of GC FSM (available only for Unreal 4.20) adds support for the Mac and iOS platforms.

    Leave a comment:


  • replied
    A minor update, this time: version 1.5.1 of GC FSM is now avalaible on the Marketplace. In this release: support for Unreal 4.20 and the possibility to defer the initialization of replicated proxy FSMs (details here).
    Enjoy!

    Leave a comment:


  • replied
    Sorry to have kept you waiting, but version 1.5 of GC FSM is now available on the Unreal Marketplace. This version adds a new feature called Submachine State that allows to you to easily create a multi-layer FSM without having to subdivide the logic in multiple classes. Be sure to read the documentation page and the change log. Enjoy!

    Leave a comment:


  • replied
    I’m very pleased to announce that version 1.4 of GC FSM is available on the marketplace. The main feature of this release is Network Replication. Yes, FSMs can now be automatically synchronized between an actor authority and its proxies. Be sure to read the documentation you can find at http://gamecentric.com/gcfsm/network-replication/

    Enjoy!

    Leave a comment:


  • replied
    Oh wow. This looks incredible. I am picking this up next week!

    Leave a comment:


  • replied
    I am pleased to announce that version 1.3 of GC FSM is now available on the Marketplace.

    This new version fixes a few bugs that affected Local FSM States and introduce the possibility to inspect the event that caused a transition from OnExit event handlers. Please notice that this version contains breaking changes for those programs using C++ to define state classes. Nothing big, actually, but the OnExit C++ virtual function now takes a parameter, so in case you have overridden it, you must update the signature in your code. Blueprint usages are not affected, since blueprints will be upgraded automatically.

    Other improvements in this release:
    • The objects returned by GetActiveFSMState() now have a GetStateName() accessor to get the name of the node in the FSM
    • The objects returned by GetActiveFSMState() that refer to local states have a GetGraphName() accessor to get the name of the graph that implements the state
    • Added function IsFSMRunning to check if a specific FSM is currently running
    Full change log is here.

    Leave a comment:


  • replied
    I am pleased to announce that version 1.2 of GC FSM is now available on the Marketplace. This version is compatible for both Unreal 4.18 and 4.19 and supports all platforms, except Mac/iOS (actually those plaftforms should work, but they can't be advertised on the Marketplace due to issues with the toolchain).

    This new version introduces a new exciting feature: Local FSM States. These behave identically to "regular" FSM states, except that the OnEntry/OnTick/OnExit notification can be handled right in the event graph of the object running the FSM instead of in a separate class. While having a separate class is good for re-use and complexity management, local states can be very convenient. In particular, local states allow an FSM to interact with actor timelines, since those can only be manipulated from the actor event graph.

    This is how a local state looks like:
    Click image for larger version  Name:	2018-04-27_17h00_20.png Views:	1 Size:	32.5 KB ID:	1467684



    State notifications are implemented in a separate page of the object event graph:
    Click image for larger version  Name:	2018-04-27_17h01_26.png Views:	1 Size:	78.6 KB ID:	1467685




    Other improvements and fixes in this release:
    • The default list of transitions events when you place a state node can now be customized in the Project Settings/Plugins/GCFSM panel
    • The messages in the Visual Logger have been redesigned by including the state name and are now much more helpful
    • Leaving a state node with an unconnected event pin would have caused a crash if the event was triggered. Now the event is ignored and a warning is emit at compile time
    • Right-clicking on a node without an implementation class no longer makes the "Create New Implementation" dialog to appear, blocking the access to the context menu
    The documentation on the website is being updated to include the new feature.

    A special thank goes to Frederick Desimpel whose feedback has been extremely valuable and in particular for giving me the idea of local states.

    For support about this release, please post on the Support Thread.
    Last edited by gamecentric; 04-27-2018, 11:20 AM.

    Leave a comment:


  • replied
    Originally posted by Sly401 View Post
    I also got the wrong end of the stick.......... I had presumed the example was in fact a demo, available before purchasing,
    If OK I will drop you a PM as this could be of great interest to me but need a little advice.
    I understand. I will create a video tutorial so that everyone can get a glimpse of what the plugin does without buying it beforehand. Anyway, feel free to contact me anytime for questions. I also have created a Slack workspace for the support, if you prefer that channel. Just IM me with you email address to get an invitation.

    Leave a comment:


  • replied
    Hi

    I also got the wrong end of the stick.......... I had presumed the example was in fact a demo, available before purchasing,

    If OK I will drop you a PM as this could be of great interest to me but need a little advice.

    Regards

    Paul G

    Leave a comment:


  • replied
    My bad, sorry. The example project was created with the plugin "embedded" in the project itself, but when you buy it from the Marketplace you are running the "installed" setup where the plugin is placed in the engine folders. This setup requires a different .uproject file. I am going to update the project file on the website, but you can easily patch the .uproject yourself by adding the following lines:

    Code:
            {
                "Name": "GCFSM",
                "Enabled": true
            },
            {
                "Name": "GCFSMEditor",
                "Enabled": true
            },
    in the "Plugins" section of the .uplugin file.

    Leave a comment:


  • replied
    I don't see in the log file the lines where the engine loads the two GCFSM plugin modules (named GCSFSM and GCFSMEditor). I assume that you are aware that you must buy the plugin in order to run the example project, so could it be that you did not enable it?

    Leave a comment:


  • replied
    Log File Rmoved to Keep thread readable
    Last edited by Sly401; 04-01-2018, 05:32 PM.

    Leave a comment:

Working...
X