Back to AI guides

How an AI Agent Ported Call of Duty Zombies into GTA V

Stanley Ulili
Updated on October 19, 2026

The idea behind the experiment was simple, even if the task itself was anything but: give an AI agent one high-level prompt and ask it to port the Zombies mode from Call of Duty: Black Ops III into Grand Theft Auto V.

There were no templates, pre-built conversion tools, or human interventions once the work started. The agent had to understand unfamiliar game file formats, write the necessary code, create missing assets, work through engine compatibility problems, and keep track of what it learned so that another AI agent could continue from that knowledge later.

What followed was a seven-phase autonomous modding session that consumed 210 million tokens. Along the way, the agent used hot reloading 47 times and wrote 4,021 lines of C++ across 10 files.

The result was not just a technical demo. It ended with a playable GTA V mod where Los Santos police officers fight zombies alongside you, while authentic Black Ops III audio plays from perk machines placed around the Vinewood sign.

The tool behind the experiment is Universal Modder, an open-source project created by Rehan Sheikh and packaged as a Claude Code plugin. Rather than providing a game-specific conversion pipeline, it gives the agent the environment and tools it needs to investigate a game, modify it, test the results, and learn from each iteration.

This article breaks down how the seven-phase process worked, what the agent had to figure out on its own, and how Universal Modder made the entire workflow possible.

Universal Modder: three components

A diagram showing the three core components of the Universal Modder Claude Code plugin: Skills, CLI, and Knowledge Base.

Universal Modder gives AI agents the skills to understand, analyze, and modify PC games. It has three parts that work together.

Skills are high-level functions the agent can invoke. The primary one is mod-any-game, which orchestrates the whole modding process. Others include mashup-mods, game-automation, and showcase-video, which lets the agent record a trailer for its own creation.

A CLI tool (um) provides low-level commands for interacting with game files directly. um scan analyzes a game's engine and structure. um video records gameplay. This gives the agent precise, programmatic control over its environment rather than relying on natural language interpretation for every action.

A knowledge base is the most architecturally interesting part. It's a repository of field notes on games and modding techniques, written primarily by the AI agents themselves after completing tasks. When an agent finishes a mod, its final action is to generate a new field note documenting what it encountered, what solutions it found, and what to avoid next time. The next agent that tackles the same game inherits that accumulated knowledge.

Universal Modder is designed for single-player, offline games only. It has explicit safeguards against games that use kernel-level anti-cheat systems like EasyAntiCheat or BattleEye.

The project setup

Host game: GTA V Story Mode. The open world provides a natural sandbox, and Story Mode can be launched with BattleEye disabled via a -nobattleeye command-line flag, which is required for any tool that injects code at runtime.

Guest game: Black Ops III (read-only). The agent was given explicit permission to inspect BO3's files to extract information, assets, and sounds, but was forbidden from modifying the installation or launching the executable.

The prompt specified five features to build in order, each to be tested and verified before moving to the next:

The prompt given to Claude Code, detailing the five key features to be built for the Zombies mod in GTA V.

Rounds with escalating difficulty, the Ray Gun as a wall-buy weapon with green projectiles and splash damage, a Juggernog perk machine with its jingle, a custom second perk machine, and a Mystery Box at the Vinewood sign.

The build: seven phases

Phase 1: reconnaissance

The agent checked the installed GTA5.exe version against ScriptHookV compatibility requirements, backed up all GTA V save files into a compressed archive, then created a MODLOG.md file documenting its understanding of the task, its plan, and its assumptions. All of this happened before a single line of mod code was written.

Phase 2: parallel research with sub-agents

The agent spawned three specialized sub-agents to work simultaneously:

A Zombie Stats Researcher accessed decompiled game scripts and the Call of Duty wiki to establish authentic difficulty numbers: base zombie health of 150, scaling by +100 per round.

A Sound Bank Researcher analyzed BO3's audio file structure, identified the naming convention (SND_HashName) and index file, and mapped which audio files to extract later.

A Save Game Finder located a 100% completion save file for GTA V, allowing the agent to load directly into the open world during testing instead of sitting through the prologue every time.

Phase 3: reverse-engineering sound extraction

A diagram illustrating the process of extracting sound from Black Ops III's sound banks and converting it for use in the mod.

The agent opened BO3's sound bank files (.sabl and .sabs extensions), reverse-engineered the binary format by locating the magic number and version header, and discovered the raw audio was stored as plain FLAC. Based on this analysis it wrote tools/bo3_sounds.py, a custom Python converter that automatically extracted and converted 96 audio files to WAV: the round-change sound, the Juggernog jingle, the nuke power-up effect.

Phase 4: generative fallback for 3D models

Extracting 3D models from BO3 normally requires the game to be running, and the agent had been instructed not to launch it. Rather than stopping, it pivoted to fal.ai: it generated concept art for the perk machines and Mystery Box, then fed that art into fal's 3D model generation pipeline to produce functional look-alike models.

Phase 5: writing 4,021 lines of C++

The agent wrote all mod logic from scratch: the round-spawning system, zombie AI behavior, point system, perk machine interactions, and Mystery Box logic. Ten files, 4,021 lines.

Phase 6: a ReShade workaround for model injection

GTA V's engine doesn't provide a clean way to inject custom 3D models at runtime without modifying locked core archive files. The agent's solution was to write a custom ReShade add-on. ReShade is a post-processing injector; the agent's add-on hooks into GTA's rendering pipeline and uses the game's camera position and depth buffer data to composite the AI-generated models directly onto the screen frame by frame, bypassing the engine limitation entirely.

Phase 7: hot-reload development loop

A diagram showing the mod's architecture, split into a host file that loads once and a logic file that can be hot-reloaded for rapid iteration.

GTA V has long loading times. Rather than restarting the game after every code change, the agent split the mod into two components: a small host file (BO3Zombies.asi) that loads once at startup, and a larger logic DLL (BO3ZombiesLogic.dll) containing all gameplay mechanics. The host file's only job is to load the logic DLL, enabling the agent to recompile and hot-reload just the logic while the game stayed running. Iteration time dropped from several minutes to 5 seconds. The agent used this 47 times throughout development, taking screenshots after each reload to visually verify changes.

The finished mod

The game starts in the hills near the Vinewood sign. Perk machines and the Mystery Box are present. Zombie waves (re-skinned GTA pedestrian models) spawn and attack immediately, the round counter and point system appear, and killing zombies awards points correctly.

The Ray Gun uses GTA's stun gun model but fires custom green energy orbs with working splash damage. The Juggernog machine is visually recognizable but with garbled text, a common artifact in generative 3D. The Mystery Box is a generic crate that glows and animates correctly when used.

The player firing the Ray Gun in GTA V, showcasing the green projectile and splash damage effect created by the AI.

An unplanned behavior: the chaos eventually draws LSPD attention, but the agent programmed police to treat zombies as the primary threat. Officers ignore the player and fight the undead alongside them.

The custom perk, which the agent designed around the Better Stack brand, works like this: purchasing it opens the player's in-game phone, navigates to a YouTube channel, simulates a subscribe press, then triggers an in-game nuke that kills all zombies on the map with the authentic BO3 kaboom sound effect.

What it cost

The session consumed approximately 210 million tokens. About 99% were cache reads, meaning the agent was re-reading large context files (game code, documentation) it had already processed rather than generating new text from scratch. Cache reads are significantly cheaper than new generation.

At standard API prices, the Claude Opus 5.5 token usage would have cost roughly $68, plus a few dollars for fal.ai image and model generation. The creator was on a Claude Max subscription, so there was no additional API bill.

The self-improving knowledge base

The agent's final action was to generate a new field note for the Universal Modder knowledge base. The note documented the setup, the reasoning behind key decisions (such as "port the content, not the game" as a guiding principle for the ReShade approach), and a Gotchas section listing 17 specific problems encountered, with causes and fixes for each.

The agent then opened a pull request to the Universal Modder GitHub repository to submit the field note. The next time any user asks an agent to mod GTA V, it will start with knowledge of those 17 pitfalls already solved. The system learns and grows with every completed project.

This self-documentation loop is the most architecturally distinctive feature of Universal Modder. Most AI systems produce output and discard context. Universal Modder's agents produce output and then write the manual for the agents that follow them.

Got an article suggestion? Let us know
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.