Peter Thoman is a PhD student in computer science who was too busy to play Dark Souls on consoles last year.
A lifelong gamer, he imported Dark Souls spiritual predecessor, Demon's Souls, in 2009, and was impressed with the world that From Software had created. He'd been following the progress of Dark Souls' PC port and planning to make up for lost time when it shipped this month on his preferred platform.
A few months ago, he was shocked to read an interview claiming that the PC port's resolution would be locked at 1024 x 720 at a frame rate of 30 frames per second, which was identical to the console versions, which had notorious frame rate problems. Many like Thoman had looked to the PC version to overcome the consoles' shortcoming.
"Back then I actually couldn't believe that the resolution would truly be locked in a modern 3D PC game, and was pretty adamant about it in discussions," he told Polygon.
Knowing he'd be able to see the game "unshackled from the technical limitations of the current consoles" had made the wait bearable, but now that was in doubt. When he learned the truth, he decided to see if he could do what the PC version wouldn't.
"So in the end, you might call it a result of my stubbornness."
"When it was truly and finally confirmed a week or so ago, I was quite disappointed," he said. "At first I even thought about canceling my pre-order, but in the end I decided to put my effort where my mouth was and try to fix it ASAP. So in the end, you might call it a result of my stubbornness."
About a week ago, he began to think about how the resolution might have been locked and how he might go about circumventing the limitation. He hypothesized that the game would use the DirectX 9 application programming interface (API). If he could insert something that intercepted the call between the game and the API, he might be able to override the resolution limiter.
So without access to the game, Thoman began to experiment with other games that used the same DirectX 9 API. He created a logging framework that tracked DirectX operations, and made adjustments to the resolution based on entries in the log's output.
When he got his copy of Dark Souls, he put his experiments to the test. He played the game for about a minute, and opened the 100 MB log file that his framework had created. Thoman found parameters referencing the 1024 x 720 resolution, tweaked them, and routed them through his framework instead.
And it worked.
When he was satisfied that he had a stable release, he took to NeoGAF. He's been a member of the NeoGAF community since 2006, where he's known as "Durante," and had released similar, but less popular, tweaks there before. To Thoman, NeoGAF was a "natural choice."
"I feel like it's a place that distinguishes itself from other gaming sites on the web by how it bridges many different kinds of gaming — all consoles and PC, AAA and niche — and by the fact that many people in the industry read it or even participate in the discussion," he said.
The response was immediate, overwhelming, and nearly all positive.
The response was immediate, overwhelming, and nearly all positive. He's received dozens of emails, and hundreds of comments on his blog and the NeoGAF thread where he's released the original patch and subsequent updates. NeoGAF users have even started a thread called "Dark Souls: Prepare to Die Edition |OT| Durante Does In 23 Minutes What From Can't" where they've collected screenshots of the graphical upgrades and praise for the mod and its creator.
The only drawback has been of the RTFM variety.
"The only negative part concerning feedback is that many people report problems that are already covered in the documentation (the README.txt file). It would make my job much easier if everyone read that first," he said.
Thoman's work on Dark Souls is not done. He still plans to tweak the depth of field effects, which are still rendered at the original resolution and appear blurry, and to fold some community feedback into future releases, like hiding the mouse cursor during gameplay.
He credits much of his learning to the open nature of the platforms he's worked on, and he's an advocate for keeping platforms open for the benefit of all.
"With much of computing — think iPhones, consoles, the 'cloud' or even Microsoft with Windows RT — moving further and further away from user control, things like fans improving on games become impossible. Just a few weeks ago, many years after its release, the final fan-made restoration patch for Knights of the Old Republic 2 was released. This kind of preservation of and even improvement upon classics is only possible on open platforms, and I think it would be a shame to lose it for dubious improvements in convenience."
Those aren't empty words. After he completes his mods, Thoman plans to share what he's learned by releasing his source code to help other modders learn the craft and improve the games they want to play.