Originally Posted by
JeromeGrasdyke, 01 September 2005
Hehe, "along the way" was just a turn of phrase. In fact both the battle AI and the campaign AI had dedicated programmers assigned to them for over a year, who were assisted at times by other members of the team.
Essentially, the AI is an approximation of how the AI designer plays the game, refined in stages as he finds strategies which work or not. Some things cannot be implemented on a computer - for example, you say you just "see" that one given situation is better than another one. In order to write the corresponding code for the AI you have to know exactly why, and then you have to express it consistently and accurately in terms of numbers. That by itself makes it hard enough.
But then also consider that the game evolves underneath it as the AI systems are developed. Say the designers add a new feature to the game - then the AI programmer has to go back over his old code, which may involve a lot of linked strategies about how say Agents are used in combination with armies, and weed out what does not work anymore, and redevelop strategies for the cases which lead to exploitable gaps in the AI playstyle.
That unfortunately means that you can only write really good AI towards the end of the game's development, when the designers are making only minor changes and you've had the chance to actually play the game solo for at least a month or so... but by then you're inevitably under time pressure because the release dates are looming.
So in an ideal world, the game design would be completely finished and tested before the process of writing AI starts... unfortunately a real-world development studio does not work like that, there's lots of creative people always coming up with really cool ideas that just have to go in before the Alpha deadline ;) And maybe that's a good thing, because often the stuff that is added at the end is important balance and polish which makes the game much better.
We're always looking for ways to improve this process, and for BI and future projects from the Rome codebase the AI can be substantially improved, since in sequels you have that more-or-less fixed gameplay dynamic already. Hopefully that answers your question...
Bookmarks