Doug Donohoe, the founder and sole developer behind Donohoe Digital and War! Age of Imperialism, was kind enough to take some time to chat with me about his game and his company, where he came from, where he's going, and some of the trials involved with creating a full conversion from game board to PC.
Who are you and how were you involved in War! AoI?
Doug: My name is Doug Donohoe and I'm the founder of Donohoe Digital LLC. We are a small game development studio focusing on computer versions of board and card games. I currently live in Castle Rock, Colorado; previously I worked in the "silicon valley", doing internet business software for Netscape and Blue Martini Software. I was the primary developer on War! Age of Imperialism. At the time, my company had no employees, so I pretty much did everything myself
Congrats on being selected for the finals at the IGF. How's it feel?
Doug: It feels really great! I would like to thank the judges that felt War! AoI was worthy of being a finalist. We don't get feedback on how we made the finalist list, so it is hard to see what they liked, but it is certainly an honor to be nominated
What made you decide to enter War! AoI into the competition?
Doug: Interesting question. I guess it was a number of factors. First, as a new, small and independent game developer, it seemed like a good way to get exposure to what we could accomplish. Second, I was proud of the work I had done converting the eponymous board game to the computer. Having been frustrated with computer versions of Risk and Axis and Allies, I wanted to overcome the annoyances and create a really great game. Third, I thought it would be good to have some 3rd party opinions of the game
Were you a fan of War! AoI as a game board before you decided to make it into a computer game?
Doug: Yes. My friends and I had just discovered Eagle Games and their line of strategy games. Eagle is a relative newcomer to the scene, but is the heir-apparent to the old GameMaster titles
Was it the urge to turn War! AoI into a computer game that originally started you in game development, or have you always wanted to develop games, and War! AoI was a good opportunity to start?
Doug: Developing games has definitely been an interest of mine since the early days. The first game I ever attempted was when I was around 12 and tried to program an Atari 800 game. It wasn't until I was ready for a change from the enterprise software business (which has become exceedingly tough since the market crashed in 2000), that I decided to try games. The discovery of War! AoI was serendipitous in that it coincided with the formation of my company
What did you have to do to convince Eagle Games that they should let you make this title?
Doug: I just cold-called Eagle Games and asked if they were interested in doing a computer version of their War! AoI game. Of course they were probably skeptical hearing from a one-man shop, and they said "not now, talk to us again in six months". So I decided to build the game anyway and six months later, sent them an alpha version of the game. They were very impressed with the alpha and they agreed to allow me to finish it and said they would publish it when it was done. Eagle is a board game publisher, but the president comes from the software industry, so he was somewhat familiar with publishing PC titles. What was a big risk has turned into a good relationship. Eagle published our 2nd game, DD Tournament Poker and that one has been a modest success
What were some of the challenges in converting the board game to PC?
Doug: The first challenge was removing the ambiguities in the rules. When implementing the game for the computer, there is no room for interpretation. So it was interesting. We'd get to a point where I'd discover a certain scenario and would need to talk to the game designer to ask "What is supposed to happen in this case?" The hardest part however was creating the AI players. We had to develop a good understanding of the right strategies in the game. Having played it quite a bit, that wasn't tough, however getting a computer to enact the right strategy at the right time was an interesting problem. I read some books on AI programming, which gave me some good ideas on approaches. The third part that was tough was implementing our unique brand of online play. I wanted an online game to be able to be played "live" or "face-to-face" as it were, but also to be able to run "asynchronously" like a play-by-email chess game, where players could check in and make moves when they had time. Some of us with jobs and families don't have hours to play games non-stop (especially from work ;-))
There's quite a bit of praise for the game's AI, so it seems to have turned out well. Any tips for programmers looking to create similar AI for their strategy games?
Doug: Well let's see... I guess I can say this: I'm not sure what the academic name for the approach we took is, but I implemented a "voting" scheme. Essentially, each thing that can happen in the game - expand your economy, build an army piece, build a navy piece - each votes on whether it should happen. Based on its criteria, it may vote higher under certain circumstances. For example, if my opponent is building a port to build ships, then the Port piece might vote higher, in essence saying "if I'm not built soon, you won't be able to defend against a naval attack". All the votes are tallied and the highest one wins. We used this process for determining where to move pieces, where to attack, etc.
Is there a central lobby for players to connect to play online, or is it direct IP connections?
Doug: There is a central server which coordinates each particular game. Each player connects to the server to send its moves, chat, etc. The use of a central server was necessary to fulfill the capability to play online games off-line and get email notifications of when it was your turn
What made you choose Java as the development platform?
Doug: It was something I was quite familiar with from Netscape and Blue Martini. I wanted to develop applications for Mac, PC and Linux and using a cross-platform language like Java made it easier. Plus, the type of games I envisioned doing didn't require super-fast 3D and physics engines, so Java was quite capable of supporting our needs. In addition, since I had been using Java since it was introduced in 1995, it was the easiest way to get started. My C++ is a little rusty...
What other tools besides Java were used?
Doug: Photoshop for the UI, Final Cut Pro for sound editing and InstallAnywhere for the installer. We also used JDOM and apache for XML processing
How long was the game in development? How many people were working on it in the end?
Doug: It took approximately 10 months. This included building the game engine and some tools we needed (like one to draw the borders between all the countries on the map). I was the sole developer, but I had help with testing, documentation and music composition
So Eagle provided you with all the design resources and a contact to ensure that gameplay remained true to the board game?
Doug: Yes. Eagle is a small company, so the "contact" was the president, Glenn Drover, who helped resolve rules issues. Eagle also provided the artwork for the map - In fact they did the "expanded" map, adding North and South America, which wasn't in the board game
How many hours a week did you normally spend on the game? Were there any points at which you could say you "crunched"?
Doug: Well, it varied. One nice thing about working from home (and for your own business) is that you have flexibility over the hours. In a normal week, I probably worked 40-50 hours. In the last couple of months before release, that probably was closer to 70-80. I find I can't work longer hours with out churning out seriously stupid code
Quality of Life is the new hot topic in the game industry. As indie developers, we get to manage our own QoL - what do you do to keep off any pressure and just have fun?
Doug: I have certainly experienced ungodly hours back in the Silicon Valley, so I vowed to never burn out like that again. It ultimately is not worth it. When I need a break, I take it. I'll take Halo breaks to decompress or let a problem process in the "background". I live in Colorado, so weekday ski trips are a good diversion. In the end, you need to enjoy life, so if you need to take a vacation, you take it. That is the best part of being small and independent - you have much more freedom of time. I have read about the "large developer studio" QoL issues and can sympathize with the engineers there
What are you working on now and what are your plans for the future?
Doug: Our 2nd product, DD Poker, was a success and it enabled me to hire 3 employees. We are working on version 2.0 of the poker product. We are also in the planning stages for some more board game conversions of some well-known games, which hopefully will come to fruition
Any advice for developers looking to convert their own favorite board games?
Doug: You have to know the game very well. If you wish to try and sell it to people, you can't neglect things like help, ease-of-use and quality control. As a one-person company, I had source control and bug-tracking from the start. There are great open-source tools to help the development process. We use Bugzilla for bug-tracking and bonsai for monitoring changes to the tree. In the end, have fun!
Well, good luck at GDC. I'll see you on the Expo floor in March!
Doug: Thank you. It was a pleasure chat-interviewing with you, Drew