Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »



Able is a C++ Engine Plugin for Unreal Engine 4 that allows content creators to quickly build Abilities using a custom editor without ever needing to touch code, or Blueprints (although both options are available if needed). Able was written by an experienced AAA developer with years of console and PC experience in shipping and optimizing everything from puzzle games to MMOs. Building a 3rd person action game? Able supports that. Building an RPG? Able supports that. FPS? RTS? MMO? Yes, yes, and yes. Able is built around the flexibility of blueprints while keeping all the heavy lifting in C++ and supporting multi-core (Async) processing, speeding up ability execution and preventing blocking the main game thread.Abilities are an essential core gameplay system for most games, so Able was created around a few central concepts:

    • Ease of Use

      • Creating an Ability should be fast, easy, and allow for quick iteration. Able uses a simple, yet powerful, custom editor that allows anyone to quickly build an Ability from scratch in seconds. The Ability Editor also includes an expandable suite of Unit/Integration Test to help find common Ability errors quickly.

    • Performance

      • An Ability system should perform as quick as possible whether 1 or 1000 Abilities are playing. Powered by UE4's Async framework, Able farms out Ability work to other CPU cores when available while minimizing work on the main game thread.

    • Flexibility

      • An Ability system should provide a generic rule set that can be expanded as according to the games need. By leveraging the UE4 Blueprint System, Able provides multiple hooks for you to customize the systems behaviors according to your needs.

    • Bandwidth

      • For networked titles, an Ability system should be efficient in all bandwidth usage. Due to structure and stateless nature of Able, Abilities are very light on bandwidth and require only a small amount of information sent across the wire - allowing for more abilities to go play without bogging down your connection.

    • Security

      • While especially important in Networked titles, an Ability system should always strive to be as secure as possible and avoid common hack strategies. Able Abilities are compiled into code, so they are much more difficult to hack. For network titles, the Server is always authoritative and uses its own copy of the Ability for all validation.

Interested in learning more? Head over to our Documentation section for an in-depth looking into Abilities, Tasks, and the Editor itself.



Targeting

    • Can be Required or Not
    • Supports Box, Sphere, Cone(Supports both ≤ 180° and ≥ 180°), Capsule, and Raycast shapes.
    • Filters allow you quickly prune results making sure you only get the Targets you care about.
    • Async Supported

  • Passive Abilities
  • Cooldowns
  • Stacks
  • Channeling
  • Collision Overlap Queries
    • Box
    • Sphere
    • Cone (Supports both ≤ 180° and ≥ 180°)
    • Capsule
    • Filter support
    • Async Supported
  • Collision Sweep Queries
    • Box
    • Sphere
    • Capsule
    • Filter Support
    • Async Supported
  • Raycast Queries
    • Blocking / Non-blocking
    • Async Supported
  • Applying Damage
  • Custom Events
  • Branching
  • Interrupts
  • Setting Shader Parameters
  • AI System Support
    • AI Task - PlayAbility
    • AI Task - StopAbility
    • AI Conditional - HasActivePassiveAbility
    • AI Conditional - IsAbilityOnCooldown
    • AI Conditional - IsInAbilityRange
    • AI Conditional - IsPlayingAbility
  • Animation System Support 
    • Ability Animations can be played as Single Instance Animations, Dynamic Montages, or use our custom Ability Animation Node to keep everything within your Animation State Machine for increased control.
  • Audio System Support
    • Play Sound Effects in your Ability as 2D/3D sounds, or attach the sound to a socket.
  • Network Support
    • Fully supported but completely optional. Don't need it? Able won't waste valuable CPU cycles on Multiplayer specific code.
    • Server Authoritative, Local Client Simulated means you get responsive combat with the security of Server Authentication.
    • Abilities are purely functional/stateless, meaning we only send a small amount of data across the wire and reconstruct things on the other end - keeping bandwidth light.
  • Particle System Support
    • Play Particle Effects in your ability, attach emitters to a socket, and other options.
  • Profiler Support
    • Fully integrated with the UE4 profiler system to allow you to quickly identify any hotspots.
  • UE4 Gameplay Tag Support
  • Ability Editor
    • Build an Ability using a Custom Editor that is your one-stop-shop for creating Abilities. Build complex abilities without touching code or blueprints.
    • Visually layout the various tasks on a timeline that make up your Ability.
    • Shrink/Stretch/Move Tasks into the appropriate position.
    • Preview your Ability at any time.
    • Change the Preview Actor's mesh at any time to test how the Ability works with various Meshes/Skeletons.
    • Need more flexibility? Swap to the Graph Mode and hook into any of the 16 custom Blueprint events and you have all the power of UE4's Blueprint system at your disposal.
      • Don't need Blueprints? Not a problem, all the events are optional and have C++ bases to avoid transitioning into Blueprints if not used.
    • Curious about the CPU cost of your Ability? Turn on the "Cost View" to see a simple color coded cost to each of your tasks. Green = Cheap, Red = Expensive.
    • Help reduce bugs with the built-in Ability Validator!
      • Checks your Ability for common issues and errors and reports it all in a convenient window.
      • Multi-threaded to allow for a thorough testing of the Ability (Unit Tests and Integration Tests are supported).
  • Full Platform support (PC, Android, iOS, PS4, Xbox One, Nintendo Switch, VR, TvOS ).
    • Actively being developed on PC and PS4 platforms in-house.
    • Note: Async support only works on platforms it's supported on.
  • Fully Extendable C/C++ API.
  • Create new Tasks and Validation Tests easily and they'll automatically be picked up by the Editor.
  • Clean and Well Documented Code helps your engineers ramp up quickly.




  • No labels