Capcom Will Soon Canonize a Devil May Cry Mod That’s Existed Since 2014
One of the features that’s easy to take for granted in recent Devil May Cry games, and a huge reason the games are so flashy and impressive to watch in the hands of great players, is the ability to switch “styles” on the fly. In Devil May Cry, styles—trickster, swordmaster, gunslinger, royal guard—result in alternate movesets that emphasize different traits, such as movement or defense. The concept of styles was first introduced in 2005’s Devil May Cry 3, but at the time, with no way to swap in real-time. Instead, it was handled at checkpoints.
Capcom wouldn’t add real-time style switching until 2008’s Devil May Cry 4, and it’s now a staple of the series. In 2020, Capcom is actually going back and adding real-time style switching into Devil May Cry 3, a feature that’ll see its debut in the Switch version that’s coming on February 20. In this case, however, Capcom is actually late to the party; a modder hacked real-time style switching into Devil May Cry 3 all the way back in 2014.
Like a lot of other people, modder serpentiem played Devil May Cry 3 and idly dreamed about stringing together lengthy, excessive combos across multiple styles, but it wasn’t until Capcom released Devil May Cry 3: Special Edition on PC that opportunity presented itself.
Unfortunately, the PC version of the game, released by Ubisoft of all companies, was uniformly seen as a trash port; it didn’t even properly support controllers. Capcom would later deliver a better version for PC players in 2018, when the whole series got ported. But trash is what serpentiem had to work with, and so they started digging around the code.
To no great surprise, the game kept crashing, and so serpentiem’s efforts were stifled. The solution was a surprising one: loading up an emulated version of the original PlayStation 2 version of Devil May Cry 3. Using Cheat Engine, a longrunning piece of software that allows people to look underneath the engineering hood of video games, serpentiem made progress.
“I used Cheat Engine to scan and observe the game’s memory regions,” said serpentiem. “I’d go to a divinity statue, which allows you to change styles during a mission, and scan the memory before I interacted with it and after.”
A-ha? Not quite. Serpentiem observed that a number of variables shifted when a style change occurred. And not one, two, or even a few dozen changes, but 10,000 changes.
This was actually an improvement, if you can believe it; prior to this figuring out the specific points that shifted during an interaction with a divinity statue, serpentiem was trying to sift through millions of different variables. Millions would’ve proven too much for a single person, but 10,000? Still overwhelming, but the kind of overwhelming that can, in time, be dealt with.
“I had to bite the bullet and check every last one of them,” they said.
Over the next three months, serpentiem meticulously sorted through the stack, and eventually, there was a genuine eureka moment, and Dante switched styles in real-time.
Because the PlayStation 2 game was harder to work with—limited memory, code that was more difficult to parse—serpentiem eventually moved back to the compromised PC version.
“I never considered giving up though, because I knew it’s not magic—it has to work somehow. I’m a science guy, so I started to treat this like research.”
But now, the original problem returned: the game kept crashing. Overcoming one obstacle had only led to another. Suddenly, serpentiem had been into an unpaid QA tester. And while they were able to find more variables specifically related to how the game dealt with styles, none managed to address the same issue that kept cropping up. The game was unplayable.
“No matter what I tried it would always result in a crash,” said serpentiem. “I never considered giving up though, because I knew it’s not magic—it has to work somehow. I’m a science guy, so I started to treat this like research. I documented everything I tried and everything that could potentially work.”
That research prompted serpentiem to try and understand why, on a technical level, Windows was choosing to terminate the game, and causing the frustrating crashes. This involved more detective work, with serpentiem leveraging a piece of software called Process Monitor, which allowed them to see what files Devil May Cry 3 was interacting with while the game was active. By observing what Devil May Cry 3 was doing when the player interacted with a divinity statue, which didn’t cause a crash, maybe it’d inform what was causing them.
As it turns out, the game accesses certain files during that interaction, and when serpentiem loaded up the files in question, it was no great shock to discover they were related to the various styles. Basically, serpentiem’s mod was prompting Devil May Cry 3 to look for pieces of data in the wrong place. With a little trickery, serpentiem was able to point the game in the right direction, and voila, now real-time style switching worked without the game crashing.
“The moment I first changed styles on demand I jumped off my chair and let out a manly scream,” they said.
It wasn’t the only issue serpentiem ran into while trying to get the mod into shape—once, the textures displaying the game’s difficulty settings glitched, resulting in “Difficulty: Korean” showing up in the options menu—but it was, far and away, the biggest challenge they faced.
In the years since, the mod has been updated to work with Capcom’s updated (and far more playable) port of Devil May Cry 3 on PC, and has other features, like an unlocked frame rate. Eventually, serpentiem even got the mod working on the PlayStation 2 version of the game.
When serpentiem learned Capcom was officially adding style switching to Devil May Cry 3, they were “delighted.” Capcom, unsurprisingly, did not reach out to them about the mod.
“By now officially adding style switching to the game, they [Capcom] acknowledge that this is something good and something they feel fans want,” said serpentiem.
Follow Patrick on Twitter. His email is email@example.com, and available privately on Signal (224-707-1561).
Source : Patrick Klepek Link