TOAW 3: Ralph Trickey – Interview
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…
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.
5. The dedication of the TOAW community cannot be underestimated, with some players bordering on fanatics in their enthusiasm. Did you have any reservations when you first signed on that you would have trouble ever delivering on the expectations of these die-hards?
That’s easy, I don’t plan to worry about it. :) I was a veteran lurker on the ‘war-historical’ newgroup before the forums existed. I’ve seen the arguments on almost everything, and the hyperbole that people use. I’ve already (on the beta forum) seen the posts about how I ruined the game when I tried out a new feature they didn’t like.
I plan to make the game that I want to play. I understand game design, and I know the difference between management and micro-management. I have some general ideas about where I want to see TOAW go. It isn’t going to be a ‘camel’, that is, a horse designed by a commitee. I’m doing it for the same reason that people create scenarios, it’s just a bit bigger than most scenarios.
The dedication of the community is actually what’s going to make TOAW 3 work. When I see the amount of work that the community has done in creating the scenarios they have, it’s incredible. The number of hours that the beta team and the scenario design team had put in over the past several months is just incredible. It’s been an honor to work with them.
6. What’s next? In addition to TOAW 3, do you have any plans to jump into game programming with other titles?
I’m actually going to be happy with the TOAW engine for quite a while. Obviously, if we sell a million copies, I’ll re-evaluate that, but…
There is a lot of directions that we can take the TOAW engine from here. It’s one of the few games that should be immune from technology changes. I’m not saying that a 3D engine won’t be grafted on, just that it’s not necessary to have shiny water, and the rest.
There are a lot of things that can be done with TOAW still, anyone thinking for a minute should be able to come up with some obvious things. Air modeling, Naval modeling, Modern weapons modeling, PO Control of player units and formations. Team play, internet play, 1800′s combat. I read a newsweek article on SAMS (School of Advanced Military Studies) recently, and trying to modfy TOAW to understand the recent wars like Iraq (including the peace) would be an interesting challenge. Better event handling, a better PO (One that actually understands the battlefield.). Optimizing it for quick internet connected battles. I could go on for hours.
Right now, we’re waiting to see how well it’s received, and we’re going to take a break. After that, we’ll finalize a game plan. Whether it will be TOAW 4 : Modern Warfare, or TOAW Campaigns or TOAW Online, or something else is something I’ll leave you guessing about.
My long-range goal is that there is going to be ‘one true’ TOAW engine. I plan to use options for a lot of things, and I hope to keep older scenarios compatible with the newer versions. If we do branch off TOAW into a couple of different games, I plan to eventually bring them all together into a bigger game.
7. Some may say this release has actually come about in record time, while others are probably gnashing their teeth because it has taken as long as it has. Without placing ourselves in the latter category (we are patient — no really!) can you explain the process over the past six months?
A funny thing happened on the way to the forums… David Heath initially purchased the rights to these games because they’re fun. I wasn’t part of things then, but I think his plan was to have Norm Koger release the code he hadn’t been allowed to, and they’d test and release TOAW: Matrix Edition very quickly. After that, the main money would be made from expansion packs and various new versions. Unfortunately, nobody told me those were the plans.
I first contacted David in November, and by late December, we had all the paperwork completed, and I had my hands on the source code. The only real direction I had from David was that they were looking for a first quarter release.
My wife was sick over the Christmas holidays, and that left me with little to do except look at the source code. I spent about a week looking through the forums at where people were having problems, and decided to go ahead and dig in. I fixed as many of the ‘simple’ problems as I could then started playing around with the PO, hoping to do some minor tweaks. Instead, I found that it was actually very well written, but there were a couple of problems that I could fix, and give Elmer a major IQ boost. I’ve probably spent 40+ hours just watching Elmer play himself, and different versions play each other.
James joined the team as project lead in mid January, and he’s been fantastic. Up until he joined, I was worried because of a past experience with a shareware project, I expected to have to do most of the testing myself. James managed to pull together a bunch of dedicated volunteers, and encourage them to work in doing the boring tasks, things like making a map and using it to verify that the movement routines work. Their hard work and dedication are the reason that I expect to find few bugs in the release version. Without their hard work, I would not have been able to be nearly as aggressive in changing what I did.
In early March, the code was frozen, and we were gearing up for a release at the end of March. I still believe that we could have met that date with a quality product. That’s when I think David Heath took a serious look at what the group had done. David, James, and I spent a couple of hours debating whether we had enough to call this TOAW 3. David suggested that I look at using smaller sound files, and decided that we should upgrade all the music and graphics. That’s also when the scenario tree and the additional documentation button were born. I also mentioned that TOAW 2 had been fully ready for a French/German release, so it was off to get that working in TOAW 3.
Here we are in mid-May, the scenarios now gleam, we’re going to release support for multiple langeuages, and the main routines have been tested for another month with no changes. I think that the additional delay was well worth it, and I hope that everyone agrees.
Thanks a lot for your time here, and some in-depth responses. I’m sure you are probably ready to take a short break from the world of programming TOAW and maybe once again PLAY the game. In fact, should you want a light challenge in TOAW 3 PBEM I could probably line something up for you! :)
Discuss The Operational Art of War 3 on the Armchair General forums.