So, I wanted to give a bit of a background / roadmap / status update on Able 3.0
[SPOILER]
Every new year I try and update Able with some large change that came out of feedback from the previous year. My own projects, which I use Able on, have recently moved more towards crafting AI behaviors, so I’ve also wanted to wrap in some things I’ve seen to help quickly craft AI behaviors without leaving the Ability Editor.
For this year, I came up with these priorities.
- Editor flow (particularly around setting the preview asset).
- More tools to help craft abilities and test them in the editor (specifically around AI abilities).
- More Movement based abilities (pretty consistent user request).
So, here’s the current roadmap / status report:
-
UI Refresh
-
Able is getting a hefty UI update. While some elements won’t change, the Timeline section and Toolbar are both getting updated art assets and layout changes to be more explanatory at a glance. Icons will be getting looked at as well (by an honest to God artist and not just my horrible programmer art).
-
Progress : **Ongoing **(lots of iteration with the artist right now).
-
Target Actors Added
-
In order to better test your Abilities, you can now place one or more “Target Actors” which is simply an Actor asset you can point Able to and spawn 1 or more in the scene, much like the Preview Asset. Want to test an AOE? Spawn a bunch of Targets around your Preview Actor and watch what happens. You can reset the Target Actors back into their initial state/position at any time (or automatically after each ability play). You can also force your Ability to target a specific Target Actor while in the Ability Editor via a simple drop down list.
-
Progress: Completed
-
Transform Tool Support
-
Translate / Scale / Rotate both the Preview Actor / Target Actors using the normal transform widget. This makes placing Target Actors and moving the Preview Actor trivial.
-
Progress: Completed
-
Move To Task
-
A simple task that moves one actor towards another (using the Navmesh or simple physics).
-
Progress : **Ongoing **(Still investigating all this entails and how to properly expose all those parameters in the best way).
-
Jump To Task
-
A jump/leap task that allows one actor to jump towards another. Physics driven.
-
Progress: Ongoing
-
User Task Color Customization
-
Users can now modify the colors for Tasks in an Ability. This is per Ability (not global) as different designers may prefer different color schemes (especially in the case of color blindness).
-
Progress: **Ongoing **(Should be a 1 line change, just need to put it through its’ paces).
-
New Preview / Target Asset Selection
-
Instead of the previous, rather ugly, modal dialog; there is now an Able Editor setting which contains the list of valid classes for each asset (Preview Asset Classes, Target Asset Classes). The Ability Editor toolbar has a simple drop down list that will filter your assets based on those classes and you can select the appropriate asset.
-
Progress: Completed
-
Investigate using Delegate Bindings (e.g. UMG’s model) rather than Function Overloading for dynamically providing parameters.
-
This was a very interesting user request. This would do away with lots of the various “OnDoSomeEvent” model I had been using and switching to using something more along with the binding system UMG does for all it’s properties (see Property Binding | Unreal Engine Documentation ). There’s definitely some pros and cons here (including one big con that it will likely be incompatible with previous Able versions unless I come up with an upgrade script to transfer existing logic to the new paradigm), however it would basically allow users to override most fields without requesting me to add some callback - I’d love to hear any feedback while I continue my investigation. Very likely that this will get pushed out to the next update so I can fully investigate it.
-
Progress: OnGoing
[/SPOILER]
So, that’s the peek behind the curtain. I think people will really enjoy this update once it’s ready to go out (no ETA, lots of things are still in flight and I want to really hammer on this before it goes out).