Modders take on the quest to save Chrono Trigger on PC

One of the best videogames ever made was ported to PC last week, and it looked like shit. Square's surprise port of Chrono Trigger to Steam received immediate blowback for blurry sprites, an ugly filter over the images, and a bland UI clearly ported from the mobile version of the game. Fans were mad and disappointed. But modders have already sprung into action, aiming to understand where Square Enix went so wrong, and what they can do to fix it. The quest to save Chrono Trigger is on.

In 2016 I talked to modder Jed Lang, who wrote a tool for Square's similarly shoddy PC port of Final Fantasy VI. That tool, FFVI_Explore, let other modders dig into the game's files, understand what was going on, and replace sprites and other assets to make the game look better. When I saw him boot up Chrono Trigger on Steam, I knew he was assessing the case. Sunday night, just a few days after Chrono Trigger's release, he sent me a message: "Chrono Trigger modding is a thing now. I'll be releasing an update to CT_Explore with modding capability, probably tomorrow." That was fast.

Turns out it really didn't take long to figure out what was wrong with Chrono Trigger. "A couple of my trusted Twitter contacts actually tagged me in some of their conversations/articles, since they remembered what I did for FFVI," Lang told me over chat on Monday. "I bought the game on Steam and immediately dove into solving some of the problems." Those problems were well documented by indie developer Lars Doucet in his Gamasutra post Doing an HD Remake the Right Way: Chrono Trigger Edition, but Lang was quickly able to see the cause of those problems by decrypting Chrono Trigger's files.

First was a bilinear filter running on top of the whole game, including the UI. You can see how that added blur in this zoomed-in comparison.

Another filter messes with the colors.

But removing that filter didn't do much to fix Chrono Trigger's problems. Square's biggest misstep was in aggressively and sloppily resizing sprites and tiles, making the art assets look blurry even without a filter slapped on top. Worse, the brute force upscaling creates glaring misalignments in background tiles (a problem Doucet talks about how to avoid above).

Once he worked his way into the encryption, Lang wrote CT_Explore, a tool to unpack the game's files. "CT holds most of its assets in resources.bin, and they wrote a proprietary, 'poor man's encryption'—that is, it's nowhere near as secure/robust as a mainstream encryption method like AES or RSA, but it's also much faster," Lang told me. "Once I had figured out how the game stored all that data, I wrote a simple tool to decrypt/decompress data so I could analyze the format."

Next comes the good part—making it possible to modify those files and recompress them. 

"I then went to work on expanding it to support saving changes back into resources.bin. And this (like with FFVI) is where their 'poor man's encryption' comes to bite them in the ass: I can re-encrypt the archive with new content just as easily as I can decrypt it. As a result, the backend code to support saving changes back into resources.bin was almost trivial. The most part of the work, by far, was actually in developing a nice GUI for the user to use."

With CT_Explore, Lang has already proved modding Chrono Trigger is possible. A cyan cat isn't exactly a fix for the port's art woes, but it's a first step.

So what will it take for modders to fix Chrono Trigger's ugly mishmash of upscaled graphics? The good news is that for some strange reason, the PC port contains two sets of sprite sheets for each character—and one set is the original, un-upscaled version. The bad news is that replacing the background art would require dumping all the art assets from the original game and inserting them via CT_Explore, and that could prove complicated. Lang still needs to investigate whether Square made further changes to how it implemented assets, because it's possible they won't match up 1:1. So far, however, an initial test with Crono's sprite has been positive.

"So, if we got ALL of the original art (characters AND backgrounds), my belief is that it'll largely look 'better' (for some definitions of 'better')—in that, it'll probably mostly look like the original SNES game; with the caveat that it'll be running with a few modifications of the Steam release," Lang said. Filters can be modded out, but some bigger problems remain. The way Chrono Trigger resizes based on what resolution you choose (distorting sprites in the process) won't be fixed by the original art assets. And the UI, based on the mobile version, won't easily be changed.

In a Steam forum thread Lang made for his defilter mod, another modder posted a defilter that removes a sepia coloring Square Enix added to the game. Using both, and running the game at a low resolution, makes it look better, though tiling problems and character blur are still visible. Short of a full remake, nothing will ever make Chrono Trigger look like it was meant to be played at high resolutions—there's only so much you can do with pixel art designed for the Super Nintendo's resolution of 256x224. But Chrono Trigger deserves better than a blurry mess, and thanks to modders, the PC version should soon get there.

If you want to mod Chrono Trigger yourself, follow Jed Lang's Twitter for the latest build of CT_Explore. 

Wes Fenlon
Senior Editor

Wes has been covering games and hardware for more than 10 years, first at tech sites like The Wirecutter and Tested before joining the PC Gamer team in 2014. Wes plays a little bit of everything, but he'll always jump at the chance to cover emulation and Japanese games.

When he's not obsessively optimizing and re-optimizing a tangle of conveyor belts in Satisfactory (it's really becoming a problem), he's probably playing a 20-year-old Final Fantasy or some opaque ASCII roguelike. With a focus on writing and editing features, he seeks out personal stories and in-depth histories from the corners of PC gaming and its niche communities. 50% pizza by volume (deep dish, to be specific).