Open source GZDoom community splinters after creator inserts AI-generated code

https://arstechnica.com/gaming/2025/10/civil-war-gzdoom-fan-developers-split-off-over-use-of-chatgpt-generated-code/

Kyle Orland Oct 16, 2025 · 5 mins read
Open source GZDoom community splinters after creator inserts AI-generated code
Share this

If you've even idly checked in on the robust world of Doom fan development in recent years, you've probably encountered one of the hundreds of gameplay mods, WAD files, or entire commercial games based on GZDoom. The open source Doom port—which can trace its lineage back to the original launch of ZDoom back in 1998—adds modern graphics rendering, quality-of-life additions, and incredibly deep modding features to the original Doom source code that John Carmack released in 1997.

Now, though, the community behind GZDoom is publicly fracturing, with a large contingent of developers uniting behind a new fork called UZDoom. The move is in apparent protest of the leadership of GZDoom creator and maintainer Cristoph Oelckers (aka Graf Zahl), who recently admitted to inserting untested AI-generated code into the GZDoom codebase.

"Due to some disagreements—some recent; some tolerated for close to 2 decades—with how collaboration should work, we've decided that the best course of action was to fork the project," developer Nash Muhandes wrote on the DoomWorld forums Wednesday. "I don't want to see the GZDoom legacy die, as do most all of us, hence why I think the best thing to do is to continue development through a fork, while introducing a different development model that highly favors transparent collaboration between multiple people."

AI-way or the highway

Zahl's project leadership has generated plenty of friction within the GZDoom development community over the years—this Reddit thread provides a brief history of some of the drama. But the inciting incident leading to this week's UZDoom split seems to center in large part on Zahl's open use of AI-generated code in a recent GZDoom update. While such use of AI coding tools is often hard to identify from the outside (as Zahl himself noted in a GitHub post), this particular instance was highlighted by Zahl's own commented code snippet: "This is what ChatGPT told me for detecting dark mode on Linux."

That comment led to a lengthy discussion among developers about the use of "stolen scraped code that we have no way of verifying is compatible with the GPL," as one described it. And while Zahl eventually removed the offending code, he also allegedly tried to remove the evidence that it ever existed by force-pushing an update to delete the discussion entirely.

// This is what ChatGPT told me for detecting dark mode on Linux.Graf Zahl code comment

Zahl defended the use of AI-generated snippets for "boilerplate code" that isn't key to underlying game features. "I surely have my reservations about using AI for project specific code," he wrote, "but this here is just superficial checks of system configuration settings that can be found on various websites—just with 10x the effort required."

But others in the community were adamant that there's no place for AI tools in the workflow of an open source project like this. "If using code slop generated from ChatGPT or any other GenAI/AI chatbots is the future of this project, I'm sorry to say but I'm out," GitHub user Cacodemon345 wrote, summarizing the feelings of many other developers.

A fork in the road

In a GitHub bug report posted Tuesday, user the-phinet laid out the disagreements over AI-generated code alongside other alleged issues with Zahl's top-down approach to pushing out GZDoom updates. In response, Zahl invited the development community to "feel free to fork the project" if they were so displeased.

Plenty of GZDoom developers quickly took that somewhat petulant response seriously. "You have just completely bricked GZDoom with this bullshit," developer Boondorl wrote. "Enjoy your dead project, I'm sure you'll be happy to plink away at it all by yourself where people can finally stop yelling at you to do things."

In a community update posted to the ZDoom Discord, moderator Agent_Ash promised that the new UZDoom will maintain compatibility with old GZDoom saves and mods while adding new planned features in the future. But the new project will also provide "a more stable development structure with healthy collaboration and less power given to individual 'project leads,'" Agent_Ash wrote.

In a Reddit thread discussing the UZDoom fork, Muhandes detailed how "UZDoom gets rid of the 'one man decides everything' / 'my way or the highway' development model. Everyone has to make pull requests that must be peer-reviewed thoroughly, and everything will be transparent—no one is allowed to commit directly to the master branch."

"I have never seen something I've worked so hard on, for the past 2+ decades—a life passion of mine, you could say—implode this hard," Muhandes added on Bluesky.

While GZDoom will continue to exist, Agent_Ash wrote that "it's reasonable to assume that UZDoom will be the 'main' flagship version of the engine moving forward." And while Zahl will be welcome to continue contributing to the new project, "UZDoom will not be led by him and he's not going to have a final say on new features and changes," Agent_Ash added.

The infighting over a modern source port of a 32-year-old game speaks highly of the deep cultural impact Doom continues to have on multiple generations of fans. Going forward, it's hard to say how this dramatic split will affect the continued development of what has become a load-bearing part of the game's continued legacy. For now, though, the move highlights how the use of AI coding tools has become a non-negotiable flashpoint for many in the world of open-source game development.