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…
Bot Framework
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 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.
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.
There have been a gamut of bugs and usability problems with this, but at core, it works.
Removed Mana
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.
- 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.
- 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.