As part of Armchair General’s continuing coverage of the upcoming release of The Operational Art of War 3 (Matrix Games) we sit down with the programmer behind the new version of this old favorite. He speaks candidly about the new release and where it may be headed in the future…
Subscribe Today
1. Ralph, our readers would be interested to know about your background and how you came to be tapped to take on this monumental task of doing the coding for TOAW 3. I should mention that many people thought what you are doing/have done was impossible.
It’s nothing special. I’ve been in computers since almost day 1, my first PC was an Altair 8800 that I built from a kit back in 1975. I fell in love, and I’ve been programming ever since, as a hobby while I was in the Navy, and after that as a full-time job. By day, I program for a mid-size corporation. I’m responsible for about 250 Million in revenue passing through my hands on it’s way to billing. Mostly my work there recently has become a bit boring, although that’s started changing this year…
I’ve been fascinated with game programming, especially AI programming for many years. I have dreamed of becoming a game programmer, but 1) there’s a LOT of code and graphics in a game, too much for me part-time, and 2) I can’t afford the wages you get as a full-time game programmer; it’s a lot of people’s dream job, so the wages and working conditions are horrible.
I became involved by being in the right place at the right time. I initially contacted David Heath (of Matrix Games) about volunteering to help program one of their other games in development. I did something to impress him, since he asked me if I had heard about a game called The Operational Art of War. After I picked my jaw off the floor and quit stammering, I said that I was definitely interested in it. We got the paperwork finished around Christmas, and I started tearing things apart.
2. I believe you had played TOAW before coming into the project. Did this give you any particular insights into the game which you might otherwise have missed?
I actually own a copy of every version of TOAW produced, although I hadn’t played in years. I got frustrated with the lack of a good PO opponent, and I don’t have the patience for the large scenarios that the PBEM players seem to like. I understand the basics well enough to crush the old PO, but I’m not even close to the level of play that I’ve seen by the top players. James’s (the TOAD Coding Team leader) knowledge of TOAW is incredible, I think we make an excellent team.
I think that my lack of knowledge actually helped, it let me spend a solid month on the PO and the obvious bugs first thing without any pet projects. There are a lot of things that people take for granted, like watching the number of movement points remaining to determine the rounds left, the escape key not working, things like that. The seasoned people are used to these things, but I found them extremely annoying. It also helped keep me from pointless battles with other people about trivial matters, since I didn’t have many really strong opinions about gameplay specifics. As long as it forces you to make ’significant decisions.’

2. Can you outline some of the features of TOAW 3 you’ve worked with recently?
The most fun feature to work on was the new PO (Programmed Opponent). It plays a lot better than the old PO. We hope to ship with a couple of scenarios designed for the new PO. You should try "Korea 50-51" with the new PO, I’ve almost been kicked off the mainland.
For me the best potential is its flexibility. You can customize the graphics and the text on a per scenario basis. We’re seeing some neat things coming out of this, for instance, Jarek’s "Frozen Steppes" scenario uses escarpments to simulate river-side hexes. It isn’t perfect, but it’s an example of what creative thinking by the community will be doing. Jean-Luc Betin has a scenario that’s written entirely in French, that will override all the menus and text in the base game when launched, even if playing the English or German version. I’m doing everything I reasonably can to make it as flexible as possible… If it takes off the way I hope it will, there are some very neat things that are going to happen as the scenario designers learn it’s capabilities.
The least appreciated feature is the time spent on the UI. The escape key should close all the screens, it no longer uses 100% CPU usage, it has a bunch of new hotkeys, scenarios are stored in different folders, you can easily create movies, you can run two copies…
3. You’ve certainly been presented with a long list of bugs and feature requests, but can you share a little about how you approached the subject of cheat prevention in this new version. On a scale of 1-10 with 10 being most secure, where would you rate TOAW 3 for PBEM play?
I’d rather not share any of the detail on how I’m doing it. It seems to work well, and it doesn’t seem to generate too many false positives. It allows you to play the game in multiple sessions, saving between them. It was probably the hardest code to write and test because it required two computers.
I’d rate it at about a 7. It’s about as good as it’s possible to do without an online component. I could do a little bit more to prevent cheating, but nothing is going to deter a determined hacker. One thing I do is that when you do something wrong, I don’t tell you about it. Your opponent will find out that you’ve done something. That’s going to make it more difficult for someone to figure out how to cheat.
4. What aspect of the past six months has been the most difficult battle you’ve had to fight as a coder?
The most difficult thing is that the language is an ‘old’ language. Norm Koger did an excellent job of writing TOAW, but I’m having to drop my programming knowledge back about 20 years. I’m hoping to rewrite it in a more friendly language (C++ or C#) over the next X years.
The most difficult code is inarguably the PO (Programmed Opponent). I’d classify it as mostly a ‘non-cheating’ PO. People like to dis-respect it, but when you look at what it has to do, it’s a LOT. It will use railroads, helicopters, planes, and ships. The ships will look for land targets, the planes will advance and retreat as necessary. The Aircraft Carriers will look for the best place to launch the planes from, engineers will repair bridges, RR units will repair railroads, artillery will support the front-line troops. It also had code in it to recognize when it’s flanked, and has different stances depending on the troops around it. The most fascinating piece is when I went looking for how it dealt with flanking and found a comment something like ‘I can’t fix this because it will break the play balance of all the scenarios.’ ! Of course, I fixed it. :)
The PO ‘Cheats’ in only 2 ways.
A) It understands the strength of all the unseen units around it. It uses this ONLY to understand whether to advance or retreat.
B) It has a slight advantage in combat and supply. If you want to play 100% even, you actually need to set the PO to a human advantage of + 2.
[continued on next page]
Pages: 1 2
Help Armchair General by bookmarking to










