The Mothership Has Become a Levelingly Real

A few days ago, I was genuinely wondering whether I had pushed Visual FoxPro too far.

I had created an enormous, highly detailed mothership that filled most of the screen. It looked impressive standing still, but the moment smaller ships flew across it, everything flickered horribly.

For an arcade game, that was a fairly fundamental problem. A detailed background is not much use if nothing can move over it.

The answer was a buffered renderer: the background and mothership are drawn away from the visible screen, the moving objects are added to the completed frame, and only then is the whole image displayed. The flickering disappeared.

Not reduced. Disappeared.

We tested sixteen ships moving across the mothership at once. There was a little judder at that point, but still no flicker. Eight ships were completely comfortable.

That changed my view of what might actually be possible.

Since then, the mothership has stopped being merely a large picture. Its hangars illuminate before ships launch. Warning lights flash red during an attack. Fighters emerge from visible bays rather than materialising from nowhere. Different enemies have different behaviour, and their coloured identification lights allow the player to learn their personalities.

The battle has also developed an unexpected technique.

Enemy missiles are aimed towards the player rather than simply falling vertically. At first, this makes the battle feel extremely difficult. Eventually, you realise that you can draw the missiles across the screen and swoop around them.

That discovery feels satisfying, so I do not want to make the normal battle easier.

However, when the player reaches their final life, the game now quietly offers a little mercy. Enemy missiles travel slightly less horizontally and leave the screen slightly faster. The enemies, volleys and appearance remain unchanged. Ideally, the player never notices that the game helped—they simply feel that they somehow rescued the run.

Completing the battle without losing a life will eventually earn an Elite Pilot Award. Surviving on the final ship may deserve an achievement of its own.

And then there is the mothership’s exit.

The obvious ending would have been for it to fly back up the screen.

That seemed far too ordinary.

Instead, space begins to split open behind it. An enormous dimensional rupture forms, the mothership turns towards a distant vanishing point and becomes smaller and smaller until it disappears into the opening. The split then closes behind it.

The effect is not finished. The portal still needs convincing depth and better foreground layering so the ship genuinely appears to pass through the hole rather than shrink in front of an image.

But it already works.

A city-sized mothership is now launching coordinated fighters, reacting to battle damage and escaping through a dimensional rift—all inside a game written in Visual FoxPro 9.

I am using AI throughout this project for ideas, graphics, sound and increasingly for coding. I am not pretending otherwise. My role has become something closer to game director: deciding what should happen, judging whether it feels right, spotting what does not work and relentlessly asking, “Could we make it do this?”

AI is doing a considerable amount of the hard graft.

But the strange collection of decisions turning it into Galactic Gladiators—the humour, the consequences, the enemy personalities, the hidden techniques and the refusal to let the mothership simply fly upwards—comes from the collaboration.

Neither of us would be making quite this game alone.

And somehow, Visual FoxPro is still running it.

Leave a comment