Spring Status Update (2019-2020)

Development

Welcome to the 2020 Spring Post.

I have been regularly at work improving Attunement. Take a look.

Patch Notes

  • Improved enemy navigation capabilities (seek elevation, destination nav while facing a target)
  • Twenty tracks of combat music (not custom made, but a big step forward)
  • Better bot conveyance in the loading screen
  • New reusable assets to make content creation easier and faster43 different bot kits (several include per-match random selections)
    • 15 Bot Behaviors (6 more dev behaviors)
    • 56 bots so far (8 bosses, 9 more dev bots
    • 22 bot matches so far
    • 38 permanent status effects to vary potential bot attributes
    • 5 avatar configurations
    • Informational overlays for tutorial content and descriptions
  • Avatar Refactoring to support expanding cast of bots & bot bodies
  • Character controller improvements (auto-climber, ledge forgiveness, ramp smoothing)
  • Ability activation delay, to allow character animation to have heft and follow through.
  • Match start code is more robust
  • Usability & many bug fixes to abilities
  • Balance tweaks to abilities
  • Sound Effect Polish – ability activation, effect looping, effect endings, footsteps, interface confirmations, match events, etc
Audio sources now pool to improve performance

In Progress

A basic welcome message and click through. Needs transitions and ‘Continue’ prompting.
  • Tutorial click-throughs to give more tutorial guidance & storytelling
  • Abstracting difficulty out of individual bots
  • Continuing improvements to character control for sleek platforming
  • Adding more variety of level music
  • Refine the first traversal challenge to lead into ‘Race to the exit’ type maps.
  • Making ability variants (bots attacks will play by different rules compared to players)
  • Adding knockback waves to Volcanic Island

Last Year to This Year

Last year, I posted a variety of topics I planned to tackle. They ranged from improving the the visual effects, the UI and ways to expand the bots.

It didn’t play out that way. Seriously improving the UI or effects requires either mastery of skills that I lack, or an amount of time that wasn’t as reasonable for the improvements I wanted to make.

An unplanned change that worked out very well was the improvements I did to the game’s sound effects. I rewrote most of my sound effect asset system, and added many new events as well as improved existing ones.

The most consistent form of change has been turning code structures (usually Builder Patterns) into reusable and easily modifiable Unity Assets. This has led to an explosion in my ability to author content and create a variety of interesting bot encounters. As I have made this transformation with certain content, it becomes appealing to do it with other content.

There have been small improvements to the existing maps, but it is not a priority currently. Constructing and refining maps is one of the most expensive processes (aside from character animation). I want to postpone this until I have a firm grasp on how to scale up my environment content creation needs.

What’s on the Horizon

Further refactoring to use ScriptableAssets: Icon assets, Overlays (tutorial or descriptive), Rituals (which were previously hard coded scripting.

Further Difficulty Abstraction: As I began to remove portions of each bot’s difficulty from that bot, I saw benefits in how it could contribute to the future Gauntlet Mode. I can have bots scale up and down with the player, as well as adapt their parameters of their behavior (like reaction time, accuracy, self preservation). This improves my ability to author reusable content.

Exploring recoloring for enemy avatars.

Diversity of Appearance: Currently, all instances of each ability look the same. In the same way I have begun to create different avatars, I can have different particles & attributes for certain instances of template abilities. This can lead to abilities that behave similarly code-wise, but have very different gameplay implications. This category also includes more variation of the enemy appearances.

Mechanically Similar Abilities: In the same vein as making different template abilities with varying theming, I can also create template abilities with slightly different variables. This means abilities can be watered down and handed to enemies to be wielded in swarms. Others could be aesthetic reflavoring to provide a more visually cohesive battle.

Itch.io: It has long been an objective that I have postponed. Getting a build on Itch for people to play is at the top of my to-do list.

Upgrading Unity: So I’m starting to slow behind the up-to-date version of Unity. When I make this jump, I’ll need to update a number of the graphics. This is when the character aesthetics will get more refined as I fix the chunky pure-color outlines.

Bot Obstacle & Projectile Avoidance: Enemies will currently take hits you throw at them or their movement path. They aren’t clever enough to avoid your attacks. This is something I aim to fix in the long term, so more menacing late-run enemies will attempt to evade your attacks.

Bot Tactic Switching: Bots currently have one set of BotBehavior that they follow endlessly. They will use their abilities in the smartest way they understand, but they are very single minded. Building structures to let them switch between different behaviors at different times will greatly improve the variety and potential challenge to bots. I may resort to simple BehaviorTrees for this, or take a timed switching approach.

Campaign / Gauntlet Mode: This requires a wealth of bot content, which I now have. It needs to have slowly changing game content (gaining abilities, boons, maladies) and to have just enough initial between match choices so an individual gauntlet run feels different from the last. I plan on expanding this over time as the primary game content (taking inspiration from games like Slay the Spire).

First specialized Boss Fights: Currently, all bosses are well-equipped enemies with a high health pool and permanent status effects that increase their damage, survivability or utility. I desire to make differently skinned enemies with phases of behavior, unique tactics, abilities and possibly even stages. This will likely come early next year or mid next year.