Karl Hörnell / Freelance
Added on July 13th, 2016 (3220 views)
Hello and welcome! Please introduce yourself to anyone who may not know you.
My name is Karl Hörnell and I developed a few games for the Commodore 64 in the 1980s. A decade later, I started the website Java on the Brain, where people could download browser-based computer games for their own sites, free of charge. I then co-founded the gambling software company Ongame, which operated a few poker and casino sites. Some people may also remember me as the creator of the superhero parody comic strip Savage Dragonbert.
How did you first get started with computers in general and the C64 in particular?
Back in 1982, my neighbours bought an Atari VCS, and that's where I got my first taste of computer games. They were fascinating in many ways, but I didn't quite get hooked on them. Something that limited me to being just a passive consumer couldn't hold my interest for long. Around the same time, however, the first home computers started to appear, and two of my classmates each got a VIC-20. I think both of them just had games in mind, but the computer came with a manual that explained how to program it to make use of its graphics and sound. That changed everything.
I spent an awful lot of time at my friends' houses, and eventually nagged my parents into buying a computer too. What I had expected was a similar machine, so when my dad came home one day with a Commodore 64, I initially felt a little disappointed. It wasn't compatible with the VIC-20, but the salesperson had insisted the C64 was a computer for the future. In retrospect, it was an extremely fortunate choice.
Tell us how your career in games started. Did you submit sample work to various games companies in order to procure jobs, or did jobs come to you?
When I started making my first computer games, I was just twelve years old, so a career wasn't even on the horizon. Developing games was just a hobby which I expected would help prepare me for an engineering job many, many years in the future. But I always liked to pretend that I was a professional games developer. Whenever I'd finished a little games project, I made sure it had a proper introduction screen with credits, and a high-score table, and I'd make all the texts in English, even though the games would only be seen by me and my friends and family. Because that's how it was done in the "real" world.
The computer games market in Sweden got off to a slow start. In the beginning, the games from the larger software publishers were often prohibitively expensive, while a lot of games from the smaller publishers never even make it to Sweden at all. One exception was the UK company Interceptor Software, which got a foothold early on with a decent range of reasonably priced titles.
Their games had a slightly different feel to those of their competitors: a bit more personality, if perhaps not quite as polished or technically advanced. Short production cycles enabled their small group of developers to make more than a dozen games in just a couple of years and establish themselves as minor celebrities among computer game enthusiasts.
Together with a friend of mine, I eventually worked up the courage to contact them with some fan questions. We also included a recently finished game to get some feedback from them. This correspondence went on for a bit, and we continued to send them my games. Then, they contacted me and told me they were planning to start a budget label called Players, with low-cost indie content. They asked if they could include the games they had received from me so far.
The pay wasn't great, but that didn't matter at all: even by then, I was still only 15, so it felt almost too good to be true. Something I had just made for fun would actually be out there on the market. Somehow, by pretending to be a professional games developer, I had actually become one.
What attracted you to the C64 as a development platform? In your opinion, was it as special as we like to think it was?
As I mentioned, it wasn't my first choice, but I stuck with the C64 for the same reason it became the most popular home computer of its time: it was great for games. The computer happened to have a few key features that went a really long way: multi-colour graphics, hardware sprites, smooth scrolling and a high-quality sound chip. It couldn't match the increasingly powerful arcade machines, but with a bit of trickery, it could come close enough. People were always coming up with new ideas about how to squeeze more performance out of it.
What C64 games did you work on? Please include a list of titles and as many details as you can recall about each of them (such as what it was like to work on each game, any sketches you did, what programs you used, fun anecdotes from creating the game, what the people were like to work with on the various games, the timeframes, any problems or headaches, etc.).
My commercially released C64 games were as follows.
Fruity was a variation of Breakout, in which instead of a ball and paddle, you had a guy on a trampoline, and you could give him an extra boost by pressing the fire button. The object of the game was to pick fruit from trees and avoid getting grabbed by a vulture that circled above. It was a very simple idea, because the point of it wasn't the game itself. I only put it together so I could test a technique for playing music in machine code with the help of the raster interrupt, which I had read about in a book.
Ronald Rubberduck was one of those maze navigation games where you had to avoid touching anything. To add more variation, the game character had a different control mechanism depending on whether he was above or below water. Below water, he would just follow the joystick motion, but above water, he would be more like Flappy Bird. It was a type of game that was very easy to make, because the backgrounds could be made arbitrarily complex, and you'd still only need to check two bytes in memory, for sprite-sprite and sprite-foreground collision, to see if the game character should die. Because both multicolour 0 and 1 were ignored by the hardware collision detection, I could have him move harmlessly through water as well as air.
Velocipede was a horizontal scroller and shoot-'em-up. My family had a summer house on the coast, about a two-hour drive away. We would make many trips back and forth each season, with plenty of time to get inspired by the fields and forests that passed by. The trend among horizontal scrollers at the time was increasingly towards space and dark, futuristic settings. As far as I knew, nobody had made that type of game with just a guy on a bike, riding through an idyllic landscape. So, early one summer, I did just that. Everything in the background was nice and pleasant. There were grazing sheep, flags fluttering in the wind, and even a billboard with the text "Eat Wine Gums".
Clean-Up Time was a platform game for one or two players. I was overwhelmingly inspired by Super Pipeline II back then and wanted to create something that had a similar crazy feel to it. Instead of implementing automated assistants, who could perform some duties while the main character did something else, it was easier to just let two people play at the same time and help each other out. My gameplay mirrored the original to some extent: repairing leaks and killing enemies before they could create more leaks became cleaning up rubbish and killing enemies before they could drop any more rubbish. I also shamelessly used the same colour scheme.
Velocipede II came about as I signed my first contract with Interceptor. The C64 was good at smooth scrolling, but the process was a bit unintuitive, and it was a long time before I found an article that explained it. Armed with this knowledge, I felt that the basic concept of Velocipede deserved a faster, slicker and more elegant implementation, so I made a sequel. In the original Velocipede, the background scrolled at a constant speed and was only there for decoration. In the sequel, you could speed up or slow down, and you had to jump over water or holes in the road. The bike was also streamlined down to a unicycle.
Up until this point, I had done everything in the games myself (a couple of friends would often sit around and make suggestions, so I co-credited them with some of the development work), but I had one serious weakness: music. I couldn't compose a coherent tune, so I relied on books with sheet music for songs that weren't copyrighted but were still catchy enough to enhance the mood of a game. There weren't a lot of those around, and I quickly used them all up. After Velocipede and Clean-Up Time, I had no good songs left, and I had to dig around a long time before I found a piece by a 19th-century Swedish composer that would work for Velocipede II.
Fungus was a scrolling 3D platform game and the first project where I felt I was slightly ahead of the game: that I had come up with something nobody else had thought of, or at least never made into a key element of a game. A few sideways scrollers had some kind of pseudo-3D graphics, with different layers moving at different speeds, but no physical navigation along the third dimension. Toggling the background mode of a C64 sprite would put it behind or in front of multicolours 2 and 3, but it would always be in front of multicolours 0 and 1. This meant that if I built a scenery where the sky and the ground were drawn with colours 0 and 1, and objects like trees and rocks were drawn with colours 2 and 3, it would be possible to create a very convincing 3D effect by switching the sprite background mode on or off at the right moment.
Basically, what I would do was to check the graphical building blocks that were in the same place as the game character's feet: if they were the upper part of some obstacle, then the player must logically be behind it; if they were just plain ground, the player should be in front; and if they were the base of an obstacle, the player had run into it and should crash. Because this was an either/or trait for a sprite, the player couldn't be behind one object and in front of another at the same time, but if I placed the background obstacles just far enough apart, such a situation would never occur.
This time, I also sought the help of one of my brothers' classmates, who played an instrument and had enough musical talent to create his own tunes (with a bit of nagging). I made the final touches to the game while visiting the offices of Interceptor for a few days in the summer of 1986.
Melonmania was a sideways scroller in which you moved around on a large map and picked melons, one by one, and dropped them into a barrel. I had originally intended it to be in the same 3D perspective as Fungus, but after some sketching, I realised I couldn't make the backgrounds look good enough. In a 3D view, I would use up the character set too fast, so I went with the same 2D as in the Velocipede games. While it was a relief to be back in familiar territory, in which I could focus on design and animation, this meant I wasn't pushing the envelope on a technical level. The game ended up being very cute but also very unremarkable.
Toad Force was a shoot-'em-up set on and inside an alien planet. It came about in an unusual way. At the time, the toy line Zoids, with dinosaur-themed robot construction sets, was all the rage. I had sent in a drawing of a mechanical toad to a Zoids competition in a computer games magazine and ended up winning first prize. The idea felt too good to waste, so I came up with a game concept around it. My brother's classmate returned as the composer. I'd built him an application for creating music, in which he could hear exactly how it would sound in the game, and I even named the application after him to keep him inspired.
By this point, my studies had become more of a challenge. I had moved to a new school, which required commuting, and that ate up several hours a week which I would otherwise have spent in front of the C64. There was also homework. Lots of it. I could have settled for satisfactory grades, but that wasn't my style – I had to aim for a perfect GPA, which meant considerably less time for developing games. I kept falling further and further behind my professional competitors in terms of technical knowledge.
Clean-Up Service was an attempt to compensate for that with humour and original ideas. It was a return to the fundamental concept of Clean-Up Time, but with much more carefully designed graphical layouts and a different game objective on each level. In the end, it had tons of personality but wasn't all that spectacular to look at. It also became the last C64 game I was ever able to deliver.
What companies did you work for, either in-house or freelance, and in what capacity?
I never did any commissioned work for the C64, it was all freelance stuff for Interceptor – hobby projects that I worked on in my spare time.
Describe a typical day for you in front of the computer at that time.
Well, first of all, whenever I had a full day, it would be on a weekend or during the holidays, as I was still at school. I also very rarely set aside any specific time for development work. I simply used the computer to do whatever felt like the most interesting thing at the time. Sometimes, that would be designing a sprite animation; sometimes, it would be constructing an algorithm; but most of the time, it just meant playing games. This was also because it wasn't just my computer. I kept it in my room, but I had to share it with my two younger brothers, who weren't into programming at all.
What tools, development kits, etc. did you use, and did you create any yourself to fulfil a need?
Like a lot of people, I made my own sprite and character editors. I even made a couple of music sequencers. When drawing the intro screens, I relied on a program called Paint Magic, which used a joystick for the controls.
I learned machine-code programming from a book called Beginners Assembly Language, which also included a primitive assembler/disassembler. I then stubbornly stuck with that tool for the rest of my C64 development career. The way it was constructed, you couldn't insert or delete any code, you could only overwrite, which meant that if you made a mistake or needed to add something, you often had only two choices: either start over and type everything in again, or put your missing sequence somewhere else in memory and jump to it and then jump back, which fragmented the code to the point of unreadability. It was a terribly inefficient way of programming, but I had no formal training, so I didn't know any alternatives.
The tool I used the most, however, was ordinary squared notebook paper. All my sprites, character sets and screen layout designs started with that. Each square represented one eight-by-eight group of pixels. Even though I edited the graphics on the computer, I would always draw a version on paper first, so I could get a complete overview. For every sideways scroller, I had one or more very long rolls of taped-together paper strips with the level backgrounds drawn on them.
Due to the limitations of the assembler, I also needed to have all the machine code written down as assembly language instructions on paper first. That filled a lot of pages.
Were there any games you worked on which never saw the light of day?
A few games were never finished, but my only completed, professional-quality game that never made it onto the market was Fungus II. It was supposed to be another of my attempts to give the market something that had never been done before. This time, I wanted to create a "real" 3D scroller, in which the game character could walk freely behind, above, around and below objects. I also wanted everything to be meticulously designed and polished, but the game took so long to make that the Players label had already been discontinued by the time I was finished.
It was later released, with my permission, on a retro games website. Apart from that, there were several dozen games I wrote while I was learning, just for the fun of it, which only exist on old cassette tapes in my basement.
Which game are you most proud of, which was the most fun to do, which became a real challenge, and which ended up giving you the biggest headache?
In many ways, the most fun games to do were the early, primitive ones I developed long before any of my games were sold. There is something truly satisfying about learning a new programming trick and creating a game based on it, from start to finish, in just a weekend.
The game I'm most proud of is Fungus. Unlike my other games, it actually made an impact, albeit a small one. It gave me my 15 minutes of fame in the computer gaming world.
The game which I put the most intense mental effort into was Fungus II. My 3D technique, in which I had to mask the sprites pixel-by-pixel in real time and supplement the background with layers of masking data, was insanely complicated.
If you had the chance to revisit any of your past games, what would you add, change or remove?
Not much. A few of them were really bad of course, even by 1980s standards, but I always tried to do the best I could with the limited knowledge and skills I had at the time. There were never any half-hearted efforts. Every new programming trick I learned from books or magazines I would work into my next project. In the summer of 1985, Velocipede was the best game I could make. In the summer of 1986, Fungus was the best game I could make, and so on. I would probably fix a couple of grammatical errors, but not much else.
Are there any particular games you would have liked to have worked on or converted from arcade?
Plenty, but by the time I was aware of them, they had already been made, by people with more technical skills than I had, so there wasn't any point. Until, that is, the late 1990s, when web browsers became able to run programs written in Java. I quickly took the opportunity to create Java clones (almost) of some games that had inspired me a decade earlier, hence Pengo became Iceblox, Dig Dug became Don's Dugout, Xenon became Warp and Nebulus became Cross Section, to name but a few. More recently, I made an iPhone game called Inbread, which is essentially Burger Time re-imagined for the touch screen.
Did you get much of a chance to play games as well as create them? Any favourites?
The games I tended to play the most were the weird and original ones that didn't feel like anything else, like Dig Dug, Pooyan and Super Pipeline.
Were there any games you found so awful that you wish you'd had the chance to do a better job?
At the time, I had a very humble attitude towards other developers, mostly because I always felt I was a few steps behind them. I was just this amateur kid, with no connections, struggling to keep up, and even bad games can have a certain charm in their own way. Every now and then, I did feel I could have done a better design job, though. One exception was the legendarily bad 1983 fighting game Chuck Norris Superkicks, which left even me going: "What the hell is this crap?!".
Was there a particular programmer, artist and/or musician who influenced you and possibly inspired some of your own work, or did inspiration come from somewhere else?
Aside from the people at Interceptor, there was Tony Crowther, who for a short while was the king of sideways scrollers. Also, few developers could avoid being inspired by Jeff Minter. Finally, there was Andy Walker who made my favourite game ever, Super Pipeline II. I had the pleasure of meeting both him and Minter at a computer games convention in Manchester a couple of years ago.
Please share some memories from the old days! (Like something a colleague did or said, your time on the demo scene, crackers stealing development disks, going to computer shows, etc.).
Well, I'm sure the software company had several interesting stories like that, but since I only did freelance work, and wasn't affiliated with any demo group, I never saw any of it. I just quietly hacked away on the computer at home. The C64 was always brought along on vacations as well, which was sometimes a bit too close to nature: a toad once crawled into my disk drive, which created a bit of a panic. Toads tend to empty their bladders when they get frightened, and that wouldn't have been good for the internal circuitry. To make matters worse, one of the screws that held the drive together was stuck, but I managed to pry the chassis open far enough to get the little rascal out without incident.
We can't ignore the fact that there were other machines apart from the C64. What software and/or hardware did you create on other systems?
Unfortunately, I have nothing to tell here. I did also have an Atari 520 ST, but I didn't have the connections to pick up the necessary technical knowledge fast enough, so nothing came of that beyond a few half-finished game designs.
What are you up to these days?
Nowadays, I work for a small start-up that specialises in digital crosswords. We have a two-player mobile crossword game called Cross Boss that started out being for the Swedish market but has since expanded to Germany and was recently launched in the UK with English content. I also still develop games in my spare time, just for the fun of it.
Thank you for helping us preserve an important part of computer and gaming history! Do you have any parting comments with which to leave a final impression on our readers? Feel free to greet anyone you know.
The C64 era was an incredibly exciting time, but when looking back at that surge in creativity and explosion of new game ideas, it's easy to forget how frustrating the situation often was for independent developers. Outside of the commercial software houses and hacker/demo networks, there was practically an information vacuum. Today, we have the Internet, search engines and dedicated programming websites. The solution to a technical problem can be made available to the whole world within hours. Back then, you either had to know a guy who knew a guy, or wait until someone wrote about it in whatever books and magazines you had access to.
But I don't want to be the old man complaining about how many miles he had to walk through the snow to get to school. For the most part, I had a lot of fun and will always remember those years fondly.
back to the list of available interviews