Developer Journal on new AI capabilities for Elemental: War of Magic v1.1
World Difficulty: Normal
Map: Tiny
All players (10 opponents) have “normal” intelligence instead of Pariden
Goal: Elimination of all AI players as quickly as possible.
I just find that funny.
If you guys see anything wrong with the strategy I employ, let me know.
Early Game:
Build town, recruited a couple NPCs, sent sovereign out to gather goodies.
Observation: Need more choices in what to build early on.
First rule in this game: Any sovereign I can kill, I will kill.
Ok, Verga by himself can take out Relias and friends…
Ack, at war with a lot of players now thinking I was going to steamroll.
I still haven’t figured out why that sort of thing happens. It shouldn’t.
Building a pioneer. (Winter, 166 AC)
What? No love at first sight?
Built “Toad Ville” near an ancient temple.
Ok, AI sovereign is stuck. Need to make them intelligently learn to teleport out. Let’s see how this works..
Fixing a deadlock I caused… Grr.
Ok, deadlock fixed.
Grr. It is really really hard to nail down what the battlerank should be. I thought I had Verga but nope. He killed my whole group.
Going to try doing it via tactical (loading a saved game to try it again to see).
Should be easy…right?
Well crap, Magnar came after me!
This isn’t going well.
I really hate Verga.
GOT HIM!
I KILLED VERGA!
Magnar’s forces have come for me.
This could go either way.
Heh.
With Magnar thrown back, I’m in a much better position.
Magnar is still a threat but my capital (and last city) is no longer in immediate danger.
Building up again.
Need more war music, emailing Mason.
Getting low on candy.
Next…
I am starting to gain momentum.
Pariden shows up.
Okay, it’s almost midnight. Time to check in my changes and head home.
..updating…
Suggested building:
Trap of wines (Empire)
When built all enemy units attacking city will lose 1-2 hitpoins pr city level
Yep or spells that prevent teleports or spells that reduce the movement of enemy units around a settlement, like the Great Wall in Civ V.
I think the tactical battles should be the standard approach, because they are an important part of Elemental. It would be perhaps better to remove the auto-resolve option, because it would be easier to balance the combat only with tactical battles in mind.
Is the game already harder? It seems you are in trouble way more often than I ever am in this game.
Brad, since you can check the xml tags for sovereigns units, you can use the <IsSovereign>1</IsSovereign> tag to decide if the unit needs a "better" danger calculation (that includes escape paths) like you talk about in the AI test videos. You wouldn't have to run it for every single unit then.
It might feel like overkill to write code for just sovereigns, but it's such a huge problem with enemy sovereigns acting dumb, I think you should try to.
Also, an issue in 1.09e is that the AI will rarely build larger-than-one units, but instead builds a large amount of single units. This prevents it from fielding strong armies late game, because you can only have 12 units in a fight - the player will go in with 12 warriors in a single unit, while the AI has 12 single units fighting. Based on your videos, I'd say this is still a problem - the enemy should be building parties before it gains light plate armor. Not only does this save training time, but it also increases the survivability of units (you need to kill all 4 to wipe out a party unit, for example).
Also, is there a reason the AI is not selecting wrist gear armor to use? I really think they should wear all they could, especially now with the changes to how armor works.
Oh yeah. In 1.09e the AI tends to select only the weapon with the highest attack. What about shields? You can check <WeaponType></WeaponType> tags on weapons to see if they're one-handed or two-handed. Weapontypes that are onehanded are: Blunt, OneHanded. Twohanded are: BluntTwo, Spear, TwoHanded (then there are bows, which use weapontype bow). Then you can grab the shield with the highest armor rating.
Final suggestion.
Tower of archery. Kingdom
One unit pr city level is shot upon with arrows. Damage is 1-5 times level of city
why not just have a game option as to which turn sovs can attack each other?
Thats a great idea. The Empire could get a lightning bolt tower that has the form of a scorpion tail
Really like this idea. Something like this could make for a much more interesting AI.
The Sovereign already has his very own method ::AIManageSovereign() that's why I was baffled to see the sovereign do something so stupid because I've written a lot of code to explicitly prevent that kind of thing.
I agree with regards to the multiple units. I'm working on getting the AI to value that more. It's not a matter of hard coding it, the AI has to determine that that is the right thing to do in a given situation.
The unit design code is something I've been improving in this build. It'll get there.
It seems it's not just the AI that doesn't realize that sometimes
There was also that instance where you intended to move a group of units but only moved one, as you had clicked it to look at stats, then inadverdantly split your force. Could this be solved by incorporating a "split group" button/function, and groups of units can not be moved independently until they are selected and the "split group" button is pushed?
It's a pleasure to see you at work, Elemental is definately worth the wait (though at present AoW:SM is getting a lot of play while I wait for 1.1 )
oh god the ai is annoying as hell to wait to finish their turn got sick of AoW mainly because of the up to a minute wait just as bad as supcom gets late game which slows down badly even though i get 90 fps seems to not want to work on a 6 core cpu.
A request, from a modder's perspective. I don't know if you've seen this before, but it can't hurt to re-post here (it's definitely on-topic).
In 1.09e, the AI does a very poor job at selecting which mount to use for units. As part of the Cavalry "schematic" the AI uses to design new mounted units, the problem is this; the AI only selects "the first mount on the list", regardless of availability or strength. For example, an empire faction will never build warg cavalry because it is always selecting the "horse" mount first - even if it has 100 wargs and 0 horses.
Availability should be easy to code, as for sorting the mount list after strength (again, this is for the internal AI only, so that it does interesting choices) may I suggest looking to the <ShopValue> tag? It is set to 100 for all the current mounts, but I could tweak that on modded mounts.
This is just a personal request to make the AI make better use of modded mounts. Either way, the availability factor is a problem in vanilla 1.09e as well.
Regarding the parties. I feel they did get nerfed a little hard from the original concept. If each member after the first added like 5-10% of their attack skill to the first soldiers, It would help make them more useful. Right now in games I only make parties because they have more health than the normal foot soldier.
With that said, the AI is probably thinking "Hey, i can make 1 nearly invincible soldier or have a bunch of weak soldiers run around together about as effective as a singular weak soldier." No wonder its choosing the quality option.
With that said, kudos on finally getting the AI to equip champions and soldiers more effectively. I look forward to testing your hard work.
Jec
As far as early blitzkrieg, I would say to give cities natural defenders along with associated (new) techs. You could still blitzkrieg (potentially) but you'd be required to heavily forestall any economic development.
For instance, for each city level, the city gains 1 defender. This defender is equipped based on a budget (based on city level and buildings) versus resource cost of all available/researched equipment (so that defenders wouldn't just instantly get the best equipment at an undeveloped city). A palace grants +1 defender and +budget.
Other buildings would then influence these things and add additional city-only tactical options. These would require an upkeep. For instance, people have mentioned archery towers - perhaps these are build explicitly and act like a spellcaster in battle, allowing you a special spell (hail of arrows) that you can cast (draining resources instead of mana). These would count as mixed damage of physical and magical damage, which would mean the player also needs to balance resistances (or build more in order to zerg).
I've also noticed that due to seeding, capitals are more or less the only significant target. There's few other targets of opportunity. In part, this is due to the way the resources are seeded - a lot around the starting location and then falling out there. I would say, just give the palace building itself the various bonuses you want all capitals to have and spread the actual world resources out more so that there's more targets of opportunity. As it is, one goes straight after the capital and in doing so, heavily cripples the opponents economy.
I like this approach.
i'd argue that the biggest problem with the AI building groups at the moment is that
- the first group tech is such a huge jump in power in comparison to individuals. groups of three are 3x as powerful as individuals. it's an essential early tech.
- the conditions for building groups are too complicated, requiring level 3 towns at least, plus a building (and another for archers)
a human player prioritises overcoming these hurdles. without prescripted AI i can see how this would be difficult behaviour to encourage.
imho changing the party system itself from 1 > 3 > 9 > 12 to 3 > 6 > 9 > 12 would solve many problems. it would
- reduce the power jump from individuals to parties
- make heroes more unique because there would be no individual troops
- give the game a more epic look and feel
- reduce the number of individual units slowing down tactical combat
- make the base quality of defenders higher, so settlements were always better defended
i would also suggest 4 > 6 > 8 > 11 as an alternative, because i hope one day for the option to have heroes join groups of infantry (because ultimately, no matter how much tactical combat is changed, the problem of sovereign sniping will always remain).
i also believe that it would be better to limit elite units by training time rather than requiring buildings for certain sized groups; ie, have training times increase on an exponential formula and make city level dependent garrison (time reducing) buildings more essential. this way it's never impossible to train good units in a given location, it's just not necesarrily efficient to do so.
as for the the siege thing, i'd prefer a siege mechanic like in the total war games. ie, you can't attack a city instantly, and have to besiege it for a number of turns while you build your engines with which to assault. during this time monsters can be summoned and troops rallied from nearby to come to the relief.
Its really great seeing that the AI is now using weapons and armor. You certainly pulled it out of the fire on vid 4 haha. GJ! Im just curious though, you must be using a much more stable build then the beta that is out, because if I play with more than 3 AI, I crash. Im glad to see that you arent, because that means(hopefully) we will be getting a much more stable version to test. I can play very long games with 1 or 2, but that isnt as much fun. They also never seem to go after each other as well, maybe Im just unlucky and dont have the Luck O' the Frog with me!
So turns are now called "seasons"?
The 4th video demonstrated both items that makes Tact battles both FUN (getting lucky and winning) and the quite frustrating.
It may be just me, but often, way to often to be coincidence imho, the RNG will provide great HIT values on a enemy target until you reach that moment where the Final Blow would finish it.(Overkill not withstanding)
BUT, instead of a BLOCK, it will leave the enemy with 1HP and and as such an undeserved final retaliatory strike or it happens on your last attack of that round.
If my attacks against any opponent averages 10-15HP, based on their defense rating of course, why then, when it comes time to finally get the KILL, does said "average" seem to plummet to the exact # for that 1 hit, to leaves the enemy at 1HP?
(2:05 to 2:20) The 12HP enemy takes a hit for -1(11/12) then -6(5/12) then -3(2/12) then -1(1/12) then -4(Kill)
or .8% - 42% - 42% - 50% - 33%(Kill)
P.S. I have also noticed, and the video again shows it, the initial attack, after using all but your last AP's tend to result in low avg. attack results. Why does standing still matter???
If someone already mentioned this stuff, sorry, I watched the videos and took notes on my thoughts, but now I have to run errands STAT! But, I'm really liking the direction this is going!AI Test Part 2- I'm not sure if it's a good idea to let us know exactly what the enemy has for items. Perhaps it can be based on some sort of espionage statistic that lets us know *some* of their items and stats. If we don't know some of them, it shows up as "????" in those areas. Therefore it's a bit more of a guessing game on our part. Perhaps if an outpost has a "watch tower" we'll get a bonus to finding out what they have, so it gives it yet another strategic aspect.AI Test Part 3- I think the dynasty screen should show the ages of people, instead of doing the math in your own head, for the sake of simplicity.- When you are talking about using your money for additional troops, should we be given a "buy out" ability? Therefore if you have 10 turns left, you can actually purchase that soldier right this second, but it would take 10 times the fee (basically turns left x basic unit cost). This would also quite possibly be an indirect money sink, since people seem to want things now a lot of times.AI Test Part 4- When you said "Oh, crap.. that's my son!". Is there a pop-up that says "Your Son/Daughter has come of age!" or something to let us know? It might be in there already, I don't remember seeing it yet though.- Should there be a visible 'hit location' text going? Such as..Damadar slashes The Pioneer across the head for 4 points of damage!The Pioneer impales Damadar for 1 point of damage!Damadar strikes The Pioneer in the arm for 2 points of damage!The Pioneer misses DamadarDamadar scores a critical hit on The Pioneer, decapitating his head in an orgy of blood.On another note, interesting 'fatalities' would add a bit of flare to a death. Such as you've been skewered, decapitated, blood sprays like a fountain, etc. Sure, it may not be visible in the game, but it could add a bit of oomph! Especially when you decapitate an enemy sovereign that has given you trouble for years. It will feel good.
One limitation you didn't mention was that when you invaded a colony, you had to actually subdue the population, not just walk in with one ship armed with a pea-shooter and take over. IIRC, a proportion of the population (dictated by .... morale? tech?) was conscripted as soldiers, then your soldiers and theirs fought it out based on your respective tech levels. Capturing a well-developed colony required committing a substantial number of citizens to the fight.
It seems to me like there's a really obvious way to implement something like this in Elemental: when a city is being attacked, conscript some percentage of the population and hand them weapons and armor. (what they get is presumably based on tech level, buildings in the city, ... ?) They'd show up in the tactical battle as part of the defending army (but killing them would reduce the city's population, just like in GalCiv).
I really REALLY like this idea.
Well, I know it's a little off topic, but could we make some set of equipment when we need to purchase it? I dont know for you but when I go to equip my champion and NPC, I don't want to "loose" some time to think: hum, what does he have? What should I buy for him? Could we create some set and buy the set instead?
There are many great features available to you once you register, including:
Sign in or Create Account