a Droid's Dream, comments on HttT
Moderator: Forum Moderators
-
- Retired Developer
- Posts: 2633
- Joined: March 22nd, 2004, 11:22 pm
- Location: An Earl's Roadstead
a Droid's Dream, comments on HttT
Here are my collected comments so far from running the AI through the HttT campaign on easy, v0.8.8. Attached are the full comments including the [ai] tags that I added to Korad's side to get him to win:
Code: Select all
Comments on Droid vs Heir to the Throne on Easy:
The Elves Besieged: AI wins, no change
Blackwater_Port: AI wins, no change (gold=220 [from previous scenario])
The Isle of Anduin: AI wins with tweaking (gold=100)
The Bay of Perls: AI wins with tweaking and gold boost (gold=400)
Comments: Adding an extra castle hex on easy would help, but only
if the player has money.
Adding an AI [target_location] would help the Droid
Isle of The Damned: AI wins(no bonus's), no change (gold=100)
Strategy: Defense barely holds out in time.
Muff Malal's Peninsula: AI wins with tweaking (gold=100)
Strategy: Must recruit high HP (hence fighters) to deal with
zombie horde and fact that AI not smart about some things.
The Siege of Elensefar: AI wins, much tweaking, gold bonus(gold=500)
Comments: Initial starting positions drastically favor bad guys.
AI not able to put up reasonable defense with level 1 units
AI likes to recruit thieves, so ended up declining theives.
Crossroads: Wins, much AI tweaking set gold=600
Comments:
It would also be good, on easy, to reduce the number of units
that appear in an ambush to 1 and on medium to 2. Three
units ambushing a unit on easy is really too much as they
can usually kill any stray unit.
Droid recruits merman if fighter an option!
recruitment needs to take into consideration distance
to favored terrain.
Difficult to get Delfador/Kalenz to neither attack recklessly
or do nothing.
The Princess of Wesnoth: no AI tweaks
comments: won by turn 7 first try(320 gold) no AI tweaks,
kalenz & delfador rush!
lost by turn 9 first try(100,200 gold) no AI tweaks,
Kalenz & Delfador rush!
Princess should probably be passive.
Hard to get D/K not to rush and still win w/o lots of gold
The Valley of Death: no AI change Loses on DK charge 505 gold
Wins after gold boost and AI tweak
Gryphon Mountain: AI Wins (200 gold) no eggs
Comments: AI Wins eggs with minor tweaks(200g)
The Ford of Abez: with gold set to 1800
Delfador Keeps attacking L'sar! so use [avoid]
Sea monsters don't move until Konrad enters water!
should move to gaurd ford (with protect_location)
Hard to move Konrad only after purchase of enough units to take
ford.
could do cheaper if delfador and kalenz set to ai_special="guardian"?
or if leader_goal could be turned on later?
currently use trick of targeting orc castle
ultimately decided that needed ai_special= guardian.
That didn't accomplish goal either.
Currently I can't get Konrad to do what I would like him to do,
which is wait enough turns to bring enough troops to guard his
passage befoer making the break.
- Attachments
-
- wesnoth.comments.gz
- (2.15 KiB) Downloaded 208 times
-
- Posts: 873
- Joined: July 4th, 2004, 9:14 pm
- Location: My imagination
- Contact:
Re: a Droid's Dream, comments on HttT
leader_goal, passive_leader, and in fact all ai can be set by turn. Have a separate ai tag:Darth Fool wrote: Hard to move Konrad only after purchase of enough units to take
ford.
could do cheaper if delfador and kalenz set to ai_special="guardian"?
or if leader_goal could be turned on later?
Code: Select all
[ai]
#ai that always functions
[/ai]
[ai]
turns=1-2
passive_leader=yes
[/ai]
[ai]
turns=3-100
[leader_goal]
#to wherever
[/leader_goal]
[/ai]
#you can also base it on time of day
[ai]
time_of_day=dusk,first_watch,second_watch
aggression=0.0
[/ai]
Play a Silver Mage in the Wesvoid campaign.
-
- Retired Developer
- Posts: 2633
- Joined: March 22nd, 2004, 11:22 pm
- Location: An Earl's Roadstead
-
- Retired Developer
- Posts: 2633
- Joined: March 22nd, 2004, 11:22 pm
- Location: An Earl's Roadstead
Looks cool! Good work
[target_location] would be very nice, I think.
I'm guessing that it's probably because the AI only excludes a unit as a recruitment option if it really looks quite bad, and mermen might not look quite bad enough...
David
[target_location] would be very nice, I think.
The recruitment analysis should already be doing this. I'll have to look into why mermen aren't excluded.Darth Fool wrote: Droid recruits merman if fighter an option!
recruitment needs to take into consideration distance
to favored terrain.
I'm guessing that it's probably because the AI only excludes a unit as a recruitment option if it really looks quite bad, and mermen might not look quite bad enough...
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
-
- Retired Developer
- Posts: 2633
- Joined: March 22nd, 2004, 11:22 pm
- Location: An Earl's Roadstead
OK, after a little break (D**N you DOOM3) I have gotten back to running through HttT with the ai. Attached is the full listing, including both commentary and all [ai] tags that I changed. Ultimately, I had to cheat(beyond just giving gold) on two levels: The Scepter of fire, where the first random map the AI units could not force their way through the one narrow passge to get to the Scepter. I had to reload from scratch to get a new map. I also had to cheat by looking in the scenario file was to get a target location for Konrad, although ultimately he didn't leave the keep until after units had moved in range of seeing it anyways. The second cheat was in the final battle. There are just too many incoming units to only recruit three units a turn, which means that you have to get Kalenz, Delfador, and Li'sar off of the recruitment hexes. This means no ai_special="guardian" trick to keep them from suicide charging the enemy. Ultimately, I went and disabled the end of scenario events for their deaths and found that with a full 6 hexes and lots of money, it is possible for the AI to win. So, if the ai_special=guardian were able to be assigned as part of the [ai] tags, this would go away.
Now to see if I can go back and investigate whether the droid patch can be better implimented as a bug fix to persistant, and then on to seeing if I can add some functionality to the AI
Below is the rest of the commentary...
Now to see if I can go back and investigate whether the droid patch can be better implimented as a bug fix to persistant, and then on to seeing if I can add some functionality to the AI
Below is the rest of the commentary...
Code: Select all
The Ford of Abez: with gold set to 1800
Delfador Keeps attacking L'sar! so use [avoid]
Sea monsters don't move until Konrad enters water!
should move to gaurd ford (with protect_location)
Hard to move Konrad only after purchase of enough units to take
ford.
could do cheaper if delfador and kalenz set to ai_special="guardian"?
or if leader_goal could be turned on later.
currently use trick of targeting orc castle
ultimately decided that needed ai_special= guardian.
That didn't accomplish goal either.
Currently I can't get Konrad to do what I would like him to do,
which is wait enough turns to bring enough troops to guard his
passage before making the break.
Using turns option and 1000 gold can make reasonable break for it.
required ai_special="guardian for D&K to prevent suicide
attacks.
Northern Winter:
removed ai_special from D&K. D gets killed
put it back. D&K stay in the castle. Need a way to get them to
move outside of the castle so as to increase recruiting...this combined
with loss of their power on front line leads to defeat...
remove ai_special add AI tweaks add gold(400).
Mountain Pass:
Droid wins with minor AI tweak. (200 gold)
The Dwarven Doors:
removed recruitment pattern
It would be nice if there was an option upon losing to
be able to scroll around the map before ending.
recruiting a couple of mermen!
recruitment_pattern should be in an [ai] tag
perhaps each enemy leader should only recruit 1 type of unit
on easy
also, given the indirection of the main gate, more time on
easy would be a good thing
It takes Konrad 9 of 18 turns to cross the board!
Was just about to give up and add an extra couple of turns,
when voila: (1000 gold LOTS of AI tweaks)
Plunging into Darkness
annoying ai tweaks needed for such a simple level!
The Lost General:
not too bad.
Slow Terrain for D&K makes easier to prevent suicide charge
Hasty alliance:
Why is Dwarvish Thunderer usage fighter? changed
D&K seem determined to defend L'sar! must use avoid tags
targeting Goblin Knight did not seem to work!
If you survive the initial onslaught, your good.
The Scepter of Fire
No choice but to cheat to get sceptre location.
not much in the way of cleverness here. Just try to keep
everyone alive. add lots of gold.
Strange recruiting patterns continue (merman? Horseman?)
Lack of villages make troll horde hard to stop without advanced healers
solution. lots of gold
recruiting archers as only way to get an only dwarf army (w/ change
to thunderer)
perhaps recruitment ought to weight heavily how long it would take a
unit to get to terrain in which it defends at > 50%
But thunderers can't break through narrow troll filled caverns.
Ought to have victory condition where you kill all opponents
and get an event to choose who gets sceptre?
Turns running out should be listed in defeat conditions
After extended Doom3 break reload/saved from beginning to get new map.
much easier map!
maybe easy/level/hard could be determined by width of caverns and
number of paths that lead to sceptre?
maybe on easy have Delfador play the hotter/colder game...
maybe more cave-villages on easy....
almost win with 2000 gold. and cheat of know where location is (my units did find it before the cheat took effect, however.) then lis'r dies...
lose miserably with 600 gold
lose at 1000 gold with D-rush
lose several times at 1500 with various AI tweaks
need a way for AI to learn about discovered targets for randomly located events.
A Choice Must Be Made.
Win in 14/30 moves. no gold boost(100g) or ai changes.
L'sar, Kalenz rush to SE.
Swamp of Dread (starting 430 gold)
no AI tweaks-> Delf death.
win with gold boost(1000) and ai tweaks
Home of The North Elves
D-"Avoid the orcs"... best strategy...go through the orcs
Not really enough time to avoid the orcs.
key to victory. Luck and scouts. Scouts so they can keep
enough ahead to soak up damage from all the critical units.
really not a lot of time for K to make it across (>9 turns out of 18!)
for easy either make turns longer, or maybe make the enemies less
interested in attacking you.
The Elven Council: not much to say here...
The Valley of Statues:
Delfador set to ai_special="guardian"
lots of AI tweaking and gold. won in ~36/45 turns
The Return To Wesnoth
Very hard to keep all the principles alive!
Key to victory: scouts, ai_special="guardian",money
probably could win with less gold...
Test of the Clans
Again, ai_special=guardian to prevent suicide charges
win on 32/50
The Battle for Wesnoth
Not enough free hexes to recruit against huge initial rush if
the ai_special="guardian" trick used.
No way to prevent suicide charge without it.
cheated: removed all defeat conditions for death of all but Konrad
allowed suicide charges. this freed enough hexes in encampment
to stop the initial rush.
- Attachments
-
- wesnoth.comments.gz
- (5.13 KiB) Downloaded 197 times
-
- Posts: 873
- Joined: July 4th, 2004, 9:14 pm
- Location: My imagination
- Contact:
If you use ai_special=guardian, why don't you go a bit further? You can have events that change whether they are guardians. You can station them immediately outside the castle to allow recruiting. Either is practically just complicated AI.
Play a Silver Mage in the Wesvoid campaign.
I don't know if this has been added, but a weighted [target _location] would be useful when trying to get the AI to capture a specific village or move it's units to a specific location.Dave wrote:Looks cool! Good work
[target_location] would be very nice, I think.
I didn't realize you could change the AI parameters based on the turn it was. I'm using [time_area] to lighten or darken certain hexes. Would it be possible to include this command in events so that the time of these hexes can change with events. For example when an enemy moves to the hex with the campfire, the campfire and it's halo is destroyed, and all the surrounding hexes go back to their normal lightness.
P.S. I think it's amazing you got a droid AI to beat HttT. I bet you know a lot more about crafting good AI than when you started.
I wanted to exercise the new pathfinder, and I also wanted to see the modifications Shade had done on HttT for 0.8.9. So I launched a droid in normal difficulty level, and I didn't do any tweaking.
No real problem on Elves Besieged, 13 turns, both elven allies are still alive, and the north-west orc is dead. Blackwater Port ended in only 8 turns (and it could have ended two turns sooner if the droid had been lucky). There were some difficulties at the beginning of Isle of Anduin, but Delfador being the monster he is, it finally went well and ended in 21 turns. And for Bay of Perls, the droid got utterly crushed.
It's nice to see the AI able to do well in normal difficulty level. Especially since it doesn't recall units. It makes me wonder if we couldn't use that as a criteria to balance scenario: with the current AI, a scenario would be considered balanced if a droid can barely win (or lose) in normal difficulty level.
No real problem on Elves Besieged, 13 turns, both elven allies are still alive, and the north-west orc is dead. Blackwater Port ended in only 8 turns (and it could have ended two turns sooner if the droid had been lucky). There were some difficulties at the beginning of Isle of Anduin, but Delfador being the monster he is, it finally went well and ended in 21 turns. And for Bay of Perls, the droid got utterly crushed.
It's nice to see the AI able to do well in normal difficulty level. Especially since it doesn't recall units. It makes me wonder if we couldn't use that as a criteria to balance scenario: with the current AI, a scenario would be considered balanced if a droid can barely win (or lose) in normal difficulty level.
It'd also be kinda cool if we could work out a simple way to teach the AI how to recall.
Then it'd have an even better chance of succeeding in campaigns.
It also might be useful for if we ever implement multiplayer campaigns: you could play them single player, with AI allies. (Though I'm not sure exactly how fun this would be).
David
Then it'd have an even better chance of succeeding in campaigns.
It also might be useful for if we ever implement multiplayer campaigns: you could play them single player, with AI allies. (Though I'm not sure exactly how fun this would be).
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
-
- Retired Developer
- Posts: 2633
- Joined: March 22nd, 2004, 11:22 pm
- Location: An Earl's Roadstead
Actually this is what got me started on the whole AI kick. I had proposed that a level could be balanced for easy if the AI could play it without any recalls (of course, the AI has probably improved since then). I also figured that Normal could be balanced against the AIs with recall once that was developed.silene wrote: It's nice to see the AI able to do well in normal difficulty level. Especially since it doesn't recall units. It makes me wonder if we couldn't use that as a criteria to balance scenario: with the current AI, a scenario would be considered balanced if a droid can barely win (or lose) in normal difficulty level.
Yeah, I have plans to teach the AI to use recall, but if you beat me to it, great! The experience of getting through this has generated a list of things that I think would be good to get the AI to do, and that I hope to work on during my wesnothing time...dave wrote: It'd also be kinda cool if we could work out a simple way to teach the AI how to recall.
Then it'd have an even better chance of succeeding in campaigns.
It also might be useful for if we ever implement multiplayer campaigns: you could play them single player, with AI allies. (Though I'm not sure exactly how fun this would be).
David