[WIP] Atlantic Bay - command a city defence against a GPU bug horde (Epic AI MegaJam 2026, solo + AI agents)


Hello all. This is my work-in-progress entry for the 2026 Epic AI MegaJam, theme “Director’s Cut”. One person, four days, Unreal Engine 5.9 Preview. Two days in.

The idea
Rifts open over the city of Atlantic Bay and pour alien bugs into the streets. You are an Alliance officer, and the game is your dashboard: a satellite map, a wallet, and machines that fight on their own until you jump into one of them. Every shell costs money, every kill pays a little back. Close all three rifts before the landmarks fall.

Once per mission, when it is all going wrong: Director’s Cut. Three minutes in which everything is free.

What works today

  • A satellite command map with three “enhance” zoom steps
  • A light buggy, a drone and a gunship seat you can jump into at any time
  • Up to 40,000 bugs alive at once, each a Niagara GPU particle with its own health
  • A horde that follows a flow field solved again while you play, so it routes round buildings and spreads into the next street when one is packed
  • Bugs that are solid: they jump on the buggy, hold on, chew the hull and add real mass where they sit
  • Rifts with a budget of bugs: kill enough and a rift runs dry

How the dev has gone so far
I am a realtime and shader artist, not a programmer. I describe what I want, play every build and judge by eye. AI coding agents write the C++, the Niagara simulation and the editor scripts, driving the editor through the MCP server that ships with 5.9. One agent builds, a different model reviews the change once, then one round of fixes.

Day 1: an empty project in the morning, a million bugs in a block city by 09:38 (a packaged test scene held one million at about 18 ms a frame on an RTX 4060 Ti at 1080p; the full game is heavier and I am not quoting a frame rate for it). By the afternoon there was a whole round with money, bases and Director’s Cut. Then I played it and it was not the game. The gunship felt right, the command panel did not, and we rewrote the concept around the dashboard that same afternoon.

Day 2: the round moved onto a city built from real street data, the map became a satellite view, bugs learned to ride vehicles, and the horde learned to flow like a river instead of balling up on corners.

What went wrong, because it did:

  • Two packaged builds shipped without the mission in them. A stale editor module quietly dropped every asset of a new class from the cook.
  • The game lost the graphics device six seconds after the first bugs spawned. Twenty test runs narrowed it to about 140 same-frame scratch values stored as particle attributes. Moving them to the Transient namespace fixed it. I still do not know the engine-side reason; if anyone does, I would like to hear it.
  • The first “bug river” could not work: a packed corner added 50 m of cost, going round the block costs 200 m. The reviewing model caught it by doing the sum.

The art is still rough: the bugs are a pink test model and most of the look pass is ahead of me. Clip of the command map: FAXCORP on X: "Command map for the jam game. Scroll wheel is labelled "enhance". #UnrealEngine #gamejam" / X

A full dev log goes up with the entry on Sunday. Questions and feedback welcome, especially on the swarm.