Delos D.Harriman talks about unreleased Bolo
We tracked down the mysterious Delos D.Harriman, author of Skirmish (Joust) and the equally mysterious, unreleased Bolo networked game. Stuart Cheshire was happy to tell all. Below is an extended excerpt from our interview in Acorn - A World in Pixels book, focused on Bolo.
(Above: Screenshots from BBC Bolo - Buildings and Harbour)
Your next and (last) game for the BBC was Bolo, which never actually saw the light on the day Beeb, only the Mac?
At Cambridge in 1987, my friend James Everard and I wanted to play a real multi-player game, not just two people sharing one computer like Joust. We realised that the economics of this were terrible. To play a real multi-player game you’d need more than one computer in close proximity (no Internet back then), so the only place you could play this would be at a computer club or school computer lab, and those places were hotbeds of software piracy. You’d sell at most one copy to each computer club in the country. Since no commercial game developer was ever going to take on a money-losing proposition like that, if we wanted to have a good multi-player game for ourselves to play, we’d have to make it ourselves.
(Above top: Bolo map; Above bottom: BBC Bolo keystrip)
I had a publisher lined up; a very interesting character named Martin Maynard was interested in publishing it. He even arranged a press event in London to show a preview. Unfortunately, Bolo was just too ambitious for the platform. What I had neglected to mention (because it didn’t seem like a big deal to me) was that I had so far exceeded the meagre RAM of the BBC Micro, that I’d burned 16K of the machine code into an EPROM. To play the game you had to unscrew the lid of your computer and carefully seat the EPROM chip into an empty socket on the motherboard. And home computers had no networking back then. Econet existed but I think was a £100 upgrade, so absolutely no one had that. So, I had to invent my own networking. I hand-soldered custom cables, where the output pins of the RS 423 port on one plug were wired to the input pins of the next. These cables formed a ring, so the output of one computer went to the next, where the software forwarded it to the next, and so on. There were little message packets with headers on them indicating which machine they were intended for. In effect, I independently invented IBM Token Ring, and implemented it as an interrupt handler in 6502 machine code for the BBC Micro.
(Above top and middle: Students at Cambridge University playing Bolo; Above bottom: the infamous Bolo network cable)
So, the need to include custom cabling inside the game box, plus requiring the customer to crack open their computer and install a chip inside, pretty much made it a nonstarter commercially.
How do you reflect on the BBC Micro nowadays?
As a 14-year-old child, I didn’t have much experience of serious computers. But in my limited experience, the BBC Micro hardware was incredible. It clearly beat all the contemporaries (Atari 800, Sinclair Spectrum, Commodore 64, etc.). One key differentiator was raw speed. For example, other machines like Atari 800 had sprite hardware. That hardware let you display ‘sprite’ images and move them around the screen with near-zero cost, but there was a hard limit on the number of sprites, and a sprite could only be a monochromatic image. The BBC Micro had no sprite hardware, but it did have a 2Mhz 6502 and it could write to screen RAM at full speed with no slowdown. So, you had no graphics hardware to make your life easy, but if you could write good machine code and you could write the code to draw every pixel yourself, then once you did that you had code that had no hard limit on the number of sprites, or the size of sprites, or the number of colours in a sprite.
The lesson of that is still true today. There are still many cases where expertly written software on a blazing-fast general-purpose CPU will do more and consume less energy than custom hardware to do the same thing. And, generally speaking, the custom hardware can only do the one thing it was made for. Give the general-purpose CPU new software and tomorrow it can be doing something else really fast.
I was hired at Apple at the end of 1997. I worked on the original Bondi Blue iMac, and pretty much every product since than that uses TCP/IP networking. I’m currently one of Apple’s Distinguished Engineers, specializing (not surprisingly) in networking. Among other things I’m the inventor of DNS-based Service Discovery and Multicast DNS (what the IETF called Zeroconf, and what Apple calls “Bonjour”).
I’ve been quite busy over the last few years, with my Apple work, raising my children, helping run a Burning Man camp, writing a few Internet Standard RFCs, writing an O’Reilly book, things like that. But with ‘Acorn - A World in Pixels’ being published, I’m inspired to take a nostalgic trip down memory lane.
I remain in contact with my schoolfriend Nick Tingle. Somehow, we both ended up in Silicon Valley, and live quite close to each other.
I do still have my original BBC Model A, complete with its hand-soldered flying leads. I’ve been afraid to turn it on in case some component explodes. I have heard that electrolytic capacitors tend to fail with age, and I don’t know what precautions I need to take to turn it on safely.
I still have my floppy disks. After 35 years I’m afraid to put them in a disk drive in case the oxide flakes off. One day I’d love to try to try rescuing that data, preferably with the assistance of someone who has experience doing it safely. I fear we may get only one shot at it.
I think I was very lucky to be growing up in the 1980s. Writing machine code on a computer like the BBC Micro lets you really understand how the entire computer works, in a way that just isn’t possible today now that computing devices are so much more complicated.
What were your top 5 BBC or Electron games?
1982 Planetoid (Defender) - Really nice game dynamics. Complicated keyboard controls but allowed graceful manoeuvring when mastered.
1982 Snapper (Pac Man) - Good approachable game, easy to learn, rewarding to master.
1983 Starship Command - Really impressive graphics for the time. Instead of your ship rotating on the screen when you turn, like in Asteroids, your point of view remains looking forward, and everything in your field of view pans across as you turn. Today with 3D first-person shooters we give this no thought. Of course, the GPU has enough horsepower to refresh every single pixel on the screen 120 times per second, and we expect it to do it with texture mapping and ray-traced lighting and shadow effects. Back then the CPU, fast as a 2Mhz 6502 may be, simply didn’t have the speed to touch every pixel on the screen. You had to write the code to decide, for every frame, which pixels it can afford to update. Starship Command made it look like the entire view was being redrawn as it rotated, when clearly that was not possible.
1983 Chuckie Egg - Rather than requiring exact and fiddly timing, the game had very forgiving controls. The game let you hold the “up” button before you got to a ladder, and when you got there your character would climb the ladder. You could also fall any distance without being hurt. This lead to very fast-paced and manic gameplay. The game was hard because working out how to solve each level was hard, not because (like some other games) the controls were pointlessly unforgiving and fiddly.
1987 FireTrack - Rich graphics, for the era. By 1987 I was in college and didn’t have much time to be playing computer games, but if I did play games, this is one of the games I played.
And two honourable mentions:
1983 Missile Control (Missile Command) - Required the BBC Micro analogue joystick, but if you had one it was fun to play. Also, to do well you needed to use three fingers to manually select which of the three bases to fire from, so you couldn’t just use the single joystick fire button. This meant clamping the analogue joystick awkwardly between your knees to control the analogue stick with one hand, while using the other hand to press the three fire buttons on the keyboard.
1984 Eagle's Wing - This was written by another schoolfriend of ours, Marcus Bott-Obi. Following the example set by Nick Pelling, Marcus chose the pseudonym Boris Obinskofh to publish this game. Marcus died when I was away in college, but I think he was only 19.
(Below: Chat logs from students at Cambridge University playing BBC Bolo)