Christmas Duo is a pair of AI files designed to work on a “rush” type strategy.
While the AIs do actually rush, I’m not exactly sure what the overall point of these two AIs is supposed to be. Both cheat so outrageously that they are little fun to play against in single player, and neither employs any real type of strategy (other than cheating) in order to win. They couldn’t be used in an AI competition because of this outrageous cheating, and I’m not sure that they’d be very useful in a scenario.
As there are only general guidelines for reviewing AI files, I’ve followed the method previously employed by Berserker Jerker. This method divides the review into five categories. They are: Versatility, Economy, Building, Military Strategy, and Taunts. Each category is awarded a rating of five.
Both of the AIs included in the Christmas Duo are designed to be played in very specific circumstances. They are:
1. Huns only,
2. Death Match only, and
3. No Island Maps.
Christmas Rush can play from any age, whereas Rush can only play from post-imperial. To be fair, I’ve only tested the AIs in these specific situations, and only rated them according to their performance under these conditions.
Neither AI takes into consideration the type of map, population cap, number of opponents, the opponents’ civilisation, or other factors. The author has gotten around this by testing “shall-I-build” style rules against ridiculously high numbers, for instance:
(unit-type-count-total militiaman-line < 75)
This sometimes results in incredibly unbalanced forces, especially for the Rush AI. That AI’s available range of buildings is limited by its small town size (this is discussed further in the “Building” section), and often results in similarly unbalanced forces.
Neither AI responds to the range or percentage of troops built by its opponents, so a smart AI or human opponent can easily employ monk-rush or other strategies, or, alternatively, note what type of troops Rush is building and prepare a force to counter it.
Overall, neither AI shows any particular versatility, responding neither to the map, the opponents, or the stage of development it has reached.
Both AIs fail to build any real economy, relying instead on outrageous levels of cheating to fund their military endeavours. While this is not necessarily a problem in itself, the poor economy is combined with a fair bit of fuzzy scripting which leads the AIs to do strange, sometimes disastrous things. Christmas Rush only ever builds two mining camps and one lumber camp, regardless of whether it has found the appropriate resources. Rush, on the other hand, doesn’t bother building mining camps or lumber camps, confident in the fact that it will receive 20,000 extra of each resource at the start of the game. In its cheating, Christmas Rush is more restrained, spacing out its cheat resources over 24 minutes, but giving, for example, an extra 36,000 gold in total.
Neither AI trades, which means that, against tougher opponents, they do eventually run out of gold. Often this happens with 20,000+ wood and food remaining, which is rarely spent as neither AI trains skirmishers, and only Christmas Rush trains spearmen. On that note, one wonders why Christmas Rush bothers researching elite skirmisher.
Both AIs are set to build a fixed number of military buildings. The build-plan would benefit from a progressive system (ie, building one of each, and then another of each, etc), rather than simply being instructed to build as many as possible from the start. Regardless, Christmas Rush successfully completes its build-plan during most games. Rush, on the other hand, is handicapped by having its sn-maximum-town-size set to 10. It simply cannot fit all its buildings into this town size.
Against a human player, both rushes have a fatal flaw: they don’t build town centers. Hence, once the town center is destroyed, the game is effectively over. Unable to train new villagers without a town center, both AIs are destined to eventually be overcome as their existing buildings are gradually destroyed. The fact that a maximum-dropsite-distance is not defined aids this cause, as once nearby food resources are exhausted, the AIs will start sending villagers across the map in search of deers, forage-bushes and fish.
Christmas Rush tries to build three universities and two blacksmiths in a post-imperial rush game, costing it valuable time. Both build markets, but never trade or build trade carts.
Rush does not research technologies. Christmas Rush, on the other hand, will research everything. However, it researches in no particular order and for no particular purpose. It also researches using the “can-research-with-escrow” fact, even though no escrow amounts are actually set.
Military Strategy: 2
Both of these AIs are intended to work on a fush/rush strategy. Unfortunately, due to a number of scripting errors, this strategy is rarely successful.
The rush AI only attacks once, after three minutes. It seems the author intended the AI to attack again at 6 minutes, and 9 minutes. However, as the sn-percent-attack-soldiers is set to 0 after the first attack and never changed, subsequent attacks amount to nothing. Christmas Rush has a similar problem, but attacks after only 1 minute. In the end, this is not a huge problem as sn-task-ungrouped-soldiers is set to 100, even though that particular strategic number only accepts a value of 1 or 0. The result is that the AIs makes its troops spread across the map in random fits and starts, and they will eventually come into some contact with the enemy, albeit in small groups.
The author needs to set sn-percent-attack-soldiers to a number higher than 0 before issuing an attack-now command, or no troops will attack. In addition, he might consider using timers to keep the AIs attacking after the first nine minutes. Another strategy would be to use the “town-size-attack” method: that is, increasing the sn-minimum-town-size to 255, making the AI think its town was continually under attack.
Neither AI builds forward-buildings, which is a popular strategy for DM games.
The AIs do not respond to taunts. Nor do they respond to changes in diplomacy, or change diplomacy themselves. This area could certainly do with improvement.
Both of these AIs are a fair way away from being truly playable.
The author should think about using goals, conditional loading, and system defined constants to detect the type of game being played. Rather than simply instructing the AI to build 75 units, have it build a small number of units of each type, and then create more of each type when a required amount is reached, eg:
(unit-type-count-total militaman-line < 5)
(unit-type-count-total spearman-line < 5)
(unit-type-count-total spearman-line > 5)
(unit-type-count-total militiaman line < 10)
And so on.
Make sure you know what each strategic number does before you set it. Setting the sn-maximum-town-size of the Rush AI to 10 has severely crippled its development, as there is simply no room in its town for it to build things.
Try to avoid having your AIs cheat outrageously, as it isn’t that fun for the player, means the AI can’t be used competitively, and takes much of the skill out of AI scripting.
I wouldn’t really recommend this AI for download.
Crazedmaniac, this is not a bad first attempt, but you really do need to spend some more time working with AIs, or at least read some more guides, before attempting an AI such as this again.
My advice would be to more carefully envisage a role for your AI. For example, there always seems to be a demand for AIs that “just attack” to be used in scenarios. An AI such as that shouldn’t be too hard and would be a worthwhile starting point.