10 PRINT "Hello!"; 20 GOTO 10

Hello all. I hope you are all surviving the lockdown and in good health, and to those of you who have already been affected by the virus, let me wish you a swift recovery.

The last week has undoubtedly been one of the strangest the UK has experienced. From my own perspective I and my family have been lucky that as yet, the virus has not hit our household. One of the impacts of the outbreak on our lifestyles so far has been the need to home school our children. A week in, the novelty of being taught by mum and dad hasn't worn off, and in fact after we completed the school's set lessons, my son asked me to give him some training in computing and app development. Well, as they say, those who can't do...

Screenshot of an early ZX81 program. I'm sure I must have written something like this gem back in the day...

After attempting to gauge his knowledge level through a task to define ten common computing words (his definition of "code" was actually better than mine), I began by inflicting a whistle-stop tour of the history of home computing on the poor lad. To be fair, he seemed genuinely interested in what I had to say (no doubt, an acting career awaits...)

The first computer I ever laid hands on was a Sinclair ZX81 which my dad bought for us back in 1981. Costing a whopping £49.95 (£360 at today's prices, I'm told), he justified the outrageous expenditure to my mum by convincing her that the boys would use it for "educational purposes". To be fair, he was half right; in 1981 the home computing world was still in its infancy, and game swapping and sharing had yet to take off, so in order to get the most out of the machine we had to learn to program. The machine supported one language, Sinclair BASIC; a rather appropriate name considering the device that displayed only two colours (black and white), had limited graphics capability and no sound. Along with my brothers, I spent hours typing in the raw code of programs featured in magazines such as Sinclair User, hoping to save them to magnetic cassette tape (what's that, dad?) before someone accidentally nudged the table too hard, dislodging a cable or the dreadfully designed memory expansion pack, and crashing the machine.

By today's standards, the games themselves were indeed rudimentary, and demanded a lot of imagination on the part of the user. I recall typing in a "Pacman" clone which involved the player controlling a letter C, aiming to eat up as many full stops before being eaten by a quotation mark. The code itself would now give modern programmers palpitations; object-oriented was still a thing of the future, variable names were set to incredibly informative values such as a, b or x, and subroutines invariably involved the use of line numbers. But my dad's claim wasn't totally unfounded, and the ZX81 sparked an interest in computers which ultimately led me into IT as a career.

The result! Hours of fun...

We finished our lesson in nostalgia with a game of "3D Monster Maze", a remarkable program which involved the player being chased round a maze by a Tyrannosaurus Rex, the aim being to find the exit before being eaten by the dinosaur. I'm happy to report that even forty years later after it was written, the game was able to give my son the same adrenalin rush that I had all those years ago as the monster chased him down.

Back in the modern world, I managed an extremely productive full week of development. The home screen is now built, the player is able to select the colours of his party and see the party logo update instantly, and the main structure of the game is now being put in place. My early estimates are proving to be somewhat on the high side, so with a fair wind there is a chance of getting the game out before the lockdown is over. I'm learning much about the world of Xcode and iOS development too; whether I want to take this into a full-time career change is another question.

On that point, I have been asked why I've taken the approach of doing the development myself - the short answer is, it's quicker for me to be able to rapidly iterate over the design of the game this way. If something needs changing, it's a lot quicker for me to just jump into Xcode and do it myself rather than explain my requirements to a developer, hope they understand them, and then wait for an update again hoping that the delivered change matches what I'm after. And, I'll admit, it satisfies my long-held passion for programming - as Sinclair User used to put it in their beginners' guide, "a lifetime's obsession can easily be acquired". I guess mine never went away...

Once again let me wish you all the best during this difficult time - as the message has it, stay at home, protect the NHS, save lives and take care!


24 views0 comments

Recent Posts

See All