Interview with Oscar Toledo Gutierrez - 2016

Interview by Tim Duarte with 2600Connection

For those of you who do not know of Oscar, let me introduce him to you… Oscar, who resides in Mexico, is probably best known in the Atari 2600 community for programming the homebrew videogame Space Raid. This is the game that Zaxxon (by Coleco) should have been. If you own Zaxxon for the Atari 2600, then you will know what I am talking about. In 1982, I remember so vividly being disappointed because the game was not isometric. No 3-D angle gameplay! In 2013, Oscar, who also goes by the Atari Age handle “nanochess,” programmed and released Space Raid with the help of the Canadian-based game publisher Collectorvision. Oscar corrected the problem that haunted Zaxxon for years and proved that it indeed could be done on the Atari 2600! But this is just the beginning… Oscar is a man of many programming talents. He can program personal computers, and also has released games for the Colecovision and Intellivision. Read on and let me show you how this writer expanded his horizons by learning more about Oscar and his journey…

TD: What is your educational background? Did you go to college?

OTG: I didn't go to college but I learned the same things using the same books. My parents thought that taking me to and back from school and later college would be a waste of time. So they both taught me when I was very young. I learned to read and write at age 3. By age 16, I probably had a university undergraduate status, but never tried to validate it.

TD: According to your web site, you are 38 years old and started programming in 1983 when you were 5 years old. How were you introduced to computers? Do you remember what your first computer was?

OTG: I’m not so old yet, currently I’m 37 years old. My father worked all day with his homebrew computers and the graphics on screen were pretty attractive to me, even if at the time were very blocky and only black and white. The games also were a great attraction. People say that 5 year-old kids don't remember almost anything, but my memories are pretty clear. Somehow I was very bold, I remember saying "I'm going to write a program!" My father said, "How you will do it if you don't know anything?" I replied, "I'm going to learn." These were very big words, given the fact that I didn't have a clue of what was going on. Anyway, I copied words from the screen while my father was programming in BASIC, mixed everything in a small listing in a book, and convinced my father to let me introduce it into the computer. Of course, I didn't work. I cannot explain why I had the vague sensation it was going to work (too much confidence, perhaps). My father asked me "What were you trying to do?" I replied, "Display numbers." He then said, "You should do it this way." …And that was my start. It took me almost a year to figure out why the loop worked. I certainly can say that 5 year-olds simply cannot understand the concept of variable. I had a Timex Sinclar TS1000 for some months and was able to introduce programs from magazines, probably the only kid in Mexico able to understand keyboard modes to put graphics. In a visit at a kids' ranch, I surprised everyone, even the teachers of a small programming class, when I put lots of boats on the screen. No one noticed I wasn't able to move one single boat over the screen as I wanted to. It was because I forgot the syntax for PRINT AT!!!

TD: So what happened next? Did you ask your parents to buy a personal computer for yourself to use? Did you happen to own any of the home systems such as Atari 2600, Intellivision, or Colecovision?

OTG: My father continued developing homebrew computers so I could program these. Seldom I saw other computers or consoles. A neighbor had an Intellivision console with Armor Battle and Triple Action. I was not allowed to touch it because I broke a joystick for a TS2068 that was leased by a friend of my father, and my father had to pay for a replacement. I saw briefly an Apple II system in a friend's house. I wasn't allowed to touch that one as well. He won it as a prize and it was his "untouchable" computer. Also I saw briefly an Atari 2600 VCS with the iconic River Raid. Unfortunately, when the system overheated, it went nuts… so no playing. By 1986, I had also a Televideo PC for playing games like J-Bird, Jumpjoe, Buzzard Bait, Congo Bongo, Burgertime, Columbia Space Invaders, Pango, Donkey Kong and Pac-Man. Most of these games were bad adaptations of arcade games but I didn't know. Later I got King Quest and Double Dragon. All of these in glorious CGA graphics (4 colors). From a very young age, I could make distinction between addictive games and horrible games. Easy control was a must, but also was the sense of discovery.

TD: You mentioned that you remember seeing JACKSON 7, a clone of the Zaxxon coin-operated arcade machine. Was this your first game that you were introduced to in Mexico as a child? What games interested you and which games do you think had an influence on you as a programmer ( besides Zaxxon)?

OTG: There were arcade machines in a nearby mall. I knew a lot of games there like Mr. Do, Pac-Man, Donkey Kong, Beamrider and Konami Outlaw. Outlaw was probably the most impressive. I never was fond of the arcades because the hard joysticks for my small hands, so I never went very far in scores. Anyway, at this age, I couldn't figure out many of the graphics tricks. I was simply blown away, but the interest remained and I continued to study the techniques used in these games. This was significantly eased with the advent of videogame console emulators. I tended to make comparisons between implementations of arcade games in consoles. I probably enjoy the games more because I'm "seeing" the algorithms running behind each one. And when I don't know how it works, I study it. Interestingly, I don't consider modern 3-D games to be impressive because the same algorithms are used, only the graphics have changed. However, I must say some are very good looking.

TD: So I would imagine it becomes obvious to your family that you have a natural talent for programming. Can you describe any important parts of your life ( that readers may find interesting ) through your teenage years and twenties, and now thirties?

OTG: Well, I don't know if readers will find it interesting. My milestones are pretty personal but nevertheless I'm still proud of these. I wrote a word processor at age 9, a C compiler by age 14, a raytracer by age 16, and a full operating system (yet monolithic) by age 18. I was kind of bored so I won my first contest by age 27: the International Obfuscated C Code Contest (IOCCC) in 2005 with a chess program. ( Editor’s note: Nanochess is the world's smallest chess program written in C. It is only 1255 characters long! It is obscured. In this case, Oscar’s source code is difficult for humans to understand. Simply amazing! ) Oscar’s Toledo Chess 2. It includes a black and white graphical user interface! I dedicated a lot of time to "serious" software but always wanted to write games again.

TD: How and when you discover and learn about the retro video game scene ? ( I see you have been a member /  subscriber of AtariAge.com since 2011. I think that is pretty recent. You are relatively new to the scene when you think about it.

OTG: Yep, I'm pretty new to the scene. At the start of the year 2011, I coded Zombie Near for MSX. It was for the MSXdev'10 contest. It got a nice reception and I was offered to publish it in physical cartridge. Zombie Near for the MSX ( and Colecovision ) I was searching for related hardware and I “fell” into Colecovision, and I registered for AtariAge because it looked full of people with similar interests to me. I contacted Collectorvision and “the ball started rolling.”

TD: So your first game that you planned to be released... that was SPACE RAID for the Atari 2600. Did you originally plan to name it ZAXXON? And I see that on your nanochess.org web site, you offer a ZIP file with the 4K and the 8K binaries for free. Yet the game is also available for sale C.I.B. for $45 on the AtariAge web site store. Space Raid for the Atari 2600

OTG: I feel a great respect for Zaxxon. I never ever wanted to use the Zaxxon name even if tempted. Later I discovered that Zaxxon in the USA wasn't trademarked at the time. Sega forgot to renew the trademark and Coleco Industries got it later. So legally it wouldn't have been a problem at that exact moment, but also thought my game would have fall ignored when searched because of the myriad of Zaxxon mentions. A game with the name of Zaxxon would have forced me to program the game more like the arcade and people would have asked for similar wave attacks, level structures, graphics, and so. Using an arcade name implies (at least for me) a great responsibility. And yep, the game ROM was available before publication. I feel bad for the publishers because a lot of people didn't buy the game because the ROM was available. I had similar experiences with Zombie Near. After that, I now prefer to delay the ROM release until the cartridges are sold out. Or at least in to put a very enhanced ROM in cartridge. I would publish everything myself but I need to think about the good people that put out the money to manufacture cartridges.

TD: I am avidly reading the ANTEATER thread on the Atari 2600 forum on Atariage. I see that you also have interest in this as a project.

OTG: I'm interested in coding the game as it looks in Atariprotos.com. It is just a challenge because I'm not used to playfield tricks. Besides it's a thing like a hobby for afternoons… like 1 hour a day.

TD: I like the idea that one person posted… release it as AARDVARK instead of ANTEATER to avoid any legal issue.

OTG: Aardvark sounds good, I don't have plans to call it Anteater.

TD: My big project that I am working on right now is GOSUB for the Intellivision. We are hoping to publish and release this game on October 21 at the Portland Retro Gaming Expo. This is quite a challenge... as I am handling the logistics for the box, manual, overlays, cartridge, and cartridge label. Chris Read ( Atari2600land ) programmed the game in IntyBASIC. And I do this in my spare time. I found out an amazing discovery: What I find really cool is that GOSUB was created and programmed in IntyBASIC - the BASIC compiler that you created for the Intellivision community! It is awesome! This creation of yours is allowing many programmers to create games for the Intellivision. I hope to someday sit down and try experiment with IntyBASIC.

OTG: Oh, I see. I'm glad GOSUB is coming to cartridge. I thought it was another project of Rev’s. Everyone in classic gaming is doing it in his/her spare time. As for IntyBASIC, Thank you. I'm glad more people are working on Intellivision games because of IntyBASIC.

TD: I am co-publishing GOSUB for Intellivision with Rev. He has a lot of prior experience publishing Intellivision games so he agreed to help with his knowledge of printing boxes, labels, overlays, manuals, etc. I will surely keep you posted with my IntyBASIC experiences.

OTG: I suspected Rev was involved somewhere! And Chris also contributed some good ideas for IntyBASIC development.

TD: By the way, I don't find your story boring. I find it extremely interesting and I think many will enjoy reading about this. I am sure your story is inspiring to anyone - especially a young man or woman, who wants to program and code! So let's talk about chess. Did you play chess (the physical game) with your parents? Did your parents teach you? And what leads to program it? And the contests that you have won… squeezing and reducing the code to an absolute minimum. No wonder why you excel in programming the classic videogames. Programmers have always been challenged with the limiting task of making these games in such a small size. ( 2K, 4K, 8K, 16K, or 32K etc.)

OTG: My father taught me at age 7, but I started playing around age 8, playing with my parents and neighbors. Since that early age I was pretty interested to know what is necessary to make a computer to play chess. I didn't have a clue about how to make this. I avidly read each book that included mentions of chess and computers. Some things looked straightforward like following each movement and answer, but I think my brain was too small to handle the "when to finish searching" so I got stuck. In fact one time at age 10 finally I managed to write my own AI (artificial intelligence ) in pure Z80 assembler. I was doing a victory dance when it destroyed itself with a stack overflow before I could print it or save it to floppy disk. The best thing is that it was a kind of “Mulder” thing (from X-Files). Nobody else saw the program while I was developing it and testing it. I understood, at last, the basics of chess until age 12. It didn't play very well, but it played. The reduction of code was always needed if you wanted a fast game in assembler.

TD: Your catalog and list of games that you have created is amazing... not only you have programmed games for the Atari 2600, Intellivision, and Colecovision... but useful tools such as the IntyBASIC programming language for the Intellivision and the Colecovision COOLCV emulator. These are amazing and wonderful contributions to the retro gaming community. Do you realize how much you have given to us? Do you realize you have inspired many to create games, to fulfill a dream that may be deep down in our hearts?

OTG: I think that I barely glimpse the reach of my contributions, but it's right. My mind never could imagine that IntyBASIC would spread a whole new world of games for Intellivision and some pretty professional looking I must say! It really touches my heart when my fellow friends of AtariAge tell their history about how they wanted to create Intellivision games and how IntyBASIC allowed it. Also IntyBASIC has brought a lot of friends, Rev, Cmart604, freewheel, Tarzilla, intvnut, Carlsson, catsfolly, DZJay, GroovyBee, First Spear, and brought Colecovision friends into the Intellivision world like Kiwi, atari2600land and CrazyBoss. Probably I'm missing some other names, but it's because this list has grown really big. CoolCV made the Ultimate Colecovision Flashback possible. I'm very surprised each time someone says that because with CoolCV , they can now finally play games that weren't emulated right or first time running on the Raspberry Pi.

TD: On a personal note, I have heard that your family has had some scary health issues. Your wife has cancer and is receiving chemotherapy. How is she doing? As a community, we are grateful to what you have given us. And as you know ( but others many not know ), there is a project where some of the proceeds from the sale of a Team PixelBoy Colecovision cartridge and another project where some of the proceeds from the sale of Intellivision cartridge featuring IntyBASIC games will go to assist your family's medical expenses. How does this make you feel?

OTG: I'm deeply grateful for the help. I had a very hard time when I discovered that my dear wife was sick with cancer -- in her pregnancy. I needed to dedicate my time at the hospital to be with my wife and it prevented me from working. To be honest, I was completely shocked. I had some near friends in the community and Luc Miron probably put attention to my e-mail messages, I never asked for help, but he generously offered me to initiate the budget games to help me to pay the hospital bills. And I was simply amazed by the amount of people that offered to help. After that the AUIC (Asociación de Usuarios de Informática de Cataluña or Catalunya Computing User's Group) and my MSX games publisher, Matra also contributed to the cause. On Atariage, Tarzilla and Freewheel recently announced their effort in the Intellivision community for my behalf: IntyBASIC Showcase Volume 1 ( three fantastically fun games on one cartridge) It's just mind-numbing for me and I really have true friends around the world, and a lot are on Atariage. My baby daughter was born premature but fortunately she made it after more than 50 days at hospital. We have her home now and in observation because my wife had to endure chemotherapy while she was pregnant. Oscar and his baby daughter Myriam Sofia My wife still is receiving chemotherapy, and it has been hard, but she is fighting. My wife and I are, again, deeply grateful for the support messages we have received.

TD: I find your programming of the chess engines to be fascinating. So the code is hidden and disguised if I am understanding this method of programming correctly. Wow - I can't even program... never mind programming in a way that protects the source code! And your source code has been published in printed book form. What a wonderful idea for those who would want to learn from your code! (Visit Oscar’s web site about his chess programs and prepare to be dazzled: http://www.nanochess.org/chess.html )

OTG: In fact, people all around the world tried to debunk the source code for many years. Some went very far but never has anyone found the last hidden tricks. Even Chinese hackers tried to decipher it. If I remember right, there was one Russian hacker who almost discovered everything. I thought that I had lots of material to write about so I made the book, I certainly enjoyed it and I experimented with various languages. I was amazed that people said that it was famous when I mention it briefly, the type of answer "Oh yes! I already know it, I've seen it mentioned at least 3 times on the Internet." This chess program is a mental exercise but people really like it and I even had some competitors ( Editor’s note: Dutch physicist, H.G. Muller ) that forced me to be better. The obfuscation of code idea comes from my assembler language background. A programmer can write routines using different instructions that doing the same thing. Programmers tend to do exactly that once they find themselves writing the same code over and over.

TD: What are you working on now and what are your future plans?

OTG: Right now I'm working in the porting of Uridium from MSX to Colecovision, also I'm developing Sydney Hunter and the Sacred Tribe for Intellivision. Of course the latest one is part of my devious evil master plan to conquer the world... Er, to keep working in useful features for IntyBASIC… Also just yesterday I was wondering about some poorly documented bits in the VDP processor used in the Colecovision and its emulation by CoolCV.

TD: Are there any other games that you would like to program?

OTG: I've got a strong feeling that I should be writing Princess Quest 2 and that it should be better than any of my previous games and just some days ago I had some big ideas for a Mecha 10. Of course everything is little advances in my mental notebook, running in some background process inside my brain.

TD: Can you give us some more background on why you programmed MECHA 8 and MECHA 9?

OTG:I thought that Colecovision didn't have enough space games, but better than this, it didn't have games with enough bullets. Why 2 or 3 projectiles when you can have a screen full of bullets? Or a bullet hell? And why small bosses when you can have half of the screen occupied by the boss? Or why do games lack nice smooth scrolling backgrounds? Of course this includes some "modernization" of the game concept for Colecovision. These games wouldn't have existed in the eighties because some key things like a Pause button barely had starting appearing, story frames, background music, multiple levels, multiple endings, easter eggs, credit screens. Here I was pretty lucky I was able to plan, draw and design most of the game, so everything fits in my "global" idea of how a game must be… mostly fun.

TD: I want to let you know that I recently sent my COLECOVISION FLASHBACK. to Byte Knight ( Todd Holcomb on AtariAge ) for the ULTIMATE COLECOVISION FLASHBACK. I am blown away. It uses your COOLCV emulator and it has a Raspberry Pi 3 in it for its main hardware. I also read on your web site that the Familia Toledo organization preceded the Raspberry Pi with a $99 computer. What do you think of the Raspberry Pi?

OTG: That is a good decision. I've seen pictures of the results of Todd's work and it's amazing. Even better is the look he got for the interface and the smooth integration with CoolCV. In my honest opinion, it's a “Colecovision dream” when you play games at full screen with HDMI. It looks nice, even if somewhat slow. The accelerated display is what prevents it from “drowning.” Of course, I don't think the manufacturer thought of emulation or gaming for the Pi. And yes, I worked on the $99 computer project. Unfortunately, it has been stalled.

TD: Princess Quest. It is simply awesome on the Colecovision. And you are offering the ROM for free with your COOLCV emulator. Thank you for offering these games up for free for us to enjoy. I see a trend here as Carl Mueller Jr. has just released the ROM for MS. PAC-MAN for the Intellivision for free... It is a great time to be in retro gaming! Princess Quest for the Colecovision Princess Quest for the Intellivision. 

OTG: Probably you should give thanks to Pixelboy (Luc Miron) and retroillucid (Jean Francois Dupuis) because both lured me with “the Canada green grass.” I think somehow the money (even if not too much) finally made my mind to allow me to dispose of my time to create games and getting a reward for it like the physical cartridges I get with every release. Most recently the small income has allowed me to get a laptop for developing games on the road, tools, and consoles for testing. Sometimes it even pays for internet service, energy, and gas bills. As a regular visitor of AtariAge, I've seen how some games are lost in “oblivion” because when the physical copies were sold out, the programmer forgot about the game, or worst, he lost everything because his/her computer may have failed. So once all physical copies are sold out, I've decided to slowly release the ROM files for everyone’s enjoyment. It is also my way to return something to the community that has supported me with open arms.

TD: Out of the three main systems you programmed for, can you rate the systems in order of enjoyment? I would guess that the Atari 2600 was the worst of the three to program... You mentioned in the Intellivisionaries podcast that programming the Intellivision was like "heaven." Is it more enjoyable to program than the Colecovision?

OTG: Programming enjoyment? That’s a strange phrase. I would put the 2600 as the most enjoyable when programming, there is a lot of challenge, hence the enjoyment. Although the productivity is greatly reduced here, probably you invest three times the effort and time to code a game. Now Intellivision would be the second one because with IntyBASIC, it's so easy to start coding an idea and in a few hours, you can quickly have something working. Colecovision is now the hardest to program because everything is done directly in Z80 assembler, although I've now a few libraries that allow me to do a fast start on programming a new game. The CP1610 instruction set supports 16- bits out of the box, while Z80 requires several instructions for common 16-bits operations. Going from Atari to Intellivision was the change that triggered the "heaven" word. There is almost zero tool help support and extremely basic 6502 instructions in programming on the Atari. With Intellivision, there are MOB (sprites), definable graphics, 3-voice sound, more memory, and more space for games. It's certainly a lot, lot, lot better.

TD: Will you consider programming another Atari 2600 game again in the future? Any games that you would like to see on the 2600?

OTG: Yes, I've been wanting to write another Atari 2600 game, but still I don't have a good theme. Although, who knows? Maybe I've found something I want to program. ( Editor’s note: Aardvark, perhaps? )

TD: Do you have any other message to share with all of the retro gamers all over the world? What do you see happening in the future for retro gaming? (I hope someday we can meet in person at a convention like a CG EXPO or something like the Portland Retro Gaming Expo that are held in the USA. )

OTG: I'm enjoying the same classic games as everyone and the spirit of discovery is what keep us in here, and also I'm still looking for games in the wild. Maybe we are getting old, but our heart is young. We are still a bunch of kids, just like in the eighties that enjoy sharing their impressions, their gaming tricks, we are friends, we are family. I think that the best things of modern games will filter slowly inside new games for old platforms and we will still see even better games. I'll just give praise for some impressive new games for Colecovision I've seen along the years like Caos Begins, Quest for the Golden Chalice, Battle of Hoth, Boxxle. For the Intellivision, I'm astonished by Whale Hunt, which won first place in the IntyBASIC 2015 programming contest. Mermaid, Space Versus and Goatnom (this last one very soon to be published). Even in the Atari scene there are things like a complete reimplementation of Pac-Man, also Wall Jump Ninja and Jump. Space Raid for the Intellivision In following years, well, keep your seat belts on! It only can get better.  

ORIGINAL INTERVIEW BY TIM DUARTE OF 2600CONNECTION