Our programs though had to. With only 48k words of memory to play with, programs had to be small or segmented - coded to swap segments of program in and out of memory. And as for coding, that was done longhand by filling in coding sheets and then sending them down to the punch girls (in 1978 real men didn't type:)
But we all punched - especially when in a hurry - using a manual cardpunch which resembled a sawn-off typewriter. It had ten numbered keys, combinations of which made up the 64 character set (10-3-8 being a colon). And, Al Gore take note, it was brilliant for editing as the machine spat out mountains of chads which could then be used to edit punch cards by manually pressing them back into the holes and re-punching.
The teletype terminal had just arrived but with one machine between 40 people, its use was rationed - usually to those moments of panic when the MI5 payroll had just crashed and a fleet of Aston Martins were on their way over with orders both to shake and stir.
Strangely, Training Branch - presumable as a favour from Q - had managed to snag its own teletype machine. Which was where I was introduced to Lunar Lander. And quickly became addicted.
The goal of the game was to land safely on the moon and the program would supply your altitude and speed of descent then prompt you each turn for the amount of fuel to be allocated to the retro rockets. Burn too little fuel and you'd crash. Burn too much and you'd gain altitude, run out of fuel and you'd either do a Major Tom or crash. But get it right and you landed safely with the program printing out your landing speed. That was the addictive part. Trying to get as close to zero as possible.
I soon forgot all about payroll programs and the moment I returned from my 4-week COBOL course I knew exactly what I was going to do. I was going to write a computer game. And not just any old computer game. I was going for the Holy Grail. The Chess program.
Now, back in 1970 or so someone had offered a million pounds to the first person to write a Chess program that could beat a grandmaster. Naturally this sparked some interest in the computer circles. My first thought, and it was good one, was to find a tame grandmaster and offer to split the money with them. My second plan - after failing to find grandmaster in the Yellow Pages - was to use psychology.
And so TR George was born. TR because it notionally belonged to Training branch (they let me run it from their domain) and George after George 3 - ICL's operating system.
George analysed moves to a depth of four turns and weighted each move according to a series of algorithms - giving points for taking pieces, attacking pieces, protecting pieces and controlling squares. With no graphics or colours available all it could do was print out letters for pieces (P for pawn, KT for knight) and use brackets (P) to denote black. Thus the board was printed out and the opponent prompted for his or her move.
Which is where the psychology came in. George wouldn't just ask his opponent for their move he'd er ... comment as well. I'm not sure if sledging is allowed in tournament chess but George had a selection of phrases which he's randomly hurl at his opponent. And it worked. George consistently punched above his weight because he was fast and tried to get his human opponent to play at the same speed. And there's nothing worse than being taunted by a mouthy computer.
And George was aggressive on the board as well. In fact the first game he ever played is widely recognised as the most aggressive game of Chess ever played. I couldn't believe it and I programmed him.
A crowd gathered around the teletype to watch. I'd only just compiled the program so this was George's first outing. No one knew quite what to expect.
Playing white, he opened with Pawn to King's Four. Then followed with King to King's Two. A silence descended. What gambit was this? What subtle ploy? By the third move, we all knew. King to King's Three. This was not subtlety, this was a player out for blood. A White King who had but one thought - to fasten his hands around the Black King's throat in the minimum number of turns. Four moves later it was all over. A solitary White King, deep in Black's half, surrounded by enemy pieces and yelling abuse at the Black King.
I poured a bucket of water over George and got out the cardpunch. A little editing was required.
A week later I entered George in the Home Office Chess tournament. A tournament that boasted the Blind Chess Champion of Great Britain - as I found out when I lost to him in the first round.
However, George drew the biggest crowd. And with several large straps holding down George's king, and a telling comment or two, he actually won. His human opponent was tricked into playing faster than he wanted, made a mistake and fell apart.
I could see a million pounds ... until George's next match which he should have won but drew, his pieces ambling around the board in the latter stages with no idea how to finish the game. He needed an end game module. Which wasn't easy. And a repertoire of openings that didn't include solo charges by enraged kings.
And he needed to learn from his mistakes. And so was born, Super George, who had openings, endgames and played with himself. My plan was to run Super George for a whole day - he was programmed to play against a version of himself with slightly different weightings assigned to the move algorithms. The winner would then play against another variant and so on until George had selected his best combination.
Unfortunately, I left the Home Office before Super George could take over the world. He's probably sitting on an archive tape at this moment, mumbling to himself that he could have been a contender. And, one day, he could have.
(next instalment: Wargames and the Giant Cat from the Arctic)