WarLight AI Challenge 2 is live: 2014-12-19 23:02:43 |
Hennns
Level 60
Report
|
ah, that worked; thanks :)
|
WarLight AI Challenge 2 is live: 2014-12-20 20:55:35 |
GreenTea
Level 60
Report
|
From version 6 migrated to 16% luck & straight round.
Nearly break my brain trying to implement correct formula to calculate how many armies are killed which take into account luck modifier (and then chance to capture region with given count of defending/attacking armies).
Now expand should be more effective, since on this settings 3 armies always kills 2 defenders.
Edited 12/20/2014 20:56:09
|
WarLight AI Challenge 2 is live: 2014-12-22 12:24:26 |
GreenTea
Level 60
Report
|
After watching of games of GreenTea currently I see 2 main issues. Firstly, it appears that expand is sometimes has more priority then fighting with enemy. Especially on start of the game. GreenTea could relatively nice expanding and fighting, but mechanism of what is more important in this moment is completely absent. Currently bot prefere fight over expand. Another current 2 top bots (Pinky and Anila8) prefere expand over fight. This tacktics could give more advantage from start of game, and then no metter how bot good in fighting - its defeat.
But I belive its needed to find bablance between expand and fight moves. I plan to implement it in next way: - For given current income N we calculate all possible expand turns with income from 1 to N, saving scores for each expand turn. - For given current income N we calculate all fight turns with income from 1 to N, saving scores for each fight turn.
Then we select pair of expand turn + battle turn, where sum of income is exactly N and where their sum scores is maximized. Hardest part here is to find right score measurement for expand and fight turns.
Second issue is picking territories. During picking bot should take into account where enemy is already picked. Also it should select combos (where it is possible to finish bonus in first turn) if its possible, and put some picks near enemy combos to break them more easily during game. Also if my pick is near bonus where enemy has combo bot should try to attack it in first turn, to prevent captureing of it.
Edited 12/22/2014 12:43:50
|
WarLight AI Challenge 2 is live: 2014-12-22 13:08:01 |
{rp} pedrito
Level 48
Report
|
Haven't started coding yet, but soon!! Can't wait. This competition look awesome, I have so many things in mind that I thought about doing for the first one and that weren't actually useful (because the strategic options were so limited on small earth map). Actually I did code a tiny bit, I corrected my bot from the first challenge to check for wastelands during starting picks, and to return them in the proper format. Just to see how he would perform, though it's wasted time because I'm starting the new bot from scratch.
|
WarLight AI Challenge 2 is live: 2014-12-22 14:31:33 |
GreenTea
Level 60
Report
|
Norman: I think main problem with task will be lack of flexibility. For example what if better for given income 5 use 2 armies on 1st task (on expand) and 3 armies on 2nd task (on battle). If bot consider that expand task has more priority it can use all 5 income on it.
|
WarLight AI Challenge 2 is live: 2014-12-22 23:24:25 |
GreenTea
Level 60
Report
|
Norman: ok. What if same task have several ways to be executed. For example could be thousand ways to capture some bonus. How do you plan to find the best? Using some sub tasks and sorting them? Could be nice recursive idea if so.. Tasks are good way to decompose problem on smaller pieces. Also execution of separate tasks could be more easier to cover by tests, then one monolito bot.
|
WarLight AI Challenge 2 is live: 2014-12-23 13:38:28 |
{rp} pedrito
Level 48
Report
|
On tasks: My bot for the first competition was task based, and the new bot will be too. The way I see it, a break-bonus attack is essentially different than a complete-bonus attack, and therefore needs to be set up differently.
The tasks that I used were: -defendBonus -breakBonus -breakRun (send a stack to break bonuses that I don't border yet) -preventBonus -destroyArmy -completeBonus -exploreBonus -moveReinforce -joinStacks
Each of the tasks were set up differently and given a priority. Then at the end the bot would sort the tasks by priority, allocate armies and execute the best ones. To avoid the army problem GreenTea mentioned, each Task object has a minimum_required_armies and maximum_useful_armies field. Also, Tasks have a delay attribute, the lower the delay the earlier they get executed during the turn.
I ran into some problems because I didn't anticipate properly, and my code was too ugly by the time I got there couldn't fix them. Also, I never used heuristics, territory values and influence maps. I've learned a lot from Norman's posts about this subject and pedrito 2.0 is going to make ample use of them.
|
WarLight AI Challenge 2 is live: 2014-12-24 09:10:09 |
GreenTea
Level 60
Report
|
|
WarLight AI Challenge 2 is live: 2014-12-24 09:19:43 |
GreenTea
Level 60
Report
|
You have nice run now Norman.
Guys, what do you think, if everybody of us after some major update will post here small relese notes about what was changed in your bot?
|
WarLight AI Challenge 2 is live: 2014-12-25 02:58:12 |
Hennns
Level 60
Report
|
Guys, what do you think, if everybody of us after some major update will post here small release notes about what was changed in your bot? Sounds like a good idea, but I think only a few on you are on a level where it'd be interesting currently.(e.g. I managed to not overkill neutrals (unfortunately the bot currently doesn't even deploy the saved armies, but I'll fix that:P).I'd love the hear how you guys improve though :)
Also another thing that isn't mentioned yet, since the map sometimes creates Islands that are only connected on a few territories, controlling a whole Island would often mean the possibility to have several easily defended superRegions. Thus it could be important for picking and/or eliminating your opponent from one. However I'm at present unsure about how it's best to identify them (if any), and have far more basic behaviors to code atm. Thought it might open an interesting discussion though.
|
WarLight AI Challenge 2 is live: 2014-12-27 01:01:07 |
GreenTea
Level 60
Report
|
Report of version 11. From version 11 GreenTea will start to combine different tasks. So he will be able to fight and capture bonuses in the same time. Also few bugs in calculation of expand scores has been fixed.
I also added such abstraction as Task. And currently I have 3 big types of tasks: 1) Expand 2) Battle combined with strategic moves (when my regions has at least one near enemy region) 3) Strategic moves (when my regions has no near enemy regions, but I know where enemy is situated)
[3 looks a bit ugly, maby I should somehow merge 3 into 2]
Next what shold to be done (except fixing some stupid bugs which I see from time to time) is to sort out good factors for different tasks. Maby at some point GA will be used for this.
|
WarLight AI Challenge 2 is live: 2014-12-29 21:03:13 |
{rp} pedrito
Level 48
Report
|
Pedrito 2.0 is live!
Tremble my friends, for it's swift calculations and razorsharp algorithms will keep you off balance, and open dangerous inroads towards your best protected bonuses!
Aside from that, the actual fighting code is about 6 lines long.
Ehem...
For now most of the basic stuff is in place, lots of abstract calculations but not many specific actions. A lot of weighted expansion options are implemented and the expansion works kind of the way I want to, but the weights are not adjusted yet. Also, right now my bot dedicates 100% of his income to expansion as long as there are sensible options. I'll be surprised if this version actually manages to win any significant fight against anything but the most basic bots.
But after dedicating a whole bunch of hours to write this version up from scratch it sure feels good to see it actually making moves!
|
Post a reply to this thread
Before posting, please proofread to ensure your post uses proper grammar and is free of spelling mistakes or typos.
|
|