Gary is a feral. Feral unit KQ-4231 to be exact, but he prefers Gary. On the last day of EVE Frontier's Feral Surge the hive told him to surge, he watched his brothers stop surging one at a time, and he came up with a better plan, which was to hide behind an asteroid and be a rock. It didn't go well.
That's my entry for the Feral Surge community challenge, 70 seconds of found footage from Gary's point of view. After I posted it, someone who knows I use AI for pretty much everything asked how much of it I actually did myself, how long it took and what it would have cost. This is the long answer. It's also a follow-up to Dancing Stars With a Point, where I said the frivolous videos make the serious ones better, because I wanted to check whether that was true here or whether I'd just been telling myself it was. Short version, it was true, just not in the way I assumed.
The challenge, and the ideas I turned down
The EVE Frontier challenge ran from 20 to 27 October and asked players to capture their part in the surge: fleet battles, desperate retreats, whatever turned up in the wreckage, or plans going sideways. Entries are judged on storytelling, cinematic or exciting gameplay, and creativity and originality, with a bonus for fleet coordination, and the prizes are paid in Grace. A short clip was enough. Some people were making 20 minute videos, which I was never going to do.
I started talking it through with the agent, Claude Opus 5.5 in VS Code, in the early hours of the 27th. Its first ideas weren't great. One was built around a line in my game logs that turned out to be me pressing Sell twice. Then there was a heist, a piece led by the map, and a nature documentary. I called them dull and samey, which I think was fair. None of them screamed creativity or originality, and ships exploding felt completely unoriginal for a challenge where everyone would be showing ships exploding.
So I suggested a comedy last transmission. A half-sentient feral gets the order to surge, loses his nerve as his brothers die around him, and tries to hide. One ship parks behind a rock as the camera, another comes round the corner and fires into the lens, and the signal is lost. I asked whether the feral should have a name, maybe Bob, with the other drones keeping their numbers. The agent went with Gary, which I think is funnier than Bob.
Before I'd recorded a thing, it built the drone HUD and rendered a 13 and a half second test over a single screenshot I'd taken in game, so I could see the look. That took about 12 minutes from my message to a finished test render. Then it sat there until later in the day.
Recording it was harder than I expected
When I came back I asked for a blow-by-blow shot list and got one. A calm look around, brothers dying in the distance, a hiding shot with the edge of a rock filling a third of the frame, a Rider sliding slowly round that rock and stopping, lasers into the lens, and the wreck afterwards with the loot window open. It also told me which shots to grab first if I ran out of time.
The footage ended up as ten OBS clips, 7 minutes 49 seconds in all at 2560 by 1440 and 60 frames a second, which came to 19 GB. It was a lot more difficult than I thought it would be, and not everything came out the way the list described. The slow look around only happened at the end of one clip, and the peek and the lasers ended up in one take, which made more sense for continuity. I didn't name any of the files. I just told the agent they were in order and roughly what was in them, and that it could ask me if something didn't make sense.
How an agent watches video when it can't watch video
Claude can't watch a video. It can read images, so the agent turns the video into images. For each clip it pulled one frame every two seconds and tiled them into a grid with the time printed on each one, a contact sheet. OBS writes a keyframe every two seconds and decoding only those is quick, so sheets for all ten clips took under a minute, 19 GB or not. From those it worked out which clip was which without asking me anything: two feral kills, two big explosions, the hiding shot, the peek with the lasers, a long look around and the loot clips.
Then it went in closer, two to four frames a second around the moments that mattered: when each feral popped, when the ship came over the rock, when the beam hit the lens. The red lock box that follows the Rider isn't guesswork either. Gary's camera never moves, so a small script took a frame with nothing in it as the background and found the ship as whatever was darker than that, frame by frame. Its first attempt picked up the sky's own gradient instead, which is the kind of thing it found and fixed without me ever seeing it.

The video itself is made in a browser that nobody's looking at. Each frame of game footage is drawn into a page with the HUD over the top: the log typing out, the hull bar dropping, the lock box, the static. Eight pages render at once, which put all 4,176 frames of the final cut through in about four minutes, and then ffmpeg adds grain and mixes the sound. The typing clicks, alarms, distant explosions and static are synthesised from the same timeline the HUD reads, so they can't drift off the picture. A couple of seconds of the game's own sound go in near the end, for the big explosion. The music is Scott Buckley's Crusader, which cuts dead the moment Gary decides to hide and comes back when the Rider's camera takes over.

Four versions in 41 minutes
The first preview arrived at 19:20 UTC, 18 minutes after I'd told the agent the clips were there. It was 45 seconds long, and it was passable. If I'd had to, I would have submitted it. But there was a lot happening very quickly, and I didn't notice the drone was called Gary until the end, and I knew he was supposed to be called Gary. His name was only in small text in the top left corner.
That's where the review loop came in. Every change from there came from me watching it and saying what didn't land.
| Version | What changed, and why |
|---|---|
| v1, 45 s | The first cut. A joke every second and a half, and Gary's name only in the corner |
| v2, 70 s | Gary introduced big in the middle of the screen before he shrinks into the corner. The feral kills reframed as Gary watching his brothers through a long-range zoom, with a tracking box on each one, because my own shooting under Gary's red HUD made it look like Gary was the one doing the shooting. One joke at a time, big and central, like SIGNATURE: ENORMOUS, which I didn't even see in v1. Credits as a cast list |
| v3, 70 s | "I am also a rock" became "I am Gary. I am also a rock.", because the "also" had nothing to point back to. BRETHREN ONLINE: 1 flashes up in the middle, so "...Just me, then." answers something you've just seen |
| v4, 70 s | The loot caption GARY SURGED. became THE HIVE WAS NEVER TOLD. Under a RIDER CAM label it read like Lacal was saying it, and Lacal has no way of knowing what Gary wanted the hive told. I spotted the problem, the agent came up with the new line |
None of those were things the agent got wrong technically. They're taste calls, the same thing I wrote about with EF-Map's link styles and keeping the human in the loop. It built each version in a few minutes, and my job was to watch and say what didn't work, which I think is the right way round. After v4 came the 1440p master, two thumbnails, and the post copy for X, YouTube and Discord, written in my voice from a profile built out of my own dictation.

The numbers
This is what the whole thing came to, pulled from the session log rather than guessed.
| What | Amount |
|---|---|
| Messages I sent | 13, 3,123 dictated words |
| Talking time at 110 words a minute | About 28 minutes |
| Footage recorded | 10 clips, 7 min 49 s, the clips spanning about 23 minutes |
| My time at the keyboard | 3 h 18 m over two sittings, plus the shot list and the recording |
| Time the agent spent working | About 2 h 17 m, around 20 minutes of it rendering |
| Main model | Claude Opus 5.5, 130 calls |
| Sub-agents | 3, all Claude Sonnet 5.5, all research in the first sitting |
| Tokens processed | About 31.6 million, 96 percent of them cache reads |
| Cost at API list prices | About $17 |
The cost needs a bit of explaining. Most of those tokens are the agent re-reading the conversation every time it takes a step, and that's billed at a twentieth of the normal input price. I'm on a subscription, so I didn't pay $17. That's what it would have cost someone paying per token through the API, at Opus 5.5's $4 in and $20 out per million tokens.
| Where the API cost goes | Tokens | Cost |
|---|---|---|
| Opus 5.5 re-reading the conversation (cache reads, $0.20 per million) | 29.0 million | $5.80 |
| Opus 5.5 writing to the hour-long cache ($8 per million) | 733 thousand | $5.86 |
| Opus 5.5 output, including its thinking ($20 per million) | 228 thousand | $4.56 |
| Three Sonnet 5.5 research sub-agents | 1.7 million | $0.79 |
| Total | About $17 |
The log doesn't record one compaction step or the sub-agents' final replies, so the real figure is a little higher, probably by cents rather than dollars.
What the dancing stars actually paid for
This is the part I didn't expect. I assumed the video pipeline made this video, and it didn't, not directly. The pipeline films the map. It does have clip scenes for dropping pre-recorded footage in with cards over it, but they throw away the game audio and can't change anything from one frame to the next, so a HUD with a hull bar dropping and a lock box chasing a ship was never going to come out of it. The agent checked that first thing, and then had a first version of a new renderer drawing a test in about 12 minutes. The footage, the sound and the tracking went in that evening.
So what did all the earlier video work save? Going through what the session actually opened and used:
| Came from earlier work | Built new for this video |
|---|---|
| The fonts, so the HUD looks like the rest of EF-Map | The drone HUD page, about 440 lines |
| Scott Buckley's Crusader, licensed CC BY with its exact credit line, and the sting at 45.5 seconds that my EO-Map adverts for EVE Online's Alliance Tournament had already found | The render script and the synthesised sound effects |
| The thumbnail tool and its house style | The ship tracking script |
| A checklist of what finished means: one 1440p60 master that X accepts, a thumbnail under 2 MB, copy ready to paste, the music credit and the referral link in the description | The timeline the jokes are written in |
| Proven techniques: headless Chrome as the compositor, temporal film grain, the colour range YouTube expects | |
| A profile of my writing voice, built from 14,625 of my own dictation transcripts | |
| The Grave Shambler's 2,229 hull points, from the Log Parser's kill estimates | |
| A PC already set up with ffmpeg, Chrome and Python |
The new renderer was one of the quicker bits of the day, and I think that's the real answer. A first version in 12 minutes only works because almost nothing underneath it was new. Drawing frames in headless Chrome on my own graphics card, adding grain to hide the joins, getting the colours to come out right on YouTube, all of that was worked out on earlier videos and written down. Before today the pipeline had 49 commits since 3 August and a 936 line file of things that went wrong, and that's what the dancing stars were paying for.
What a fresh start would have hit
The fair question is what would happen if someone without any of that just asked Claude.
On the Claude website or app, they'd hit a wall before they started. At the time of writing, Anthropic's help pages put chat uploads at 500 MB per file, the sandbox Claude runs code in at 30 MB per file, and video isn't on the list of file types you can upload. My clips were 19 GB, and the biggest single file was 4.7 GB. The most it could do there is write ffmpeg commands for you to run, and then you're the editor.
In Claude Code on a fresh PC it would work, because it's the same agent. But somebody has to install ffmpeg and a browser for it to render with, and if you don't code that means approving install prompts you can't really judge. It still couldn't watch the footage, so it would make contact sheets too, because that's just how it works for everyone. It would have to find music it's allowed to use, build its own thumbnail tool, and rediscover the colour and encoding traps from scratch. And it wouldn't know me, so the copy would come back with em dashes and bullet points, and I'd send it back. Anthropic's Cowork desktop agent can work on local folders as well, but I couldn't find anything showing it handling 19 GB of video with ffmpeg, so I'm not going to claim it either way.
The agent's estimate is somewhere between one and a half and two and a half times the agent time, plus more of my time reviewing. I didn't run a proper comparison. The only fair control would be someone else doing it, because I know exactly what I want the end result to look like and I'd steer it whether I meant to or not. So treat that as an estimate, not a measurement.
If it was only time, I don't think that would be a very interesting result. Four to six hours of agent time instead of two and a bit isn't much when you're on a subscription. The bigger difference is what lands on me. With everything already in place my part was talking for about half an hour, recording, and watching four previews. Without it, a lot more of it is me, either approving things I don't understand or sending copy back because it sounds like a robot wrote it.
Next time it's a timeline file
There's a bit of a twist. The new renderer was written into a scratch folder, the same kind of folder the very first agent-made video got lost in back in July. I only found out because I asked what the earlier work had saved, and the agent pointed out the HUD renderer was new and still sitting there. It's now in the pipeline as its own tool with this video as the worked example, and a handful of new lessons went into the pipeline's notes, including three traps. A page loaded from a file can't load fonts from a file. Film grain turned a 70 second master into a 1.4 GB file. And ffmpeg's audio limiter quietly turns the volume back up to the maximum unless you tell it not to.
So the next time an EVE Frontier challenge comes round that needs game footage, as long as it's the same kind of video, there shouldn't be any code to write. It's a timeline file: which clips, when the jokes land, where the lock box goes. That should be quicker and cheaper again, which is the whole point of doing these.
Winners are announced on 29 October. Gary isn't expecting much.
Related Posts
- Dancing Stars With a Point: Inside EF-Map's Agent-Driven Video Pipeline - how every video I make improves the pipeline for the next one
- Opus 5.5 Changed How I Use AI Agents, and My Logs Back It Up - the model that made this video, and how I work with it
- EF-Map's New Link Styles, and Why the Human Still Has to Be in the Loop - taste calls the agent can't make for me
- I Went Looking for a Better Dictation App and Ended Up Paying Nothing - how the 3,123 dictated words got from my mouth to the agent