<< Back to Warzone Classic Forum   Search

Posts 171 - 190 of 565   <<Prev   1  2  3  ...  5  ...  8  9  10  ...  19  ...  28  29  Next >>   
WarLight AI Challenge: 2014-04-22 17:18:31

{rp} pedrito 
Level 48
Report
Bump...

Just for small talk: what kind of coding experience do you guys have?
I read a few pages earlier that one of the guys learned Java just to take part in the competition. That I found quite impressive.

Myself, I have been learning C++ for a year on my own, now I've been learning PHP for a few months, on my own as well. I've made a game in C++, though nothing really to show off, and a few smaller projects. In real life I've been working in hotels for 10 years, but I'm quite fed up and I'd like to eventually be able to make a living with programming, so that's my drive.

How about you?
WarLight AI Challenge: 2014-04-22 17:25:15


Muli 
Level 64
Report
I started a computer science studies last summer and started programming java there :)
WarLight AI Challenge: 2014-04-22 18:07:21


125ch209 
Level 58
Report
I just finished my mechanical engineering school, i am not working yet so i had time to learn JAVA and i've been wanting to learn programming for some time now, so this competition was a good opportunity to do that. During my education i programmed a maze generator in VB.net as a school project (first time i programmed), and i made one project on matlab to do some fluid mechanics simulations .Just before the challenge i made a little program for warlight using matlab : http://warlight.net/Forum/Thread?ThreadID=33590
That's all the programming experience i had, then i read about Java for 2-3 days to do the warlight AI challenge. I've learned a lot this past few weeks, i think if i had to redo the same bot, it would take 10x less that it took me for Gadzbot

Edited 4/22/2014 18:16:51
WarLight AI Challenge: 2014-04-22 23:17:58

{rp} pedrito 
Level 48
Report
I've learned a lot this past few weeks, i think if i had to redo the same bot, it would take 10x less that it took me for Gadzbot


I hear you...
WarLight AI Challenge: 2014-04-23 14:29:35


Norman 
Level 59
Report


2900 rating! Didn't update my bot (in a meaningful way) last 1-2 weeks though. I scaned the wikipedia page about ELO and I think the reason these high ratings are possible now is because the difference between the high level and the low level bots increased so all those low level starterbots are pumping my rating up. So if the best 20 bots keep getting better they can push me above 2000 rating without me working on my bot. Thanks 125ch209, without your bot I wouldn't have managed this high rating.

At present I'm a bit bored about the map and about the other bots. What I don't like about lot's of the other bots is that I'm pretty sure they only work well on exactly this map since the bot programmers hard coded many different situations what works well on this limited map. I can tell that since they work so extremely fine in standard situations and so extremely bad in not so common situations when things get messy. I'm not saying that my bot can play well on every map. The way my bot expands and fights is optimized for 'small fighting maps'. Apart from picking the starting regions I didn't add any hard coded stuff though. A real interesting warlight AI challenge should involve many different maps and random wastelands. I do like pedrito's bot though for his ability to read the board ;)
WarLight AI Challenge: 2014-04-23 18:11:51


ps 
Level 61
Report
i was trying to avoid specific map orders, but the whole stuck in australia and must rush to break south america or die re-occuring scenario made me add that exception. and now i just don't care much anymore and ended up adding a couple more explicit exceptions. but yeah, i would much rather keep coding on a generic approach that would be tested on multiple undetected maps. maybe a follow up challenge? :)

really wish i had more free time for this, have so many ideas for how to improve it but can only manage a couple hours every few days to look at it. :/ have been fluctuating between 15th and 7th for the past few days, which should be enough to be qualified for the finals.

hope to be able to convince my boss to let me work on this for a few days straight then.
WarLight AI Challenge: 2014-04-24 01:23:43


Norman 
Level 59
Report
Let's see how high the new version of Trogabot can rise. Currently he is number 4 but looking at version 362 I have a feeling that my number 1 days are numbered ;)

Edited 4/24/2014 01:24:21
WarLight AI Challenge: 2014-04-24 03:09:09

{rp} pedrito 
Level 48
Report
The question I pose myself is:

Do Warlighters dominate the competition because we have more experience and know every possible situation by heart, or is it because we spend more time watching games and coding than the others?

I for one hardly play WL anymore since the competition, it has replaced WL for now and takes up those idle hours where I used to play.

A real interesting warlight AI challenge should involve many different maps and random wastelands.


Yes that would be awesome. Maybe the guys from theaigames are up for hosting another one at some point in the future (not right away though, I need a break :D ), else we can probably set something up ourselves. The engine is there.

By the way, the total number of map-specific routines in my bot, including starting picks: 0
WarLight AI Challenge: 2014-04-24 13:06:14


ps 
Level 61
Report
i guess i can override the get out of australia and into brazil thing with some proper code to predict where the opponent could be and move to break that ignoring bad expansion targets along the way, so yeah, there is no real reason for my bot to be map specific atm beyond lack of time to refactor this properly.
WarLight AI Challenge: 2014-04-24 14:38:02


125ch209 
Level 58
Report
i have a lot of map-specific moves in my code, but then again when i started coding this bot i knew 3 things about programming: for / if and while :D I think now i am be able to make a much smarter bot, but i am a little bored about this competition, and i won't be able to tweak my bot for 2 weeks since i'm going on vacation...i hope it holds up and that i will have a few days left to improve it when i come back, now that i know how to access the "history", i have a ton of ideas to improve it
WarLight AI Challenge: 2014-04-25 22:04:54


Trogatog
Level 52
Report
Well, I've been making small changes here and there on my bot. Most of the time I see my bot fail with these small changes and revert the code back to the last version that had better chances of winning.

Now, I've actually let all the small changes that I keep finding myself recoding stay, and now when I see a fault, I just let it run it's course for tweaks. I'm almost happy with the current state.

...almost :)
WarLight AI Challenge: 2014-04-26 00:05:36


Norman 
Level 59
Report
Hello

@Trogatog: I don't doubt that both Trogabot and pedrito have more sophisticated algorithms than SupremeDalek. However on the other hand you have those (in my oppinion) easy to fix mistakes:

- Attacks happen always last order?

- Accepting many idle armies on the battlefield? Use those idle armies for some purpose and if it's just for order delay moves.

http://theaigames.com/competitions/warlight-ai-challenge/games/535ad55c4b5ab23ee61abffe
- Deploying in Australia first order without having enough armies to perform an expansion move?

http://theaigames.com/competitions/warlight-ai-challenge/games/535a91804b5ab23ee61aba16
- How much armies is SupremeDalek supposed to deploy in South America so Trogabot doesen't attack?

Edited 4/26/2014 01:21:07
WarLight AI Challenge: 2014-04-26 03:10:21


Trogatog
Level 52
Report
Like I said, there are a lot of small changes. Every one I made by itself made Trogabot crash and burn. But when I put a bunch of them together today (you'll notice a few versions today...) while observing in a sober state (that was probably key today as well), it was much more successful.

As far as the first game, I still have some slight changes to make to the decision tree that will happen later. I'm still trying to figure out how you're determining turn order though, because that's pretty slick (although I'm sure it's way easier than I am trying to make it).

I did have the order delay moves, but I ripped out a lot of logic that needs repurposing which isn't too vital right now. That functionality will be back later :)

One of the changes I made today was in the logic to determine when to attack. Obviously it still needs a little work, but I already have an idea how (more future prediction logic). The biggest problem Trogabot has as this point is dealing with stalemates, but that's my next big project to work on in the next week.

Looking forward to our next matches!
WarLight AI Challenge: 2014-04-26 05:52:31


Norman 
Level 59
Report
Hello

A decision tree... that is interesting.

I'm always confused when people say that they are fine tuning their bot. This sounds to me like that the bot is playing nearly at human level. I know about all the flaws of my bot and can assure you that he is far from fine tuning level. If I wasn't bored about coding my bot at present I would know exactly what to do better.

How I determine the move order:
First I calculate the moves without bothering about the order. At the end I take all moves and sort them. I distinguish between safe attacks and risky attacks. Safe attacks are attacks where I get a good fight even with the opponent deploying his full income to the attacked spot. Of course you can make smart stuff here like transfering to an important region first that hasn't got enough armies. Since I precalculate the defenceRegionValue and the neededArmies per region I could add that stuff easily to my bot.

How I determine when to attack:
I always attack when I get a good fight. This is a serious flaw in my bot since I'm not defending important spots. With prediction logic you probably mean guessing where the opponent deploys. Well, since I calculate the region values I just assume that the opponent always puts his full income to the region with the highest region value. That's the reason you see me playing so aggressive when bordering the opponent at two spots from the start. I just assume that he puts his full income to one of the spots and I attack the other one.

Detecting a stalemate is difficult I think. This is one of the few things where I don't really know how to solve them in a meaningful way. At present I define a stalemate as a situation where we both have the same income and neither of us can attack an opponent spot and get a good fight.

Oh... and I never attack neutrals in a SuperRegion with known opponent presence. My bot does know the opponent SuperRegions but he doesen't care if it involves attacking neutrals. Never attacking neutrals in a SuperRegion with opponent presence gives some "interesting" ties when two of my bots play against each other. But then on the other hand you see my bot building these huge stacks in Africa and as soon as the opponent shows up he kills him with that huge stack.
http://theaigames.com/competitions/warlight-ai-challenge/games/535ae29b4b5ab23ee61ac11b
@125ch209: Sorry to disappoint you, but it's a bug, not a feature.
WarLight AI Challenge: 2014-04-26 12:22:24


professor dead piggy 
Level 59
Report
Why don't you tell your bot that when he starts bordering 2 enemy territories that aren't connected he needs to deploy roughly 3 and stay put? That is almost always the best strategy, even highly rated ladder players do it consistently. You can get away with less than 3 if you know your opponents bot isn't going to try and clear you. If he deploys to one territory and not the other you can trample the one that didn't get deployed into on turn 2.

"I just assume that the opponent always puts his full income to the region with the highest region value." Basing your moves off of assumptions about what the other person is going to do works badly, one weird move from them and you can throw away a game. Other bots surely don't actually asses all the territories and get the same result as you, and then dump everything onto the one valued highest?

Do you really need to make a guess about what the other bot will do? I imagine not. I dabble with "guessing" but often play games without even considering what my opponent will actually do. Just sticking to risk assessment, foresight and positional advantages beats most human players.

Edited 4/26/2014 12:23:12
WarLight AI Challenge: 2014-04-26 16:59:05


Norman 
Level 59
Report
Hello

Why don't you tell your bot that when he starts bordering 2 enemy territories that aren't connected he needs to deploy roughly 3 and stay put?
Hm... sounds like a good strategy, at least the way you intend it. It's still not at better human level though since you also need to calculate which of the spots matters (more). This should depend on the bonus size and on the position of your other picks. What I want to say is that you can't outplay a better ladder player by such extremely simple heuristics. However, I almost always get away with the way I play my first turn and don't want to break my simple design by adding exceptions.


Do you really need to make a guess about what the other bot will do?
I'm not talking about guesses in the way humans outplay their opponent by getting into their mind. It's just that completely trivial things for humans aren't that trivial for a computer program. Say I border the opponets bonus and I also border him at another completely unimportant spot. Since I guess that he defends his bonus I will assume that I can take the unimportant spot with a 2v1 attack. Of course I don't do any crazy guesses. When it comes to defending my own bonuses I try to defend against all of the opponents possible attacks. So I think your risk management isn't really that different from me guessing and my guesswork is just common sense for a human player. It's a flaw of many bots that they have idle armies in the background which they are to afraid to use since the opponent could put all his income into that unimportant Asia spot.
WarLight AI Challenge: 2014-04-26 17:25:04


Trogatog
Level 52
Report
There's really not that much guessing your bot has to do. If you pay attention to your picks, you can figure out where the opponent is pretty easy. If they're not where you're expecting them, you'll have to find them, but if you got your prime picks, it should be game over pretty quick anyways.

The problem that I keep facing with my bot is this: I'm an EXCELLENT developer, but I'm a TERRIBLE warlight player :) Although, I think I can take a lot of people 1v1 on this particular map since I've observed and studied probably around 5000 game at this point...
WarLight AI Challenge: 2014-04-27 07:37:35


professor dead piggy 
Level 59
Report
Hey, hows it going? I like your bot, it is not stupid =D.

Most human games of warlight get won in the first couple of turns, 'getting away with it' for the first few turns is an odd attitude. If you cant code exceptions do you code the heuristics? Do you use those same heuristics for the entire game?

Ahh, you guys all use the chess approach? I understand chess AIs asses positions by giving each square a value (in centipawns) for the piece it has on it. Knights in the centre are worth more etc. It then adjusts the value for fulfilling certain criteria, for instance pawns that are defending other pieces are worth more. It then adds up all the values to determine how good a position is. To work out what move to make it calculates the different outcomes of its moves and picks the one that leads to a position with the highest value. The heuristics are very limited so it becomes a case of being able to calculate so very many turns in advance that the positions its assesing are very simple. Over a large number of turns you don't need to asses whether there is an advantage in having a knight on B4, you simply play it out a million different ways and if there is an advantage then that will show in hard figures after enough turns. If it calculates 2 turns in advance it makes awful decisions. If it calculates 20 turns in advance then it beats the human world number 1. But you aren't even calculating forward one turn. You are doing it the same way but using the raw values (in centipawns) to asses the position.

It looks like you've hit one of the limitations of the 'chess' approach, turns happen simultaneously therefore youre trying to asses the position without knowing where the enemy deploys. You are getting around that problem by making a (bad) assumption that they will deploy all in one territory, which is in turn leading to more problems. One way to surpass the limitation and take your bot to the next level is to change your approach.

You could play moves that do not consider where your opponent will deploy at all. This is how I used to play against humans. In your example you don't need to guess where your opponent is going to place armies to know that you want to make that 2v? attack in asia. I would question whether infact you do want to make it. The territory you take is likely useless. you may be better using the loose armies as delays so that big attacks happen later.

You could write code to guess. I don't know how effective that would be, but the bots seem quite formulaic. It doesn't have to be incredibly accurate.

You could try calculating forward. I don't even know how to go about that.

All of these ideas give the sense of a grand scheme that every bot i look at is lacking. They are all missing strategy

Trogatog: wanna play this map 1v1?

Edited 4/27/2014 09:17:35
WarLight AI Challenge: 2014-04-27 11:40:35


Norman 
Level 59
Report
Hello

Most human games of warlight get won in the first couple of turns, 'getting away with it' for the first few turns is an odd attitude. If you cant code exceptions do you code the heuristics? Do you use those same heuristics for the entire game?
Well, I do evaluate the whole board and can change my strategy according to the result. At present it's just how much armies I want to use for expansion but initially I planned to play more aggresively in some situations. I really don't like turn based exceptions like "if it's turn 1 and situation X occurs then throw away all other code and do such and such moves". 125ch209 uses such code (sorry, I peeked, was just curious) to pull off his counterpicks. I don't see this justified since you can also run into a similar situation afterwards where you can stop the opponent from completing his bonus. Of course then the board is more complex and you might have better things to do.
If I find a general rule for good fights then I have no problem with adding it to my bot.

All of these ideas give the sense of a grand scheme that every bot i look at is lacking. They are all missing strategy
I don't really know about the limitations of my approach but there sure are limitations. Fighting with my "best practices" rules and raw computation power should get me quite far against medium players (medium != noob). However, also superior approaches still have to fight against the excellent human pattern recognition. I'm not sure how much the "human pattern recognition machine" comes into play when playing warlight but I wouldn't underestimate the most superior and strangest of all computers (= the human brain).
WarLight AI Challenge: 2014-04-27 19:58:42

{rp} pedrito 
Level 48
Report
The luck %... those rolls make my eyes bleed.
Posts 171 - 190 of 565   <<Prev   1  2  3  ...  5  ...  8  9  10  ...  19  ...  28  29  Next >>