<< Back to Warzone Classic Forum   Search

Posts 11 - 30 of 56   <<Prev   1  2  3  Next >>   
WarLight AI Challenge 2 is live: 12/15/2014 01:03:57

Hennns
Level 58
Report
Thanks guys, I managed to get it to work and won over the test bot with the 11th version :p I hope I'll be able to provide some competition (though proably not)

Edit: Turns out I didn't win, i lost lol

Edited 12/15/2014 01:05:07
WarLight AI Challenge 2 is live: 12/16/2014 18:44:52

GreenTea 
Level 60
Report
Currently 2 loses was because exception in expansion code. Just fixed it. Interesting, how much time will pass since start when I lose at least one game not because of error or timeout xD.
EDIT: it happened today http://theaigames.com/competitions/warlight-ai-challenge-2/games/5490ab774b5ab272af67d7cf

Edited 12/16/2014 23:44:14
WarLight AI Challenge 2 is live: 12/17/2014 17:09:23


Norman 
Level 58
Report
Hello

As you might have realized I wrote a bot for the second challenge that does 'kind of' sound moves. (Rank 3 as I write this.) However this isn't supposed to be a competitive bot but just an advanced Java starterbot. You can download it under following link:
https://github.com/Norman1/AdvancedStarterbot

My AdvancedStarterbot has following features:
- Everything of the official starterbot. I didn't write this bot on my own but made some improvements to the official starterbot.
- One function to calculate the AttackTransferMoves and the PlaceArmiesMoves in a convenient way as one task.
- Ability to commit your moves so you don't have to keep track of your already made decisions on your own. Also there is a new map called WorkingMap that gets automatically updated according to your made decisions.
- Shortest Path algorithm
- All the needed architectural components that a competitive bot needs rudimentarily implemented. That is a "FogRemover", "OpponentMovesGuesser", "StrategyComponent" and an "EvaluationComponent".

Everything is just very rudimentarily implemented and I often also don't bother about getting wrong results. I just wanted to write a framework before adding my 'real' code and this is what you get.

Edited 12/17/2014 17:09:53
WarLight AI Challenge 2 is live: 12/18/2014 04:21:13

Jason Romaior
Level 5
Report
Hey norman, do you have any coding background besides the competition? looking through ur code now :), altho i have a bit of self taught programming skills im not the brightest :P, but its a lil hard to read as comments are minimal :P
WarLight AI Challenge 2 is live: 12/18/2014 14:30:06


Norman 
Level 58
Report
Hello Jason

Since I'm a computer scientist I do have some coding background besides the competition ;). The most difficult code in my oppinion isn't from me but from the original starterbot. I admit I kind of hacked some code in the class MovesCalculator but this is just to serve as a showcase with all the components coming into play and you want to write completely different code there.

Edited 12/18/2014 14:30:24
WarLight AI Challenge 2 is live: 12/19/2014 08:22:20

Jason Romaior
Level 5
Report
Ahh kk computer scientist :P gonna say you seem to have alot of know how for some guy who just plays warlight :P

I think ill just focus on writing my bot in the style i was going about it as to practise my own skills at approaching a complex problem

so far ive broken the problem down to the

Early
- Choosing a good starting region (small super, min 1 worth, region can attack two regions in the same super)
- Basically getting early +1-2 army bonus in the first 5 rounds
Middle
Late

So for now just focus on my bots ability to play the first 5 rounds, then later work on its core logic (middle-late game)

any thoughts norman? any hints that you could give me in regards to finding a solution to a complex problem? how do you go about it?
WarLight AI Challenge 2 is live: 12/19/2014 09:46:34

{rp} pedrito 
Level 48
Report
Here we go! Awesomeness will follow swiftly.

Version 1 of my bot is a straight unmodified upload of the final bot that competed in the first challenge. But I don't expect it to go very far: it does not take into account wastelands...

With time I'll bring around a complete rewrite, a proper pedrito 2.0 - until then you guys are off the hook ;)
WarLight AI Challenge 2 is live: 12/19/2014 09:51:14

{rp} pedrito 
Level 48
Report
@ Jason: Have a look into the original AI competition thread. There is heaps of useful information in there, discussion on all kinds of specific and general subjects, as well as links to the sourcecode of some of the best bots of the first competition.
https://www.warlight.net/Forum/Thread?ThreadID=34646&Offset=0

It's also some 600 posts long, some of them are textwalls. :)
WarLight AI Challenge 2 is live: 12/19/2014 11:17:34

Jason Romaior
Level 5
Report
i will read it all :D
WarLight AI Challenge 2 is live: 12/19/2014 21:40:41

Hennns
Level 58
Report
@Norman, the advancedStarterBot looks awesome :) However, when I try to upload it (with no changes) I get a weird error during the input test: "Error: Could not find or load main class src.bot.BotStarter"
I can't figure out what's is causing it, tried playing around/googleing etc. How come it can't find the main class? Thanks :)
WarLight AI Challenge 2 is live: 12/19/2014 22:54:10


Norman 
Level 58
Report
Uhm..... maybe you uploaded it the wrong way. There is a folder called 'src' that contains all source files. Don't zip that folder but instead open that src-folder and then mark all the contained subfolders and zip them.
WarLight AI Challenge 2 is live: 12/19/2014 23:02:43

Hennns
Level 58
Report
ah, that worked; thanks :)
WarLight AI Challenge 2 is live: 12/20/2014 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: 12/21/2014 18:54:20


Norman 
Level 58
Report
I see many bots for the second challenge but very little talk about strategies. Are you all sitting in your dark cellar working on your bots and with a security camera to prevent other players from stealing your ideas? To be honest, I haven't really started programming my bot yet since I was thinking about the general drawbacks of my bot for the first challenge and how to avoid them.

Here are my thoughts:
My bot SupremeDalek worked extremely easy. I gave each region a value based on a ton of heuristics (distance to SuperRegion,...). Then all I did was keep attacking / defending the regions with the highest value until I ran out of armies. This worked extremely well and I believe that when the game opened up (many important borders to the opponent) my bot was the best. Since with the new challenge the games are far more open I could just copy my old code and get some good results.

However my old approach had some limitations. Let's say we are bordering an opponent SuperRegion at present:
- Gaining another border (border region = high priority region) isn't worthwile since we already are bordering him.
- If we decide to break the SuperRegion directly then the value of the other regions (bordering regions and subregions of the SuperRegion) should be adjusted since we don't need them now.

My new approach works as following:
My bot thinks in the term of 'tasks'. A high priority task is, for example, to directly break a SuperRegion or to complete a bonus. The tasks get priorized due to some heuristics. Then my bot tries to fullfill the highest priority task (or the second highest if not enough armies,...). Each time when my bot fullfills a task he re-evaluates the whole board so regions get different values and some tasks might disappear while other tasks occur. If we complete a SuperRegion for example then a new task is to defend that SuperRegion from getting immediately broken. When calculating the needed moves to fullfill a task my bot makes heavy usage of the region values. When he breaks a SuperRegion he will, for example, try to break the region with the highest value first. This helps making very smart moves with little complexity involved. The region with the highest value might, for example, have this higher value because it borders another opponent SupeRRegion.

Edited 12/21/2014 18:56:42
WarLight AI Challenge 2 is live: 12/22/2014 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: 12/22/2014 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: 12/22/2014 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: 12/22/2014 15:14:50


Min34 
Level 63
Report
Props to all of you guys, but I just saw a game between Pinky and Anila8. After a while Anila had some territories in the middle of Pinkies bonuses. Neither bots seemed to care to much and deployed most of their armies on the edge (litteraly almost the edge of the map; Anila had been driven back a lot). Pinkie could`ve lost a lot of income if Anila had decided to deploy in the middle of all his bonuses. Maybe something to look at ;)
WarLight AI Challenge 2 is live: 12/22/2014 17:10:42


Norman 
Level 58
Report
@GreenTea:
The armies problem can be dealt with. When I calculate such a task I always give a maximum amount of armies for deployment as a parameter.

@Min34:
The current bots aren't very sophisticated yet. For example the serious bots know where the opponent has his bonuses and know his income. If you see them playing passive this is probably because they suspect the opponent to deploy his full income on each and every territory.
WarLight AI Challenge 2 is live: 12/22/2014 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.
Posts 11 - 30 of 56   <<Prev   1  2  3  Next >>