Combo System

Custom graph editor to create trees of combos and an actor component to utilize them during runtime

Tags: ,

Description

This plugin is an editor tool to help designers create a tree-like data structure for any fighting game where the player needs to string together a chain of combinations. It uses Blueprint and a custom GUI to make development easy but runs in C++ to increase performance.

The plugin adds a new ComboTree asset type under the miscellaneous tag that opens with a graph interface. From this graph you can create a tree of combo nodes, each of which contain a set of properties, such as name or multiplier. At each of these nodes you can branch down different combo paths. The path options available to you depend on a UEnum defined in code, which is the only coding required by this plugin. Say you have a UEnum with the fields ‘A’, ‘B’, and ‘C’, then at each node you can select the path to take given ‘A’, given ‘B’, and given ‘C’.

The second part to this plugin is an Actor Component called ComboSystem. This component holds a reference to a ComboTree and utilizes it during runtime. ComboSystem initially points to the root node of a tree and advances through it using a Blueprint-Callable function AdvanceToNextCombo. This function takes a UEnum of the same type that was used for the path options in the tree. During runtime when you want to advance your actor down the path associated with ‘B’ in the graph editor, you call the Blueprint function using the same ‘B’.

There are additional features that allow you to conditionally block advances. For example, ComboSystem runs a timer to allow the user to block input during the startup and ending frames of a combo. There are also Blueprint functions for accessing all the properties of a current node. These and a full explanation of the Combo System are included in the pdf documentation.

Technical Details

New Combo Tree Asset type

Combo System Actor Component

UPDATE: In UE version 4.20 and higher, Startup, Input, and Cooldown time periods can now be specified as time in seconds OR as a number of frames using the Frame Rate Independent mode from the Combo Tree editor.

Code Modules:

Number of Blueprints: 0

Number of C++ Classes: 16

Supported Development Platforms: Win64, Win32

Supported Target Build Platforms: Win64, Win32

Video Guide: https://www.youtube.com/watch?v=7_W3Yuzegt4&feature=youtu.be

Documentation: https://drive.google.com/open?id=1MSnJ7S-_7V04srjV_7KtFEW2ho_ZgIql

Example Project: https://drive.google.com/open?id=1l7EU1oz8lF8eHX3nqwonPgdr16SE65gp

Supported Engine Versions

4.19 – 4.23, 4.26, 5.0