Antal Zolnai / Novotrade
Added on April 6th, 2011 (5396 views)
Hello and welcome! Please introduce yourself to anyone who may not know you.
I'm Antal Zolnai (Toni) from Hungary. I was born in 1964 and I developed games for the C64 in the late eighties. It's funny, but I never owned a C64 myself.
How did you first get started with computers in general and the C64 in particular?
I wrote my first program at university which was a brick game for the ABC-80. I then started to work for a real estate company. In the mid-80's, the C64 was considered an appropriate computer for CRM, ERP etc., so my job was to develop such systems from scratch. You may not believe me, but it worked.
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?
Practically, the job came to me. A friend of mine, Gábor Pongyor, called me and explained that it would be a good idea to write games for a company called Novotrade. They had fewer developers than game ideas so we went over there and they asked if we could implement a water polo game. I started to work on it parallel to my other job but soon realized the game required much more of my time. I quit the real estate job to focus on the game. Close to deadline, we practically worked around the clock, allowing 5-10 minutes sleep while the source code was being compiled. We finished the game and I worked for Novotrade for many years. The business model was that we worked as freelancers and shared the revenue while Novotrade provided the infrastructure and connection to publishers.
What attracted you to the C64 as a development platform? In your opinion, was it as special as we like to think it was?
You had full control over everything and there were infinite room for tricks. You knew all the registers, zero page addresses, interrupts, etc. by heart. New things that seemed impossible the year before were constantly invented, and it was an awesome feeling when this new miracle was created by yourself.
What C64 games did you work on? Please be as detailed as possible.
Waterpolo, Alternative World Games (also known as Sports-a-Roni), Blades of Steel (conversion from Nintendo), Double Dribble (conversion from Nintendo), and Sentinel Worlds (conversion from PC). I also integrated the Vorpal disk loader for Impossible Mission 2 and did copy protection for several other titles.
On Double Dribble and Blades of Steel, I did the rendering engine. I can't remember who was in the development team of the two games, but I do remember that József Szentesi was the team leader on Double Dribble. I was fully focusing on the rendering engine and the disk loader and I didn't really care about the game play.
I stopped creating games on the C64 because organisational changes at Novotrade made a few of us leave. The company didn't want the revenue sharing model anymore. This was changed when we got the California Games conversion which we expected to pay a fortune. So in 1992, I left Novotrade and started to work in other areas. A few years later, I got back into video games programming the Sega Pico, Sega Genesis and Sony PlayStation.
What companies did you work for, either in-house or freelance, and in what capacity?
I worked for Hungarian company Novotrade as a freelancer sharing revenue. The games were published by Gremlin Graphics, Konami, Electronic Arts, etc. I was a programmer with no specific tasks. In Waterpolo, I did the AI part. In Alternative World Games, I did two complete sub-games and the framework, and in the Nintendo conversions, I did the rendering engine and the disk turbo loader.
Describe a typical day for you in front of the computer.
A typical day also included a typical night. :) We spent all our time in front of the computer and most of us lost our girlfriends because of this. We had an enormous motivation because we wanted to do something no one else had done before. That was our constant focus.
We worked in teams. All programmers had various parts of the games they were responsible for. We had a simple game design to work with which we finalized during coding and testing. We had graphic artists; usually different guys for background and sprite animation. We had a in-house composer but occasionally bought music from other musicians, e.g. Ben Daglish in case of Alternative World Games. We had in-house testers with incredible gaming skills. We developed our own tools. In the beginning, we used the C64 for development but later changed to PCs and loaded the compiled code to the C64 via an extension card interface.
When you were assigned to a game, how much time did you usually have to complete your work?
A development cycle was usually one year. You had to release the game before Christmas. If you missed Christmas, you'd have to wait another year which would also mean that you'd have to add new features to the game. Needless to say, we sacrificed sleep and girlfriends to make sure we didn't miss the deadline.
What tools, development kits, etc. did you use, and did you create any yourself to fulfil a need?
Most tools we used were made by ourselves. We developed an IDE and an animation tool called Sprite Builder, but we also used graphic tools off-the-shelf like Koala Painter and Doodle. I can't recall the name of the sound editor we used, but I remember we had to modify it to meet our needs.
We also wrote a copy protection which was used only for Hungarian editions of some games. The protection consisted of four parts:
1. Start-up: We used undocumented machine code to start the program, but this was not a real protection. We did it just for fun and to confuse disassemblers. It was easy to work around, but kept the beginners out. This part was written by me.
2. Decrypting the disk protection code: The disk protection code was encrypted by using a key which was encrypted in a tricky way. To decrypt the key, you had to run a decryption cycle which XOR-ed itself with the value of two running timers. You had to repeat the cycle and so manual decoding would take ages. The running time of the decryption did also influence the result and modifications in the code would make the decryption fail. This part was written by Gabor Ligeti.
3. Disk copy protection: The program running in the disk drive was stored on the 37th track. This track contained neither syncs nor regular sectors. It looked like garbage and due to the lack of syncs, there was no beginning of the track to start reading from. A six byte non-GCR sequence was used as a sync followed by the program to be read and stored as regular GCR. In case we failed to locate the six non-GCR bytes, we stopped the disk for a moment then restarted it to "shuffle" the bit sequence. Sooner or later, the six non-GCR bytes would read correctly and the program following them would be read into the disk drive memory. The code then transferred a key to the C64 which was used to decrypt the rest of the program. This part was written by me.
4. Memory protection: To prevent copying using a freezer cartridge (which would save the memory to disk), we ensured that there was no valid state of the memory at any moment. The idea was that we manually replaced ten different bytes in the code with zeros. Running into a zero caused a break interrupt. Our break interrupt routine restored the byte causing the interrupt to its original value and zeroed the previously restored one. Therefore, only one byte out of ten was restored at a time. The original value of the zeroed bytes were stored in an encrypted table. We used the difference between the values of the two running timers as encryption key, which was just a few cycles. This was information an automatic program would never be able to restore, because to do that, it would need the exact same program that was used to start the timers with a particular delay. We also used several tricks to confuse crackers. For example, the decryption routine contained a loop based on register X. There was a timer-based NMI interrupt which interrupted in the exact middle of the decryption routine (who would be able to realize that and how?), but upon exiting, it didn't restore the X register correctly. Therefore, the decryption loop ran fewer times than you would expect. This part was written by Gábor Pongyor.
For mass production, I wrote a program running in the disk drive. After loading it to the drive, you could disconnect the C64. When a floppy was inserted, the drive automatically wrote an encryption to the 37th track, then flashed the led when it was ready. It took no more than one to two seconds per disk. This program was game specific since all games were encrypted with different keys.
Were there any games you worked on which never saw the light of day?
No, fortunately all games I was involved in were published.
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?
I'm proud of Waterpolo as it was my first baby. I'm also proud of the rendering engine in Double Dribble and Blades of Steel since you for the first time could see that many sprites running on the screen so freely. The engine could also play music and turbo load from disk at the same time. It handled game play and the jam animation, which each consisted of 64 sprites. There were several tricks in that engine I'm proud of.
If you had the chance to edit your CV of past games, which ones would you add, edit or remove?
Lots of things. :) For example, after Waterpolo was released, I implemented adaptive goalkeeper logic just for fun. You know, this is when you just can't stop!
Are there any particular games you would have liked to have worked on or converted from arcade?
I had some favourite arcade games like Moon Trooper, but it finally got converted by someone else.
Did you get much of a chance to play games as well as create them? Any favourites?
Of course, we played a lot. My favourite games were Elite, Night Mission, Maniac Mansion, Zak McKracken, Boulder Dash, Uridium, Nebulus, Impossible Mission 1 and 2, Test Drive, Scramble, Lode Runner, and Defender of the Crown. I played these a lot! I also played Hunchback, Scarabaeus, Falcon and Traffic.
What games did you feel were appalling and you could have done better, given the chance?
All games I was involved in could have been much better. Waterpolo was a good idea and it looked like real water polo, but the game controls were very bad. I never played the game because of this, but I liked to watch the teams play against each other in demo mode. Alternative World Games was also a good idea with nice graphics, but there was no exciting game play.
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?
We inspired each other. We discussed ideas, concepts and convinced each other what worked and what not.
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.).
Our pre-releases and our development tools were always stolen. I still don't know how. Since I was into disk drive coding, I always had a dismounted drive on my desk (I had to see what the head was doing), so I had a trick to protect my stuff. I shortcut the write protection led on the disk drive with a paper clip and put all important stuff on the back side of the floppy. You might remember that you could punch the floppy to be able to write to its back side, but if a floppy was unpunched, no one would expect any programs on that side. This was my way to hide important things from thieves.
Andromeda Software was a distributor founded by Robert Stein and was as far as I know never involved in the development of software. Novotrade was a company with lots of branches; they had a book publishing division, a marketing company, several electronic shops, a language school, etc. Robert Stein gave Novotrade the idea that there was business to be made with the C64. Novotrade started to import the C64 to Hungary and set up two software development divisions, one for games and one for educational software. Andromeda was the publisher of the early Novotrade games, but as far as I know, Robert Stein was also involved in bringing in other publishers. Later, the game development division of Novotrade was detached and became a US owned company which a few years later was renamed to Appaloosa.
At Novotrade, we worked in a medium size office located in a basement. I personally worked in a room with no windows. The atmosphere was great! Everyone was motivated at the highest extent because we all wanted to create the best game ever made. The office was never empty. There was always someone working there. Back then, Hungary was a part of the communist bloc. The government treated Novotrade as an experiment and as an exception, so it was allowed to function as you would expect a western company to function. There were funny aspects of this circumstance. For example, all documents sent abroad, especially to the western world, had to be checked by a security officer. He had to put a stamp on the document as a security clearance to prevent leakage of sensitive information from the communist Hungary. We were sending development versions of our games abroad on floppy disks and each time we wanted to send a floppy, this officer came and put a stamp on it. He didn't have the faintest idea what a floppy was and he didn't have a clue about what was on it, but with the stamp on the floppy, it was OK to send it abroad.
The other funny story was when a Russian big shot came to visit Hungary and our studio had to set up a demonstration for him. The room was filled with C64's and Nintendo consoles and yes, there was a Nintendo gun too. Before the demonstration, a Hungarian security guy came to check the room, and frightened as hell, he asked us to remove the gun immediately before the Russians would enter the room. He explained that Russian security once shot a policeman who was using a new speed camera because they didn't know what it was. They didn't even slow the car down, just threw a KGB badge over the poor guy. If I remember correctly, we agreed and removed it very fast...
What made you eventually stop creating games for the C64?
We also developed games for Amiga, Nintendo, Atari and Apple II GS. For the Nintendo, we had no development tools so we had to create our own ones. (Ask Csaba Nagy for details.) Later, when the C64 era was over, we kept making games for the new consoles.
What are you up to these days?
I'm a project manager at an online gaming company supplying state owned lotteries. Games again. :)
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.
Those were great times! I would like to dedicate this interview to the memory of Gábor Pongyor who passed away a few years ago. He was one of the best programmers out there. He didn't believe in constraints, and at the end of the day, he always turned out to be right.
back to the list of available interviews