Press "Enter" to skip to content

Year: 2023

BRIEF: Luftwaffe (1984)

[ZX81, Sinclair User]

Why is this Avro Lancaster (?) attacking London?

Sinclair User was launched in early 1982 (first issue: April 1982) and by mid-1984 it had offered possibly more than one hundred type-in games – none of which were wargames, except if you count a computer version of Battleship. In July 1984, Sinclair User included the first and only game that tagged as a wargame: Luftwaffe. The theme was sure to warm the hearts of the British: the Battle of Britain.

Did Churchill really say “Press a Key to Continue“?

Every week, the Germans attack with some of their planes, and I am asked how many planes I want to scramble against them. Scrambling a lot of planes can be incredibly costly:

After the battle, I receive between 50 to 150 resource points (completely random) that I can allocate between planes, airfields, factories and radars:

  • Airfields determine how many planes I can send at the same time (50 per airfield),
  • Factories determine the maximum amount of planes I can build in any turn (20 per factory),
  • Radars tell me how many enemy planes are attacking – but I have all the information I need with only 3 radars,

Given I start with 15 airfields, 20 factories and 10 radars, and that my loss of ground assets is proportional to how many of them I have, I will not be building a lot of them. In this session, I only built planes, and a few airfields at the end.

I wish I could tell you there is more to this game but… no there’s not. The same sequence of questions repeats: How many planes do you send? What do you build?

There are no tactics in this game – once you understand how it works it is purely based on chance. Do you remember the disaster in the first week, where I almost lost 150 planes in combat? Well, here is what happened in week 4:

Yes, I sent one guy alone against more than one thousand German planes and he shot down 149 of them before returning to base. I like to think he ran out of ammo.

This is because the game does not take into account the number of planes you have to determine German losses, but rather the number of planes the Germans have – and the same for your own losses. More specifically, the game compares the number of planes on both sides, and based on this, it destroys:

  • Randomly between 50% and 100% of the planes of the German or British side, if that side is outnumbered by a factor of two – there is a caveat here that I will explain later.
  • Randomly between 0% and 50% of the planes of the German or British side, if this side is outnumbered by a factor of less than two,
  • Randomly between 0% and 25% of the planes of the German or British side otherwise, except if the British outnumber the Germans by a factor of two, in which case the British are punished for using too many planes by losing 50% to 100% of them!

This means that if you cannot outnumber the enemy planes, the best choice is to send only one plane: you can destroy as much as 25% of the enemy air force, and at worst you lose one plane.

At some point, because almost all your resources are funnelled toward making more planes, you will massively outnumber the Germans in terms of available planes:

Week 18. I outnumber the Germans 3:1

That’s when you should pivot to sending twice as many planes as the Germans to finish them off quickly, even at the cost of a lot more losses on your own side. When the Germans have 30 planes left or fewer, the Battle of Britain is won…

‚Ķ except I did not win, because there is an oversight in the code, lines 500 to 540. I copied it below, replacing the variables “D” and “C” by “British_Planes” and “German_Planes” respectively. E corresponds to how the losses will be calculated.

500 IF British_Planes >= 2*German_Planes THEN LET E=1
510 IF British_Planes <= German_Planes/2 THEN LET E=2
520 IF British_Planes < German_Planes THEN LET E=3
530 IF British_Planes > German_Planes THEN LET E=4
540 IF British_Planes = German_Planes THEN LET E=5

Critically, the program goes through the five lines in order before calculating the final losses, which means that the last line that qualifies is the one used to calculate the final losses – and lines 520 and 530 always apply when lines 500 or 510 apply. This means that no losses are ever calculated as if a side was outnumbering the other one at a 2:1 ratio and losses will never exceed 50% of the planes involved. That’s why the plane I sent alone always survived its battle.

This makes the game effectively impossible as the Germans gain 30 new planes every week, and you need to bring them below 30, and henceforth:

Luftwaffe is Jason Currie’s only game. You can find its source code here or play it here – bugs included. It is what I call an “allocation game”: a game where the player allocates some numbers and then receives a highly randomized output based on that. This subgenre flourished during the mainframe era (the venerable Civil War in 1968 was one) but by 1980 it was already obsolete, except as type-in games more useful as learning experiences than as, well, games. I don’t consider Luftwaffe a wargame, hence its BRIEF status. If I had ranked it, it would have been in my bottom 5%, bug or not.

Next, we will return to everyone’s favourite gaming platform: the Coco, with everyone’s favourite battle: Guadalcanal!

Also: Merry Christmas everyone and thank you for following this blog!