GameRule/Value C++ plugin (Modular rule definition and Processing)

Hello everyone, I would like to introduce a simple c++ plugin I have been writing.

Most of the information here will be placeholder and hopefully updated as more relevant information comes to mind (and as I get more organized)

Features:

  • Moduler Rules
  • AutoSave
  • C++ extendable
  • Blueprint Extendable
  • Full Menu Integration (never have to look at my Code files)
  • Can be used fully in BP or C++

A Short video to give a simple overview of what this can do:

I have no idea of I am going to submit this to MarketPlace yet, or if I am going to release this free. Depends on the support I get, how many requests I receive, and how strongly I feel about this project going forward.

Text Overview:

Using very modular rules and values in an event based system to update and handle almost anything that needs to have rules. I started this plugin when I was attempting to make a dice roller game inspired by such sites as Roll20 and other dice roller RPG game hosting software/DM adventure building software. In a nut shell it breaks everything down unto very simple operations, think HP in DnD, it is effected by many different values, some of which may or may not exist at the moment. So you have several small rules that can handle each situation based on which values are present and which are not.

Currently I am testing different approaches on now to reduce Object instances (thus the difference between Values and Rules).

Values, they are just that, they listen to other values to changes, they react by Applying Rules. (Values are instanced for every GameRuleComponent)

Rules, they are the logic, they add modifiers, and set base values in RuleValues. (They are instanced only once, and store no information, think static classes)
These can be as simple as comparing a value to another value, or gathering values together and processing through a Curve to find a relative value.

There is an AutoSave feature and a manual Save feature. There is no need to write a SaveGame File. Serialization is handled by the plugin on save and load.
You can override the GameRuleSaveGame++ file. Either as a blueprint or c++, so instead of saving locally you can save on gamesparks, or any other similar service, or even save to a database if you like.

Thanks for reading