Search Unity

[RELEASED] ARES Turn-based Battle System

Discussion in 'Assets and Asset Store' started by Senshi, Jan 24, 2019.

  1. Senshi

    Senshi

    Joined:
    Oct 3, 2010
    Posts:
    525


    ARES is a turn-based battle engine designed with flexibility and ease of use in mind. Being well aware that each game is different and will have its own unique requirements, ARES provides a solid system for developers to use and build upon.

    The package offers everything you would expect from a typical battle engine. This includes:

    A solid foundation for turn-based battle games.
    Tons of out-of-the-box customization options like "start of round" and "start of turn" action selection modes, item consumption moments, effect orders and more.
    A complete workflow that handles correct timing and creation of animations, audio, instantiations and effects processing.
    • Easy to create and highly customizable character stats, abilities, items, status afflictions and environment variables - no code required.
    • Per-actor and per-group battle inventories (in both linear and stacked-item implementations).
    Unlimited customization through both events and external extensions, as well as internal code.
    A full 3D example scene to help get you started.
    Comprehensive documentation in the form of a manual and in-code comments.

    ARES has gone through many iterations before finally landing on this design. It is a robust and extendable system featuring clean, well-commented code that is made with painless extension in mind. It covers a lot of complex situations and edge cases that might not be immediately obvious, and handles them gracefully, again putting a lot of control in the hands of the developer through various battle rules and callbacks.


    Example scene that comes with ARES.

    Screenshots:
    PromoAbilities.png PromoEnvVar_Affliction.png PromoStat.png

    Getting started tutorial:


    Contact:
    If you have any questions or are not sure if ARES would be a good fit for your project, please don't hesitate to contact me either here on the forums on by e-mailing p_boelens@msn.com.
     
    Last edited: Feb 1, 2019
  2. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    471
    Can i make a Divinity orginal sin and final fantasy like battle system with this??
     
  3. Senshi

    Senshi

    Joined:
    Oct 3, 2010
    Posts:
    525
    I had to look up Divinity there. As is, ARES follows set rounds: each character takes an action (or skips the turn), and then the next round begins. You absolutely could use it as a base for a Divinity-like system though from what I've seen. For instance, you could add a "move"-type turn as a valid action instead, though this would require modifying the source code.

    The closest analogy to this system is the way Pokémon battles work; I believe ARES could recreate these battles ±95% out of the box.
     
  4. Senshi

    Senshi

    Joined:
    Oct 3, 2010
    Posts:
    525
    Just updated to version 1.1 to end some nasty bugs and add some more features. Full change log:

    New features:
    • Added Fallback Abilities to the Actor Components' ability entries.
    • Previously queued actions can now be cancelled (cancel last; cancel last player input; cancel all).
    • Exposed priority value on abilities. Abilities with a higher priority get evaluated before others when they are queued, regardless of the actor sort order.
    • Added Item and Ability categories. "Add" dropdown menus use these to create nested lists. This makes working on projects with a large amount of assets much more manageable.
    • Added Preparation and Recovery turns for Items and Abilities.
    • Added "cure on afflicted death" and "cure on afflicter death" options for Afflictions.
    • Added turn/ round time limits and a fallback action for when time runs out.
    • Animation, Audio and Instantiation effects now have sensible default values.
    • Added ASMDEF files.

    Bug fixes:
    • In some cases, after missing an action, the next time that same actor would land a hit the battle would fire an error and not progress.
    • In certain cases Battle Delay Locks wouldn't free the current actor to end its ability.

    Documentation:
    • Added documentation for events fired by the Battle class.