<< Back to Warzone Classic Forum   Search

Posts 31 - 50 of 56   <<Prev   1  2  3  Next >>   
WarLight AI Challenge 2 is live: 12/23/2014 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: 12/23/2014 15:20:10


Norman 
Level 58
Report
To be honest, I thought all other bots would think in terms of something like 'tasks' (or how the bot creators call it) and my bot was the only one who just kept hitting the regions with the highest integer value.

@GreenTea:
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?
Well, capturing a bonus isn't such a good example. Capturing it with the least amount of deployment involved is an optimization problem that my bot solves. Just looking at this one particular task my bot probably always finds the best solution while it's possible that it's not the overall best solution since he uses armies that could be used for another task.

For the other tasks like breaking a bonus there is no real best solution since it depends on what your opponent does. Here my bot always looks for the region with the highest value first and tries to break there. Other bots look for the region with the least amount of opponent armies first but this is highly exploitable behavior. As I said, since there is probably a reason that this region has a higher value than the others, hiting this high value region will probably open up a whole bunch of new opportunities.
WarLight AI Challenge 2 is live: 12/24/2014 09:10:09

GreenTea 
Level 60
Report
WarLight AI Challenge 2 is live: 12/24/2014 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: 12/24/2014 17:09:56


Norman 
Level 58
Report
http://theaigames.com/competitions/warlight-ai-challenge-2/games/549a795c4b5ab240b7148565
epic game :)

A Java bot that attacks the opponent stacks with 1 and puts all armies to one place? Looks like I almost lost against my own Starterbot.

You have nice run now Norman.
At present I don't care to much about wins / losses. I wrote some tasks and my current bot is a 'showcase' of those tasks but I didn't integrate them in a meaningful manner yet. However I placed some of the more aggessive tasks (BreakSuperRegion, TakeSuperRegionOverFromOpponent) more prominently so that's why at present you see this aggressive behavior.
WarLight AI Challenge 2 is live: 12/25/2014 02:58:12

Hennns
Level 58
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: 12/26/2014 18:52:50


Norman 
Level 58
Report
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.

The term 'island' needs a definition. I would define an 'island' as cluster of bonuses while the whole cluster is only connected via 1 edge to territories not in the cluster. With that definition our islands aren't 100% the same as the visual islands since sometimes the visual islands have more than one edge to territories not in the island. However with that definition finding such islands should be a doable task.
Step 1: Guess that all bonuses are islands
Step 2: If two islands have more than one connection to each other then merge them to a single island.

Integrating the island knowledge into your play might give you a little edge. Let's say that during picking stage all good bonuses are already taken. Then you might prefer a wastelanded island bonus to another wastelanded bonus if so far only you / your opponent have picks in the island.

Edited 12/26/2014 18:54:38
WarLight AI Challenge 2 is live: 12/27/2014 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: 12/29/2014 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!
WarLight AI Challenge 2 is live: 12/30/2014 00:25:55


Norman 
Level 58
Report
This challenge just doesn't feel right so far... last challenge the first two weeks I coded all day despite don't really having the time for it. At present I'm having the time... but it just doesen't feel right. Where are the good guys, what are the other bots standing for? GreenTea stands for a nice cup of tea, LastOrder for getting last order,... You should be excluded from rp for calling your bot pedrito_Warlight2.
WarLight AI Challenge 2 is live: 12/30/2014 11:22:04

{rp} pedrito 
Level 48
Report
Very funny. I have very little time right now, I'm about to leave for a 4 months trip halfway around the globe. pedrito_Warlight2 is how the system over at theaigames called my bot =), I just haven't come around to changing it to something meaningful.

But be patient, the last AI Challenge took many months to get properly started. The good guys will come around eventually. Meaningful name will appear. IIRC, the whole thing is still in beta stage.
WarLight AI Challenge 2 is live: 1/2/2015 14:36:20

Ikalgo
Level 50
Report
Hey Guys,

Yea, you guys call it Tasks, I call it Plans like the famous Risk AI paper written :-)

Loving this competition a lot. Finally I'm trying to have the bot find an optimum. Though I'm not a great Warlight player myself, it is really fun for me, and I'm learning a lot through the competition!

I'm in a major rewrite at the moment. I finished 2 parts and I know 2 more crucial factors are needed. For example, I simply do not have a "Break" task in place. I created a monster evaluation function which really guides the bot well, but only in the logger output; now to just follow it ^_^ From what I can see, it will certainly be top bot material.

In other words, expect some "real" competition soon Norman :) In the mean time, I noticed your bot still has several flaws, but I guess you don't have so much motivation to improve.

By the way, GreenTea, I really suspected that you would come out on top in the new competition since it sounded like your bot was the least hardcoded. I'm really surprised not to see you on #1 at the moment.

Oh and Norman, it's fun to see you having switched to Europe in the old one as well ;)
WarLight AI Challenge 2 is live: 1/3/2015 01:07:06

GreenTea 
Level 60
Report
Ikalgo: frankly, im surprised too! Current top players did fast investigation of macro mode of play on such big maps and use it, which gives them advantage usually at the beginning. I mean for example:
1) From start of game prefere expand over fight, because it will give more advantage after bonuses will be captured.
2) capturing bonus even if enemy is near its border -> it could work because if players has many contacts of armies in different places then no guaranty that enemy will try to attack exacly that bonus.
3) when many contacts of armies on map prefere attack over defend -> because usually its not enough armies to defend every region.

GreenTea operates usually more safely, which works fine on Small Earth but not working on bigger map. Thats why players who discovered and implemented the right macro mode for big maps are now in top.

+ We have different way of picking, and GreenTea uses the old implementation, which not taking into account information where enemy is picked.

But I have many ideas and currenly had not much time to start coding seriously, so wait for good fight in future!

Edited 1/3/2015 01:37:33
WarLight AI Challenge 2 is live: 1/3/2015 04:11:14


Norman 
Level 58
Report
Hello

Yea, you guys call it Tasks, I call it Plans like the famous Risk AI paper written :-)
Can you give a link please?

In other words, expect some "real" competition soon Norman :) In the mean time, I noticed your bot still has several flaws, but I guess you don't have so much motivation to improve.

My current bot is still just a showcase of the tasks that I have implemented. First task 1 (BreakSuperRegionTask) gets all armies needed then task 2 the remaining, then task 3,... there is nothing integrated yet and all tasks work on the initial visible map without puting the changes of the board after the execution of previous tasks into account. If after the execution of all tasks there are still some armies left then I still got some code from the Java starterbot to handle the remaining stuff.

These are my current 'tasks' btw:
- BreakRegionsTask (only break one of the specified regions)
- BreakRegionTask
- DefendRegionsTask (defend all of the specified regions)
- DefendRegionTask
- DefendSuperRegionTask
- DelayTask
- JoinInAttacksTask
- MoveIdleArmiesTask (make sure that all armies join in to the attacks)
- NoPlanBreakBestRegionTask
- NoPlanDefendBestRegionTask
- OneHitBreakRegionTask
- PreventRegionsTask (Prevent the opponent from taking over all of the specified regions = SuperRegion)
- TakeRegionsTask
- TakeSuperRegionOverTask (completely push the opponent out of a SuperRegion.)

Some of the more high level tasks use the more low level tasks. For example DefendSuperRegionTask is responsible for defending a SuperRegion under threat. Therefore it can use the task DefendRegionsTasks (which uses the DefendRegionTask again) to deploy at all borders under threat or it can use the OneHitBreakRegionTask to hit an attacking region with a single attack. Since this attack should happen first order a message is inserted to this attack so that the MovesScheduler makes sure that this move gets executed first.

Edited 1/3/2015 04:12:09
WarLight AI Challenge 2 is live: 1/3/2015 17:52:51

GreenTea 
Level 60
Report
Version 25. Only picking algorithm changed. And fixed one rare bug when bot starts breaking wastelands on start of game. Now interesting to see how only this changing in picking will affect winrate..
WarLight AI Challenge 2 is live: 1/8/2015 12:47:51

{rp} pedrito 
Level 48
Report
Version 16:
-Added some predictions about enemy bonuses, income and deploy.
-Greatly expanded the attacking functions of the bot.
-Delay moves. Any decent WL player know the value of delaying big attacks... I wonder how long the non WL players in the competition will take to incorporate this into their bots.

Edited 1/8/2015 20:02:45
WarLight AI Challenge 2 is live: 1/10/2015 16:02:45

GreenTea 
Level 60
Report
To Pedrito: I like your delay moves :) Should implement something similar..

Version 46.
Prediction of enemy income improved. Now bot has 2 alrorithms for predition of where enemy will deploy his armies:
1) combinatorical algorithm: where we generate all possible income usages and take combination with max scores for enemy.
2) history algorithm: where enemy income usage from previous turn is taken as prediction of income usage for next turn.
And I use some criterias to enable 1st or 2nd alrogithm. Also in some situations prediction is not used.

Edited 1/10/2015 18:04:12
WarLight AI Challenge 2 is live: 1/11/2015 09:38:32

Ikalgo
Level 50
Report
Guys, I'm wondering what would be the closest settings here on the Warlight website, so that I can practice these kind of maps with these settings myself :). Any advice?
WarLight AI Challenge 2 is live: 1/11/2015 13:20:34


Norman 
Level 58
Report
Hello

Guys, I'm wondering what would be the closest settings here on the Warlight website, so that I can practice these kind of maps with these settings myself :). Any advice?

The settings part of your question is easy:
- 16% luck straight round
- random warlords distribution
- 2 neutrals, 2 starting armies
- Wastelands of 10 and amount of wastelands = amount of bonuses / 2
- Enough picks for both players to fill all bonuses
- everything else set to default stuff

Problem with finding a good map is that there is to much variation. As a human I would play those small maps with only 1 or 2 (or 0...) versatile bonuses completely different than the big maps.
--> http://theaigames.com/competitions/warlight-ai-challenge-2/games/54b221f04b5ab219f054bbf5 very poor map

https://www.warlight.net/Play?PreviewMap=12501
Should be a good map where you can also find some good opponents joining your games. Just as in our AI maps this map is pretty much open, it has a good size and I believe the way you priorize expansion vs fight should be quite similar. You can set the value of the magabonuses to 0.
WarLight AI Challenge 2 is live: 1/15/2015 16:35:38


Norman 
Level 58
Report
Hello

Since I can't finish coding my bot on my own I'm looking for an experienced Java coder (or maybe more than one) to keep coding RealityBomb. The bot is relatively well structured and I still want to participate with giving specifications on how to solve WarLight problems (which bonuses to pick, move order,...)

The bot will then be our common bot and if someone wants to quit particpating he can use the already present code to write his own bot. However as I said I'm not looking for complete programming beginners but for guys who know how to code in Java.
Posts 31 - 50 of 56   <<Prev   1  2  3  Next >>