MechWarrior 5: Mercenaries
|
The Game
MechWarrior 5: Mercenaries is a BattleTech mecha combat/simulation game developed by Piranha Games and released on December 10, 2019 on Windows. It is the first single player MechWarrior game since 2002.
The game has received mostly positive critical response:
|
My Role
As the technical game designer on the project:
1. I owned the procedural mission team backlog, and was responsible for breaking down, creating and assigning tasks for each sprint for the team.
2. I designed and created the mission flow scripting system in UE4 for the game (or the mission editor), which is used as the backbone for level scripting/design by other level designers, and simultaneously for making the flow in every procedural mission. We needed a way to make everything work with both kinds of missions (procedural and scripted) - which this system did. I wrote up the backend hierarchical state machine system entirely in Blueprints as well.
3. I pitched, designed and created 3 out of the 5 mission types (Defense, Demolition and Warzone) in the base game, and made other mission components (gameplay elements/events) required by other mission types/scripted missions.
4. I designed and wrote the difficulty balancing systems used in the procedural missions (including writing the algorithm for how units are selected using Battle Value, distribution, rarity etc.), and was heavily involved in mission balance. BattleTech carried with it the "Battle Value" system of assigning a total combat value depending on a mech's components and types, and I wrote the algorithm to translate all of that for a video game difficulty system. The basic idea was - once a missions difficulty was picked, we work with an assigned BV. We now had to distribute that BV across the multiple bases and outposts in that mission. And once distributed, it needs to be further distributed to decide how to splice the BV up further for waves/objectives etc. As an example, if the target base gets assigned 5000 BV, we now had to distribute that across waves, ensuring waves increased BV over time (but never cumulatively crossing 5000), and the mech/unit distribution would depend on BV alongside timeline, objective type, mission type and a bunch of other variables.
5. I did part of the initial AI design. I created the Encounter system - which tracks buildings and units, and coordinates mission events and AI. AI scripting was later offloaded to engineers after the initial design was done, and I had to focus on the procedural and difficulty stuff. The encounters used something we called a "Job system", where encounters would post jobs for the units inside that encounter to "apply for and take" depending on who is best suited for it. Eg. Light mechs are more suited for patrol jobs.
6. I designed and scripted part of the destructivity shown in the game (for smaller and non-modular heavy buildings). We broke up destructivity into a couple of different parts:
1. I owned the procedural mission team backlog, and was responsible for breaking down, creating and assigning tasks for each sprint for the team.
2. I designed and created the mission flow scripting system in UE4 for the game (or the mission editor), which is used as the backbone for level scripting/design by other level designers, and simultaneously for making the flow in every procedural mission. We needed a way to make everything work with both kinds of missions (procedural and scripted) - which this system did. I wrote up the backend hierarchical state machine system entirely in Blueprints as well.
3. I pitched, designed and created 3 out of the 5 mission types (Defense, Demolition and Warzone) in the base game, and made other mission components (gameplay elements/events) required by other mission types/scripted missions.
- Defense - Defense missions see the player and their lance defending a facility against multiple waves of attacking enemies, with bonuses offered for preserving as much as the target as possible. Notably even unintentional damage inflicted by the player and his lance also impact the objective's health condition
- Demolition - The flip side of Defense, Demolition missions see the player hired to destroy a target facility, normally defended by a mixture of 'Mechs and vehicles. Once the sufficient damage has been inflicted to the target facilities, the player must reach their DropShip for extraction. Defeating defending forces is technically not strictly necessary for successful completion of the mission, and that was intentional so players could use multi-pronged approaches - and often the best approaches where hit and run with smaller mechs (like Firestarters). One reason for this design was to ensure light mechs do not drop in value in late-game, since traditionally MechWarrior games have had a problem with making the lighter mechs useful in late-game.
- Warzone - Warzone missions represent participation in a larger battle spread over a wide area. The player is hired to head to a specific nav point and destroy enemy forces that enter the area, encountering effectively infinite waves of enemies, each successive wave stronger than the last. Once the minimum required number of enemies have been defeated, the player is free to head to their LZ and call in their DropShip for extraction, but they can stay to continue destroying additional targets to earn bonus money, though at the risk of suffering increasing damage. This was intended as a way for skilled players to keep earning as long as they thought was profitable, and there was always a balance to strike in these missions about when to stop and when your mech repairs will cost you more than the playout.
4. I designed and wrote the difficulty balancing systems used in the procedural missions (including writing the algorithm for how units are selected using Battle Value, distribution, rarity etc.), and was heavily involved in mission balance. BattleTech carried with it the "Battle Value" system of assigning a total combat value depending on a mech's components and types, and I wrote the algorithm to translate all of that for a video game difficulty system. The basic idea was - once a missions difficulty was picked, we work with an assigned BV. We now had to distribute that BV across the multiple bases and outposts in that mission. And once distributed, it needs to be further distributed to decide how to splice the BV up further for waves/objectives etc. As an example, if the target base gets assigned 5000 BV, we now had to distribute that across waves, ensuring waves increased BV over time (but never cumulatively crossing 5000), and the mech/unit distribution would depend on BV alongside timeline, objective type, mission type and a bunch of other variables.
5. I did part of the initial AI design. I created the Encounter system - which tracks buildings and units, and coordinates mission events and AI. AI scripting was later offloaded to engineers after the initial design was done, and I had to focus on the procedural and difficulty stuff. The encounters used something we called a "Job system", where encounters would post jobs for the units inside that encounter to "apply for and take" depending on who is best suited for it. Eg. Light mechs are more suited for patrol jobs.
6. I designed and scripted part of the destructivity shown in the game (for smaller and non-modular heavy buildings). We broke up destructivity into a couple of different parts:
- Props
- Fully destructible
- Central structure standing destructible
- Highrise buildings (central structure stands)