Five weeks after the first post, the tower defence game has a name, eighteen levels in three worlds and a soundtrack written in code, and it plays from start to finish. Here's where it stands.
In the first post I didn't have a name for it. Now it's called Neon Swarm - Tower Defence. On your home screen it's just Neon Swarm, because the full name gets cut off under the icon. Inside the project, everything is still called TowerDefence, and I'm leaving it that way.
Every level is playable from start to finish. Here's how the plan from the first post has gone:
The campaign is three worlds of six levels each. You earn up to three stars on a level for the lives you keep, and stars open up the next world.
Sunset Strip is where it starts: a violet and pink sky, wireframe mountains, palm trees and pyramids. It teaches the basics, like roads that merge, roads that cross, and flyers that ignore the road altogether.
Neon City opens at 6★: a lit skyline, a cyan grid, tower blocks and billboards. It brings in warp gates, where invaders vanish and surface somewhere else, along with forks in the road and armoured convoys.
Chrome Coast opens at 18★: the sea and a lighthouse on the horizon, an aqua grid, beach umbrellas and surfboards. Its roads have turbo lanes that speed invaders up and sand drifts that slow them down, and it introduces the Patcher, which repairs the invaders around it.
Its levels are named after the things that keep developers up at night: Boot Sequence, Overclock, Patch Tuesday, Memory Leak, Fork Bomb and Kernel Panic.
There are six towers (the Blaster, Rocket Pod, Laser, Tesla Coil, Cryo and Mortar), each with three tiers. Tap a tile and a radial menu shows what you can build, with a preview of its range. Tap a tower to upgrade it, change what it aims at (first, last, strongest or closest), or sell it for 70% back.
Damage comes in two kinds, kinetic and energy, and invaders defend against them differently: armour blunts bullets, shields soak up energy, and only some towers can hit anything that flies. A good defence is a mix, not a wall of the same tower.
The nine invaders are the Glitch, Runner, Tank, Swarm, Shielder, Splitter, Flyer, Overlord and Patcher. Each has one rule to learn, such as armour, a shield that grows back, splitting into fragments, flying over the road, dropping swarms, or repairing the convoy around it.
The first level doubles as a six-lesson tutorial: the goal, building, power nodes, starting a wave, upgrading and calling the next wave early. After that, the game introduces things as they turn up. The first time a new invader or tower appears, a card explains it, and the Field Guide has a page for every one of them. A preview under the wave button shows what's coming next.
The first post was all about how it looks, and the sound ended up following the same rule: nothing pre-made. There are no audio files in the game. All 21 sound effects and four songs are synthesised in code, and the grid pulses in time with the music. There are haptics too, for building, leaks and the end of a level.
The 120 fps target from the first post still stands. On top of that, the game now keeps an eye on the device. When it's running hot, in Low Power Mode or on battery saver, it lowers its frame rate and trims the glow and particles to match, rather than cooking your phone.
There are 105 automated tests. Because the rules live apart from the graphics, most of them run on the Mac without a phone or even a simulator. The ones I lean on most play through every level on their own, so if a change makes a level too easy or too hard, I find out straight away instead of three worlds later.
Going from concept art to something you can play start to finish was the big step. Next is making sure it holds up on a real phone.