Articles Chat Classic News Collectors List Comic Strips Contests Fan Fiction For Sale Interviews Links  
Message Board Online Arcade Postcards Publishing Puzzles Release Lists Staff Token Museum More!
Douglas Engel

Douglas Engel is a programmer and artist for the upcoming
4-Play Jaguar release BattleSphere
, and a nice guy to boot!

MT> Who comprises the production team for Battlesphere?
DE> Other than myself (Douglas Engel), there are also my good friends Scott LeGrand and Stephanie Wukovitz. Anything you see or hear in the game came from one of us.

MT> Singularity, Star Raiders 2000, Star Battle, Battlesphere – what’s the story behind the names?
DE> Wow. That goes back into the history quite a long time. Let's see. The way I remember it,

"Singularity" is the original name of the game that Scott and I came up with back in December 1993. It was going to be something along the lines of BattleSphere or X-Wing/TIE Fighter, except a black hole was going to be a central part of the universe. We sort of abandoned that idea when it became clear that representing the black hole convincingly was something we didn't think we could achieve.

"Star Raiders 2000" was never a name we used for Battlesphere. We DID offer to write an updated Star Raiders for Atari back in October/November 1993, and that's what got Atari interested in signing us as developers. However, they wanted the "Star Raiders" title for their own in-house teams and did not want us making it.

"Star Battle" is the name we changed "Singularity" to when we decided to take the singularity from the universe. "Star Battle" was the name of a game which Scott wrote on a pr1me mainframe computer (in FORTRAN77, I believe) back in 1982/83 or so. The game was a text-based game that played similar (but far superior to) the "Star Trek" (a.k.a. *TREK) games which were popular on mainframes and BBS's at the time. It was really cool and fun to play. It had all sorts of random events and mysterious unexplained things in it. I recall there was even a space amoeba that would could encounter periodically. It was a very popular game on the computers at school. We took the name because it sounded cool and it had a history and Scott had a pretty good claim on the rights to the name.

"BattleSphere" was the last name we came up with. To be honest I don't recall why we wanted to change the name to this. It does sound better. I think perhaps people didn't think "Star Battle" was exciting enough....

However, the "Singularity" roots still exist in BattleSphere. The executable is still named "singXXX.bin" (the XXXX is a date).

MT> It is my understanding that Battlesphere covers new ground in Jaguar programming.
DE> Well, it's definately one of the most refined Jaguar games ever done. We rewrote a lot of code when we figured out how to do things in a new and more clever ways. The sound engine I wrote (for example) went from 4 to 8 to 16 audio tracks the more I learned about squeezing bandwidth from the DSP. I rewrote it 2 times over the course of the game. Scott did much of the same type of thing. I don't know I'd call it "new ground" because these were things people did back in the early days of writing games. This was BEFORE people wrote games and when they found out they were too slow they threw out their computer/video card and got a faster one. We were weened on this type of programming, and we massaged the code in BattleSphere until we were sure it was as optimal as possible. Given more time we know we can get more out of it even now.

MT> What unique features/effects does Battlesphere contain that other Jaguar software does not?
Realtime Raytracing on the menu screens. Interactive audio and music that matches things that are happening in the game. Working 16-console networking with distributed AI that divides the AI tasks over all networked consoles and actually makes the game faster when more CPU's are working on the AI player actions. Let's see.... we also have some animated 16-million color screen effects on the titles. We've got a killer subsumption architecture Artificial Intelligence engine. Our polygon engine uses the blitter in some strange ways that make it about the fastest rendering engine anyone ever wrote. Heck, we beat on the Jaguar so hard that we had to put breaks in the screen video objects to give the DSP cycles to play the audio.

MT> The Battlesphere project has been around for quite some time.
DE> No kidding.

MT> Could you describe Battlesphere’s history and progression.
DE> I suppose I could, but that's probably a topic which would be better covered in a book. It's not really something that could be covered very simply in a couple of paragraphs. If someone were really curious, they could dig up old issues of "Atari Explorer Online" and read the articles that were written for that publication as we were making progress. I think that would be a more accurate history anyhow, since a lot of things that happened I either have forgotten about or gotten muddled in chronological order.

MT> Knowing that Battlesphere was created in your team’s spare time, how much developoment time has been logged since its’ birth?
DE> That's totally unknown. Probably a good estimate would be 3-4 man-years of work.

MT> With Hasbro releasing the Jaguar platform, issues of encryption have emerged. Can you describe, to our less technical readers, what the Jaguar encryption entails, and why this issue was such a problem?
DE> Issues of encryption have always been present. Anyone needing to realase software on the Jaguar would have to get it encrypted in one way or another. In the early days you had to get approval from Atari and pay them a fee and they would encrypt your game. Now Hasbro owns Atari, and they don't really have the time or manpower to worry about the Jaguar. They made the system an open system and that allows developers to encrypt their own games. The problem is that nobody knows where the encryption tools are anymore, and therefore the developers are on their own.

MT>Can you describe, to our less technical readers, what the Jaguar encryption entails, and why this issue was such a problem?
DE> Encryption, for those of you who do not know, is the security that prevents unauthorized companies from making games for a system without paying royalties to the system manufacturer.

When you boot your console, the system decodes the encrypted game and then runs it. Since only the system maker has the key (a sort of "password"), only they can encrypt a game for their console. With this in place, anyone releasing the game needed to get Atari to encrypt the software.

The reason behind all this is that the old Atari 2600 had no encryption whatsoever, and eventually there were dozens of companies producing games for the console, which cut deeply into Atari's game sales, and ultimately brought about the crash of the console market in the early 80's. When the Jaguar was designed, Atari put in a special code to make sure that only encrypted games would run on their system. This meant that Atari controlled who was able to publish games on the system and also make sure that Atari received their royalties from the same of those games.

Essentially what encryption does is use some algorythm to combine all the data in a game with a key. A simple way to think of it would be to treat the key as a number and the software as a number and perform some math between them. After all, all data in computer memory are just numbers. So, if your key was just the number "7" and the software was the number "8638" you could use division as the algorythm and divide 8638 by 7. The result is the magic number "1234". A developer could know that the key was "7" and the magic number was "1234" and that his code was the number "8636", and easily figure out the algorithm. But if you make the algorithm complex enough, the way the key and the code are combined to get the magic number becomes incredibly complicated.

In the case of the Jaguar, we know that the "magic number" is the hexadecimal value "3DODEAD"!

MT> Can you give us any clues to how you were able to encrypt the binary without using any hardware bypassing techniques?
DE> That's easy. I'm surprised everyone doesn't do it. All it takes is time. Essentially what I do is I have a small block of RAM hacked into a cart containing the BattleSphere binary. This block replaces a section of the EPROM which we set aside for this purpose. All I do is use a microchip microcontroller to keep rebooting the Jaguar and testing to see if the code runs. One of the GPIO (general purpose I/O) lines in the Jaguar is set when the program successfully runs, so the microcontroller can tell if it booted properly. If the system boots properly then the image on the cart is a working "encrypted" game. If not then the microcontroller stops the Jaguar, goes into the RAM section of the cart and changes the number stored there by 1. After that, it tries again.

Do you recall those old bicycle locks that had the combination lock on them which had 3 wheels with the digits 0-9 on them? Well, you could open one of those locks simply by starting at 000 and then trying 001, 002, 003... and so on. You'd open the lock in at the most 999 tries. This is very much the same thing. I just keep changing this block of the BattleSphere code until it has the right number in it to generate the right answer. Simplicity at it's best.

MT> You’ve chosen to donate all Battlesphere profits to the Juvenile Diabetes Foundation. Very generous! Certainly a good cause, but why this cause over another?
DE> Because Stephanie herself has been afflicted by diabetes and we all have seen her struggle with it and we've all had a number of scares from some close-calls she has had because of it. We know what it's like to be close to someone with diabetes and we want to do what we can to try and help other people avoid the things we've gone through.

Good Deal Games would like to thank Douglas, as well as Scott & Stephanie,
for their continuous dedication to the BattleSphere project.

Visit the 4-Play's BattleSphere Website
E-Mail Doug Engel


Are You Involved with Classic Games?!?
Let us know, and we'll interview you!


Copyright © 2003, GOOD DEAL GAMES