
Dragon Ball FighterZ: Kai
November 11th, 2020 - June 3rd, 2021
A mod for the popular Dragon Ball fighting game with the goal of making the game 1v1 instead of 3v3.
Dragon Ball Fighter Z: Kai was a mod spawned from equal parts my frustration and love of the original game. At the time, I was particularly disillusioned with the balance state of some characters, and started writing up some quick ideas regarding how I could change them to be more enjoyable in the base game. Eventually, this morphed into full-fledged design documentation for every character and in-depth changes to all their mechanics.
After liberal research into the game’s code and study of older Arc System Works games, I found BlazBlue Script. BBScript was a proprietary scripting language for designers to modify character abilities that Arc System Works had been using for every game(including DBFZ) since the original BlazBlue Calamity Trigger.I developed my own program to modify the BBScript to be writable in Python, making it possible to modify any character in Dragon Ball Fighter Z.
Kai was developed with clear design goals and limitations due to the limitations of my BBScript modification, and my own scope constraints:
-No Teammate Actions: Assists or Tagging
-All Characters must function on offense & defense without Teammate Actions
-No New Animation Frames
The lack of new animation frames and removing assists necessitated adding nuance to moves without necessarily changing how they worked, and adding new baseline mechanics to not remove depth from the original game.
Design Challenges
Removing Assists - Assists in the base game serve a wide variety of purposes and expand the design space of the game in myriad ways. They allowed for both diversity in playstyle and diversity of outcome, as Assists would drastically change in function & effectiveness depending on the situational use.
Ranged Gameplay is Stagnant without Assists - One of the main usages of assists was to control space and prevent opponents from moving, or to disincentivize opponent actions. Without assists, most characters lacked a rich enough ranged gameplan to successfully combat opponents without immediately resorting to melee, as movement was ferociously fast.
Lack of Combo Variety - DBFZ had a notorious problem where combos were almost unimportant to gameplay, as situational outcomes were often identical. Any combo worth doing would lead to a knockdown in the corner, with large amounts of positive frame advantage. Often times this also meant that combos were highly monotonous across the cast, usually all using the similar structure. This made the combo expressiveness lower, even if it did make it easier to pick up for new players.
Lack of Character Diversity - Characters were originally designed to be almost interchangeable on purpose. They wanted characters that were easy to pick up and switch between on the fly for new players without causing frustration. This means that characters need
Offensive and Defensive Play - Characters at the time were balanced around having assists, meaning their frame data was slower than normal to compensate, and attacks generally had longer periods of downtime to allow for wider openings in a more chaotic space.
Design Solutions
My Design philosophy for solving the majority of problems was to use multi-faceted solutions. Create elements within the games’ ruleset that solve more than one problem at once. It reduced my own scope overhead, and meant I had to think of novel solutions to bespoke fighting game problems. Below are some of the solutions I developed
‘Kai Cancels’ - Every character in the game has a ‘Ki Special’ move alongside their ‘Normal Special’ moves. These usually create unique projectiles or perform unique functions. To solve the character diversity problem, I allowed every character to cancel Normal Special moves while performing Ki Special moves.
This revitalized ranged gameplay and provided move character uniqueness by further separating move functionality for each character, while also greatly expanding the combo space of each character. Now Ki Specials are contextualized with the use of the Normal Special moves a character has as well.
Speeding up nearly all moves- A simple sounding change, but changing the framedata of every move in the game while keeping them all balanced is no easy feat. Making player actions faster and shorter improves offense and defense at the same time by making choices less committal and more effective.
Rubberband Dashing - To increase the variety of movement, and improve offensive capabilities further, I implemented a new concept called Rubberband Dashing. In the base game, dashing can be canceled at any time with any Attack button, or by blocking. To amplify this further, characters would now take a short, fast step backwards before moving forward at higher speed with greater momentum.
This allowed players to vary their approach in 6 ways instead of just 2:
-Dash Forward, Attack Cancel during backstep - Slightly retreating attack
-Dash Back, Attack Cancel during backstep - Slightly advancing attack
-Dash Forward, Attack Cancel during dash - Rapidly advancing attack with longer windup with an evasive step backwards
-Dash Back, Attack Cancel during dash - Rapidly retreating attack with longer windup, and a vulnerable step forward
-Dash Forward, stop, Attack normally - Advancing attack with mild windup, greater control, but no momentum
-Dash Back, stop, Attack normally - Retreating attack with mild windup, greater control, and the step forward is less vulnerable
With these combined changes, players greatly enjoyed the new robust feeling of the game, though gradually lost interest in it over the course of a couple months. I believe this was due to DBFZ receiving further updates while the mod did not, and if I had the bandwidth at that time, the mod would have become more wide-spread.