The computer plays too differently.
Imagine a game of chess. You make the first move, advancing your king pawn forward two squares.
The computer replies by moving his king pawn forward 4 squares and declaring checkmate.
You sit there, incredulous. You say, pawns can't move 4 tiles. You say, pawns can't ignore collision. You say, pawns can't take forward. And, even ignoring all of that, you have two pawns in position to instantly take this insane piece.
But none of that matters, and the experts just look at you with disdain and say, "That's what happens when you open with your king pawn."
At the least, that's the feeling I'm left with after coming back and playing a little following the latest patch. So... I'll at least try to document the largest breaks between computer and player, and why they matter.
City defenders. After the first attack on a turn, your city defenders vanish. In combination with the other ways the computer disregards the rules, this makes your city defenders, not to mention your defensive constructs, utterly worthless. On the other hand, the computer gets city defenders in every battle, severely limiting the ability of your army to encroach on the enemy's territory.
This works in combination with another issue. Infrastructure and economics.
For players, the enchantments that enhance your produced units, the buildings such as the armory and training yard, these are critical to making useful armies. But the computer ignores these features and just use whatever is at hand. This means, without special AI boosts to unit production, their armies are worthless.
The computer doesn't care about his gold supply. He just builds as many troops as he feels like, and isn't penalized for negative net worth. This allows the computer to support massive armies. The computer spends inordinate amounts of time building troops, ignoring its economy, which, after all, doesn't actually affect it in any way.
The computer also doesn't care about his mana supply. He can continue to cast spells regardless of what his mana is at. Thus, the computer can get away with just spamming magic at random. In player land, casting burning blade in tactical is basically insane. But the computer can do so freely. Letting the computer auto play a battle generally costs half my mana, even if the enemy is neglible.
Which of course relates to the fact that the computer doesn't sense "threat" in tactical. It has no idea whether the enemy is stronger or weaker, whether it needs to fight seriously or not. That's why it pulls troops to the rear in battles it can't win. That's why it can't be trusted with usable items. That's why it always just goes all out with its magic.
Tactical battles are very different in computer land.
Why are archers defending after they attack?
Targeting restrictions don't apply. Most visibly, the ranged crushing blow issue. The computer doesn't care about the target limits that humans do. Nor does it attempt to target reasonably. Fireballs and blizzards aren't placed optimally. Thunderstrikes and crushing blows happen impossibly. Every time I can only stare in disbelief as this issue raises itself again in some new quixotic manner.
The computer doesn't move and then use abilities. Spiders are crippled by their web and confuse abilities. Heroes don't advance while casting buffs/curses.
Most computer battles happen in auto resolve land. The battlefield there is completely different than the main tactical field. Triggered abilities like Noble Legacy, Fear and Revenge don't function. Hallowed Rite doesn't generate mana from kills. Some abilities, like Lightning Bolt become way more powerful, hitting the entire enemy army for crazy amounts of damage. Troops don't actually have positions in auto resolve land, and range is basically worthless.
The world map is completely different from computer perspective. Monsters ignore enemy positions. The computer can settle in locations where humans can't. The computer shows little interest in wildlands and quests, I've never seen it attempt the master quest, the dragon statues, or the arena.
The computer has no interest in defendability. It spams pioneers, cities and outposts, in a game of whack a mole. Of course, few players would do this, because it cripples city population and wastes city productivity. But the computer doesn't care about those things.
The computer doesn't care about snagging quality tiles, and will happily settle in 6 point locations, even if a 9 point location is right next door.
Diplomacy- the AI lacks both strategy and personality. In general, the computer kisses up to strong people and attacks weak people. Not that it's a good judge of weak and strong. Strategically, this means everyone becomes the pawn of number one and tries to assure his victory. It also breaks immersion. Relias is supposedly some sort of heroic guy, but it really doesn't come through when he accepts bribes to raid my cities like some sort of bandit. The empires and kingdoms supposedly hate eachother and support their own groups, but really, the enemy won't hold off from attacking me, much less come to my protection, just because of our alignment. I'm no more likely to fight one group as the other.
In the end, the game just doesn't have a system of politics. There should be decisions that offend some people but pander to others. For instance, Capitar should approve of people with weak armies and attack people with large armies. Altar should especially hate empires, but rarely fight kingdoms. Ceresa should be consistent in her insanity, instead of slowly making enemies of everyone, and then hating them because they're at war. In sum, like economic modifiers, an adaptable xml system should exist that allows the creation of arbitrary ai rules that take into account things like army size, sovereign strength, economy, alignment, etc...
The computer can't use many important abilities, most notably Tame. The computer doesn't use world spells, such as Raise Land, Bloom of Twilight, Arcane Monolith and Curgen's Volcano. This ties into the fact that the computer doesn't play economics fairly. Back when Arcane Monolith was enabled the computer spammed it everywhere at no cost to itself.
When threatened, the enemy needs to explore options to slow the enemy down until its armies can respond. It should use raise land inbetween itself and the enemy if the path is currently clear of obstacles. The computer currently doesn't care about unrest, so opening up Bloom of Twilight would make city spam even worse than it is. The computer should have a target unrest level, keep track of average city unrest, and build cities accordingly. In addition, if no locations are available, the computer should take necessary action to create those locations.
The computer doesn't make use of perma-buffs such as destiny's gift and celerity. When the computer builds up large sums of mana (which it should attempt to do, unlike right now) the computer should create super heroes, unleash volcanoes, etc. Right now “caster” type enemies are rather negligible. They waste their crystal, because they don't build troops in developed cities, and they have no use for extra mana.
Of course none of this is unbeatable. In fact, it's easy to beat. If it's just a matter of winning, proper use of heroes, magic, blizzard scrolls, powerful drop items, special mana production abilities, etc... it's not difficult to just negate the entire enemy army.
That's not the point. I can't actually "beat" the enemy. I can only "go around" the enemy. I can change the rules of the game, and make my own "impossible" moves. But doing so just leaves a feeling of emptiness.
I don't know how inclusive this list is. It's the things I notice. That said, a large number of glitches, or, irregularities, have been allowed to stand for the sake of convenience. Rather than fancy new features, or even crash fixes, it's these issues that are important.
A- They really break immersion. Every time the computer cheats, or, plays differently, it's infuriating, unpredictable, and breaks the feeling of playing against an equal.
These nonsensical hacks are much more frustrating than straightforward advantages. If the enemy starts with a better sovereign, and unrealistically strong city resource bases, that's understandable. It's like starting a chess match without rooks. But, when the enemy just wildly inserts an extra rook out of the blue? That's what makes the game feel like it's not worth playing.
B- They make the game hard to understand. I keep thinking I can beat an enemy because my mana and income are higher, or because I have good units, or whatever, and then the computer reminds me, that it doesn't care. It has a giant arsenal of nonsensical asymmetry to crush me with. Because it has its own mechanics in its own sandbox, I'm left constantly guessing what the rules are on its side.
AKA, what would make a patch, or even a full scale expansion, worth playing. What it would take to make the game actually satisfying instead of just reminding me of the fatal flaws laying in wait in the depths of the game design.
First off, I should note here, I've played hundreds of hours of elemental. I don't regret the amount I spent on it. My computer can't play Sorcerer King (please make the stupid cloud at the start of battles toggleable.), at least not well enough. I intend to upgrade my computer at some point, so maybe then.
And I've grown tired of other games, to include titles like WoW, over the same sort of complaints. I'm not exactly trying to bash on Elemental.
But, as long as new content is still coming, as long as someone might be interested... this is what I think the game needs to advance to the next level.
A- Threat. Accessible in xml. AI flags need to be able to respond to the enemy army. This breaks down into two versions, tactical and strategic. Tactically, the enemy should judge their opponent, and report it to abilities. IE, an xml flag for say... summon air elemental could read as...
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitOwner_GetMana] > 99]]></Expression>
<Calculate InternalName="Calc2" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitOwner_GetThreat] / [UnitOwner_GetBattlePower]]]></Expression>
<Calculate InternalName="Calc3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc2] > 1]]></Expression>
<Calculate InternalName="Calc4" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc3] * [Calc]]]></Expression>
<Calculate InternalName="Calc5" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitOwner_GetThreat] / [UnitOwner_GetBattlePower]]]></Expression>
<Calculate InternalName="Calc6" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc5] < 3]]></Expression>
<Calculate InternalName="Calc7" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc6] * [Calc4]]]></Expression>
<Expression><![CDATA[[Calc7] > 0]]></Expression>
Strategically, it needs to read area threats, avoid dangerous npcs (by not settling next to dragons.), concentrate its army against dangerous faction units, and perma-stun (as possible) and avoid impossibly strong stacks. The computer also needs to read defendability, or, the number of turns it would take to get a stack with power similar to a viable threat (viable threat measured based on rival factions at war with the ai+specific monsters and enemy stacks in the region.) into the area. Only defendable regions should be attractive for outpost and settlement creation.
B- Currently the traits, like, paranoid, proud, greedy, etc... are both hardcoded, and totally lack any depth. Basically, I can't discern the behaviors from eachother. They should migrate fully to xml, and be able to read data, such as faction total army strength, faction wealth, shared borders, number of cities owned etc.
C- Obedience to game mechanics. The computer should not be able to ignore inconvenient facts, like targeting restrictions, income, etc. This requires, hand in hand, economic management.
The computer should only build units in the most ideal locations. In other words, it should have 2 Ai player stats telling it what fraction of cities should be devoted to building units, one flat and one fractional. IE, X+cities/Y unit production locations. Traits could influence X and Y based on conditions, such as being at war, having lots of gold, etc. It would look at each city, and add up the construction advantage with some sort formula like, (Attackboost*3 + Defenseboost + Healthboost * 0.5 + BonusTraitValue * 0.3 + etc.) then it selects cities from the top until the quota is fulfilled.
It should stop building units when it looks like it could run out of gold. (I would create a player stat for the ai, that determines what percent of total gold reserves the computer is willing to spend to upkeep its army every round. Furthermore, its income should be accessible by xml, such that personality traits can add negative diplomatic pressure when income is negative.)
As above, it should only cast spells when it feels it's necessary and, of course, when it physically can cast them.
Of course, the long standing defender irregularity should be fixed, the computer should target attacks to hit a maximum number of enemies, etc.
D- Use of tools. It's difficult for the computer to use everything, much less, to use everything well. But core mechanics, such as Taming, Arcane Monolith, and Permanent stat boosts are too important to ignore.
E- Auto complete battle, as we know it, should be eliminated. The battle should be calculated exactly based on a “real” battle with both sides controlled by ai. If the auto complete goes for X number of turns with no change occurring, the battle should reset unit positions or end without a conclusion. (So that glitched battlefield conditions can't freeze the game.)
As a final, slightly unrelated note-
The latest version of Project Anarchy has an fbx to hkx converter. Because Elemental uses an old version of Havok, this isn't actually useful. I don't know how difficult it is to upgrade the model loader but... doing so would really help out modders who want to add new models to the game. Particularly those who can only rely on blender.