Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork72
High-Performance Hierarchical Finite State Machine Framework
License
NotificationsYou must be signed in to change notification settings
andrew-gresyk/HFSM2
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Header-only heriarchical FSM framework in C++11, with fully statically-defined structure (no dynamic allocations), built with variadic templates.
- Visual Studio: 2015, 2017, 2019,2022
- GCC:9, 10, 11, 12, 13, 14
- GCC (ARM):9
- Clang:13, 14, 15, 16, 17, 18
- AppleClang:15, 16
- HFSM2 UPlugin: Unreal Engine plugin forHFSM2 library
- FFSM2: High-PerformanceFlat Finite State Machine
- FFSM2 UPlugin: Unreal Engine plugin forFFSM2 library
- HFSM Mono: Monospaced bitmap Unicode fonts for HFSM2 and FFSM2 libraries
- PermissiveMIT License
- Written in widely-supported modern(ish) C++11
- Header-only
- Convenient, minimal boilerplate
- Fully static, no dynamic allocations
- Uses inline-friendly compile-time polymorphism, no virtual methods are used
- Type-safe transitions:
FSM.changeTo<TargetState>()with optional payloads - Flexible configuration using
HFSM2_ENABLE_*macros - Scalable, supports robust state re-use via state injections
- Hierarchical, with a selection of composite (sub-machine) and orthogonal regions
- Gamedev and embedded friendly
- Also supports traditional event-based workflow with
State::react() - Inspect anything: previous and current transitions, state activation status, and more!
- Game AI-friendly withdynamic planning support
- Utility theory support (max score and ranked weighted random)
- Serializable, with activity and transition history support
- Debug-assisted, includes automatic structure and activity visualization API with
#define HFSM_ENABLE_STRUCTURE_REPORT - Built-in logging support
- Twitter:@andrew_gresyk
- Discord:HFSM.dev
- Gitter:andrew-gresyk/HFSM2
- alexandrosk0
- Casey Sanchez
- DJuego
- Jan Aleksandrov
- Kevin Greene
- Kjeld Mathias Petersen
- Lau Bakman
- Mehdi Houshmand
- mrcmry
- Phil Nash
- Romain Cheminade
- Schoppenglas
- Tristan Brindle
- C++::London meetup
- programming community atSplash Damage
About
High-Performance Hierarchical Finite State Machine Framework
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
