The Past Year (2018-2019)

Development

The past year has been a busy one. Most of it was directed at working the full time job. During that time I further improved my ability to build quality developer tools and improve the rate at which software is developed.

There were great strides early in last year until just after iFest and I landed my current job which drew much more of my focus.

My current contract is ending soon. I’m proud of what I accomplished and I’m looking towards the future.

I’ve busted Attunement back out recently and updated it to a newer version of Unity (2018.3.7f1). So began the road to getting things working again…

Some of these fixes weren’t a sure thing. Many VFX need a polish pass as they’ve had to change because of BlendModes.

Bot Framework

A simple initial interface to convey options.

After getting the game running again, the first major feature I worked on is finishing the core of the bot framework. Previously, I built the following a few asset types for defining critical behavior to bots and bot matches.

  • Actor Definition Assets: for making bot recipes
  • Runtime Action Assets: for making pre-built fight recipes
  • Runtime End Condition: for defining when a fight should end.
The initial fights are all easily referenced and version controlled.
I’ll probably sort them out differently as time moves forward.

The next factor was putting all of this together, so an actual player could use the game interface to select a Runtime Action Asset (a fight), and then fight those enemies and be returned to the playable main menu when they had finished.

Example of a MatchRuntimeAsset.
The DisplayIcon holds the basis of how it shows up (for now).
The ActionsOverMatchDuration controls the behavior and can allow for complex triggers and non-bot actions.

I expanded Ritehaven’s environment and modified the Bounds to allow for more complex level design (which will feed into potential platforming challenges). Then I made nodes that set the GameManager’s RuntimeActionAssets, allowing players to pick fights they wished to have.

Oversized outside of split screen, but conveys core info.
Utilized same overlay text as the abilities & stage selection.

There have been a gamut of bugs and usability problems with this, but at core, it works.

Removed Mana

The UI could use some improvements, especially with the downgraded Resource Globes.

Last year I removed Mana as a resource. It was an experimental step to remove unnecessary complexity. With abilities regaining multiple charges, it encourages players to adjust their current strategy depending on the abilities that are currently charged. This keeps the gameplay more dynamic compared to using the most reliable attacks at all times.

PS: Disregard the trap ability, it’s a testing thing I was working on.

What’s Next?

The next tasks will be focused on Usability and Visual Conveyance.

  • Bug Fixes: There are a number still lurking from the engine update.
Upgrading Unity brought a lack of visual consistency.
  • Ability Effects: Many of the game’s abilities could read clearer with less unneeded visual complexity. Some of those were a result of the recent engine upgrade.
  • UI Improvements: Much of the game’s UI could receive a few polish passes. I’m looking at you Bot Health Indication, Player Health Globes, etc.
  • Incomplete UI: Some of the game’s UI is lacking entirely – what bot match you’ve selected, player allegiances, pause UI, etc.
This could be dynamic based on other factors.
  • Expanded Bot Movement Options: Bots still lack certain critical movement behaviors
    • Hazard Zone avoidance (area of effect damage zones)
    • Incoming attack dodging (fast projectiles)
    • Map Location Preference (high ground, near ledges, etc)
  • Dynamic Bot Movement Modes: After expanding bot movement options there is a need to build dynamic movement decisions. So the bot will make utility theory decisions like whether to press the attack or dodge back. I call this concept [Bot Personalities]. Personalities could be handed to given bots to further differentiate how they behave. Bots could even change personalities from [Aggressive] to [Panicked] or [Self Preservation] depending on their health pool. Personalities would need to be abstracted out of the basic Dynamic Movement code I’ll initially set up. Personalities are not a near future objective.
  • Platforming Challenges: This was a feature I had experimented with over the past year. It’s a good litmus test for fixing up rough edges in the character controller code. That combined with enemies allows for more possible single player content and environment variety. This is also still a ways out.

I’ll keep you apprised as I keep making changes.

Thank you for reading.