martes, 8 de abril de 2014

Bob Smith Interview

Bob Smith, a nowadays ZX81 and ZX Spectrum coder has been kind enough to answer a long interview for our last Yo Tenía Un Juego issue. Since it was published in Spanish we've thought it could be of interest to all if we also post the original in English here on the blog, so here it is: the complete interview. Enjoy!

Hello Bob, first of all we’d like to thank you for spending some of your precious time answering to our interview.

        Let’s start talking about your beginnings playing videogames:  Which one was your first computer? How old were you when you bought it? What’s the earliest memory that you can bring back about those times?

My first 'real' computer was a ZX81 when I was around 9 years old.  We'd had a couple of consoles before then (a Binatone TV Master mk IV and a Philips Videopac G7000) but the ZX81 was the first programmable computer.

        Did you only play back then? When did you feel the desire to develop your own programs?

Everything I played on the ZX81 was first typed-in from various books available at the time, as a single book of 20 or so games was obviously much cheaper than a number of tapes, and I never could get it to load anything from tape.  I think my parents also felt that having the books might ignite an interest in write my own stuff, and they were right.

        In the 80’s without the assistance of the Internet in Spain, the fact of learn how to program was much more difficult than nowadays.  The few related books that came over to our country weren’t translated from English so it was a really tough work for Spanish kids to read and understand them. In your particulary case, how did you learn programming? 

Books, and magazines, for the ZX81 were plentiful here in England, and the machine's manual itself covered every aspect of BASIC programming.  Having the listings meant that you were naturally drawn to wondering what each line did, and so you would start changing certain lines to see what would happen, and that would lead to starting to write my own simple games.

CKICK "MÁS INFORMACIÓN" TO CONTINUE READING...



        Did you own any other computers than the Spectrum? Why did you choose the Sinclair model  in order to develop your videogames?

I got a Spectrum a few months after it was launched in 1982, and as I'd spent so much time on the ZX81 it was logical to coninue with the same brand.  Once I had that machine the ZX81 was packed back into its box and largerly forgotten as the Spectrum was a much better machine - having colour, sound, and a much improved keyboard - and I could get the tapes to load!

        Which games did you play most of your time? Why?

At its launch the range of games was quite limited - so a lot of time was spent playing some of those launch titles, such as Planetoids and Space Raiders.  After a year or so better games, and many more of them, came out and you really had a choice.  I remember playing the early Ultimate games a lot - Jet Pac, Cookie & PSSST! - and we once had Manic Miner running for over eight hours and being rather worried about the heat of the power supply.  It was also a case that you'd have some friends around to play the games and take it in turns to play, so arcade games were much more fun for that than an adventure game for example.  I continued to program my own games on it, but it started to dawn on me that I wasn't going to write anything like Jet Pac by using BASIC, and so decided that I would have to learn machine-code to do that.

        It’s well known that Sir Sinclair’s Spectrum weren’t designed as a videogame machine but for more serious purposes and, in fact, he felt quite upset when his device was related to videogames so it’s ironic how time has shown that its commercial success is totally link up to the entertainment software. Is that the reason because it’s more difficult to program it than any other peers system?

I wouldn't say that the Spectrum is difficult to program.  Certainly the lack of any real hardware support for graphics or sound meant that you had to learn how to do those things first, but after that I don't really think it is very different to any of the other machine of the time - and that lack of any hardward support meant that you weren't forced into thinking a certain way.  Sinclair BASIC is a very rich language as well, meaning that it is very easy to start learning and get something running in a short space of time. 

        Your games have many different styles: arcade, shoot’em’up, puzzle, platform, etc. but they have in common that their way of playing is easy to learn but hard to master… What is your favorite genre to program and to play?

I've always been a fan of platform and puzzle games, but I'm currently enjoying programming different types of game and the unique challenges that each presents.  Once you've written a few games you amass a library of knowledge and routines, and so after that it's the logic behind each type of game which presents the new challenge.

        Many people consider that the influence of the Spectrum in their lives goes beyond being just a device with which you will have fun for a while and looking back they realize that this little computer was crucial to determinate the kind of people they are nowadays: their hobbies, friendships, people they have known and even the career they have chosen. How far has the Spectrum influenced your own life?

I think it would have to be the ZX81 which played the most influence in my life, and not the Spectrum, as the ZX81 produced an interest in computers and showed an early talent in programming.  Certainly if it wasn't for that I think I might have just played games on them, especially as there were no computer lessons at School as there are now, and so might now have a completely different career to the one of a programmer that I have now.

        Before talking about some of your games, we’d like you to talk to our readers how they can get them, because we have known that it’s possible to buy physical copies because of the support of a stockist.

All the games for both the ZX81 and Specturm can be downloaed from my Website - www.bobs-stuff.co.uk - and most of the Spectrum games can also be found at the World Of Spectrum archive.  As for real physical copies many can be purchased on cassette from Cronosoft, although the latest ones, and most of the ZX81 games, aren't on there yet.

        If there is something that defines you as a programmer is that you get maximum performance from the Spectrum lack of RAM. Even so, since 2010 you’re developing videogames for the ZX81, a more technically  limited computer with only 1KB of RAM that can be expanded to 16KB. What led you to make this decision?

When I started writing for the ZX Spectrum again in 2005 there wasn't a huge amount being written for it - Jon Cauldwell was really the only person I remember doing anything at the time with regards to new games.  Slowly myself, and other coders, appeared on the scene and since then more and more titles are being produced for it each year.  In 2010 I'd found that ZX81 I'd boxed-up all those years ago and it started me to wonder what that scene was like now, and was rather amazed and upset to find that the quality of most of the games for it was much the same as they were 30 years earlier - largely slow, single-screen, and written in BASIC - and I felt that surely the ZX81 could do better than that and so set myself the task of trying to prove that point.  Since both machines share the same Z80 processor I already knew the language, so it was just a matter of understanding the machine itself, and starting to see just what it was capable of.

        Being honest, did you ever, due to the technical limitations we’ve just talked about, freak out and seriously think about giving up and spend your time in any other system easier to program than this one?

On the contary, the challenge is what makes this interesting!  I'm foremost a programmer, and trying to get the most from a machine is what interested me with these old computers.  Initially I wondered if the ZX81 wasn't actually capable of more, but with each game I've written for it I think I've managed to keep getting it to do the impossible.

        I’ve played all of your ZX81 games and have to say that I was really surprised about  all the stuff you’re able to do with a device like this one. Could you explain us how can you fit in 16KB addictive games with option to redefine the controls, animated menus, codes that allow you to start the game from any level, the chance to save the current game, scroll, isometric view…?

16K is actually quite a lot of space to fit a game into.  One of the major differences between the ZX81 and machines like the Spectrum is that everything is character, not pixel, based, and so all the graphics on it take seven times less memory than they would have on the Spectrum, giving much more of the available space over to the game itself.  One of the things I really wanted to do with the ZX81 was keep the same level of presentation as the Spectrum games had, and so having good menus and responsive controls was very important.

        One more of your merits is that you’ve made the first conversion from a Xbox360 game to the Spectrum. How did you make that decision? What difficulties did you find while doing so?

Gem Chaser was written by a friend I used to work with, and so we'd often chat about our games and what we were going to write next.  Some of his first Xbox games - Miner Man and Noir Shapes - I'd converted to the ZX81, but Gem Chaser already looked so much like a Spectrum game that it was an obvious choice for that platform.  As a title it was easy to get up and runnning as it's a very simple concept, but as with any conversion the hard work is with making it behave in exactly the same way as the original.  As I got each set of the 70 levels converted I'd play through them and often had to tweak the player's movement, or another aspect, slightly so the new levels could be completed, but I'd then have to go back and play all the levels again to make sure I hadn't subsequently made a previous level impossible.

        One of my favorite games is LumASCII, a shoot’em’up exclusively made from ASCII code, whose visual appearance is much better than other games that use traditional graphics. Was the designing and animating work harder than in other games?

Although there are lots of paint and sprite packages available to design bitmap graphics on there's very little like that for ASCII graphics, and what I could find didn't handle colour which is very important in this game, and so all the graphics had to be individually hand-coded.  The other thing is that most ASCII art you would have previously seen is on a very large scale with small characters, which was not something I could use on the Spectrum, so each graphic needed a lot of work to make it look good and animate well on a Spectrum screen.  I'm really pleased with the result though, especially the crabs and bats.

        You made the “Horace in the Mystic Woods” Spectrum version, originally only available in Psion palmtops. Do you know the author’s opinion about your  work?

I'd contacted the original author of the game, Michael Ware, right at the start of this after the Mojon Twins said that they wouldn't be able to work on the game.  Michael was very supportive of the game and provided the original code and graphics for it, although these couldn't be used directly for the Spectrum version as they were in a different language.  I hadn't even seen what the game was about when I agreed to do it, and then I discovered that there wasn't any emulator available to play it on, and so I brought a Psion machine and a copy of the game from eBay to play it on (Horace's scream in the game is actually recorded & sampled from that Psion machine)

        There’s a nice story that justifies that “Dominetris” doesn’t have a loading screen, would you mind to share it with our readers?

I'd forgotten all about this!  When you start programming a machine it's always good to start with something simple and familar to get to know the machine with, and Tetris is great for that which is also why it was my first ZX81 game.  You can also write Tetris in a small amount of memory as there are no maps or complicated graphics to store, and so even with a custom font and everything the game was still only about 4K in size.  Since this is half the size of a loading screen I thought it would be a little silly to make the game take 3 times as long to load by having a screen, so decided that it would be better without one.

        "Stranded" was your first game, in the late 80’s and, apparently, you tried to publish and distribute it, but finally you didn’t have any luck. In my opinion, the game is great being a first attempt: the movement is very smooth, it has colorful graphics and addictive gameplay. How much of the original "Stranded”  is in the one that is available nowadays?

The only change between the '80s version and that you now play was in the scrolling message on the title page - everything else is exactly the same.  Although I could have made improvements I felt it was a playable game, and a bit of history, and so I could better spend my time on the next game.

        "Gem Chaser 2" is your latest creation to date. What novelty will find the ones who have played the previous game?

Gem Chaser 2 isn't just about new levels, but an entirely new engine and scoring system, in order to make the game more accessible and playable.  The goal was always to make a game that everybody should be able to enjoy no matter how good they are, and so it's quite straightforward to unlock and play all the levels, but not so easy to achieve all the awards and complete 100% the game.

        I guess that you've been improving your way of working over the time. Could you tell us how you develop your games: Do you plan everything writing down on paper or do you start typing code on the keyboard from the outset? How many of your games have been programmed on a Spectrum and how many have been programmed on a PC?

Only the original Stranded was written on an actual Spectrum - everything else has been developed on a PC/Mac as the whole development process is so much better and faster.  I usually start a game with a paint program doing a quick mock-up for how it might look, and after that it's back to pen & paper as I try to work-out the game logic and the best way to do it on the machine.  I then try to get the main game-loop running so I can play a level and see if everything works as it should, and this is usually done by adjusting the code of a previous game so I don't start from scratch and have all the routines available to me.  Then, if all is good, I continue coding but returning to paper when I need to work out the best way to solve a problem.

        Tell us about Lee du-Caine, the musician who runs the sound section of your games. Had he previously know something about the Spectrum or had he already worked with it? His skills with the AY chip certainly suggest it!

I came into contact with Lee through the World Of Spectrum forums when I asked for AY-music for the first Farmer Jack game.  Lee brought not only his expertise of music and sound-effects to the game, but also helped with making them more a part of the game - rather than an after-thought.  Certainly I think his work is among the best music that's been done on the machine, especially as all the tunes are his own original compositions.  Stranded 2.5 really benefitted from his input and has over 40K of AY tunes in it - so much that we made a CD of it available at the time.  I don't know if his work on Farmer Jack was his first for the machine or not, but he is an accomplished musician and has a natural talent.

        I guess in your everyday life you’ll  have your own work, duties, etc. How much time do you dedicate to program games? Do you test them yourself after finishing them or do you send them to a friend to do the beta-testing?

On average I probably get around five hours a week to work on the games - sometimes a lot more, but often less - depending on what else needs to be done at the time.  I usually write them in secret until I'm happy that there is a game that is worthy of being released, and then start to mention it and put screenshots on my FaceBook page.  I then contact various people to see if they'd like to test the game, and make any possible changes they suggest.  I try to pick people who have donated money to the development of the games via my website as a thank-you for believing in me.

        Almost everyone of your games include a tribute to classic games or programmers  as in "Splattr" (Don Priestley) or "One Little Ghost" (Pacman). In your opinion, who is the programmer who took the most out of the Spectrum? Why?

I always try to write something different each time, or something that hasn't been done in the past - I'm a programmer and always love a new challenge.  LumASCII  and splATTR are both games that I think are unique to the Spectrum, and I like that people were open-minded enough to accept them, although I doubt any publisher would have touched a text-based shoot'em-up at the time.  I don't really have any programming heroes, but love games which very playable with good presentation - and so the Ultimate games were always an influence, along with many of the Vortex games which I felt were a little different from much of the output at the time.  I remember being amazed by Jet Pac, Knight Lore, Cyclone, and Highway Encounter.

        Do you enjoy in the same way playing contemporary games than playing with classic games? Do classic games have something you lack in the current games?

Aside from the one I'm currently writing I really don't play games much these days, either contemporary or classic, as I don't have the time to invest in them anymore.

        Nowadays the process of developing a game is very similar to shooting a film, current computers and consoles have as much memory as a programmer may need. Does it mean that new programmers doesn´t have the ability to take advantage of each system?

I don't think any machine out there has enough memory, or processing or graphical capability, as a programmer would like - since as each machine gets better and faster you usually need to do more with it to have a game that looks and plays well.  For example, the graphics on a 16K ZX81 game might take 4K at most - so 25% of the memory - but they're monochrome and very low-res, whereas on a modern platform it would likely be in 3D with meshes of thousands of polygons for each character, and textured in full colour and at a high-resolution - and so could would probably take at least 25% of the memory, usually much more - so nothing is really different in that respect, just that the standard is higher.

        In between your creations you proudly introduce “Only Text Grand Prix 2009”, a curious view of a racing game that you presented to the com.sys.sinclair Crap Games Compo 2008, peaking at 18th place. What would you say to someone who has completed all the circuits of the game by the same number of laps than in real racing? Do you know someone who has achieved it?

Has anybody actually done that?  If they have I think they deserve a meddle!  I couldn't even guess at how long it would take to complete such a task, many hours to be sure.

        Are you working on a new game at the moment? Is there anything that you have not done yet for the Spectrum and you’d want to try? Maybe a text adventure?

I've actually just finished work on a complete conversion of the ZX Spectrum game 'Ant Attack' to the 16K ZX81.  I actually had the idea of doing an isometric game nearly two years ago, and that initially led to writing One Little Ghost as a test to see if the ZX81 could handle even a simple version of the genre.  After that was such a success I felt Ant Attack could also work well on the machine, and set about trying to get everything to fit into that 16K, and be playable as well.

As for genres I've not tried, yes, I've not written a beat'em-up, a racing game, or any kind of adventure game yet, and so any of those could be possible in the future as I love trying something new.  Whether they'd be on the ZX81, Spectrum, or some other machine I couldn't say though.

        I’d like to ask you about some classic Spanish games to know if you had the chance to play them and your opinion about them:

        Mad Mix Game

        La Abadía del Crimen

        Game Over

        Army Moves

To be honest I've never played any of them before.  Thinking back I certainly remember Game Over due to the cover art causing some controversy at the time, but I'd probably stopped playing games on the Spectrum by around mid 1987, as I was concentrating on writing Stranded, and then moved onto the PC.  I think the last Spectrum game I played at that time was Level 9's Gnome Ranger adventure. 

        What was the image of the Spanish games during the 80’s in the UK? Would you highlight any other Spanish game?

I don't think we knew that they were Spanish games really - just more quality games from some big publishers.

        There’s a link to the Mojon Twins, Spanish programmers, in your website. Do you keep in regular contact with other people with similar interests?

Not really.  I pay some attention to the World Of Spectrum forums, and the similar Sinclar ZX World ones for the ZX80/ZX81, but aside from that I'm relatively quiet on the scene, and use my Facebook page as a way of letting people know what I'm currently up to as it covers everybody who's interested in a single place.

        Thank you very much for your games and for your time, Bob. Would you like to add something or say something to our readers?

I'm always overwhelmed by the interest in the games that I produce, and it's amazing - because of the internet - that they are played and enjoyed around the world, and so I'm very grateful and humbled by the support I get - so thank you all!

No hay comentarios:

Publicar un comentario