Heaven’s Community Pages

The Age of Empires Heaven Interviews

Dave C. Pottinger
Ensemble Studios


Dave “Bigdog” Pottinger (Engine Lead)
Imperious Rex (Editor of Gamestats News Network)
Archangel Michael (Age of Empires Heaven)

Archangel Michael: Welcome Dave C Pottinger and Ensemble Studios.. Thank you Dave for taking some time away from your demanding schedule at Ensemble Studios to entertain all us Age of Empires Fans!…

Dave (Bigdog): Thanks for the welcome! We’re in the midst of our near-ready-for-manufacture phase, so we’re all in the office in *major* crunch mode! We’re always happy to talk about Age, though!:)

Archangel Michael: Today Heaven is joined by John of Gamstats gaming news site (Link, by the way, can be found on Heavens Links Page). Okay Dave, Lets start off with any easy question.. What is your main responsibility at Ensemble Studios? And how did you become a part of the creative team working on Age of Empires?

Dave (Bigdog): I’m the Engine Lead for ES. I’ve also done the AI for Age. I came to ES by the most-Internet of means… I sent them my resume via email and the rest was easy:)

Archangel Michael: Age of Empires is causing quite a stir on the internet and message forums, I haven’t seen interest in a new design team like Ensemble Studios for a long time. How do your explain this rising star that is shining so brightly over Age of Empires right now?

Dave (Bigdog): Well, I think it’s a combo of a lot of things as far as Age’s popularity goes… Number One, we have a lot of proven skill in our team. When you mention Bruce Shelley’s name, people understand that means quality. Second, I think Age is a fantastic game. When people first started to see the screen shots, they knew it was something special. In other words, the game does great PR all by itself with the graphics, multiple victory conditions, etc.

John (Imperious Rex): What makes the AI in Age of Empires “smarter” than the AI in the last generation of games like Command and Conquer or WarCraft 2?

Dave (Bigdog): Good question! We tried to do a lot of things with Age’s AI. Some of them have been wonderfully successful (like the focus we’ve put on random games being as good play quality-wise as our prebuilt scenarios). Other things have been tougher (trying not to cheat and to make the AI good enough not to cheat has been really tough). Technically speaking, we just do a lot of different things to solve diff situations. We use (or try to:) the appropriate algos for the appropriate situations. In a nutshell, though, I’d say that Age’s AI is better because we’ve put a lot of emphasis on it (I’ve worked on it for about 10 months now).

John (Imperious Rex): Can your troops be setup in “formations”. ie: Keeping your archers behind your shield bearing swordsmen. Does the computer AI think this way as well?

Dave (Bigdog): Formations are one of the most requested features for Age. Unfortunately, it will not be in Age1. We do have control groups (hotkey-ing a group of units to a particular key) and something other things that help alleviate the absence of true formations. You can bet that formations will be in Age2, though:) As far as the CP’s use of “formations”, yes, he does know that it’s better to have archers as far away as possible and other tactical things like that. For example, when the CP uses a priest to convert a unit, he will then endeavor to either move the priest out of harm’s way (while the priest recharges) or use the priest to heal allied units.

Archangel Michael: This is kind of like Rex’s Question but, Being the AI guy.. have you designed the AI in Age of Empires to reproduce standard military maneuvers? (if so the old Legions of Roman or others?) or is the AI the old Chop and stab routines?

Dave (Bigdog): We did try to work as many standard military maneuvers in as possible. It did work out well in limited situations, but in a lot of cases the AI was more effective with a less-traditional approach. This leads a little into what our goals are for the AI. We wanted the AI to help create the best singleplayer experience out there. As such, the AI has been told/coded to do some less-than-intelligent things at times if that makes for a better gameplay experience.

Archangel Michael: I read somewhere that AoE will learn your style of playing and adjust to your strategies in follow on games. Sounds pretty cool if it is! – Will this be in final product and if so, how does it work?

Dave (Bigdog): An overload of fans isn’t a bad thing:) Here’s my reply to that last question: We do have some basic learning in there (yes, it will be in the final product). Basically, we track some histories as you play your games of Age. Those histories can be anything from what units you like to build most to what resource you tend to favor collecting at a given point in the game. For example: If you like to beat on someone’s town with war elephants, the CP will eventually learn this and start to favor strategies that give him good elephant killers (something like a phalanx strategy) and start to not select strategies that don’t make sense against elephants (infantry, for example).

John (Imperious Rex): Will a player be able to give their troops orders such as defend, guard or scout?

Dave (Bigdog): We have some commands like that (Attack ground, stand ground, etc.). The scouting can be done with our waypoint system pretty darn effectively. Increasing the UnitAI options is also pretty high on our list for Age2 (especially from the Heavenweb crowd).

John (Imperious Rex): Will muliplayer over the internet be strictly playable through Microsoft’s “Internet Gaming Zone” or will it be playable over Kali and best of all direct IP address to IP address?

Dave (Bigdog): The game will be playable over any network that 95 supports (so , yes, you’ll be able to do direct IP to IP connections). The MGZ is nice for matchmaking and stuff, though. Once we get all of the kinks out between our interfacing and theirs, it will be really slick and easy to use. We’re enjoying some really great battles with the MS test team over the MGZ on a daily basis!

Archangel Michael: Is the AI in Age of Empires have the ability to sneak up behind your towns and mount threats from more than one war front?

Dave (Bigdog): Yes. That’s one of the things that I (and everyone else here:) definitely wanted to see it do. We use a pretty complex system to determine when a good time for multifront attacks and backend runs are going to be useful. It’s also worthwhile to note that you’ll see these happen in our random games just like in our scenarios because we didn’t do a trigger-system. The AI doesn’t know the diff between a scenario in our campaigns and a random game that you create (so you get the same quality of play in both).

Archangel Michael: Very interesting! While other RTS games are using water, oil, etc.. to build a “CASH” of resources, what does Age of Empires use to PURCHASE/BUILD units and buildings?

Dave (Bigdog): We aren’t quite as extensible as Quake. We do have our areas, though. The scenario editor always gets rave reviews as far as quality and depth go. We’re shipping all of the tools we used to create our campaign scenarios (the editor, the AI FAQs, etc.), so endusers will be able to really do some cool stuff with the scenarios. The AI is also setup to be user-modifiable and extendible from a strategic (adding new buildup strategies) and a tactical standpoint (adding new battlefield maneuvers). The engine that we wrote for Age is all database driven, so we can easily extend/add new things. We decided not to allow that level of custimization for the endusers in this game, though. It just didn’t seem to fit our vision; we are considering that level of extension for future games, though.

John (Imperious Rex): Do you have any information you can disclose about the different attributes the 12 civilizations possess? Which one is your favourite?

Dave (Bigdog): Well, the different civs each have two or three advantages. Some of the advantages: Faster boats for Greeks, Cheaper Priests for Choson, and Stronger Towers for Babylon. For example, the Shang civ has villagers that only cost 35 food instead of the normal 50. If you do the math, you can easily see that this is a great bonus in getting an early start. The Assyrians, on the other hand, get bowman that fire faster than other civs. So, when someone selects the Assyrians for their civ in a game, you have a pretty good idea what strategy they might employ. The civ differentiation has really turned out well. I hated it when it first went in, but now it’s almost my fav feature. It really adds to the strategic pregame part of Age. As for my favorite civ, I probably have to pick Shang. I love to do an early Bronze Age attack with 6 or 7 cavalry. Because the Shang have the villager bonus, they can build up a lot faster than some other tribes. That can put you into the Bronze Age a few minutes before other plays (if you play your cards right:). I do also like a late game attack with Greek Phalanxs, too

Archangel Michael: A concern of most hard core RTS players – is how the AI reacts to difference skill levels, does the AI “Cheat” to define the other skill levels or are you using some other routines to achieve this?

Dave (Bigdog): If you mean the resources that we have, then we use Food, Wood, Gold, and Stone. Food is always crucial (gotta feed the masses:). Wood is really important early because it really controls how your infrustructure gets created (along with Stone once you can build walls and towers). Gold is key in the later ages to build the cool units and do the awe-insipiring research items (like alchemy to create fire-archers and writing to share LOS with your allies in a multiplayer game).

John (Imperious Rex): Part of the reason Quake is so popular is that players can manipulate the code and actually create completely new games. Is this possible with Age of Empires? If not, will it be in the future?

Dave (Bigdog): One of the areas that Bruce really considers critical is levels of difficulty. I think it really makes the game accessible to everyone and allows everyone to find the “right” game for them inside of Age. The levels of difficulty are achieved with code. For example, at the lowest level of difficulty, the CP always does a stand ground order on his troops. This makes it almost entirely passive so that everyone can win at that level. At the default level, the CP will utilize all of his cool options, just at a lower frequency than at some of the harder levels. We are going to do a hardest level of difficulty akin to DOOM’s Nightmare level. The AI does get a resource boost on that level (at the start of the game) because the goal there was just to give the great players something that’s is always going to be challenging. The spec’ed goal for our hardest was “The AI should always win”. The rest of the levels don’t cheat, though, so you can easily find a competitive, non-cheating game.

Archangel Michael: One of the more interesting units in Age of Empires seems to be the Scout. Does the Scout use a LOS (Line of Sight) or a invisible grid to “Scout” for opposing forces?

Dave (Bigdog): More or less, that’s how it works. All of the units use a very optimized method of searching their LOS to find units. We have a really hot assembly/graphics guy (Matt Pritchard), so we’ve utilized his talent to get this area of the code to be lightening fast. The Scout unit is unique because he does not automatically attack targets like other military units do. This allows you to park Scouts at key areas of the map to watch for enemy activity w/o him chasing people all of the time. The Scout really comes into play, though, when you’re on the attack. A Cavalry unit has a very small LOS. But, a single Scout mixed in with 8 Cav can really up the effectiveness of the Cav attack because you can see what you’ll be running into before you’re right next to it.

John (Imperious Rex): One of the innovations I really like is that one person can look after the “war machine” of a team and another person can look after the “econmics”. Can you tell us a bit about this?

Dave (Bigdog): Sure! That would be our Cooperative Play option for Multiplayer games. Basically, it lets up to four people play a single civ in a game. Aside from helping to even up games with an odd number of players, this *REALLY* helps the strategic and tactical gameplay. Why? Because you get a much more focused effort with what you’re doing. It can be tough at times to manage all that’s going on with your empire in Age. But, if you have a team member dedicated to building your empire and military force, that frees you up to really plan your attacks well and execute them very well. We’ve had a lot of great, positive feedback about this feature. One of the best games of Age I’ve ever played was a Coop game where I just managed a strike team of Cav and Priests while my partner built up.

John (Imperious Rex): Co-op play sounds like it will rock! I know that one of the annoying WarCraft “features” was that any player could change the game speed on the fly. How does game speed work in Age of Empires?

Dave (Bigdog): Glad to hear that you like it [the Coop play]! The game speed is under consideration at the moment. Right now, anyone can change the speed. We’re getting a lot of feedback that this may not be the right way to go, though, so we’re considering changing it:)

Archangel Michael: The vessels units seem like a very unique challenge for you to over come.. Will the AI send escort ships along with the transports for beach landings? And how does the AI determine how many transport to build and units to load for a computer attack?

Dave (Bigdog): Well, other games have used transports, so we’re not alone in that regard. They are one of the more challenging pieces of code to get just right for the AI, though. The enduser data for the AI controls whether or not he will try to protect his transports. If the enduser asks the AI to do that, then the AI will do its best to do the escorting. If the enduser sets up the AI not to try to escort the tport, then the AI won’t even try. The random games use a specialized system that’s weighted by game type and historical play factors to set up this control. The decision to build tports and the units comes from two areas: the pregame strategy (“Hmm, I’m Choson and Choson get double strength long-swordsmen. Why don’t I try to attack in the Iron Age with 15 or 20 of those?”) and ingame events that might alter that strategy (“Shoot. I’m in the Bronze Age and I’m getting my butt kicked, guess I better try to save myself now rather than waiting until the Iron Age to build my military force). It’s also worth mentioning that the transports (like everything else:) work completely fairly in all games (random and scenario). This, IMO, really adds to the quality of the game because, when you play a random game, you know the CP will start off not knowing where you are. But, when he dumps 10 elephant archers on your shore, you know he’s figured it out:)

Archangel Michael: Cool! There have been MANY suggestions for an Age of Empires II on the Message Forums, are there any of them that have peaked your interest as an AI guy from a programming stand point?

Dave (Bigdog): There have definitely been a lot of good suggestions on the site. What’s most interesting from a programming standpoint? I’d probably say something like increasing the cooperation between the human player’s units (one poster called this LOH – line of hearing). This is something the CP does for his own units, but it’d be fun to allow that code to go down to the UnitAI level for all units. Increasing the amount of learning and improving the tactical play are always very high in coolness, too.

John (Imperious Rex): My last question for today. Dave has give us almost 2 hours of his time and I certainly appreciate it. 🙂 What is it like to work on one of the hottest titles that will hit the market. Is the atmosphere in the Ensemble offices pretty “exited” now that you are in the final stretch?

Dave (Bigdog): It’s pretty cool! One of the best things about working here (probably the best, actually) is that I love to come to work everyday. I’ve worked at places where it was excruciating just to even walk in the door. I can definitely say that all my best friends (after my wife, of course:) are up and down these halls. We have a great team of people (we’re looking for more, BTW:) that are all committed to producing the absolute best game on the planet. If I have a bug, any programmer will stay late to help me debug it. Our artists and designers are extraordinary (they whipped up a complete new art/design prototype for a game in a week). We are all extremely psyched about Age’s release. It’s really great to work on a game that I’ve been working on for over a year, but that I still love to play. Everyone here is the same way. We’re also looking forward to some competition over the Internet with people!:)

Archangel Michael: One more question. What has been you most difficult hurdle you have had conquer in Age of Empires AI area?

Dave (Bigdog): That’s an easy one: Pathing. We have worked sooooo long on the pathing to get it right. For all of those beta testers out there, yes, we’ve fixed the stuck unit bug:). We went through five different implementations of the A* algo, each with several optimizations to see if it would be good enough. The real difficulty with the pathing has been our maps. We have very high goals for what the maps would look and play like (a lot more objects than gamers are typically used to, the maps are very large, etc.). Complicated maps make for complicated pathing. Since the CP can’t “see” the gamescreen, he has to use a lot of pathing to figure out what he can do. It’s been a real struggle on the CP side of things to keep that in check, provide an AI that kicks your butt, and still maintain at least 20 to 25 FPS while doing it.

John (Imperious Rex): Dave, you mentioned looking for internet competition. Once the gang here at GameStats get our hands on some copies of AoE we’ll allow the Ensemble team to publicly humiliate us in a game. 🙂 Sound like a plan? There will be no $25,000 bets though like Thresh vs Hubbard match. 🙂

Dave (Bigdog): Looking forward to those matches!!!! Thanks for the interview and the excellent questions!

Archangel Michael: Thanks again for taking so much time from your day!

Back to Interviews