CQMF #2 - Update & Power Management
Updated: Apr 27, 2021
While it's been a while since my last update, rest assured work on this exciting project has been progressing through the winter and continues on at a steady pace!
Since my last post about the Custom Obstruction Camera System back in January, I've had the honor of being able to join forces with two friends and old peers from Dawson College, Adrian De Andrade and Nicholas Campoli! Adrian is a talented C# + Unity developer and just a technical wiz in general. He will be handling the majority of the programming and UX design going forward. His presence and wealth of knowledge has permitted me to think bigger and dive deeper in to the design of the game, which has been an exciting process. Nicholas is an amazing artist with an awesome style and brings a great positive energy to the team. We are excited to see what he comes up with in the coming months that will help shape the visual style of CQMF. Check out his ArtStation profile for a sample of some of his work!
Since January, we have prioritized our time and effort in to one of the core and most unique features of this project, the Power Management system.
The end goal for this system is to create a player character who's stats can be modified and re-spec'd at any time to deal with dynamically evolving scenarios, creating a deep strategic layer to the fast paced combat.
The players stats are split between four Sub-Cores, which draw power from the Main Power Core pool. In addition, each Sub-Core can be outfitted with two modifiers that come with both positive and negative effects, and their individual effectiveness can be adjusted using their relative Sub-Core's power pool. The more power that is allocated to an individual Sub-Core, in turn boosts that Sub-Core's relative stats, and any equipped modifiers positive and negative effects within it.
With this system, the player can directly control how fast they move or rotate, weapon stats (damage, cooldown, accuracy...), how effective their defense is (blocking, armour, health...), or more specialized abilities like system silencing, enemy detection or dodging for example.
Say the player is attempting stealthy approach on a group of enemies. Equipping modules that reduce noise emission and allows them to detect unseen enemies or increases their line of sight, and focusing more power to the Mechanics Sub-Core will greatly improve their ability to move around undetected. In another example, the player is being surrounded by fast moving, but weak damage dealing enemies. Equipping modules that boost weapon accuracy and movement speed while prioritizing power to the Translation and Weapons Sub-Cores will allow their mech to shoot more accurately and move faster to match the speed of their targets in order to dispose of them quickly before getting overwhelmed. Other even more complicated situations would require more complex power balancing to overcome, forcing the player to experiment with their power allocation and module set ups ahead of time, and react to unfolding scenarios of the fly.
The player will be able to fine tune their Sub-Core's power management, equipped modules and module power distribution settings in detail via the real-time Power Management menu screen (first image above), but for altering these settings in the heat of battle, a secondary slow time - "quick access" menu will be available to the player to make broader power adjustments to their Sub-Cores without having to dive in to full screen menus, keeping them aware of their surroundings while making adjustments and keeping the pace of the combat fluid.
Where It's At
Currently the stats, modules and power management system is implemented and functional. The player can dynamically change the movement speed, health and armour stats by allocating power to their respective Sub-Cores, and equip a base set of modules in order to modify those stats even further! The next phase is to continue building the different mechs systems (weapons, blocking, noise emission, enemy detection etc...) and integrating the modifiable stats with them so that they can all be affected by the Power Management.
Once fully implemented, this system will take a ton of balancing work on the mechs base stats, module benefits and Main Core and Sub-Core pool limits in order for it to work as intended, but with the right values, the player should feel completely in control of their mech, and provide some really interesting strategic layers to all aspects of the future game.
The other big challenge for this system lies with the UX design. As this is a relatively complex system for players to be able to understand right out of the gate, providing all the necessary information without being overwhelming will require some carefully thought out interface design. This is something we will no doubt continue to work on throughout development.
On top of the Power Management system, extensive work has been put in on identifying the core mech stats, weapon functionality, health and damage functionality, module design, UX & HUD design, enemy design and developing the main player mech's rig architecture, project hierarchy and animation pipeline.
We have also been researching and experimenting with procedural animation with Unity's new Animation Rigging package and attempting to implement a custom Foot IK system. As our main character is a mech that is essentially in two pieces Upper Chassis (head, arms, spine) and Lower Chassis (pelvis, legs) that need to rotate and animate independently of each other, we have had to figure out a custom method for rigging, animating and controlling these parts together as a whole. It's been quite the learning experience for us, as we are still searching for the best way to do this, but I'll explain this all in greater detail in a future update!
For the visual side of things, we recently decided to change our original concept of voxel art to low-poly models due to the technical and high performance costs that comes with developing voxel art worlds. As we are a small team working on a very ambitious project, these types of concessions early on are key to ensuring we can keep the project scope (some-what) smaller!
That pretty much wraps it up for now, again if you made it all the way through, we appreciate it and if you have any questions, suggestions or feedback please don't hesitate to connect!
Until next time!