My Speccy, the TARDIS
That's a hell of a claim to make I freely admit. After all in one of my brief dalliances with BASIC, and with the discovery of a charming 128k talent called the RAMDISK, I decided to create a database cataloguing all the films I had on VHS (I started young). Barely 50 entries and I had filled up my Speccy to the brim. But the reality is that BASIC was just a gimmick on those early machines, and the real way to get the best out of them was with machine code, a talent I never developed. Those early programmers could be elegant, they could do things in a few lines of hexadecimal that would take a hundred lines of BASIC, and the machines would execute that code an order of magnitude faster. Of course that's the difference between interpreters and compilers, and is quite rightly a thing of the past. Can you imagine trying to write a simple Windows application in machine code?
But we've also forgotten that efficiency and elegance it seems. We've forgotten how much hardware cost once upon a time, how buying a machine felt like a lifelong commitment. You bought your Spectrum, Commodore or Amstrad, and that was it. Developers for those machines had no choice, the programs they created simply had to work within the capacities and specifications of those platforms. Of course that's a distant memory now, what with Microsoft, IBM, and the chipset companies setting us on the path of eternal upgrades and planned obsolescence, where hardware is cheap and the money is in software. [Actually the real money is in service provision via the 'Cloud', now that software's going open-sourced and practically free.] If 2 GB RAM isn't enough, add some more. Stick a bigger hard drive in. Swap out the processor. Maybe now the new web browser with smooshy widget effects won't slow down while I'm listening to mp3's, copying DVDs, and photoshopping a baboon's arse onto my mother in law…
Pah! Laziness! We've gotten lazy, the IT industry is lazy, everyone is lazy. I'd like to see what a modern software engineer could do working to the specifications of a constrained system. With elegance and efficiency, practically anything is possible. After all they got Carrier Command to work on a Spectrum. Back in 1989, Carrier Command was the cutting edge in 16-bit gaming, the killer app on the Atari ST, but the real challenge was to get it working on 8-bit machines. The Spectrum was the processing powerhouse that gave us Horace Goes Skiing, the binary beast that gave us Jet Set Willy, what could a grown up Speccy with a mighty 128k at its disposal, as well as a three channel sound chip do with Carrier Command?
Now remember, this isn't 128MB, but 128 kB. That's so small that it would be prohibitively expensive to manufacture today. And into that 128k, they got one of my favourite games of all time. Carrier Command was set in an uncertain future where resources were running out. To combat this, some boffins had a smart idea, and stimulated tectonic plates to create an artificial archipelago, rich in resources and energy. Two automated carriers were built, the Omega and the Epsilon, to travel the area setting up automated factories and resource extractors on the islands. The problem was that terrorists got hold of the Omega and reprogrammed it to invade the island chain and overwhelm it.
The game then put you in command of the Epsilon to combat the Omega, and prevent the terrorists from controlling the new resources and holding the world to ransom. The game was presented in 3D shaded monochrome (of course) graphics, and controlled via a GUI, although in lieu of a mouse you had to move the cursor around with the keyboard or a joystick. You'd start the game in either Action or Strategic mode. Strategic mode would give you an empty archipelago to colonise, while action mode would put you into the middle of the game, with colonisation complete and both sides neatly balanced. The ultimate aim of the game was to destroy the enemy carrier and plant your flag on every island of the chain. In strategic mode, you'd start off with a base island and your carrier, equipped with three amphibious Walruses and three aerial Mantas. You'd travel from island to island, setting up automated facilities. The topography of each island was subtly different, some still had active volcanoes to be wary of, and you could set them up as factories, resource islands, or defence installations. You had to be careful in setting up and expanding your island network to make it as fast and efficient as possible, or you would fall behind. Once you had a few factories up and running, you could start producing the fuel, weapons, replacement vehicles, and supplies that your carrier needed to conduct the campaign, and of course these resources had to be managed.
From your carrier you could do it all. There was an interactive map of all 32 islands, which you would use to plot your course and feed it into the autopilot. The map was fully zoomable and scrollable, and did lots more besides. Damage control was just that. In a combat situation the carrier would take damage and the damage report screen showed what needed attention most urgently, and allowed you to allocate resources to repair it. You could keep an eye on the ship's inventory and order new parts, and keep an eye on any important messages regarding the campaign. The ship's defences consisted of a laser turret (watch it didn't overheat), missiles, and a couple of decoy drones to draw enemy fire.
The cool bits were the vehicles, fully programmable and able to operate autonomously. You could use one at a time or have all six on the go at once. The Walrus was armed of course, but also carried the constructor drones that got things working on an island. The mantas carried lasers, missiles, and the devastating Quaker bomb. Also useful was the virus bomb. Instead of completely razing an enemy island and starting from scratch, the virus bomb would rewrite the island infrastructure's core operating system, automatically converting it to your side. But your aim had to be spot on. The beauty was that at any time you could switch off the autopilot, disengage the GUI and pilot the vehicle manually. In fact you could also pilot the carrier manually.
The sticking point was this. At the same time that you were exploring, expanding and resourcing, so was the enemy's carrier, and being of a villainous bent, he was more aggressive about it. It was a race against time to gain as much of the island chain as possible, and when the two carriers would inevitably meet, all hell would break loose.
That's a rich and detailed game, even by modern standards, although it lacks the graphical beauty expected of modern games. What still astounds is that the gameplay is so good, so smooth and intuitive. The 8-bit Z80 processor handled the information, the 3D graphics, every aspect of the game with nary a hint of slowdown. That it did this in a Spectrum 128k, truly makes me think that my speccy was bigger on the inside than on the outside. Carrier Command was tremendous fun to play. Now I ask you, what can you get in 128k today. Zimbabwean inflation has nothing on it!
Find out more about Carrier Command, and wallow in general speccy nostalgia at The Your Sinclair Rock and Roll Years
Download the game, and the requisite emulators from World of Spectrum
Your Opinions and Comments
Must see if I can get it running on my A1200 (which has an accelerator card), that would really rock. ;)
Of course serious software was in machine code, but what the 8-bit machines came with was enough to convey some concepts of coding.