2011-11-01T00:01:25 on fluxid 2011-11-01T00:01:27 to run java 2011-11-01T00:01:29 I don't recall the link.. but I remember seeing this thing where a genetic algorithm ended up with better solution then hand crafted one 2011-11-01T00:01:30 what do you send it? 2011-11-01T00:01:42 "javac MyBot.java" or "java MyBot (.class)" 2011-11-01T00:01:50 roflmao: "java -jar MyBot.jar" 2011-11-01T00:01:56 oh I need to jar it :P 2011-11-01T00:02:07 yeah.. the makefile makes a jar for you 2011-11-01T00:02:17 make 2011-11-01T00:02:30 *** iris1 has quit IRC (Ping timeout: 260 seconds) 2011-11-01T00:02:33 or if on windows.. the make.cmd makes it.. so its still make 2011-11-01T00:02:33 lol 2011-11-01T00:03:07 nice 2011-11-01T00:03:13 *** Knekkebjoern has quit IRC (Read error: Connection reset by peer) 2011-11-01T00:03:23 *** Knekkebjoern has joined #aichallenge 2011-11-01T00:03:42 roflmao: I think I've figured out most of the details of doing static pathfinding. 2011-11-01T00:04:02 niiiiice 2011-11-01T00:04:05 *high five* 2011-11-01T00:04:13 FYI I did have to make a change to tcpclient.py .. but I think that has something todo with my linux distro 2011-11-01T00:04:14 I just need to figure out how to find the largest rectangle on a graph 2011-11-01T00:04:54 My solution should also automagically avoid clumping. (I hope) 2011-11-01T00:05:02 oh really? 2011-11-01T00:05:12 clumping is a huge problem in this game 2011-11-01T00:05:51 I probably shouldn't spam the channel, give me five minutes with gist. 2011-11-01T00:06:22 sure 2011-11-01T00:06:38 I got 600 ants working with a* and no timeout :) 2011-11-01T00:06:43 so I aint doing too bad either 2011-11-01T00:06:55 mmm.. is there any sort of memory limit? I am just thinking if I should replace the map structure in Ants with my own cause I want to store more then just Ilk 2011-11-01T00:07:10 or just having another 2d array 2011-11-01T00:08:02 1G 2011-11-01T00:08:48 *** yoden has quit IRC (Quit: Leaving.) 2011-11-01T00:09:11 roflmao: https://gist.github.com/1329892 2011-11-01T00:09:20 ah.. I won't bother editing the starter classes then.. 2011-11-01T00:10:05 meh, I am still thinking how I decompose the map 2011-11-01T00:10:22 I can't put my ideas in algorithms 2011-11-01T00:10:47 avdg: My plan was to just lay down the biggest rectangle I could fit and repeat until it's covered 2011-11-01T00:10:58 Then merge the rectangles as long as it improves my objective function 2011-11-01T00:11:13 so you calculate all paths bfs in a rectangle 2011-11-01T00:11:16 then stich them together 2011-11-01T00:11:22 not bad, not bad. 2011-11-01T00:11:22 exactly 2011-11-01T00:11:24 i like it 2011-11-01T00:11:25 hmm, thats kinda good explanation 2011-11-01T00:11:31 me too :) 2011-11-01T00:11:38 I forgot the check part... 2011-11-01T00:12:00 avdg: any thoughts on rectangle dropping? 2011-11-01T00:12:02 * avdg likes trial and error 2011-11-01T00:12:12 bfs? 2011-11-01T00:12:16 I remember failing a CS exam sophomore year in college to a problem like this. 2011-11-01T00:12:30 just get the surrounding water tiles 2011-11-01T00:12:32 drop some points at random and BFS from them? 2011-11-01T00:13:00 I think the target number of blocks is probably sqrt(map size) 2011-11-01T00:13:07 if you get the 4 closest water tiles (in each wind direction) you get your block 2011-11-01T00:13:28 and the check would be that the shape is a circle/oval/rectangle 2011-11-01T00:13:38 well, trivially in the maze maps you'll get rectangles for the passages, plus all the little one-square side passages 2011-11-01T00:13:54 hiya a1k0n :) can you make it for lunch? 2011-11-01T00:13:57 it's of course NP-complete to find an optimal set, and there are mutliple overlapping solutions 2011-11-01T00:14:12 yeah, but its maybe better to ignore these tiny blocks in the representation 2011-11-01T00:14:12 Good thing we don't need an optimal set 2011-11-01T00:14:43 bmh: i don't think i can make it. my wife has a dentist appt, gotta watch the kids 2011-11-01T00:15:14 who cares about visiting 1x1 (but who cares about passing it, like for food) 2011-11-01T00:15:15 but yeah, greedy search is what i'd do 2011-11-01T00:15:39 i'm skeptical that it helps very much but maybe it could 2011-11-01T00:15:52 but there would still be a problem, there are multiple solutions 2011-11-01T00:16:36 *** dvladim has quit IRC (Ping timeout: 255 seconds) 2011-11-01T00:16:51 lets say you have a stroke full of gaps 2011-11-01T00:17:08 solution 1: 1 long rectangle with little rectangles on its side 2011-11-01T00:17:37 @bmh: would you do the stiching across multiple turns? 2011-11-01T00:17:38 roflmao: I have no idea what you mean. 2011-11-01T00:17:48 bmh: would you do the stiching across multiple turns? 2011-11-01T00:17:51 solution 2: passing many rectangles while passing the long side 2011-11-01T00:18:00 that should be fine roflmao 2011-11-01T00:18:04 roflmao: how do you mean? 2011-11-01T00:18:10 it should be cheap enough to recompute whenever you want it 2011-11-01T00:18:24 oh so you'd compute rectangles that you had ants in? 2011-11-01T00:18:27 then cache them 2011-11-01T00:18:30 and recompute if necessary 2011-11-01T00:18:36 I'd compute the whole darn map. 2011-11-01T00:18:41 or we can compute rectangles and try to fit squares 2011-11-01T00:18:49 it wouldn't be too slow? 2011-11-01T00:18:50 *** ThatGuy_ has quit IRC (Quit: Page closed) 2011-11-01T00:18:52 squares are the most perfect shapes 2011-11-01T00:19:02 and you can do it slowly 2011-11-01T00:19:05 avdg: The four dimensional time cube is the perfect shape. 2011-11-01T00:19:06 over multiple steps 2011-11-01T00:19:07 an entire darn map compute bfs of 127x127 sounds resource intensive 2011-11-01T00:19:20 but maybe you know the trick I don't :) 2011-11-01T00:19:24 roflmao: that's only 16k nodes 2011-11-01T00:19:37 *** v_paul_v_ has joined #aichallenge 2011-11-01T00:19:38 roflmao: you don't explorer that much tiles in a turn, right? 2011-11-01T00:19:49 bmh: only? lol 2011-11-01T00:20:01 http://i.minus.com/ibnPjBMhVHQ45c.png 2011-11-01T00:20:08 my astar took 60ms to compute that 2011-11-01T00:20:15 but, then, once again, i could be doing it wrong TM 2011-11-01T00:20:50 and once we got rectangles, we can add a layer and create trees :-) 2011-11-01T00:24:19 aichallenge: janzert epsilon * rb5126e8 / worker/engine.py : Don't start timing the turn until the bots are unpaused - http://git.io/2PORhA 2011-11-01T00:24:32 a1k0n: I'm jonesing for C++ now. 2011-11-01T00:24:41 bmh: heh. i told you 2011-11-01T00:25:03 i bfs the whole map in various ways all over the place 2011-11-01T00:25:15 your idea would accelerate that though 2011-11-01T00:25:25 (probably?) 2011-11-01T00:25:43 it doesn't change the computational complexity of what i need to do 2011-11-01T00:25:50 win? 2011-11-01T00:26:02 heh. well. yes. 2011-11-01T00:26:09 winning is NP-complete 2011-11-01T00:27:04 I wonder how much time there would be reduced if a* only explored tiles connected with water (and if you want to cross, just a 1xn rectangle until you hit water) 2011-11-01T00:27:34 meh, still complex 2011-11-01T00:27:56 just to totally clarify: 2011-11-01T00:28:06 BFS is just like a* just without any queue sorting or heuristic estimating 2011-11-01T00:28:09 prove it 2011-11-01T00:29:17 i get another game in 15 minutes, yay 2011-11-01T00:29:17 oh nice, one of the guys in my group has a bot 2011-11-01T00:29:21 no BFS is not like A* .. cause A* doesn't travel in all directions 2011-11-01T00:29:23 yeah. technically that's dijkstra's. 2011-11-01T00:29:35 but since all edges have unit cost, you don't need a priority queue 2011-11-01T00:29:46 yeah thats what I'm saying 2011-11-01T00:29:50 no heuristics 2011-11-01T00:29:52 no priority queue 2011-11-01T00:30:01 0 sorting or prioritizing of any sort 2011-11-01T00:30:02 = bfs 2011-11-01T00:30:04 right. you just get a distance to all squares on the map from your starting point. 2011-11-01T00:30:14 and it visits each square on the map once. 2011-11-01T00:30:18 I would write this in C++ given a sufficiently good starter 2011-11-01T00:30:47 dijkstra's will always give you the best answer 2011-11-01T00:30:57 * bmh groans 2011-11-01T00:31:16 *** bobbydroptable has quit IRC (Ping timeout: 265 seconds) 2011-11-01T00:31:16 they all give you the same answer? 2011-11-01T00:31:18 Dijkstra's algorithm is a special case of A*. 2011-11-01T00:31:20 shouldn't they lol 2011-11-01T00:31:26 otherwise you aren't doing it right 2011-11-01T00:31:29 A* wont always give you the best answer, but its faster 2011-11-01T00:31:29 bmh: yes 2011-11-01T00:31:36 bmh: (you're reading wikipedia, aren't you) 2011-11-01T00:31:40 a1k0n: I'm not 2011-11-01T00:32:06 oh god, i ate too much halloween candy 2011-11-01T00:32:09 i guess actually nm im high 2011-11-01T00:32:11 I'm this pedantic in real life. (I was actually groaning at Eric's e-mail) 2011-11-01T00:32:32 heuristics would fuck shit up 2011-11-01T00:32:56 *** tmandry has joined #aichallenge 2011-11-01T00:32:56 *** tmandry has joined #aichallenge 2011-11-01T00:33:54 your bot (java -jar /Users/jstrong/Documents/workspace/ant_bot/bin/MyBot.jar) failed to start! 2011-11-01T00:34:02 any ideas with fluxid not working? 2011-11-01T00:37:12 *** ChrisH_ has joined #aichallenge 2011-11-01T00:40:01 @seen janzert 2011-11-01T00:40:01 ChrisH_: janzert was last seen in #aichallenge 3 hours, 56 minutes, and 22 seconds ago: e.g. two ants side by side can swap places without colliding 2011-11-01T00:40:13 @seen McLeopold 2011-11-01T00:40:13 ChrisH_: McLeopold was last seen in #aichallenge 4 hours, 58 minutes, and 27 seconds ago: for each dimension 2011-11-01T00:40:27 yes? 2011-11-01T00:40:40 btw, I think the deactivation is fine 2011-11-01T00:41:38 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-01T00:41:39 *** bobbydroptable has joined #aichallenge 2011-11-01T00:41:56 janzert: just wondering if you saw my comments earlier 2011-11-01T00:42:10 one hope of course is that those 3 days worth of new accounts will also submit something other than a starter bot 2011-11-01T00:42:19 yes, that's what I'm commenting on :) 2011-11-01T00:42:19 true 2011-11-01T00:42:34 *** Jak_o_Shadows has quit IRC (Remote host closed the connection) 2011-11-01T00:43:11 on the other hand, bots with a skill in a range with a lot of deactivated submissions will not get many games no matter how good or bad they are 2011-11-01T00:43:31 basically they suffer because their peers aren't pulling them into games 2011-11-01T00:44:11 they shouldn't get many less games than any other activated submission they'll just be a seed a lot more frequently 2011-11-01T00:44:47 and that's what is happening in the top portion of the standings at the moment. I don't know if that will continue after everyone catches on to the system or not, but it will be interesting to see how it evolves 2011-11-01T00:44:50 a1k0n: oh whatever, I'm hardcore, I'll just write this in haskell 2011-11-01T00:45:00 that's the spirit 2011-11-01T00:45:08 *** roflmao has quit IRC (Quit: Leaving.) 2011-11-01T00:45:12 allocating memory is for the birds. 2011-11-01T00:45:19 * bmh dons headphones, puts on 'Killer Queen' 2011-11-01T00:45:23 though i think you actually could do it in one line of J 2011-11-01T00:45:46 janzert: maybe 2011-11-01T00:46:39 janzert: I'm not sure I'm 100% with you, but I could be pursuaded. 2011-11-01T00:47:17 remember whenever you play a game whether you were the seed or pulled into the game you get bumped back to the end of the line for seeding 2011-11-01T00:47:21 is anyone else playing on ants.fluxid.pl? it's not.. going 2011-11-01T00:48:28 so the areas of the rankings that have lots of active players will tend bump the players around them to the end of the line at the same time the seeds from that area are chosen 2011-11-01T00:48:35 janzert: the extremes of the skill levels may behave differently than the wide middle. For example, even before the deactivation change xathis was getting fewer games than the rest of the top 20. I think because of the skill gap. 2011-11-01T00:49:10 janzert: but a lot of those getting bumped will be deactivated submissions, which doesn't help other's looking for seeds slots 2011-11-01T00:49:10 yes, the ends of the rankings do tend to get a few less games 2011-11-01T00:49:22 do you match based on mu or skill? 2011-11-01T00:49:42 or.. some integral over the distribution of skill 2011-11-01T00:49:51 we were comparing an area with lots of activated submissions to one without :) 2011-11-01T00:50:31 re the ends of the rankings, a few less games right now is a rather large percentage of course :/ 2011-11-01T00:50:36 *** NefariousZhen has quit IRC (Ping timeout: 265 seconds) 2011-11-01T00:51:17 *** NefariousZhen has joined #aichallenge 2011-11-01T00:51:24 so I predict that with most of the top 100 bots currently deactivated, the top100 will start to behave more like xathis was before, but now it will be a much larger group suffering, and this is theoretically some of the most "serious" submissions 2011-11-01T00:51:31 *** Nescio has joined #aichallenge 2011-11-01T00:51:52 meh http://en.wikipedia.org/wiki/Binary_space_partitioning 2011-11-01T00:52:21 *** eccentric has joined #aichallenge 2011-11-01T00:52:31 meanwhile, lots of starter bots get pulled into other games even if they are deactivated just because there are enough active submissions in the range to force that. 2011-11-01T00:52:35 Is there a time limit for activation after deactivation? 2011-11-01T00:53:00 and with an average player count per game around 5.5, it only takes one new starter bot to keep 4.5 others playing games. 2011-11-01T00:55:38 you seem to be saying that a few active starter bots will keep them all active while at the same time saying the same won't happen at the top of the rankings ;) 2011-11-01T00:56:08 I believe the top is more likely to stay above the threshold and hope that the starter range will gradually fall below it 2011-11-01T00:56:08 *** zigner22 has joined #aichallenge 2011-11-01T00:56:55 janzert: not exactly, I'm saying that the intent of the change as I understand it is to bias the scheduling against starter bots, but it doesn't really do that as long as new starter bots are submitted at a modest rate 2011-11-01T00:57:30 this initial deployment is the time period when it is most likely reversed of course 2011-11-01T00:57:30 Anyone knowledgeable about the C++ build system willing to discuss? 2011-11-01T00:57:59 nah, the intent is to give people that aren't taking an active interest in the contest less resources 2011-11-01T00:58:15 janzert: the issues with the top bots are related to the boundary affect and the fact that very few of the top bots have clicked the activate button so far, so they are no better than starter bots in terms of activation rate, and probably worse as a percentage 2011-11-01T00:58:29 *** Jak_o_Shadows has joined #aichallenge 2011-11-01T00:58:49 *** Guest92393 has quit IRC (Ping timeout: 265 seconds) 2011-11-01T00:59:02 If I may interject, is it reasonable to simply not run a bot with the same MD5 as a starter package more than once? 2011-11-01T00:59:11 janzert: ok, but it also has the unintended consequence that people who do take an active interest may lose out just because they are peers with others who do not take an active interest 2011-11-01T00:59:11 right, the percentage of activated top bots is probably at it's worst right now 2011-11-01T00:59:30 *** cyphase has joined #aichallenge 2011-11-01T00:59:41 agreed 2011-11-01T01:00:14 Relax: that has been considered before but leads to tricky problems with the rankings 2011-11-01T01:01:03 but as time passes other skill ranges may experience a similar problem. I don't know, and I'm not suggesting any specific solution, just trying to understand what has become a very non-deterministic system 2011-11-01T01:01:27 janzert: huh. more than just at the low end? 2011-11-01T01:02:09 Relax: we want to give the new player who has just submitted a starter bot more than one game to look at 2011-11-01T01:02:47 janzert: I dig 2011-11-01T01:04:16 thestinger: ping 2011-11-01T01:04:29 what I have observed over the last almost 24 hours since the change was implemented is that my bot now pretty much must be a seed to get a game, whereas before I would get pulled into games until my game rate prevented it 2011-11-01T01:05:01 @janzert & @Relax, just fyi, as a brand new player I ran several local games instead of doing anything on the server - a starter package running on the server would have little value to me. 2011-11-01T01:05:02 zigner22: An error occured while trying to show the previous error. 2011-11-01T01:05:03 and accounting for the down time earlier today my game rate has been cut roughly in half 2011-11-01T01:06:26 I'll propose the same thing I did late in PW.. 2011-11-01T01:06:28 *** alc has joined #aichallenge 2011-11-01T01:06:37 and I was one of the very first accounts to be reactivated since McLeopold had me testing it with him 2011-11-01T01:06:58 a button that can be hit once per day per account, to bump them up in the priority list for games, for 2-5games 2011-11-01T01:07:22 or 5times per day, to bump for 1game.. or some such 2011-11-01T01:08:06 now, it's not that big of a deal because I know how my bot behaves and it hasn't changed recently, but a new top submission like cumbuz may get frustrated not getting many games now that he has gotten up to #15 2011-11-01T01:08:38 ideally we could just give everyone more games :} 2011-11-01T01:08:49 LOL 2011-11-01T01:08:52 in an ideal world :P 2011-11-01T01:09:23 but, it's probably worth a bit of effort, to make the games that are played: be more inline, with the competitors interest value in the games 2011-11-01T01:09:52 most notably.. people who are active, get more games, and people who submited 2weeks ago and then quit.. don't get many atall 2011-11-01T01:12:08 that's the general aim of deactivating bots ;) 2011-11-01T01:12:54 Anyone care to give some insight on how to set include paths for the C++ compiler? 2011-11-01T01:13:03 janzert: as we approach the 24 hour mark since the change was rolled out, I would be very curious to see the results of some stats of game rates for activated bots vs. deactivated bots to see if there is a bias being introduced as intended or not 2011-11-01T01:13:43 grom358: hey 2011-11-01T01:14:07 deactivating should be cake.. but how do you prevent people who are actually active, from being deactivated? 2011-11-01T01:15:22 they click the activate button once every 3 days 2011-11-01T01:15:56 *** Areks has joined #aichallenge 2011-11-01T01:16:42 k, that's basically a mild version of my proposition then :) 2011-11-01T01:17:04 thestinger: just working on this BFS idea. How do you deal with when food is collected and when you find new water tiles? 2011-11-01T01:17:15 2 stages of priority, and a static 3day duration 2011-11-01T01:17:52 grom358: I regenerate the pathfinding maps each turn, it's map enough that it doesn't matter 2011-11-01T01:17:57 fast enough* (lol) 2011-11-01T01:18:11 thestinger: ah.. kk.. that is what I was going todo.. was just checking 2011-11-01T01:18:14 grom358: same here 2011-11-01T01:18:30 thestinger: I was thinking I could cache the values to each target if need be 2011-11-01T01:18:51 so each tile has priority queue 2011-11-01T01:19:06 and I just remove the item off the queue when it no longer there 2011-11-01T01:19:16 janz, I think the results of that deactivation, will result in roughly 50% more games for active players: but also result in less useless encounters, for weak players 2011-11-01T01:19:41 grom358: or you could cache for two turns if you need to, water would never be a problem, and food probably won't dissappear if it's inside your attack radius, so it should work most all the time 2011-11-01T01:19:47 deactivated bots are selected less often as opponents right? not just omited from being seeders? 2011-11-01T01:20:04 grom358: and a two turn cache is half as many searches, for double the speed 2011-11-01T01:20:27 *** Relax has quit IRC (Quit: Leaving) 2011-11-01T01:21:06 yeah.. and if I want to make one target a priority I just weight it to have better score.. like defend my own hill 2011-11-01T01:21:21 I can make it twice as good as other targets :) 2011-11-01T01:21:55 ChrisH_: I like how you do your hill defense, it completely destroys the bots who try sneaking around and avoiding combat 2011-11-01T01:22:15 grom358: yep, or what I do is start it with a lower initial score so that the search expands it for some # of moves before other goals 2011-11-01T01:23:03 do you make it so lower score is better? just trying to figure out if I should make the default score before doing the BFS searchs like Integer.MAX_VALUE 2011-11-01T01:23:42 *** bluemanshoe has joined #aichallenge 2011-11-01T01:24:26 how do you do exploring? BFS from the ant and stop at first unseen tile? and reduce the score of the tiles that take you to unexplored areas? 2011-11-01T01:24:38 thestinger: thanks, it is some interesting code that basically makes sure the area surrounding my hill is covered by attack radii of my ants, it is sufficiently compute expensive that I incrementally build up the point sets at different distances from the hill with any extra time at the end of each turn 2011-11-01T01:25:12 thestinger: especially on 8 hill maps ;) 2011-11-01T01:26:07 grom358: ?1: lower is better because it reduces the "distance" to the target 2011-11-01T01:26:30 yeah, atm I mark a target with 0 and do the BFS from there, incrementing distance each time 2011-11-01T01:26:41 you could start a target at 5 or 10 to only attract the ants that are really close 2011-11-01T01:27:04 assuming you put multiple targets into one 2d array/graph 2011-11-01T01:27:28 grom358: ?2: that's not even close to how I do exploration, and it isn't easy to explain either, but it starts with keeping track of the last turn I saw every tile on the map (zero is never) 2011-11-01T01:28:03 and using that to send my ants to regions for which I have the stalest information, with a bonus for areas I've never seen 2011-11-01T01:28:27 yeah. that is what I want todo 2011-11-01T01:29:10 but when you first start the map.. how to pick the first target when heaps of tiles are at never seen 2011-11-01T01:29:38 I break ties by distance from my hills 2011-11-01T01:30:04 but that is just because the BFS finds them first 2011-11-01T01:30:14 *** analyst74 has joined #aichallenge 2011-11-01T01:30:40 Basically I just spam the map with my wish list and let the BFS find the closest achievable goals until I run out of ants, then rinse and repeat next turn 2011-11-01T01:31:05 as the fog of war is rolled back the explore points move out as well 2011-11-01T01:31:18 ties by distance.. but at the start you got a bunch of unseen tiles at the same distance.. do you just random which one? 2011-11-01T01:31:49 well, once I pick a point I won't pick another within view radius of it, so there aren't that many in reality 2011-11-01T01:31:57 i want to try a breadcrumb approach but its not really working out for me :( 2011-11-01T01:32:58 yeah.. still kind of lost when it comes to unseen tiles.. so you pick one. and BFS from that unseen point? 2011-11-01T01:33:25 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 258 seconds) 2011-11-01T01:33:40 grom358: no, i pick one, remove all tiles within view of that from the list of candidates, pick the next best one, etc. 2011-11-01T01:34:07 grom358: then I do a multipoint, multi ant BFS to decide which ants go to which points 2011-11-01T01:37:05 kk.. I'm doing a BFS from a target.. target is 0.. and I increase that.. if the score is better then the previous I replace it 2011-11-01T01:37:26 but that means I doing a BFS from each target 2011-11-01T01:37:40 is that similar to what you doing? or along the same lines? 2011-11-01T01:39:44 grom358: once I get to the pathfinding stage, yes, sounds the same as what i'm doing, assuming you mean that you increase the score when you expand the neighbors of a tile 2011-11-01T01:40:34 grom358: and yes, I also search from goals towards ants, in case you were asking about the direction as well 2011-11-01T01:40:50 yeah as I expand I increasing the score.. only adding tiles to the search queue if they have worse score 2011-11-01T01:40:55 so the BFS can stop early 2011-11-01T01:41:56 *** Areks has left #aichallenge ("Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is") 2011-11-01T01:42:37 *** Areks_ has joined #aichallenge 2011-11-01T01:42:52 yes, each time you take the lowest score off the queue you know it is done and can never go lower, then look at any neighbor that isn't already done and see if it's score can be lowered, (never seen tiles start with MAXINT, or some really high number, so they are not a special case). 2011-11-01T01:44:33 yeah.. cool 2011-11-01T01:44:34 *** formallyknownasd has joined #aichallenge 2011-11-01T01:44:45 *** Belerafon_L has joined #aichallenge 2011-11-01T01:44:52 that is what I was doing.. just seeing if doing it right 2011-11-01T01:45:05 hey everyone 2011-11-01T01:45:16 by "never seen" I mean within the context of the BFS, not the exploration we were talking about before :) 2011-11-01T01:45:41 grom358: atm I treat unseen areas as land even for non-exploration pathfinding, but you could do that differently 2011-11-01T01:45:44 grom358: sounds like you understand it right 2011-11-01T01:46:14 great, did someone want to DoS my server? 2011-11-01T01:46:27 thestinger: yeah, I do the same 2011-11-01T01:46:49 for fucks sake 2011-11-01T01:47:19 ah no, too many open files 2011-11-01T01:47:28 but who knows 2011-11-01T01:47:35 this code sucks so much... 2011-11-01T01:47:38 Hi. I can't understood results of game. Look at latest game in my profile http://aichallenge.org/profile.php?user=3062 My population is more big, but winner is other player. Why? 2011-11-01T01:47:40 uh oh.. a new bot climbing the ranks, currently 51st 2011-11-01T01:47:46 Fluxid: don't know about the DoS, but hey, you just passed me on the contest server, I'm not sure I like that. ;) 2011-11-01T01:47:50 Fluxid: sockets do count as files 2011-11-01T01:48:05 Belerafon_L: you only get points for razing hills 2011-11-01T01:48:42 thestinger: i know, there is no limit implemented in tcpserver 2011-11-01T01:48:46 of treads 2011-11-01T01:48:55 or maybe there is a file descriptor leak 2011-11-01T01:49:03 but it looks like sockets are closed 2011-11-01T01:49:22 you could just raise the max number of open files :P 2011-11-01T01:49:53 ChrisH_: would you dos my server because of it? ;) 2011-11-01T01:50:06 thestinger: it's 4k-something, it's rather bug in code 2011-11-01T01:50:29 Fluxid: hmmm, don't give me ideas. Seriously though, NO WAY, you are providing a great service and I wouldn't do that. 2011-11-01T01:50:39 *** Belerafon_L has left #aichallenge 2011-11-01T01:51:39 ChrisH_: oh bot, 10th place, i never thought i would be able to go so high 2011-11-01T01:51:43 oh boy* 2011-11-01T01:52:16 I bet you can figure out what's going on with lsof 2011-11-01T01:52:17 Fluxid: Good job, but don't think I'm done with my bot yet. 2011-11-01T01:52:25 ;) 2011-11-01T01:52:32 *** bluemanshoe has quit IRC (Quit: Leaving) 2011-11-01T01:53:36 my god i'm screaming at someone playing amnesia ==" 2011-11-01T01:53:54 Fluxid: are you leaving your bot deactivated on purpose? 2011-11-01T01:55:22 ChrisH_: hmmm... dunno, but i'll activate it no 2011-11-01T01:55:24 now 2011-11-01T01:57:53 ChrisH: one last thing.. if two tiles have the same lower score then current tile.. do you pick one at random? 2011-11-01T01:58:31 grom358: for pathing the ant, or during part of the BFS code? 2011-11-01T01:58:45 I think he means for actual movement, once pathfinding is done 2011-11-01T01:58:50 which path do you pick 2011-11-01T01:58:53 if there's more than one 2011-11-01T01:58:54 yeah after all the BFS is done 2011-11-01T01:58:55 yeah, that's what I thought 2011-11-01T01:59:37 damn 2011-11-01T01:59:50 atm, I loop through the directions and stop if that direction brings me closer AND I can move there - if it's blocked by an idle ant I push it onto a list 2011-11-01T01:59:57 i want to find alternative paths too, not always the shortest ones 2011-11-01T02:00:32 well, I don't know if this is the best thing to do, but I break the tie based on the lowest sum of the second neighbors out, and if that is a tie then it is just the first one I find, maybe also depending on if there are other ants in those tiles. 2011-11-01T02:00:38 I keep the blocked by idle ant lists for ants that couldn't move and loop through them later 2011-11-01T02:01:05 thestinger: I do that too 2011-11-01T02:01:22 thestinger: or a variation of it 2011-11-01T02:01:28 atm I always try directions in the same order, but I just wrote some code to rotate the order after each ant tries to move 2011-11-01T02:01:47 *** Palmik has joined #aichallenge 2011-11-01T02:02:27 every ant _has_ to move every turn? 2011-11-01T02:02:39 http://pastie.org/2791919 so I have something like this now and I'll rotate through those 4 arrays after I try moving each ant 2011-11-01T02:02:39 or can ants choose to remain in place? 2011-11-01T02:02:49 well I was thinking of having a list of ants that want to move.. with possible tiles they want to move.. I just keep looping over trying to move (as it may be blocked by ant that is moving that turn too) 2011-11-01T02:02:53 at one point I randomly permuted the order I looked in each direction for each ant, but I don't think I do that anymore. It turns out my first tie breaker has some benefits when multiple foods are nearby, and after that I just don't care 2011-11-01T02:02:53 just to get some more variety in the movement, so they don't form lines as much 2011-11-01T02:03:53 *** bmh has quit IRC (Quit: bmh) 2011-11-01T02:03:54 thestinger: hey I have something like that in my code lol 2011-11-01T02:04:12 my exploration code does a really good job of splitting my ants up when they aren't constrained by hallways 2011-11-01T02:05:34 so just back to the unseen tiles thing.. so say I got a Set unseenTiles. Just pick one.. remove other unseenTiles in view radius of it.. 2011-11-01T02:05:52 I can still have a big list 2011-11-01T02:06:21 I don't want to BFS from each one of them.. so I could narrow it down by distance to ant.. maybe 2011-11-01T02:06:35 idk if I follow what you saying about that 2011-11-01T02:06:51 grom358: I'll leave it as an exercise for the reader. ;) 2011-11-01T02:07:14 yeah I got the other part worked out 2011-11-01T02:07:25 just unseen tiles .... there so many of them 2011-11-01T02:07:27 I do a BFS from each unseen location, but most of the searches don't ever do more than 4 iterations because I do it all on the same 2d array 2011-11-01T02:07:36 grom358: if you look back at the IRC logs from earlier today or yesterday I talked with some other folks about some tricks I do with BFS that might give you some ideas 2011-11-01T02:07:56 yeah, what thestinger said 2011-11-01T02:08:19 oh.. i see 2011-11-01T02:08:36 after you done one BFS.. the rest gonna be rather fast 2011-11-01T02:08:46 thestinger: do you do it from EVERY unseen point, or some subset of them that you think are good targets? 2011-11-01T02:08:58 atm, I do it for every one but I'm going to change that 2011-11-01T02:09:06 my bot is still really basic (I'm new to this stuff :P) 2011-11-01T02:09:07 ok, that's where we differ atm 2011-11-01T02:09:34 yeah an idea I had 2011-11-01T02:09:43 I might just pick a subset that are far from my hill, perhaps in areas I think an enemy hill might be 2011-11-01T02:09:48 was try to pick an unseen that has a lot of other unseen tiles around it 2011-11-01T02:09:58 grom358: now your thinking 2011-11-01T02:10:12 that's what my code is trying to do as well 2011-11-01T02:10:42 maximize how much new information one ant can give you 2011-11-01T02:10:58 yeah.. 2011-11-01T02:11:06 once I get combat stuff implemented, I might explore in pairs or something 2011-11-01T02:11:16 well I already have functions that get tiles within view radius of another 2011-11-01T02:11:22 i'm working on combat code now 2011-11-01T02:11:44 ChrisH_: do you just try to avoid enemy ants right now? 2011-11-01T02:12:13 for ants going for food or exploring, yes 2011-11-01T02:12:39 ants defending the hill or attacking enemy hills just ignore enemy ants and hope for the best 2011-11-01T02:12:56 *** bobbydroptable has quit IRC (Quit: Page closed) 2011-11-01T02:13:07 but there are a few exceptions that have a hybrid type behavior 2011-11-01T02:13:13 *** bobbydroptable has joined #aichallenge 2011-11-01T02:14:25 my idea for attacking is.. make the number of ants in direction of hill more then the enemy before going in attack radius 2011-11-01T02:14:25 I'm hoping to "unify" my ant behaviors by getting some good combat logic that can switch on when needed so that I can be more aggressive but also more safe 2011-11-01T02:14:57 still working on the details 2011-11-01T02:18:34 *** formallyknownasd has quit IRC (Ping timeout: 265 seconds) 2011-11-01T02:24:14 how do you avoid sending the more than one ant to food? 2011-11-01T02:25:28 once the BFS reaches an ant for a particular food then the food targets are removed from the search, along with all the tiles expanded from that food, that part gets tricky, but it's not too bad 2011-11-01T02:25:31 *** stocha has joined #aichallenge 2011-11-01T02:25:34 what does "Deactivated: not in queue to play game" means ? 2011-11-01T02:26:07 antimatroid1: ? 2011-11-01T02:26:20 stocha: http://aichallenge.org/forums/viewtopic.php?f=3&t=1710 2011-11-01T02:27:42 ChrisH_: how do you remove them.. I got 2D array with score for each tile. As I search I'm replacing the score.. so how can you remove the scores? 2011-11-01T02:28:15 thanks. good idea i guess. 2011-11-01T02:29:28 now it go as fast as a game every 3 hours. 2011-11-01T02:29:31 grom358: store the "prior" tile that each tile's score was generated from, or propogate a reference to the original target tile into each tile's minimum came from. 2011-11-01T02:29:59 *** ssedano has quit IRC (Quit: WeeChat 0.3.4) 2011-11-01T02:30:07 are you discussing path finding ? 2011-11-01T02:30:14 ChrisH_: do you reuse ants for getting 2+ food at all? I know it will happen anyway, but do you avoid sending 2 ants to 2 food that are next to each other? 2011-11-01T02:30:26 that helps you find the tiles needing removing, but patching up the BFS so it can continue needs careful thought to do it right 2011-11-01T02:30:45 thestinger: yes 2011-11-01T02:30:48 stocha: yes 2011-11-01T02:31:22 ah, so the way you're doing it you can remove nearby food from the search too? 2011-11-01T02:31:32 mmm.. I thinking I should maybe store a set of scores for each tile like I was thinking before 2011-11-01T02:31:39 why did the designer think it was good not to get score for killing ants ? 2011-11-01T02:31:56 that way.. I can easily remove targets out for other ants 2011-11-01T02:33:02 thestinger: yes, and I can also define goals that require any number of ants to satisfy, which is how I plan rushes on enemy hills 2011-11-01T02:33:53 if I keep this up I might as well just give you guys my code. ;) 2011-11-01T02:34:04 good idea 2011-11-01T02:34:35 although i don't know what i'll do with a go log. 2011-11-01T02:34:39 what IS go ? 2011-11-01T02:34:40 except it's against the rules. 2011-11-01T02:34:48 well the thing is.. I actually had BFS for food already with my current A* bot. I record all ants that are within view radius of the food 2011-11-01T02:34:54 i mean it used to be a chineese game in the old days. 2011-11-01T02:35:14 I end up with list of all food to ant routes 2011-11-01T02:35:28 stocha: yes, the game of go is cool, but you can read about the programming language here: http://golang.org/ 2011-11-01T02:35:34 then I loop through that picking the shortest routes first.. and making sure not to assign two ants to one food 2011-11-01T02:35:48 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-01T02:37:00 so I could change that so.. I give the assigned ant a reference to the BFS results. The ant picks the tile with lowest score from the sets of BFS results it has been assigned 2011-11-01T02:37:27 then I can assign an ant both an enemy hill and food 2011-11-01T02:37:31 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-01T02:37:49 *** Jak_o_Shadows has quit IRC (Ping timeout: 258 seconds) 2011-11-01T02:37:56 grom358: sounds like a plan 2011-11-01T02:39:55 keep in mind, though, that the reason I find BFS faster than A* for my bot is by combining multiple BFS's into one that produces multiple paths, so could you do that with hills and food for example? 2011-11-01T02:40:07 yeah 2011-11-01T02:40:12 good 2011-11-01T02:40:40 basically I get the BFS to return a Map 2011-11-01T02:40:45 *** Knekkebjoern has quit IRC (Quit: Leaving.) 2011-11-01T02:41:08 ChrisH_: how is it different from java ? 2011-11-01T02:41:12 that is.. a tile and its score to the target 2011-11-01T02:41:37 so when an ant looks at its adjacent tiles.. it looks in each map it been assigned 2011-11-01T02:41:54 there seems to be some good python bot at the moment. Nobody use the computing time or is python just very fast ? 2011-11-01T02:42:12 stocha: it's more like a mix of C and Python but with natives for threading and an interesting take on interfaces. 2011-11-01T02:42:13 picks the score with lowest value for that tile.. then compares its adjacent tiles from there 2011-11-01T02:42:22 i certainly don't have that much computing time for what i would do if i decided to participate :p 2011-11-01T02:43:12 and if a tile is blocked by another ant.. I try the next best tile 2011-11-01T02:43:16 stocha: it has been challenging to stay within the 500ms turn time. 2011-11-01T02:43:25 i uploaded an old bot that was meant for the old ant game. It did poorly at the time. But now it seems to do rather well. Considering it doesn't know the Hill syntax. 2011-11-01T02:43:51 ChrisH_: how do the python guy do it then ? is python time efficient ? 2011-11-01T02:44:48 GarySWest is 4. If you can trust the ranking. 2011-11-01T02:45:07 stocha: I'm not sure, but I think python can be efficient with the right libraries, or psycho JIT, I'm not sure what they have available on the servers for python to go fast. 2011-11-01T02:45:38 what do you do for a living chrisH ? 2011-11-01T02:45:50 GarySWest's bot is pretty tough in the current field, but ther is lots of time to improve, so we'll see where everyone ends up in several weeks. 2011-11-01T02:45:58 ChrisH: thanks dude 2011-11-01T02:46:00 stocha: write software 2011-11-01T02:46:02 thestinger: thanks 2011-11-01T02:46:06 I'm off 2011-11-01T02:46:10 cya 2011-11-01T02:46:11 grom358: good luck 2011-11-01T02:46:16 *** grom358 has quit IRC (Quit: Ex-Chat) 2011-11-01T02:47:02 stocha: what about you? 2011-11-01T02:47:05 data oriented stoftware it seems. 2011-11-01T02:47:27 stocha: tha'ts what my current company does, yes 2011-11-01T02:47:32 ChrisH i don't do much lately. I somehow maintain some military software. for a time. 2011-11-01T02:47:51 at least i got paid for it. 2011-11-01T02:47:57 stocha: that's good 2011-11-01T02:48:11 i'd rather have a real job you know. 2011-11-01T02:48:20 but i have nice colleagues. 2011-11-01T02:48:42 yes, I sympathize, having good colleagues makes it a lot less stressful 2011-11-01T02:48:42 sounds like fun... i write sql server reports, at the moment. 2011-11-01T02:48:42 I don't know yet if i'll try my hand at this new ant game. 2011-11-01T02:48:48 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-11-01T02:48:54 mind numbing good fun ==" 2011-11-01T02:48:56 *** raver1975 has joined #aichallenge 2011-11-01T02:49:09 I think i like SQL 2011-11-01T02:49:09 hello? 2011-11-01T02:49:09 stocha: do what you will enjoy 2011-11-01T02:49:24 it's probably the best thing i saw from the last 40 years of computer history. 2011-11-01T02:49:40 ChrisH_: i do enjoy having enough money not to go bankrupt. 2011-11-01T02:49:55 I agree with that. 2011-11-01T02:49:55 without too much stress. 2011-11-01T02:50:19 so i guess i have a pretty decent situation right now. But for the fact that the futur is a bit hard to anticipate. 2011-11-01T02:50:47 And then, it's probably not that exciting algorithmically wise. 2011-11-01T02:50:58 who needs algorithm nowaday anyway. 2011-11-01T02:51:07 Google 2011-11-01T02:51:13 do they ? 2011-11-01T02:51:25 that's what I've heard 2011-11-01T02:51:40 i'm not sure they'll ask for that here in france. 2011-11-01T02:51:50 I guess it depends what you consider an algorithm though. 2011-11-01T02:52:06 then it may also be that i'm just to good at it not to want to do some, and to bad at it to be very competitive when there is so few demands. 2011-11-01T02:52:24 like djikstra's stuff i guess. 2011-11-01T02:52:45 or i don't know, some stuff about multithread programming. 2011-11-01T02:53:15 Games do have a demande for algorithm. But do they want to pay good money for it ? 2011-11-01T02:53:16 I think the challenge is combining good algorithms and implementations with good game strategy. 2011-11-01T02:53:38 Yeah. What you really need a is language in the end. 2011-11-01T02:53:45 Good language is everything. 2011-11-01T02:54:08 Although i guess nobody understand what "language" just really means :p 2011-11-01T02:54:14 i certainly don't. 2011-11-01T02:54:45 It's fascinating how we don't understand how to speak and parse pseaches yet. 2011-11-01T02:55:15 mmm, i'd better be off, before i make everyone here bored to sleep :p 2011-11-01T02:55:17 see you 2011-11-01T02:55:21 bye 2011-11-01T02:56:00 *** stocha has quit IRC (Quit: Page closed) 2011-11-01T02:56:32 *** xar0l has quit IRC (Quit: Page closed) 2011-11-01T03:03:16 *** raver1975 has quit IRC (Quit: Page closed) 2011-11-01T03:10:21 *** Alexer has quit IRC (Read error: Operation timed out) 2011-11-01T03:10:48 So I just blew a couple of hours trying to iron out a #include <...> problem in C++, is there really no way to set the compiler option: -I. ??? 2011-11-01T03:11:11 nope, what are you trying to include? 2011-11-01T03:11:25 boost graph. 2011-11-01T03:11:45 i've used bcp to extract the minimal portion of boost -- getting me under 2 mb 2011-11-01T03:12:04 but all of boost is setup using #include <...> 2011-11-01T03:12:27 I've spend several hours trying to convert it to use local/relative pathing but there are some serious issues with doing so. 2011-11-01T03:12:45 all it would take is -I. 2011-11-01T03:13:03 seems like it wouldn't hurt to do that for all cpp compiles. 2011-11-01T03:14:04 yeah, I'd like to be able to use -std=c++0x too :( 2011-11-01T03:14:43 *** paulwal has joined #aichallenge 2011-11-01T03:14:48 hello 2011-11-01T03:15:27 thestinger: I think they are working on enabling c++0x based on the IRC logs from the last couple days 2011-11-01T03:15:36 *** gcflymoto has quit IRC (Ping timeout: 265 seconds) 2011-11-01T03:15:41 what is c++0x? 2011-11-01T03:15:44 that would be nice too. 2011-11-01T03:16:00 really C++11 ish. The new c++ standard. 2011-11-01T03:16:08 nvm, reading wikipedia to the rescue 2011-11-01T03:16:17 yeah, it's c++11 but gcc/clang still call it c++0x for now 2011-11-01T03:16:37 any idea who I should submit my request for -I. to? 2011-11-01T03:16:39 I mostly want it for unordered_set and unordered_map 2011-11-01T03:16:53 those would probably be fairly easily extracted. 2011-11-01T03:17:01 zigner22: you could file a bug report asking for them to install boost on the server and add it to the include path 2011-11-01T03:17:26 that would certianly be easier. 2011-11-01T03:18:08 I think just installing it might put it in the include path anyway 2011-11-01T03:18:13 depends on the distro I guess 2011-11-01T03:18:34 night all 2011-11-01T03:18:41 zigner22: https://github.com/aichallenge/aichallenge/issues/search?q=boost 2011-11-01T03:18:50 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-11-01T03:18:53 there's the issue tracker, no existing report for boost 2011-11-01T03:19:39 *** Alexer has joined #aichallenge 2011-11-01T03:19:54 awesome, thanks, will report. 2011-11-01T03:22:17 *** scriptkids has joined #aichallenge 2011-11-01T03:22:30 I actually considered using boost graph but I just rolled by own A* due to the include path thing 2011-11-01T03:22:44 I'm not actually using my A* implementation for anything anymore so it wouldn't have mattered anyway :P 2011-11-01T03:24:16 Hey guys 2011-11-01T03:24:19 there are quite a few other graph algo's in there that might be useful too. 2011-11-01T03:25:00 thestinger: well, its good to know that I wasn't missing some easy solution.. 2011-11-01T03:25:07 ( unless we both are ). 2011-11-01T03:25:09 *** tmandry has quit IRC (Ping timeout: 258 seconds) 2011-11-01T03:25:31 I actually find the compile process for C in C++ pretty weird :P 2011-11-01T03:25:59 it certinaly can be. 2011-11-01T03:25:59 they make .o files and then link them together, but those .o files aren't ever reused so there was no point of making them 2011-11-01T03:26:28 *** delt0r__ has quit IRC (Read error: Operation timed out) 2011-11-01T03:26:34 they may get used by several different link operations. 2011-11-01T03:26:38 gcc -o binary file.c file2.c file3.c would make more sense, and I think that results in better code (because they aren't using -flto) 2011-11-01T03:27:10 well ... on a bigger project. 2011-11-01T03:27:19 yeah memory issues :P 2011-11-01T03:27:39 hehe, at work we just got to a point were we have to use a 64bit compiler. 2011-11-01T03:28:38 ( not really a good thing, but too expensive to change architecture at current point in the project ) 2011-11-01T03:30:22 I really need to defend my hills... even just some token defense 2011-11-01T03:30:35 *** Nescio has quit IRC (Ping timeout: 265 seconds) 2011-11-01T03:32:22 *** bearoff has joined #aichallenge 2011-11-01T03:32:47 thestinger: looks like they've got code in for C++11, possibly not deployed yet? 2011-11-01T03:32:52 hey guys, does anyone else wanna talk shit about whose bot will win? 2011-11-01T03:32:53 *** Fandekasp has joined #aichallenge 2011-11-01T03:34:33 *** Cyb has joined #aichallenge 2011-11-01T03:36:46 paulwal: impossible to say right now. most of the tops bots are still from the challenge's beta phase, so they had months to deal with the icky parts of fighting, for example. we should be seeing some newcomers soon. well, hopefully. if the challenge stays in the hands of the early beta testers, i'll be pretty disappointed with this whole thing. 2011-11-01T03:36:49 *** Jak_o_Shadows has joined #aichallenge 2011-11-01T03:38:39 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 252 seconds) 2011-11-01T03:38:53 i'm waiting for the 'workers' to restart. then my chosen language will be supported. 2011-11-01T03:39:59 *** choas has joined #aichallenge 2011-11-01T03:41:38 *** delt0r__ has joined #aichallenge 2011-11-01T03:41:56 paulwal: so you're the newcomer i was talking about? will we be seeing you at the top soon? ;) 2011-11-01T03:42:35 *** wombot_ has joined #aichallenge 2011-11-01T03:44:22 aichallenge: janzert epsilon * r078385d / worker/compiler.py : Add missing , to c++11 definition - http://git.io/W5Pjug 2011-11-01T03:46:44 *** onensora has joined #aichallenge 2011-11-01T03:48:23 *** balkemacho has joined #aichallenge 2011-11-01T03:50:29 bqf, we shall see 2011-11-01T03:50:39 *** Cyb has quit IRC (Ping timeout: 258 seconds) 2011-11-01T03:50:46 *** Migi32 has joined #aichallenge 2011-11-01T03:57:00 *** mleise has joined #aichallenge 2011-11-01T04:02:57 *** choas has quit IRC (Ping timeout: 255 seconds) 2011-11-01T04:04:00 *** onensora has quit IRC (Ping timeout: 240 seconds) 2011-11-01T04:09:21 *** svujic has left #aichallenge 2011-11-01T04:15:29 *** choas has joined #aichallenge 2011-11-01T04:15:48 *** Fandekasp has quit IRC (Ping timeout: 245 seconds) 2011-11-01T04:17:57 bobbydroptable: you've given me good luck, because i'm on a roll now (since my latest revision) 2011-11-01T04:18:12 *** ikaros has joined #aichallenge 2011-11-01T04:19:47 *** zigner22 has quit IRC (Ping timeout: 260 seconds) 2011-11-01T04:24:44 *** wombot_ has quit IRC (Remote host closed the connection) 2011-11-01T04:26:37 *** the_real_crimper has quit IRC (Ping timeout: 240 seconds) 2011-11-01T04:27:14 *** the_real_crimper has joined #aichallenge 2011-11-01T04:30:36 *** choas has quit IRC (Ping timeout: 260 seconds) 2011-11-01T04:31:41 *** olexs has joined #aichallenge 2011-11-01T04:32:25 bysin nice 2011-11-01T04:32:26 *** sigh has joined #aichallenge 2011-11-01T04:32:26 *** epicmonkey has joined #aichallenge 2011-11-01T04:32:29 bysin i'm about to give up i think... 2011-11-01T04:32:31 lol 2011-11-01T04:32:38 i haven't done any proper work in 2 weeks cuz of this 2011-11-01T04:33:13 *** djr_ has quit IRC (Read error: Connection reset by peer) 2011-11-01T04:33:25 *** NefariousZhen has quit IRC (Ping timeout: 265 seconds) 2011-11-01T04:34:40 *** djr_ has joined #aichallenge 2011-11-01T04:39:26 *** Fandekasp has joined #aichallenge 2011-11-01T04:41:54 dont give up! 2011-11-01T04:42:05 https://github.com/aichallenge/aichallenge/blob/epsilon/worker/compiler.py#L391 :D 2011-11-01T04:45:59 it works \o/ 2011-11-01T04:46:37 C+11 would be sweet to use 2011-11-01T04:46:46 haven't even gotten the chance to play around with it at all yet 2011-11-01T04:47:38 nah, I switched to D :) 2011-11-01T04:48:10 emilk: I just wanted it for unordered_set and unordered_map tbh 2011-11-01T04:48:45 aka a hash ? 2011-11-01T04:48:47 well, a sane way to iterate through an iterator with a for loop is also sane 2011-11-01T04:48:49 yeah, hash tables 2011-11-01T04:49:01 didn't even know C++0x had hash tables... I'm so behind 2011-11-01T04:49:10 *** sas4eka has joined #aichallenge 2011-11-01T04:49:38 python has set() and dict() which are unordered hash tables (there are ordered versions too in the standard lib) and I was using them heavily before I ported my bot to C++ 2011-11-01T04:49:51 *** epicmonkey has quit IRC (Ping timeout: 248 seconds) 2011-11-01T04:49:54 I can confirm that C++11 works now. Hurray! 2011-11-01T04:50:09 yeah, I tested with std::vector> :P 2011-11-01T04:50:11 emilk, thestinger: http://www.digitalmars.com/d/2.0/hash-map.html 2011-11-01T04:50:17 unfortunately, since they're only using gcc 4.5 and not 4.6, the nice for-loops aren't enabled yet... 2011-11-01T04:50:22 thestinger: the most valuable improvement by far ;) 2011-11-01T04:50:29 mleise: yeah, all sane languages have hash tables :P 2011-11-01T04:50:54 Migi32: but at least 'auto' instead if std::vector::const_iterator should work, right? 2011-11-01T04:51:25 yeah, those work 2011-11-01T04:51:37 mleise: we are discussing C++11. 2011-11-01T04:51:40 http://gcc.gnu.org/projects/cxx0x.html <- here's a list of the gcc c++0x features by version 2011-11-01T04:51:41 http://gcc.gnu.org/projects/cxx0x.html <- support for individual features is listed here 2011-11-01T04:51:44 oops lol 2011-11-01T04:51:44 lol 2011-11-01T04:51:52 great minds think alike :P 2011-11-01T04:52:57 Migi32: and then sue each other 2011-11-01T04:53:38 aichallenge: janzert epsilon * r258732a / website/sql.php : Fix in game query - http://git.io/0Au6dA 2011-11-01T04:54:09 Java Starter Package makes me cry :( Scanner for each input line - and now 300 first-turn water squares on multihill maps makes starter bot work 500+ ms on the 1st turn 2011-11-01T04:54:48 the C++ starter bot is kind of silly 2011-11-01T04:54:52 sas4eka: I think the idea is that you should improve upon the starter package :) 2011-11-01T04:55:06 they use two classes to hold what are essentially dozens of global variables 2011-11-01T04:55:24 you have more time the first turn though. turntime+loadtime 2011-11-01T04:55:48 emilk: I know you were discussing C++11. I was just mentioning D, because it tries to be a fresh start to C++, so might be a choice for people who want auto, hash tables etc. 2011-11-01T04:56:02 *** olexs has quit IRC (Quit: Leaving.) 2011-11-01T04:56:42 mleise: fair enough... I should try D some time. but is it really usable for real life stuff? like for instance... making an iPad app? 2011-11-01T04:57:09 don't you have to code iOS apps in objective-C? 2011-11-01T04:57:17 no, C++ works fine 2011-11-01T04:57:27 just the interface to the native libraries need to be ObjC 2011-11-01T04:57:40 emilk: I have no Apple hardware. It is hard to tell for me. The compilers work on Windows, Linux and MacOS X at least. 2011-11-01T04:57:55 I like that you can code android apps in scala :) 2011-11-01T04:57:59 mleise: fair enough - quite an off-topic question anyway 2011-11-01T04:58:22 I haven't learned scala yet, but it looks pretty good and I plan on doing some android devel 2011-11-01T04:58:28 can you interface to C++ code in D at least? 2011-11-01T04:58:33 I've already improved. But most people with Java package gonna have timeout one day. 2011-11-01T04:58:52 most of the top 10 bots are written in java ==" 2011-11-01T04:59:22 I really like some of the features D has. But then it chose to do garbage collection, which adds an unacceptable overhead to me... :( 2011-11-01T04:59:37 emilk: Partially, yes. But don't expect too much. These are two different languages. It supports C interfaces fully though. 2011-11-01T05:00:04 mleise, i wonder if d is still in this standard library trouble? phobos versus tango 2011-11-01T05:00:11 *** onensora has joined #aichallenge 2011-11-01T05:00:21 ikaros: definitly no 2011-11-01T05:00:25 ok 2011-11-01T05:00:41 this caused so much damage, that everyone now hails to phobos :p 2011-11-01T05:00:45 because that was one thing that always stopped me from choosing d 2011-11-01T05:00:48 *** the_real_crimper has quit IRC (Ping timeout: 240 seconds) 2011-11-01T05:00:48 ahh 2011-11-01T05:00:52 good to know 2011-11-01T05:00:59 with dmd2 i guess 2011-11-01T05:01:01 *** the_real_crimper has joined #aichallenge 2011-11-01T05:01:09 once D has a proper LLVM or GCC frontend, I'll try it - the dmd2 compiler is crap from my short experience with it (doesn't say anything about the language) 2011-11-01T05:01:19 I mean for D2 2011-11-01T05:01:20 yes, for D1 Tango is still the best choice 2011-11-01T05:01:48 also, like so many languages they made the mistake of not allowing multiple inheritance 2011-11-01T05:01:52 thestinger: It will probably be in the official sources for GCC with the revision 7 series 2011-11-01T05:01:54 thestinger, theres the ldc compiler, is it d1 only? 2011-11-01T05:02:00 I think so 2011-11-01T05:02:02 ok 2011-11-01T05:02:04 d1 only from the looks of it 2011-11-01T05:02:10 didnt look into d a long time 2011-11-01T05:02:23 looked at it 10 years ago last time... 2011-11-01T05:02:27 =) 2011-11-01T05:02:37 did it exist back then already? 2011-11-01T05:02:43 jsut barely 2011-11-01T05:02:44 yeah, D is pretty old 2011-11-01T05:02:47 thestinger: You can already get a GDC package for Ubuntu I think and the sources to the GCC front-end are here: https://bitbucket.org/goshawk/gdc/wiki/Home 2011-11-01T05:02:47 *** sas4eka has quit IRC (Quit: Page closed) 2011-11-01T05:03:14 ah, there's a ghc2-hg package in the AUR (arch linux user repository) 2011-11-01T05:03:18 I'll try that when I have time :) 2011-11-01T05:03:26 anyway, I'm glad I choose c++ for the aichallenge - I can now create a Qt debug window for my code while the but is running =) 2011-11-01T05:03:43 (though I guess there's probably some D GUI lib around to) 2011-11-01T05:04:03 *while the bot it running 2011-11-01T05:04:18 emilk: yeah, I wrote a a debug window in D with GtkD, as a TCP app, listening for the bot when it starts (so i can keep it open) 2011-11-01T05:05:15 It looks like this: http://imageshack.us/f/706/debugpainter.png/ 2011-11-01T05:05:51 (sorry, I my bot speaks german most of the time ^^) 2011-11-01T05:06:18 *** Mojtaba has joined #aichallenge 2011-11-01T05:06:45 hi 2011-11-01T05:06:51 The selected layer shows the time used by different components, so I know what takes the most time each turn 2011-11-01T05:07:23 nice mleise 2011-11-01T05:08:30 *** Mojtaba has left #aichallenge 2011-11-01T05:08:38 thx :D Unfortunately writing tools seems to be more fun than actually coding the bot logic 2011-11-01T05:08:49 hehe not for me :) 2011-11-01T05:10:07 but i think i need a break.. since i woke up today my left hand is aching and little engorged 2011-11-01T05:10:16 Just found out yesterday that the path finding algorithm I was working on for a month on and off, had a serious flaw :p 2011-11-01T05:10:19 *** og01 has joined #aichallenge 2011-11-01T05:10:23 need to type with right only and that kinda sux 2011-11-01T05:10:43 ikaros: type slower then 2011-11-01T05:10:51 Hi, does anyone know where i can find out what platform the perl interperter is running from? 2011-11-01T05:11:20 probably a good idea 2011-11-01T05:11:21 the starter bot page should give you hints 2011-11-01T05:11:32 *** bearoff_w has joined #aichallenge 2011-11-01T05:12:12 ikaros: I can't actually hack real quick like some other people. I'm always thinking "is this correct?" "did I check if this is null?" etc. 2011-11-01T05:12:36 *** chemuduguntar has quit IRC (Ping timeout: 276 seconds) 2011-11-01T05:13:09 ...and then it happens again that I realize the whole idea has a flaw and I wish I sticked with writing tools 2011-11-01T05:14:24 hehe 2011-11-01T05:14:46 most of the time you find the null when running the program :) 2011-11-01T05:16:02 *** the_real_crimper has quit IRC (Quit: Leaving) 2011-11-01T05:16:45 Ok, maybe not a null, but an off-by-one bug 2011-11-01T05:17:27 Or special case that isn't obvious at first and could cause you to debug for an hour not finding the bad line. 2011-11-01T05:22:14 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-11-01T05:28:51 I changed the sources in my Makefile from .cc .cpp and renamed my source file. 2011-11-01T05:28:56 Then ran "make clean" 2011-11-01T05:29:06 and the makefile deleted my source files =( 2011-11-01T05:29:47 Lost a few hours of in the zone work. 2011-11-01T05:30:08 :( 2011-11-01T05:30:16 ouchies. 2011-11-01T05:31:39 10:08 < mleise> thx :D Unfortunately writing tools seems to be more fun than actually coding the bot logic 2011-11-01T05:31:42 amen =) 2011-11-01T05:32:02 when does timeout happen? 2011-11-01T05:32:03 OBJECTS=$(SOURCES:.cc=o) 2011-11-01T05:32:17 mayanks43, When your bot doesn't respond within the timeout period 2011-11-01T05:32:24 ok 2011-11-01T05:32:47 Not adjusting OBJECTS was my mistake. 2011-11-01T05:33:19 mayanks43, It's 500ms on the server. 1000ms by default with the playgame.py script. 2011-11-01T05:33:21 you should get rid of the magic they use in the Makefile imo - I don't like using wildcards for stuff like that 2011-11-01T05:33:51 so it's because my algos are taking too much time 2011-11-01T05:34:16 *** overburn has joined #aichallenge 2011-11-01T05:35:06 thestinger, I've discovered the dangers the hard way :/ 2011-11-01T05:35:16 ooh dangers 2011-11-01T05:35:23 what dangers? :D 2011-11-01T05:35:48 yeah, I've done stuff like 'rm -r /path/to/something/ *' before by accident - wildcards are evil :P 2011-11-01T05:36:03 overburn, Changed the extension on my source file, and "make clean" ended up deleting my source. 2011-11-01T05:36:14 zsh stops me from doing stupid stuff like that now actually... 2011-11-01T05:36:26 ouch 2011-11-01T05:36:31 backed it up at least? 2011-11-01T05:36:51 *** bearoff has left #aichallenge 2011-11-01T05:36:56 overburn, I lost several hours of work. 2011-11-01T05:37:04 ouch 2011-11-01T05:37:05 sucks mate 2011-11-01T05:37:06 : ( 2011-11-01T05:37:36 sucks, use vcs and offsite backup from now on 2011-11-01T05:37:58 I do use vcs. I just don't commit very often when I'm in the zone. 2011-11-01T05:38:08 Especially on a project that's changing so quickly. 2011-11-01T05:38:31 I commit pretty much all the time 2011-11-01T05:39:05 costs so little, saves me from so much if something goes wrong 2011-11-01T05:39:31 *** antimatroid1 has quit IRC (Ping timeout: 258 seconds) 2011-11-01T05:39:32 *** antimatroid has joined #aichallenge 2011-11-01T05:39:59 I also push or rsync my commits to somewhere else pretty frequently 2011-11-01T05:40:32 yeah, I commit all the time and push to an external repo - sometimes I still manage to do something stupid but vim's undo trees and backup files save me 2011-11-01T05:41:21 *** bearoff_w has left #aichallenge 2011-11-01T05:41:57 dang i could use a svn 2011-11-01T05:42:16 use git or hg :) 2011-11-01T05:42:27 bitbucket has free private repos for git/hg, so you can back up there too 2011-11-01T05:45:01 any way to integrate git with code::blocks or visual c++ express? 2011-11-01T05:46:54 I think mercurial will be nicer if you're on windows 2011-11-01T05:47:22 *** djr_ has quit IRC (Quit: Leaving) 2011-11-01T05:47:40 SharkMonkey, ah, I had the same. That makefile is dangerous. I suggested that we should include a warning somewhere, but the problem is: where? 2011-11-01T05:48:24 +1 to mercurial/git after learning a similar lesson I always use hg nomatter what im doing 2011-11-01T05:48:39 adding that warning to the starter package won't work, we may just as well fix the makefile 2011-11-01T05:50:50 Traceback (most recent call last): 2011-11-01T05:50:50 File "/home/paul/Документы/Ants/tools/engine.py", line 171, in run_game 2011-11-01T05:50:50 error_logs[b].write(unicode('\n').join(errors)+unicode('\n')) 2011-11-01T05:50:50 UnicodeEncodeError: 'ascii' codec can't encode characters in position 54-71: ordinal not in range(128) 2011-11-01T05:50:50 What is it? 2011-11-01T05:51:51 py2 or py3? 2011-11-01T05:51:57 2 2011-11-01T05:52:49 that makefile should be change to output binaries in a "build" subfolder or something 2011-11-01T05:53:07 or src put in a subfolder.. 2011-11-01T05:53:41 or it could just have a target for each .o file and rm -f them manually, there are only 3 2011-11-01T05:54:22 well I mean the clean target would do 'rm -f one.o two.o three.o', instead of using the variable created from a wildcard 2011-11-01T05:57:39 v_paul_v_: error_logs[b].write((unicode('\n').join(errors)+unicode('\n')).encode()) might work, but I'm not familiar with how python2 handles unicode/bytes 2011-11-01T05:57:44 @later tell McLeopold the way I think match quality should be generated, the way it seems to be generated by my reading of the sql and the way it must actually be handled because of the result is giving when running "call opponent" seem to be three different things :P 2011-11-01T05:57:44 janzert: Yes master! 2011-11-01T05:57:55 I've just done string stuff in py3 2011-11-01T05:58:02 so anyone know any simple swarming algorithms? 2011-11-01T05:59:37 thestinger, ok, i'll try 2011-11-01T06:01:08 *** Redgis has joined #aichallenge 2011-11-01T06:01:32 overburn: keep picking the ant-food (or ant-hill or ant-unexplored square) pair with the smallest distance and just move that ant closer to it 2011-11-01T06:01:35 simple but effective 2011-11-01T06:01:46 v_paul_v_: error_logs[b].write(u'\n'.join(errors)+ u'\n') might actually be a better attempt to fix it, that unicode() function probably doesn't work or something 2011-11-01T06:02:53 oh nvm, that's a py2 built-in 2011-11-01T06:02:54 xD 2011-11-01T06:05:24 the new python3 str/bytes with str.encode() bytes.decode() makes a lot more sense 2011-11-01T06:05:26 rm *.o is the shit 2011-11-01T06:05:31 ^ yeah 2011-11-01T06:06:00 or rm -f *.o to avoid an error when there aren't any there 2011-11-01T06:06:05 *** olexs has joined #aichallenge 2011-11-01T06:13:22 Hey what machine does the perl interpreter run on the challenge machine? I want to use some compiled code in my perl bot. 2011-11-01T06:18:01 probably x86_64 linux, not sure though 2011-11-01T06:18:31 *** antimatroid has quit IRC (Ping timeout: 260 seconds) 2011-11-01T06:19:19 *** antimatroid has joined #aichallenge 2011-11-01T06:25:00 *** HaraKiri has joined #aichallenge 2011-11-01T06:27:55 *** g0llum has joined #aichallenge 2011-11-01T06:31:55 *** clone1018 has joined #aichallenge 2011-11-01T06:33:05 *** tmc2 has joined #aichallenge 2011-11-01T06:35:34 *** alc has quit IRC (Ping timeout: 244 seconds) 2011-11-01T06:39:31 *** replore has quit IRC (Remote host closed the connection) 2011-11-01T06:41:48 then a quick cross product would have to be something like: void cross(float[] in_1, int in_1_Offset, float[] in_2, int in_2_offset, float[] out, int out_offset) 2011-11-01T06:41:52 erm 2011-11-01T06:41:54 wrong channel 2011-11-01T06:42:04 (that's not my code, don't judge me!) 2011-11-01T06:45:38 oh but just by associating with that code makes it your code 2011-11-01T06:45:45 nah, just kidding : D 2011-11-01T06:46:01 still looks offensive tho 2011-11-01T06:46:14 yeah, thats the point 2011-11-01T06:46:30 I was thrashing Java :) 2011-11-01T06:46:58 (how you can't do a cache-friendly list of anything but primitve types) 2011-11-01T06:47:33 but I dont want to start a religious war here 2011-11-01T06:51:22 *** Volna80 has joined #aichallenge 2011-11-01T06:52:27 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-01T06:54:24 *** Volna80 has quit IRC (Client Quit) 2011-11-01T06:54:27 *** avdg1 has joined #aichallenge 2011-11-01T06:58:00 *** avdg has quit IRC (Ping timeout: 255 seconds) 2011-11-01T06:58:36 what's the proper way to stop tcpclient.py when you've set it to play infinite games? 2011-11-01T06:58:45 *** Jak_o_Shadows has quit IRC (Remote host closed the connection) 2011-11-01T06:58:49 *** scriptkids has quit IRC (Quit: Leaving.) 2011-11-01T06:59:08 so that it nicely finishes the current game, but doesn't start a new one 2011-11-01T06:59:09 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-11-01T06:59:17 Migi32: I wait until it's done the current game and just ctrl-C or pkill it 2011-11-01T07:00:00 it would be easy to add a way to cleanly exit using POSIX signals 2011-11-01T07:00:02 yeah, but it often happens that i've already entered in the next game, even if it hasn't started yet 2011-11-01T07:00:15 then this happens: http://ants.fluxid.pl/replay.15487 2011-11-01T07:00:53 *** xathis has joined #aichallenge 2011-11-01T07:01:17 hmm. I don't really know python... But I'll give that a shot 2011-11-01T07:01:42 http://docs.python.org/library/signal.html 2011-11-01T07:01:54 if it' 2011-11-01T07:02:23 *** onensora has quit IRC () 2011-11-01T07:02:25 hmmm 2011-11-01T07:02:51 so you could make a function that handles a signal like SIGUSR1, and set a global var and then not look for a new game if that is set 2011-11-01T07:12:43 *** ^5 <^5!7cb29512@gateway/web/freenode/ip.124.178.149.18> has joined #aichallenge 2011-11-01T07:16:44 meh... the tcp server seems to have stopped giving me games so I can't see if this works :( 2011-11-01T07:19:41 *** Jubjub has quit IRC (Ping timeout: 265 seconds) 2011-11-01T07:20:23 *** ztfw has joined #aichallenge 2011-11-01T07:23:14 ah, signals are going to be a bad way to do this 2011-11-01T07:23:31 you need to wrap anything that does a system call in a try: except: 2011-11-01T07:23:45 a lock file will work better (keep going as long as the file is there) 2011-11-01T07:28:14 Migi32: just do 'import os' up top and then replace the infinite loop for rounds == -1 with 'while os.path.exists('run.lock')' 2011-11-01T07:28:24 then create the file, run it and delete the file to stop playing games 2011-11-01T07:29:10 http://pastie.org/2792928 2011-11-01T07:29:35 yeah, I got that part 2011-11-01T07:29:46 now let me google how to write to files in python :) 2011-11-01T07:30:18 open('filename','w').write("blarg") 2011-11-01T07:30:33 maybe you could read from standard input 2011-11-01T07:30:50 and if the user presses 'q', say, quit after the next game 2011-11-01T07:31:32 can you do a non-blocking read? 2011-11-01T07:31:52 well, it doesn't really matter, I'm ok with thr lock-file thing 2011-11-01T07:32:35 why dont you catch "KeyboardInterrupt" in yout main loop (ctrl+c) and set a flag thats read before startign the next game 2011-11-01T07:33:04 oh yeah, that's easiest :P 2011-11-01T07:33:09 signal(SIGINT, handler); 2011-11-01T07:33:18 and you could ctrl+C twice to force kill 2011-11-01T07:33:45 wait a minute, then you would have to resume where you were after the ctrl+C; can you do that? 2011-11-01T07:33:54 *before the ctrl+C 2011-11-01T07:34:17 the exception thing will be hard to do properly, because if it has already received orders it will forget about them 2011-11-01T07:35:21 Migi32: you can just open('run.lock', 'w') to make it 2011-11-01T07:37:07 tmc2: you can, but you have to wrap all the library calls that do IO and stuff in try: except WhateverSignalException: because they'll be interrupted if you get a signal 2011-11-01T07:37:46 actually a KeyboardInterrupt could be raised at any statement 2011-11-01T07:38:14 I think bysin's suggestion of signal(SIGINT, handler); is the best solution here 2011-11-01T07:38:35 *** tmc2 has left #aichallenge ("Leaving") 2011-11-01T07:38:43 *** tmc2 has joined #aichallenge 2011-11-01T07:38:45 whoops 2011-11-01T07:38:53 hit ctrl+W to delete previous word :P 2011-11-01T07:39:18 i'll code it: int end_game = 0; handler() { static int twice = 0; if (twice) exit(0); twice++; end_game = 1; } main() { signal(SIGINT, handler); while (!end_game) { ... } } 2011-11-01T07:40:00 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 240 seconds) 2011-11-01T07:40:53 there's a caveat in python that makes it unwieldy, I tried doing it with SIGINT and SIGUSR1 but the I/O calls will raise exceptions instead of continuing after the signal 2011-11-01T07:41:30 ah 2011-11-01T07:41:33 thats always a pain, having to cetch EINTR and trying again 2011-11-01T07:41:38 no way to make it not throw an exception? 2011-11-01T07:41:43 if you have an event loop for handling IO then that is less of an issue, also gives you a chance to use signalfd 2011-11-01T07:46:11 *** pedrosorio has joined #aichallenge 2011-11-01T07:46:31 back to basics... 2011-11-01T07:50:45 Migi32: you can use sigprocmask() 2011-11-01T08:01:27 *** clone1018_ has joined #aichallenge 2011-11-01T08:02:04 *** daaaaave has joined #aichallenge 2011-11-01T08:02:13 *** clone1018 has quit IRC (Ping timeout: 240 seconds) 2011-11-01T08:06:02 * antimatroid is wondering when some new good bots will be out to play 2011-11-01T08:06:19 although i see that fluxid is in the top 10? 2011-11-01T08:06:19 I really want to get into the contest, but I've just got too much work to do =/ 2011-11-01T08:06:22 i was about to say that looks uncahnged 2011-11-01T08:06:49 jnwhiteh: same atm, but i'm keeping an eye on the leaderboard 2011-11-01T08:07:54 antimatroid, my next version should be pretty decent all-round 2011-11-01T08:08:03 :) 2011-11-01T08:08:21 i want to see xathis knocked off top 2011-11-01T08:08:28 the performance of the top 10 is really impressifve 2011-11-01T08:08:29 oh like that 2011-11-01T08:08:39 yeah it won't do that 2011-11-01T08:08:54 maybe like top 30 or something 2011-11-01T08:09:19 that's a start 2011-11-01T08:09:23 :P 2011-11-01T08:09:28 *** clone1018_ has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2011-11-01T08:09:45 btw, antimatroid are you on the TCP servers? 2011-11-01T08:09:52 i don't have a bot 2011-11-01T08:09:52 is AntDroid your bot? 2011-11-01T08:09:54 exams etc. 2011-11-01T08:10:01 ah, right, forgot about that 2011-11-01T08:10:01 antimatroid: don't you like my bot at the top? ;) 2011-11-01T08:10:03 i handed my thesis in today, that's a start 2011-11-01T08:10:12 xathis: i just want some competition :P 2011-11-01T08:10:19 you can come back and beat them again later 2011-11-01T08:10:45 oh that's what i always wanted to do 2011-11-01T08:10:53 how do i get the south koreans to see this contest? 2011-11-01T08:11:02 i imagine they've got a bunch of people who could be interested 2011-11-01T08:11:21 *** clone1018 has joined #aichallenge 2011-11-01T08:12:27 * antimatroid hopes he got the right country with all the star craft fans, i'm shocking at that kind of thing :P 2011-11-01T08:13:54 on the visualizer what are the circles that appear around the hills? 2011-11-01T08:14:01 I don't see any information about it on the webpage 2011-11-01T08:14:43 indicate when a hill is about to be razed 2011-11-01T08:14:54 the radius is the distance to the nearest enemy ant 2011-11-01T08:14:59 ah, interesting 2011-11-01T08:15:07 is that communicated, or just part of the visual display? 2011-11-01T08:15:22 calculated by visualizer 2011-11-01T08:15:37 the circles are spoilers though :( 2011-11-01T08:15:46 you can see whether or not an attack will succeed 2011-11-01T08:15:59 hrm 2011-11-01T08:16:06 of course without them you would never notice the hills getting razed 2011-11-01T08:16:11 aye 2011-11-01T08:16:57 *** Hexren has joined #aichallenge 2011-11-01T08:17:03 hi 2011-11-01T08:17:21 *** analyst74 has quit IRC (Ping timeout: 244 seconds) 2011-11-01T08:17:47 it doesn't mean it's about to be razed :P 2011-11-01T08:17:53 it means there's an enemy close to the hill 2011-11-01T08:18:06 hi 2011-11-01T08:18:08 yes it does 2011-11-01T08:18:21 oh really? 2011-11-01T08:18:26 if an enemy ant gets within one tile of a hill but is killed, no circle is shown 2011-11-01T08:18:44 hmmm, i wonder why that is 2011-11-01T08:18:59 to clearly indicate which hills are about to be razed 2011-11-01T08:19:29 I wonder whether oleg.s's streaming behaviour is emergent or defined. Its fun to watch: http://aichallenge.org/visualizer.php?game=42206&user=871 2011-11-01T08:19:29 =) 2011-11-01T08:25:21 *** avdg has joined #aichallenge 2011-11-01T08:28:37 *** avdg1 has quit IRC (Ping timeout: 240 seconds) 2011-11-01T08:37:03 *** ikaros has joined #aichallenge 2011-11-01T08:38:15 *** master_ninja has joined #aichallenge 2011-11-01T08:41:43 *** yoden has joined #aichallenge 2011-11-01T08:42:55 *** analyst74 has joined #aichallenge 2011-11-01T08:47:51 *** racko has joined #aichallenge 2011-11-01T08:50:16 *** dwins has joined #aichallenge 2011-11-01T08:50:53 soo what happens on 18 december? 2011-11-01T08:51:21 ikaros: thanks for that yesterday. somehow if the bot is in a parent folder it works but not if it's in a child folder to the .sh script =) 2011-11-01T08:52:36 *** replore_ has joined #aichallenge 2011-11-01T08:52:38 hi pedrosorio no problem. so you got it fixed? 2011-11-01T08:53:32 I just reproduced your folder structure and it works 2011-11-01T08:53:51 ok 2011-11-01T08:53:54 if I place the bot in a child folder from the .sh it still doesn't work 2011-11-01T08:54:01 but that's ok 2011-11-01T08:54:02 hm strange 2011-11-01T08:54:24 I think there's some bug in on of the .py from the tools 2011-11-01T08:57:09 *** regmellon has joined #aichallenge 2011-11-01T08:58:24 is there a way to see why my bot stopped running in a particular game? 2011-11-01T08:58:36 from a game on the server 2011-11-01T08:59:42 oh nevermind i found it under status on the screen that lists games 2011-11-01T08:59:46 *** regmellon has quit IRC (Client Quit) 2011-11-01T09:03:20 *** Draakon has quit IRC (Ping timeout: 244 seconds) 2011-11-01T09:08:35 *** Draakon has joined #aichallenge 2011-11-01T09:08:37 *** bobbydroptable has quit IRC (Quit: Page closed) 2011-11-01T09:10:18 *** retybok has joined #aichallenge 2011-11-01T09:11:10 I see that many good players simply don't defend their hills. Even if they have many ants, they leave it out of vision sometimes. Why? 2011-11-01T09:12:46 hush! it is so that you and I can exploit their weakness! 2011-11-01T09:12:57 (or maybe the cover all entrances to their hill?) 2011-11-01T09:14:09 http://ants.fluxid.pl/replay.15603 <- Zulfaqir, turn 34. If no ant were to spawn there, there's a way to sneak up on his base. 2011-11-01T09:17:38 no guts no glory I guess 2011-11-01T09:18:07 Migi32: sometimes the best defense is a good offense 2011-11-01T09:18:08 *** fasteddie has joined #aichallenge 2011-11-01T09:18:31 that's probably true. I think it depends on the map size though 2011-11-01T09:18:44 like, there are these small maps with a crazy amount of hills 2011-11-01T09:18:49 *** fasteddie is now known as FastEddie_ 2011-11-01T09:18:50 you really need some defense there 2011-11-01T09:18:50 Migi32: ant hills were introduced like 2 weeks before the contest started 2011-11-01T09:18:59 a lot of the best bots haven't been updated since then i don't think 2011-11-01T09:19:38 I'm fairly sure that those on the TCP server have been updated between then and now :P 2011-11-01T09:22:27 probably a reasonable assumption :P 2011-11-01T09:23:56 ok, got to go, bye 2011-11-01T09:23:58 *** Migi32 has quit IRC (Quit: bye) 2011-11-01T09:25:53 the tutorial bot will get you at rank 600/700.. so most players probably haven't progressed beyond the starter package 2011-11-01T09:26:30 *** replore_ has quit IRC (Remote host closed the connection) 2011-11-01T09:31:51 *** bob_ has joined #aichallenge 2011-11-01T09:31:57 *** asasasasadadadad has joined #aichallenge 2011-11-01T09:32:02 *** UncleVasya has joined #aichallenge 2011-11-01T09:32:23 *** asasasasadadadad has quit IRC (Client Quit) 2011-11-01T09:32:42 *** v_paul_v_ has quit IRC (Remote host closed the connection) 2011-11-01T09:33:04 *** bob_ has quit IRC (Client Quit) 2011-11-01T09:33:34 *** daaaaave has quit IRC (Ping timeout: 265 seconds) 2011-11-01T09:34:29 *** d4rkph30n1x has joined #aichallenge 2011-11-01T09:34:51 hi, is there a difference in the languages 2011-11-01T09:35:17 hi 2011-11-01T09:35:21 hi 2011-11-01T09:35:24 could you restate that question 2011-11-01T09:35:25 *** sorki has quit IRC (Ping timeout: 240 seconds) 2011-11-01T09:35:47 i mean, surely some of the languages have better potential than others 2011-11-01T09:35:53 d4rkph30n1x: Different languages are different languages. 2011-11-01T09:35:59 All languages suck, in different ways. 2011-11-01T09:36:12 *** UncleVasya has quit IRC (Read error: Connection reset by peer) 2011-11-01T09:36:24 in most ways 2011-11-01T09:36:27 *** UncleVasya has joined #aichallenge 2011-11-01T09:36:28 because i see an awful lot of java and C++ near the top of the leaderboard 2011-11-01T09:36:45 *** sorki has joined #aichallenge 2011-11-01T09:36:52 they might have a speed advantage 2011-11-01T09:36:58 but first place used to be a Python bot 2011-11-01T09:37:06 certainly not impossible 2011-11-01T09:37:13 ah, iv not started playing yet. 2011-11-01T09:37:31 Algorithmic cleverness tends to outshine constant-factors in language oomph. 2011-11-01T09:37:36 is it restricted to certain commands about food and eminies etc? 2011-11-01T09:38:00 ye, lots of thinking required to be the best 2011-11-01T09:38:03 is what? your bot? 2011-11-01T09:38:09 the only commands you can give are "ant at position (x, y) go (north|south|east|west)" 2011-11-01T09:38:10 a bot, I mean 2011-11-01T09:38:12 ye, your coding 2011-11-01T09:38:40 so you can not give if statements etc? 2011-11-01T09:39:01 you give commands to ants one turn at a time 2011-11-01T09:39:40 then all the ants belonging to all bots carry out the commands at the same time, for one turn 2011-11-01T09:39:47 d4rkph30n1x: You can do anything you want in your program. You get fed updates about the state of the world as your ants see it. Then you can do anything you want to output movement updates and tell it you're done with your turn. 2011-11-01T09:40:08 ah 2011-11-01T09:40:27 thank you all, great help 2011-11-01T09:41:44 *** d4rkph30n1x has left #aichallenge 2011-11-01T09:42:05 *** Relax has joined #aichallenge 2011-11-01T09:42:20 *** iris1 has joined #aichallenge 2011-11-01T09:49:40 *** UncleVasya has quit IRC (Read error: Connection reset by peer) 2011-11-01T09:50:55 *** psyops has joined #aichallenge 2011-11-01T09:51:06 hello everyone. 2011-11-01T09:51:13 hi 2011-11-01T09:51:48 i'm new to IAChallenge, and i need some help... 2011-11-01T09:52:19 that's strange, why is there only a single bot on the scoreboard with a negative score? 2011-11-01T09:52:23 what kind of help? 2011-11-01T09:53:09 i work with the Java starter package, and i am having some trouble to sort my ants... the removeAnt method is never fired... 2011-11-01T09:53:31 instead all ants a cleared up on each turn... 2011-11-01T09:53:45 how can i manage to keep track of my ants ? 2011-11-01T09:54:09 (sorry if my english hurts i'm french) 2011-11-01T09:54:13 I can't really help you, don't know Java and not familiar with the starter package 2011-11-01T09:54:39 arf... 2011-11-01T09:55:23 do you know some place where i can found some exemples ? (other than the base packages) 2011-11-01T09:55:51 athe are java sample bots in tools.zip 2011-11-01T09:55:54 *there are 2011-11-01T09:56:11 *** UncleVasya has joined #aichallenge 2011-11-01T09:56:32 *** master_ninja has quit IRC (Quit: EOWD) 2011-11-01T09:57:05 thank's. 2011-11-01T09:57:22 *** psyops has quit IRC (Quit: Page closed) 2011-11-01T09:58:42 *** olexs has quit IRC (Quit: Leaving.) 2011-11-01T09:59:37 *** overburn has quit IRC (Quit: Page closed) 2011-11-01T10:05:57 *** roflmao has joined #aichallenge 2011-11-01T10:06:41 http://aichallenge.org/visualizer.php?game=43649&user=2772 2011-11-01T10:06:50 no combat yet, but my first successful bot 2011-11-01T10:07:27 you ants look like pinballs 2011-11-01T10:07:29 wow 2011-11-01T10:07:33 you are a food eating monster 2011-11-01T10:07:53 i like the emergent swarming =) 2011-11-01T10:08:04 wth is dimiya doing there? 2011-11-01T10:08:05 thanks 2011-11-01T10:08:27 emilk: local pathfinding rather than global, I'd suspect =) 2011-11-01T10:08:29 *** ikaros_ has joined #aichallenge 2011-11-01T10:08:50 yeah 2011-11-01T10:08:59 are you taking that hill by misstake? looks like it =) 2011-11-01T10:09:04 yeah 2011-11-01T10:09:05 yeah i have no combat yet 2011-11-01T10:09:08 he said there's no attack in yet =) 2011-11-01T10:09:20 he said no combat =) 2011-11-01T10:09:27 true =) 2011-11-01T10:09:29 I have no combat, but my bot storms ant hills blindly 2011-11-01T10:09:32 what on earth happened in this game: http://aichallenge.org/visualizer.php?game=41361&user=2772 2011-11-01T10:09:43 *** muha has joined #aichallenge 2011-11-01T10:09:53 eh that was an earlier version of the bot that had many, many problems 2011-11-01T10:10:09 not to mention the opponents were just.... 2011-11-01T10:11:04 all my opponents have been rather bad so far actually 2011-11-01T10:12:03 wow, the circles are REALLY spoilers 2011-11-01T10:12:09 tmc2: I hadn't noticed before =) 2011-11-01T10:12:20 but i've caught a few times where it should have triggered but didn't because the ant failed to raze 2011-11-01T10:12:46 *** ikaros_ has quit IRC (Client Quit) 2011-11-01T10:13:17 those high food games scare me 2011-11-01T10:14:06 someone ought to run a TCP server for pure-combat games 2011-11-01T10:14:19 no food, and you start with a squad of ants 2011-11-01T10:14:47 maybe without hills (score determined by kills instead of razed hills) 2011-11-01T10:14:54 as a raincheck for me, how do you guys handle the remaining time so that you dont timeout ? I do checks when I iterate over something with the value from the tutorial (10ms) so if I iterate over my ants to tell them to go somewheer I check before each ant if I more than 10ms left and if not, end my turn 2011-11-01T10:15:12 I, for example, stop computing pathfinds 2011-11-01T10:15:17 if my remaining time gets too low 2011-11-01T10:15:31 I'm a little nervous about 10 ms being a low margin 2011-11-01T10:15:51 what is too low in ms for you roflmao ? 2011-11-01T10:15:52 hexren: but I'd say generally the best way is to optimize so you don't time out at all :) 2011-11-01T10:16:10 I currently have my pathfinding to stop when it hits 250ms which is a bit generous 2011-11-01T10:16:13 *** Areks_ has quit IRC (Ping timeout: 240 seconds) 2011-11-01T10:16:16 still need to work out some kings 2011-11-01T10:16:17 kinks* 2011-11-01T10:16:19 ok 2011-11-01T10:16:30 what do you use for pathfinding ? I use A* 2011-11-01T10:16:33 same 2011-11-01T10:16:47 the timer starts later, after all 2011-11-01T10:16:50 i want to implement some bfs for ant hill razing 2011-11-01T10:16:58 bfs ? 2011-11-01T10:16:58 and fix some of the pathfinding for ants 2011-11-01T10:17:03 breadth-first search 2011-11-01T10:17:03 not at the moment that the engine counts from 2011-11-01T10:17:07 ah ok 2011-11-01T10:17:09 so a 10ms might be more like 7ms 2011-11-01T10:17:17 *10ms margin 2011-11-01T10:17:34 because computing a* paths for like 60 ants would be waaay too greedy 2011-11-01T10:17:36 I'll try upping that then :) 2011-11-01T10:17:46 also — make sure your a* is wrapping 2011-11-01T10:17:52 and only compute pathfinds for nearby foods 2011-11-01T10:17:59 *** driing has joined #aichallenge 2011-11-01T10:18:01 if you can see a food ALWAYS choose the closest ant 2011-11-01T10:18:11 that's not optimal 2011-11-01T10:18:12 cause otherwise you are going to get some reaaaaaly greedy a* pathfinds 2011-11-01T10:18:47 it's actually better not to turn an ant that's exploring around to collect food if there's another one coming up behind it, but further from the food 2011-11-01T10:18:49 is there an inteligent way to simulate the runtime enviroement on the challenge servers ? Purely feeling based, I'd say my bot that times out ion the challenge server doesnt time out on my workstation. I didnt ind an entry on the homepage or the forum where the enviroment on the challenge server is described 2011-11-01T10:19:18 tmc2: yeah, true. 2011-11-01T10:19:33 the a* is wrapping thanks :) 2011-11-01T10:19:34 well, what are you asking for, machine specs? 2011-11-01T10:19:44 hexren: i think the best way is just to limit the ms locally if your machine is faster 2011-11-01T10:19:45 Does the view radius wrap around the map too? 2011-11-01T10:19:49 the machines are 64 bit ubuntu EC2 instances 2011-11-01T10:19:55 driing: yes 2011-11-01T10:20:05 Ok thanks! 2011-11-01T10:20:19 Hexren: One thing I didn't realize is that the official servers run with 500ms/turn, while the defaults in playgame.py are 1000ms/turn 2011-11-01T10:20:34 there are other differences in the settings too 2011-11-01T10:20:42 the food rates are different! 2011-11-01T10:20:44 Relax, jup that kinda sucks yes 2011-11-01T10:21:12 so I strongly recommend you go check you're using the same food rate 2011-11-01T10:21:23 where do you see the machine instances tmc2? 2011-11-01T10:21:40 specs 2011-11-01T10:21:43 sorry, brain fart 2011-11-01T10:21:47 well one of the organisers said what type of instances they're using, I'll go look 2011-11-01T10:21:52 alsdkjaskld 2011-11-01T10:22:03 c1.medium 2011-11-01T10:22:10 ah okay 2011-11-01T10:22:13 wait crap 2011-11-01T10:22:14 thanks for the help, propably be back in a bit when I try the tcp servers 2011-11-01T10:22:17 that was the last contest 2011-11-01T10:22:23 hexren: tcp servers are MUCH harder 2011-11-01T10:22:32 hexren: so I've heard :P 2011-11-01T10:22:32 really? 2011-11-01T10:22:45 yeah i think the turn limit there is 5 secs 2011-11-01T10:22:53 so some of the bots are pretty damn smart 2011-11-01T10:22:53 this isnt a fairytale or so I've heard *this is sparta* ;) 2011-11-01T10:22:57 ah, they are using linux.m2.xlarge 2011-11-01T10:23:33 ...what's "m2"? 2011-11-01T10:24:39 not sure 2011-11-01T10:24:48 *** Relax has quit IRC (Ping timeout: 265 seconds) 2011-11-01T10:24:49 I have a m something micro instance :P 2011-11-01T10:24:58 *** rabidus has quit IRC (Ping timeout: 244 seconds) 2011-11-01T10:25:08 "High Memory Extra Large" 2011-11-01T10:25:14 nice 2011-11-01T10:25:35 17.1GB RAM, 6.5 EC2 compute units, 2 virtual cores 2011-11-01T10:25:38 holy shit 2011-11-01T10:25:40 wait what 2011-11-01T10:25:45 only 2 cores? 2011-11-01T10:25:56 why do they need so much ram for only 2 bots at a time 2011-11-01T10:26:05 also, tmc, a revision on what you said: never pick pathfind an ant to a food that is out of the ant's LOS 2011-11-01T10:26:08 oh right, they all have to stay in memory even if not running 2011-11-01T10:26:20 so if there are 10 bots, they get get about 1.6GB of memory each 2011-11-01T10:26:26 heh nice 2011-11-01T10:26:27 *each get 2011-11-01T10:26:42 why not? 2011-11-01T10:26:43 I think I might as well program a full fledged videogame into my ants 2011-11-01T10:26:48 hahah 2011-11-01T10:26:54 tmc2: because otherwise it costs too much 2011-11-01T10:27:03 tcm2: and it means there are closer ants you could pick 2011-11-01T10:27:15 tmc2: or maybe my pathfinding is terribly unoptimized ;P 2011-11-01T10:27:19 what about food that's outside the sight of all your ants? 2011-11-01T10:27:24 ah, that's different 2011-11-01T10:27:37 then you can do whatever I guess, but if you have a food in your los 2011-11-01T10:27:37 they're paying for a lot of RAM but can only run 2 bots at once 2011-11-01T10:28:03 that's crazy 2011-11-01T10:28:14 also, I'm surprised they can average 3 games per minute with only 2 bots running at a time 2011-11-01T10:28:30 tmc2: but it's not like they can swap 8 gigs between turns 2011-11-01T10:28:31 do you handle the official servers, sir? 2011-11-01T10:28:56 yeah, but I mean ideal would be the same about of RAM but more cores 2011-11-01T10:29:09 agree 2011-11-01T10:29:28 not sure who that quest is directed at 2011-11-01T10:29:31 *question 2011-11-01T10:30:50 my mistake 2011-11-01T10:30:56 since we're talking about fluxid, would anyone mind helping me get it working? :) 2011-11-01T10:31:02 i'm having problems with their script 2011-11-01T10:31:06 the 3 games per minute is for all 5 servers put together 2011-11-01T10:31:46 talking about me? 2011-11-01T10:31:54 well the fluxid.pl thingy 2011-11-01T10:32:01 if you run it, thenyes 2011-11-01T10:32:08 roflmao: what problem? 2011-11-01T10:32:21 python tcpclient.py ants.fluxid.pl 2081 "java -jar MyBot.jar" roflmao QE24wr 500 2011-11-01T10:32:29 what error? 2011-11-01T10:32:35 your bot (java -jar MyBot.jar) failed to start! 2011-11-01T10:32:47 is that your password? 2011-11-01T10:32:48 I maked it with the make file from the starter kit 2011-11-01T10:33:07 zannick: eh it's one i made for this only 2011-11-01T10:33:14 roflmao: try giving aboslute path to java... 2011-11-01T10:33:15 *** driing has left #aichallenge 2011-11-01T10:33:29 i think i should finally fix this script 2011-11-01T10:33:48 roflmao: you're on *nix? 2011-11-01T10:33:56 yes 2011-11-01T10:34:28 your bot (java -jar /Users/jstrong/Documents/workspace/ant_bot/tst/MyBot.jar) failed to start! 2011-11-01T10:34:32 which account should the script get anyway ? the one from the aichallenge website ? 2011-11-01T10:34:36 to java, not jar 2011-11-01T10:34:49 *** sigh has quit IRC (Remote host closed the connection) 2011-11-01T10:34:54 try gicving full java path maybe 2011-11-01T10:35:02 so call "java mybot" ? 2011-11-01T10:35:06 but with full path 2011-11-01T10:35:07 nooo 2011-11-01T10:35:14 /usr/bin/java -jar ... 2011-11-01T10:35:15 OH DUH 2011-11-01T10:35:16 lol 2011-11-01T10:35:27 okay 2011-11-01T10:35:33 if you don't know the path, run `which java` first 2011-11-01T10:35:37 yes I got it 2011-11-01T10:36:31 did it work? 2011-11-01T10:36:32 your bot (/usr/bin/java -jar MyBot.jar) failed to start! 2011-11-01T10:36:34 no luck :( 2011-11-01T10:36:37 ok, wait 2011-11-01T10:37:49 what does running "java -jar MyBot.jar" do on its own? 2011-11-01T10:37:54 AH DUH 2011-11-01T10:38:01 sorry, this script is broken, lol 2011-11-01T10:38:07 it asks you for input that python usually gives it zannick 2011-11-01T10:38:12 ashod's fork had it fixed 2011-11-01T10:38:13 btw: I get the same error with python3 2011-11-01T10:38:14 wait 2011-11-01T10:38:19 *** jcdjcd has joined #aichallenge 2011-11-01T10:38:21 do you have it on github? 2011-11-01T10:38:57 zannick: if you figure out how to simulate the app without python please tell me, because that means I could use eclipse debugger 2011-11-01T10:39:07 zannick: which is really awesome 2011-11-01T10:39:11 sorry 2011-11-01T10:39:27 short of rewriting the engine in java 2011-11-01T10:39:33 dude 2011-11-01T10:39:35 roflmao: redownload client 2011-11-01T10:39:38 you MUST share that :P 2011-11-01T10:39:41 fluxid: kk 2011-11-01T10:40:19 *** jcdny has quit IRC (Ping timeout: 252 seconds) 2011-11-01T10:40:27 no, i mean, you asked how to simulate the app without python. my answer is to rewrite the engine in another language 2011-11-01T10:40:38 i'm not going to do so 2011-11-01T10:40:41 :P 2011-11-01T10:40:44 :P 2011-11-01T10:40:53 fluxid: the one from http://ants.fluxid.pl/howto 2011-11-01T10:40:54 ? 2011-11-01T10:40:56 *** foRei has joined #aichallenge 2011-11-01T10:41:01 roflmao: yeah 2011-11-01T10:41:17 Fluxid its working now 2011-11-01T10:41:31 d('.'d) 2011-11-01T10:41:37 seems to be working 2011-11-01T10:41:43 thanks 2011-11-01T10:41:53 connected to ants.fluxid.pl:2081 as roflmao 2011-11-01T10:41:53 no message after 2011-11-01T10:41:56 therefore I assume it worked 2011-11-01T10:41:57 thanks man 2011-11-01T10:42:03 wait for a game now 2011-11-01T10:42:30 roflmao: a game started with you just now 2011-11-01T10:43:14 why can't you use the eclipse debugger? I don't see what python has to do with it 2011-11-01T10:44:16 tmc2: python runs the process... but i guess it's the same case as in play_game.py 2011-11-01T10:44:21 so it's no difference 2011-11-01T10:44:40 oh, you mean tcpclient.py? 2011-11-01T10:44:45 yeah 2011-11-01T10:44:52 btw someone on the forums posted a "wrapper" bot 2011-11-01T10:45:24 but if you're able to run debugger with playgame.py, then you should able to do it with tcpclient 2011-11-01T10:45:29 which calls out to another bot, so that you can more easily debug it 2011-11-01T10:45:44 yes 2011-11-01T10:46:15 I think debugger is more suitable as a verb than a noun.. 2011-11-01T10:46:50 python's standard debugger runs in console, so it needs stdin/stdout to run... but winpdb may help 2011-11-01T10:47:11 hahah 2011-11-01T10:48:16 *** svujic has joined #aichallenge 2011-11-01T10:48:45 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-01T10:50:23 15k games on tcp, nice 2011-11-01T10:50:41 i'll connect too and see how good bots play now 2011-11-01T10:52:09 *** rabidus has joined #aichallenge 2011-11-01T10:52:29 Fluxid: any notion of what was causing your server to hang? 2011-11-01T10:53:14 how do i see replay 2011-11-01T10:53:25 replay for what 2011-11-01T10:53:28 jcdnyc: no idea... it could be dos, or it could be fd leakage... i have no idea why would one dos his server, and even if code looks really bad, i can't see how it could leak file descriptors... no idea 2011-11-01T10:53:29 fluxid 2011-11-01T10:53:38 roflmao: click on a game number on ants.fluxid.pl 2011-11-01T10:53:57 *** rabidus has quit IRC (Client Quit) 2011-11-01T10:54:00 http://ants.fluxid.pl/replay.15745 2011-11-01T10:54:05 also known as: I need combat 2011-11-01T10:54:24 *** Larose has joined #aichallenge 2011-11-01T10:54:41 *** Rithy58 has joined #aichallenge 2011-11-01T10:54:50 Hello, anyone use VB here? 2011-11-01T10:55:14 I was going to run one locally to tune some parameters in my bots - is https://github.com/alexer/ants-tcp the best place to pull it from 2011-11-01T10:55:39 *** RobotCaleb1 has joined #aichallenge 2011-11-01T10:55:55 wow, trueskill is calculated the same way on the tcp servers, right? the sigma values is pretty high for the large number of games played 2011-11-01T10:56:10 I guess because the matchup is so random 2011-11-01T10:56:19 jcdnyc: i use this https://github.com/berak/ants-tcp 2011-11-01T10:56:37 Fluxid: By any chance is there some improvement for guys with slow connection? 2011-11-01T10:56:42 anyone see my suggestion for a combat-only tcp server before? 2011-11-01T10:56:53 *** Saulzar has joined #aichallenge 2011-11-01T10:57:15 Maybe you wrote in the scrip some mgaic code that increases my connection speed? :D 2011-11-01T10:57:26 UncleVasya: nope... 2011-11-01T10:57:28 *script, magic 2011-11-01T10:57:42 Fluxid: ty I will let you know if I track down the hanging issue. 2011-11-01T10:58:32 tmc2: i think python implementation of trueskill is buggy, before it was using java implementation, but this used to crash, and because there was configuration option to switch between py/java versions, i used python 2011-11-01T10:59:09 oh! 2011-11-01T10:59:22 so is it identical to the one used on the official server? 2011-11-01T10:59:45 i don't have motivation high enough to fix large portions of code, i do quick fixes instead.. 2011-11-01T11:00:11 tmc2: it uses trueskill, yes, but matching and possibly algorithm implementation isn't the same 2011-11-01T11:00:14 how do i know when it is safe to kill the fluxid proess? 2011-11-01T11:00:47 *** Rithy58 has quit IRC (Quit: Page closed) 2011-11-01T11:00:50 roflmao: if it stops with end and it didn't print it connected again 2011-11-01T11:01:25 q: do you guys use an unexplored tiles algorithm 2011-11-01T11:01:34 or how do you get stupid ants to get out of the initial base so effectively 2011-11-01T11:01:36 not yet 2011-11-01T11:01:45 what I do for exploring is: 2011-11-01T11:01:49 i do 2011-11-01T11:01:54 mark where an ant originaly spawned 2011-11-01T11:01:56 and that is how you get ants out of base? 2011-11-01T11:02:02 i do flood-fill from edges of unexplored part of map 2011-11-01T11:02:06 and when it has nothing bgetter to do 2011-11-01T11:02:15 I run away from taht point in a straigt line 2011-11-01T11:02:35 and then ants go to cells with lower numbers. the lower, the closer it is to edge of unknown parts of map 2011-11-01T11:03:15 ah 2011-11-01T11:03:22 so farther away is more attractive 2011-11-01T11:04:06 no 2011-11-01T11:04:15 it goes to the closest unknown 2011-11-01T11:04:28 oh 2011-11-01T11:04:29 but then it becomes known so ants go to other portions of map 2011-11-01T11:04:38 and once all is explored? 2011-11-01T11:04:47 i try to keep map visible 2011-11-01T11:05:26 my own ants repell each other, and i use the same algorithm as to explore map, to keep map visible: flood fill from edged of unvisible parts of map 2011-11-01T11:05:27 ants in fluxid have waaay more time, nice. 2011-11-01T11:05:34 *** sigh has joined #aichallenge 2011-11-01T11:05:58 *** Antimony has joined #aichallenge 2011-11-01T11:06:10 *** jcdnyc has quit IRC (Quit: Leaving) 2011-11-01T11:06:15 Fluxid does that work on the official server or is it to time intensive for that ? 2011-11-01T11:06:23 but this repelling has some bugs, like here http://aichallenge.org/visualizer.php?game=42241&user=757 ants stick to walls... 2011-11-01T11:06:41 Hexren: what do you mean? 2011-11-01T11:06:51 *** jcdny has joined #aichallenge 2011-11-01T11:07:41 the flood fills is that working on the official server ? 2011-11-01T11:07:57 yeah, why not? 2011-11-01T11:08:02 the link to the replay kinda already answered that ;) 2011-11-01T11:08:03 it takes very little time 2011-11-01T11:08:23 actually i don't even use A* or anything else, just plain dumb flood-fill 2011-11-01T11:08:31 is flood fill the ofificial term 2011-11-01T11:08:33 or something you came up 2011-11-01T11:08:44 http://en.wikipedia.org/wiki/Flood_fill 2011-11-01T11:08:49 http://en.wikipedia.org/wiki/Flood_fill 2011-11-01T11:08:59 same thaught here ;) 2011-11-01T11:09:07 roflmao: "Four-way floodfill using a queue for storage" 2011-11-01T11:09:38 but i fill with number. i put to queue number by one larger than currently filled cell 2011-11-01T11:09:39 and queue has priority ? 2011-11-01T11:09:47 ah 2011-11-01T11:09:49 so the farther i fill, the larger the number 2011-11-01T11:10:26 and this is something i didn't know it has a name :| 2011-11-01T11:10:49 and what do you use to actually move the ants 2011-11-01T11:11:07 roflmao: i move ant to cell with lowest number 2011-11-01T11:11:16 but what if all cells around ant are visible 2011-11-01T11:11:29 and you are exploring the unexplored like marco polo 2011-11-01T11:12:20 hm so you basically mean a BFS ? 2011-11-01T11:12:27 yeah, it's basically a BFS 2011-11-01T11:12:32 oh okay 2011-11-01T11:12:34 ikaros: but from destination 2011-11-01T11:12:38 sure 2011-11-01T11:12:47 but you don't need to keep track of visited nodes, you just compare the new value to the old value and only keep going if it's lower 2011-11-01T11:12:49 and because destination doesn;t move, i don't need to repeat 2011-11-01T11:12:52 *** dwins has joined #aichallenge 2011-11-01T11:12:59 i do it this way too.. but for food and hills only yet 2011-11-01T11:13:04 you can do it without any memory allocation if you preallocate the 2d array 2011-11-01T11:13:12 it's very fast 2011-11-01T11:13:19 *** Saulzar has quit IRC (Ping timeout: 252 seconds) 2011-11-01T11:13:26 I just still am not sure 2011-11-01T11:13:28 what determines the value 2011-11-01T11:13:32 or how 2011-11-01T11:13:38 my hill bfs runs until range of 50 max and needs no time at all 2011-11-01T11:13:43 so you have a 2d array of ints, you mark the target as 0 2011-11-01T11:13:51 you do a BFS outwards, incrementing by 1 each step 2011-11-01T11:14:10 so you get shortest paths (multiple ones) and distances for all locations to that target 2011-11-01T11:14:22 yup yup yup 2011-11-01T11:14:25 http://en.wikipedia.org/wiki/Breadth-first_search 2011-11-01T11:14:29 you can also put more than one target into that array, and start them off at a value higher than 0 to give them a lower "priority" 2011-11-01T11:14:43 yup! 2011-11-01T11:14:59 so bfs from edge of map back to ant 2011-11-01T11:15:00 thestinger: oh wait! with that priority... didn't think of it! 2011-11-01T11:15:21 and use lowest cost path 2011-11-01T11:15:24 gotcha. i think 2011-11-01T11:15:36 good idea, i may use it for attacking hills... so farther hills would get more chances to be attacked 2011-11-01T11:15:51 but if you grab lowest cost path it's errr 2011-11-01T11:15:53 no longer bfs? 2011-11-01T11:16:02 I thought bfs did no priority queue type of sorting 2011-11-01T11:16:13 and just picked whatever the shit it could come up with 2011-11-01T11:16:19 yeah, I plan on using it to prioritize hill targets, but still attack a hill with ants that are near it already 2011-11-01T11:16:47 roflmao, with bfs you just calculate a distance map around a target 2011-11-01T11:16:59 how you use the values is a different thing 2011-11-01T11:17:05 roflmao, you're thinking of flood fill, not BFS 2011-11-01T11:18:12 i can copy u one into pastebin as example.. moment 2011-11-01T11:19:10 you guys are so awesome 2011-11-01T11:20:14 aww, thanks! 2011-11-01T11:20:15 *** UncleVasya has quit IRC (Ping timeout: 244 seconds) 2011-11-01T11:20:34 *** analyst74 has quit IRC (Ping timeout: 260 seconds) 2011-11-01T11:20:39 ug 2011-11-01T11:20:51 roflmao, http://pastebin.com/zuGPuKwn 2011-11-01T11:20:52 After adding better collision avodiance 2011-11-01T11:20:56 my ant's no longer want to explore 2011-11-01T11:21:00 and I can't figure out why 2011-11-01T11:21:07 this is an example result of a hill target bfs where 0 is the hill position 2011-11-01T11:21:11 they don't want to trip over themselves! 2011-11-01T11:21:11 they just cluster around the hill 2011-11-01T11:21:17 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-01T11:21:28 B stands for larger numbers (>9) because they break my ascii map :)) 2011-11-01T11:21:37 but tehy should disperse 2011-11-01T11:21:44 use base 36 2011-11-01T11:21:58 kk 2011-11-01T11:22:41 I actually treat unseen locations as land 2011-11-01T11:24:12 thats an idea 2011-11-01T11:24:32 but the map output writes '?' for unseen and unpassable.. 2011-11-01T11:24:57 http://i.minus.com/iT9bu7kh5r5Ib.png 2011-11-01T11:25:00 its no sophisticated print function :) 2011-11-01T11:25:02 *** smiley1983 has joined #aichallenge 2011-11-01T11:25:08 *** karoitay has joined #aichallenge 2011-11-01T11:25:24 or is that dijkstras 2011-11-01T11:25:38 question :) 2011-11-01T11:25:39 or something else 2011-11-01T11:25:40 98 players are ahead. The current player rate is about 17.0 players per minute. The current game rate is about 3.0 games per minute. Next game should be within 15.7 minutes. 2011-11-01T11:25:45 *** retybok has quit IRC (Ping timeout: 255 seconds) 2011-11-01T11:25:49 seems like a classic bfs :) 2011-11-01T11:26:10 so, then, I'd obviously move to the 7's 2011-11-01T11:26:14 then to the 6's 2011-11-01T11:26:15 with 17 players per minute why dies it take 15 minutes if I only have 98 players ahead? 2011-11-01T11:26:15 and so on 2011-11-01T11:26:18 *** delt0r__ has quit IRC (Read error: Operation timed out) 2011-11-01T11:26:32 but what if i encounter walls along the way that couldn't see before? 2011-11-01T11:26:40 can't that completely fuck up the number map? 2011-11-01T11:26:41 I regenerate it every turn 2011-11-01T11:26:44 ah okay 2011-11-01T11:27:06 and.. doesn't this slow down because of a huge open node set? 2011-11-01T11:27:16 karoitay: maybe because it generates one game per player in the queue 2011-11-01T11:27:46 i regenerate it until every tile is known.. then its final and stays 2011-11-01T11:27:47 matchup works by selecting a seed player and then filling out the other players in the game appropriately 2011-11-01T11:27:53 soo. going home.. later 2011-11-01T11:27:54 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-01T11:28:06 I'm not sure, but I would guess that that queue is just for the seed players 2011-11-01T11:28:21 tmc2: possible :) thanks 2011-11-01T11:28:54 there's a post on the forum that goes in excruciating detail into the matchup process 2011-11-01T11:29:09 roflmao: it's not slow at all, it's a single BFS 2011-11-01T11:29:46 you just need a queue 2011-11-01T11:30:13 *** Palmik has joined #aichallenge 2011-11-01T11:30:17 not slow... unless you're using python! 2011-11-01T11:30:20 *** analyst74 has joined #aichallenge 2011-11-01T11:30:23 then it's sure as heck slow :( 2011-11-01T11:30:38 *** amstan_ has joined #aichallenge 2011-11-01T11:30:38 *** ChanServ sets mode: +o amstan_ 2011-11-01T11:30:53 is a* much slower? 2011-11-01T11:31:09 you can't really compare them 2011-11-01T11:31:11 a* will normally explore fewer tiles, speeding it up 2011-11-01T11:31:24 you run the BFS once for a target and get pathfinding and distance measurements from every ant to that target 2011-11-01T11:31:45 well, upto the max range of the BFS anyway 2011-11-01T11:32:08 ah so you run from edge of map to edge of map 2011-11-01T11:32:16 you could do the bfs over the entire map if you don't do it for too many objects 2011-11-01T11:32:31 *** Knekkebjoern has joined #aichallenge 2011-11-01T11:32:32 it takes me 1ms to do a few hundred of them :P 2011-11-01T11:32:34 I was thinking of doing it from ant to edge of map 2011-11-01T11:32:47 *** iris1 has quit IRC (Read error: Connection reset by peer) 2011-11-01T11:33:11 from edge of map to edge of map? 2011-11-01T11:33:12 *** AlliedEnvy has quit IRC (Ping timeout: 240 seconds) 2011-11-01T11:34:22 the way I do BFS, it's the same speed regardless of the number of goals 2011-11-01T11:34:30 (I use numpy) 2011-11-01T11:35:15 numpy is available on the match runners? 2011-11-01T11:35:21 for python2 only 2011-11-01T11:35:22 both numpy and scipy 2011-11-01T11:35:25 yes 2011-11-01T11:35:33 nice, and damn 2011-11-01T11:35:40 damn? 2011-11-01T11:35:44 oh, using python 3 2011-11-01T11:36:04 python2 v python3 probably isn't a huge difference since you aren't really using the standard lib or strings 2011-11-01T11:36:38 thestinger: you can run a* from a food location to all ants as well 2011-11-01T11:37:08 so you keep going until you get to all the ants basically? 2011-11-01T11:37:34 well what are you trying to find? the shortest path from an ant to the food location? 2011-11-01T11:37:36 *** cyphase has joined #aichallenge 2011-11-01T11:37:53 well, atm I'm redoing my food stuff :P 2011-11-01T11:38:00 but that's not really practical if you have a lot of ants 2011-11-01T11:38:02 BFS works well for hills/exploration, I'll see what happens with food 2011-11-01T11:38:07 my beta bot found the shortest path from a food location to an unused ant location using a* 2011-11-01T11:38:25 or, well, slows down a lot if you have a lot of ants (probably still fast enough) 2011-11-01T11:38:34 a* shortest path 2011-11-01T11:39:33 *** JamesMG_ has joined #aichallenge 2011-11-01T11:39:35 *** AlliedEnvy has joined #aichallenge 2011-11-01T11:40:13 beeing new to python and the 2 vs. 3 difference: can I use numpy and scipy whity py3 or on the challenge servers ? 2011-11-01T11:40:38 numpy does work with python3 but I don't think you can use it on the server 2011-11-01T11:41:05 yeah I think the ubuntu numpy package only installs on python 2 2011-11-01T11:41:37 *** delt0r__ has joined #aichallenge 2011-11-01T11:41:52 *** cyphase has quit IRC (Client Quit) 2011-11-01T11:41:52 *** karoitay has quit IRC (Quit: Page closed) 2011-11-01T11:41:58 is anyone using python extensions? 2011-11-01T11:41:59 *** pairofdice has joined #aichallenge 2011-11-01T11:42:00 confused here: 2011-11-01T11:42:01 (04:35:15 PM) analyst74: numpy is available on the match runners? 2011-11-01T11:42:01 (04:35:21 PM) thestinger: for python2 only 2011-11-01T11:42:17 meaning I can use numpy when my Bot is py2 ? 2011-11-01T11:42:21 yes 2011-11-01T11:42:24 *** JamesMG has quit IRC (Ping timeout: 240 seconds) 2011-11-01T11:42:27 nice 2011-11-01T11:42:41 http://pastebin.com/dadjfkUd 2011-11-01T11:42:55 err 2011-11-01T11:42:56 http://pastebin.com/9ETcbTSe 2011-11-01T11:43:14 I think that is bfs 2011-11-01T11:43:26 returns cost of every tile searched from start to goal 2011-11-01T11:43:41 I think. 2011-11-01T11:44:03 *** Knekkebjoern has quit IRC (Quit: Leaving.) 2011-11-01T11:44:31 *** JamesMG has joined #aichallenge 2011-11-01T11:45:20 *** cyphase has joined #aichallenge 2011-11-01T11:45:51 *** JamesMG_ has quit IRC (Ping timeout: 248 seconds) 2011-11-01T11:46:30 http://ants.fluxid.pl/replay.15791 <- I worked on movement a bit so my ants no longer just form straight line everywhere (I'm strcat), ofc I still get destroyed by the ants that do minimax/combat stuff 2011-11-01T11:47:24 *** dvladim has joined #aichallenge 2011-11-01T11:47:51 *** iris1 has joined #aichallenge 2011-11-01T11:48:24 *** Baus has quit IRC (Ping timeout: 240 seconds) 2011-11-01T11:49:19 *** retybok has joined #aichallenge 2011-11-01T11:49:24 so when are you implementing your combat stuff? :) 2011-11-01T11:49:36 *** choas has joined #aichallenge 2011-11-01T11:49:48 I'm currently working on some simple stuff like avoiding enemy ants etc. 2011-11-01T11:50:02 it works but it doesn't actually help yet so I'm not using it :P 2011-11-01T11:50:05 * avdg wonders why he is so frustrating about the middle circle algorithm 2011-11-01T11:51:28 . 2011-11-01T11:52:00 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-01T11:52:11 I guess I could start with something simple like marking off tiles with the number of enemy ants that can attack there + after they move something 2011-11-01T11:54:03 *** cyphase has joined #aichallenge 2011-11-01T11:54:33 I'm getting too occupied with little tweaks/bugs to move on to the next big things xD 2011-11-01T11:54:36 ok 2011-11-01T11:54:39 ths bfs TIMED OUT 2011-11-01T11:54:43 one BFS and it timed out 2011-11-01T11:54:49 i thoguht you could do hundreds in 1ms :| 2011-11-01T11:54:59 you can, it probably looped infinitely 2011-11-01T11:55:05 he can, you can't :p 2011-11-01T11:55:11 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-01T11:55:20 set turntime to 10000 and see if it actually finishes 2011-11-01T11:55:24 chuck norris can do about infinite in 1 ms 2011-11-01T11:55:41 well, I do a ridiculous number of them now so it actually uses some of my turn time up 2011-11-01T11:56:12 i think infinite loop is it? 2011-11-01T11:56:13 xD 2011-11-01T11:56:28 "You're doing it wrong" 2011-11-01T11:56:33 trademark 2011-11-01T11:57:06 by McCarthy 2011-11-01T11:57:08 *** Knekkebjoern has joined #aichallenge 2011-11-01T11:58:05 okay 2011-11-01T11:58:12 took 5 seconds 2011-11-01T11:58:26 that's bad nes 2011-11-01T11:58:28 news 2011-11-01T11:59:04 Yeah, some room for improvement 2011-11-01T11:59:28 aichallenge: janzert epsilon * rf858751 / website/process_registration.php : Fix email domain check - http://git.io/C0h5Og 2011-11-01T11:59:29 *** Antimony has joined #aichallenge 2011-11-01T11:59:59 http://pastebin.com/7PPJrDac 2011-11-01T12:00:56 I don't know java, but you don't need that closed list 2011-11-01T12:01:14 *** Baus has joined #aichallenge 2011-11-01T12:01:19 you need to avoid revisiting nodes you've already been to, which you can do by comparing the new value distance to the one that is there already 2011-11-01T12:02:14 if(costMap.get(neighbor) != null) { 2011-11-01T12:02:14 continue; 2011-11-01T12:02:14 } 2011-11-01T12:03:02 Time before: 9956 2011-11-01T12:03:03 Time after: 9894 2011-11-01T12:03:16 better but not good enough :D 2011-11-01T12:03:21 also you might as well use a 2d array instead of a hash table, you know the number of rows/columns 2011-11-01T12:03:45 that is true 2011-11-01T12:03:49 Bad loop somewhere 2011-11-01T12:04:10 sad thing is I had to to with a hashed 1d array :/ 2011-11-01T12:04:41 // add to queue. 2011-11-01T12:04:41 if(!queue.contains(neighbor)) queue.add(neighbor); 2011-11-01T12:04:43 ... how can that take 10 seconds 2011-11-01T12:04:44 oh well, its a cheap hash :-) 2011-11-01T12:04:44 that is the hungry beast I presume 2011-11-01T12:04:49 but still 2011-11-01T12:05:04 *** Relax has joined #aichallenge 2011-11-01T12:05:05 yeah, don't check if the queue contains something 2011-11-01T12:05:14 check if the thing you pop off the queue has already been visited 2011-11-01T12:05:23 it's a linked list so you have to walk through each node to check that 2011-11-01T12:06:21 Time before: 9942 2011-11-01T12:06:21 Time after: 9939 2011-11-01T12:06:32 I CAN DO BETTER 2011-11-01T12:06:38 but that would be good enough :P 2011-11-01T12:07:26 3ms :) 2011-11-01T12:07:39 yeah the costMap.get(neighbor) != null check 2011-11-01T12:07:45 let me eliminate the queue check 2011-11-01T12:07:58 wow 2011-11-01T12:08:04 preallocate the 2d array and keep using it too 2011-11-01T12:08:17 so you would run this from one edge of the map to the other? 2011-11-01T12:08:27 each, from target across the whole map 2011-11-01T12:08:39 you get all the distances and all the shortest paths to that target 2011-11-01T12:09:15 right 2011-11-01T12:09:20 and then even if you didn't run it on the ants 2011-11-01T12:09:24 the ants can use that cost map because it still works 2011-11-01T12:09:31 since you ran it FROM the target 2011-11-01T12:10:28 How is the ant attack range rounded 2011-11-01T12:10:40 or do you run it from each ant to the edges of the map 2011-11-01T12:11:04 from targets, there can be a lot of ants 2011-11-01T12:11:11 I guess there can be a lot of food targets too 2011-11-01T12:11:24 from target to where though? 2011-11-01T12:11:28 in practice, not many 2011-11-01T12:11:38 yeah, cause if you can see them you have ants there 2011-11-01T12:11:45 so they should be getting eaten :) 2011-11-01T12:11:56 when testing I usually see less than 5 food at any given time 2011-11-01T12:12:13 I was thinking of doing one 'tier' or cost level at a time for each food item so you would get one map with several drains 2011-11-01T12:13:28 So you would just do one map once for all foods 2011-11-01T12:13:41 ...sort of 2011-11-01T12:14:37 *** dvladim has quit IRC (Ping timeout: 256 seconds) 2011-11-01T12:16:32 janzert: so, want to talk about trueskill match quality? 2011-11-01T12:18:25 okay it takes 2ms because it doesn't work. great 2011-11-01T12:18:31 lol 2011-11-01T12:18:51 *** ccc has quit IRC (Quit: Page closed) 2011-11-01T12:19:02 what's it doing for 2ms then? 2011-11-01T12:19:05 in that case do nothing: that only take 0 ms ;) 2011-11-01T12:19:11 returning nothing 2011-11-01T12:19:13 null 2011-11-01T12:19:15 doesn't get to goal 2011-11-01T12:19:30 *** ccc has joined #aichallenge 2011-11-01T12:19:31 could you pastebin the code again ? 2011-11-01T12:19:31 *** ikaros has joined #aichallenge 2011-11-01T12:20:01 http://pastebin.com/BpyiJgnT 2011-11-01T12:20:25 return null; 2011-11-01T12:20:30 yes 2011-11-01T12:20:34 but it should get to tile.equals(goal) 2011-11-01T12:20:38 if it doesn't then no path was found 2011-11-01T12:20:44 McLeopold: I'm leaving at any minute, soon as a phone call comes in but can till then :) 2011-11-01T12:20:49 which can't be the case :P 2011-11-01T12:20:55 wasnt the problem that its returning null ? 2011-11-01T12:20:59 yes 2011-11-01T12:21:07 1.                 // If goal has been reached, return cost map. 2011-11-01T12:21:07 2.                 if(tile.equals(goal)) {                         2011-11-01T12:21:07 3.                         return costMap; 2011-11-01T12:21:07 4.                 } 2011-11-01T12:21:14 it should get inside that if though if it works 2011-11-01T12:21:28 hello, my bot just played a game and it crashed in the first turn, in the first turn itself I got like 200+ walls. the turn time was 500ms. whats the trick in these kind of situations, 2011-11-01T12:21:44 ccc: Write better algorithms. 2011-11-01T12:21:53 Either cheaper ones, or ones amortised over several turns. 2011-11-01T12:22:14 but i have to parse all the walls because i will miss them otherwise 2011-11-01T12:22:16 And of course, write correct code :D 2011-11-01T12:22:21 basically my problem isn't in/with the actual match quality formula (I haven't even looked into that, but playing with it it seems to be giving reasonable results anyway) but with how the match_quality is derived for players after the 2nd one 2011-11-01T12:22:22 ccc: Are you referring to water? 2011-11-01T12:22:32 yeah, water 2011-11-01T12:22:36 ccc: Parsing shouldn't remotely be a bottleneck. 2011-11-01T12:22:54 are you using the tutorial bot ? 2011-11-01T12:23:00 nope 2011-11-01T12:23:07 that's what is surprising, my bot plays well over 200+ ants in a game, but 200+ water in a single turn of 500ms it crashed 2011-11-01T12:23:07 I meant ccc sorry 2011-11-01T12:23:11 oh lol 2011-11-01T12:23:16 *** Redgis has quit IRC (Quit: ... mains libres) 2011-11-01T12:23:22 so first I reimplemented the formula in python http://pastebin.com/ZUJFEPuy 2011-11-01T12:23:44 no, i'm talking about a live game in which my bot just crashed because of so many w's at once 2011-11-01T12:23:55 *** RaiderZz has joined #aichallenge 2011-11-01T12:24:01 ccc: Fix your crash, then see if cost is an issue. 2011-11-01T12:24:21 it seems to have the same result as the sql for the 2nd player so I think it is correct 2011-11-01T12:24:39 janzert: yes, after the first player, it is an aproximation, it still maintains the correct order if you compare it to the actual trueskill values 2011-11-01T12:25:31 it is essentially looking for the tightest clump of pair-wise match qualities it can 2011-11-01T12:26:10 so the correct value would be taking the average mu and sigma for the current players compared to the proposed opponent 2011-11-01T12:26:12 I could add the pair-wise list to the opponent sql so we could debug 2011-11-01T12:26:20 "Nice try.. but the evil robot WILL get you" What! 2011-11-01T12:26:34 pairofdice: sweet, you got my new message 2011-11-01T12:27:19 how would I manually derive the value that the sql is coming up with? 2011-11-01T12:27:53 pairofdice: you tried to activate or deactivate a submission without being logged in 2011-11-01T12:28:06 janzert: read the sql formula? 2011-11-01T12:28:09 by my reading I thought it was the best pair-wise match quality, but that is certainly not it 2011-11-01T12:28:17 I tried :) 2011-11-01T12:28:26 I can't get to the sql result 2011-11-01T12:28:37 okay, inside the exp(sum(log( ))) is the pair wise formula 2011-11-01T12:29:00 right what I pasted above in python 2011-11-01T12:29:02 it's a full join from each player in the matchup to all other submissions 2011-11-01T12:29:06 I tried to deactivate my ant 2011-11-01T12:29:17 Untill I get it to actually do something 2011-11-01T12:29:31 which means it calculates the match quality to each current player right? 2011-11-01T12:29:57 each possible opponent gets a correct trueskill value calced with all others already in the match 2011-11-01T12:30:43 right, I believe that's what I said unless I misunderstand what you're saying 2011-11-01T12:31:20 then those correct true skill values are send through ln, then added up, the sent through exp 2011-11-01T12:31:21 the from the order by clause I thought it would take the best of those 2011-11-01T12:31:49 ahh, the ln and exp are aggregate functions 2011-11-01T12:31:54 and sum 2011-11-01T12:32:06 only sum 2011-11-01T12:32:21 McLeopold, the funny thing is, I am logged in 2011-11-01T12:32:21 ln should be applied to each 2011-11-01T12:32:22 ahh, actually I was missing reading that first line 2011-11-01T12:32:26 exp to the result of the sum 2011-11-01T12:33:17 Okay, worked now... 2011-11-01T12:33:23 So I guess I wasn't 2011-11-01T12:33:38 ok, and the idea is that orders the same as calculating the "correct" match quality against the average mu and sigma of current players? 2011-11-01T12:33:55 even though it isn't the same actual number 2011-11-01T12:35:09 Before: 9955 2011-11-01T12:35:09 After: 9922 2011-11-01T12:35:44 beats 5 seconds i guess 2011-11-01T12:40:45 no fuck this 2011-11-01T12:43:02 *** RaiderZz has quit IRC (Ping timeout: 265 seconds) 2011-11-01T12:44:30 heh. Next game should be within -0.2 minutes. 2011-11-01T12:46:25 *** FastEddie_ has quit IRC (Ping timeout: 265 seconds) 2011-11-01T12:47:32 *** lavalamp has joined #aichallenge 2011-11-01T12:49:08 http://i.minus.com/iiR8MwTHdSglg.png 2011-11-01T12:49:10 that can't be right 2011-11-01T12:50:23 *** overburn has joined #aichallenge 2011-11-01T12:51:18 so any of you guys doing battle techniques? 2011-11-01T12:51:27 looks wrong roflmao :) 2011-11-01T12:51:32 roflmao: pretty though. 2011-11-01T12:51:42 actually I think it might be right 2011-11-01T12:51:51 all the 0's are 0's because the bfs exited prematurely 2011-11-01T12:51:53 cause it got to the ant 2011-11-01T12:51:58 (I did an ant to edge check 2011-11-01T12:52:22 (i want to do it from starting hill to each edge, then use that bfs mapping which is updated every turn for the exploring) 2011-11-01T12:53:11 yeaaah 2011-11-01T12:53:33 *** rickyg has joined #aichallenge 2011-11-01T12:53:55 Does a friendly hill has a view radius too? 2011-11-01T12:54:04 no 2011-11-01T12:54:16 *** xar0l has joined #aichallenge 2011-11-01T12:54:16 afaik you don't even know your own hills have died from the map info you get 2011-11-01T12:54:36 woot just beat a top-20 bot in a duel 2011-11-01T12:54:38 ok that's what I thought too 2011-11-01T12:54:59 well, atm I know my hill has died if I can see the location and it's not there anymore :P 2011-11-01T12:56:11 a1k0n: wow, three razes in quick succession! 2011-11-01T12:56:26 for the first time i saw "In Game: Playing in a game right now." on aichallenge.org 2011-11-01T12:56:30 <3 2011-11-01T12:56:53 this guy is too conservative with fighting. i just ignore other ants :) 2011-11-01T12:56:56 haha, i fell down 2011-11-01T12:56:59 *** rickyg has left #aichallenge 2011-11-01T12:57:02 11th place again 2011-11-01T12:57:14 a1k0n: yeah, but you get stuck on the right with the wraparound 2011-11-01T12:57:22 fix that and you'll be in a very good place! 2011-11-01T12:57:35 oh those ants aren't stuck, they just have nothing to do 2011-11-01T12:57:44 then they should explore and make progress =) 2011-11-01T12:57:49 unless they're guarding 2011-11-01T12:57:55 hehe 2011-11-01T12:57:59 i know. my exploration is kind of nearest-ant and they're not near to anything 2011-11-01T12:58:04 so yeah, they end up "guarding" 2011-11-01T12:58:08 it works ok. shrug. 2011-11-01T12:58:12 hehe 2011-11-01T12:59:15 Fluxid: ouch, that attack on your hive was rough =) 2011-11-01T12:59:39 i'm poor in 1 on 1 2011-11-01T12:59:51 wouldn't say its your fault =) 2011-11-01T12:59:55 my combat is just a stub 2011-11-01T12:59:58 hehe, yeah 2011-11-01T13:00:26 couldn't think of anything better than little dumb game tree 2011-11-01T13:01:02 A game tree? How many ply do you do? 2011-11-01T13:01:24 *** Yash30126 has joined #aichallenge 2011-11-01T13:02:54 ha i just saw "Playing in a game right now." too 2011-11-01T13:03:06 I wouldn't dream of implementing a full game tree, but locally, maybe? 2011-11-01T13:03:35 *** overburn has quit IRC (Quit: Page closed) 2011-11-01T13:03:38 yeah but more than a couple ants involved makes it quickly complicated 2011-11-01T13:03:54 for what amount of ants do you build your game trees.. i wonder because the should explode with 100 ants even earlier 2011-11-01T13:04:35 *** dvladim has joined #aichallenge 2011-11-01T13:04:37 *** FastEddie_ has joined #aichallenge 2011-11-01T13:06:43 i mean do you minmax for a specific area of the battle field, for single ants or how 2011-11-01T13:06:54 kinda unsure at this problem 2011-11-01T13:07:07 i think he already said too much. :) 2011-11-01T13:07:20 *** olexs has joined #aichallenge 2011-11-01T13:08:36 hehe 2011-11-01T13:08:43 was a question to all :) 2011-11-01T13:09:38 i still think about alternatives to minmaxing here 2011-11-01T13:10:00 cause there are just too many moves to have a proper calculation (especially in 500ms) 2011-11-01T13:10:50 you need to give your ants some ninja training before sending them into combat 2011-11-01T13:10:55 =) 2011-11-01T13:11:01 that's the only way to have them be effective in <500ms 2011-11-01T13:11:03 :P 2011-11-01T13:11:21 ant san 2011-11-01T13:11:35 oh yeah 2011-11-01T13:11:55 now to build an ant sensei 2011-11-01T13:12:16 *** Garf has quit IRC (Read error: Connection reset by peer) 2011-11-01T13:12:37 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-01T13:13:30 *** Garf has joined #aichallenge 2011-11-01T13:15:06 instant reflexes! 2011-11-01T13:15:23 *** Antimony has joined #aichallenge 2011-11-01T13:15:33 *** SharkMonkey has quit IRC (Ping timeout: 255 seconds) 2011-11-01T13:19:38 *** Yash30126 has left #aichallenge 2011-11-01T13:20:30 *** Antimony has quit IRC (Ping timeout: 255 seconds) 2011-11-01T13:21:05 *** _ulises- <_ulises-!~ulises@pubble.infomesh.net> has joined #aichallenge 2011-11-01T13:21:12 *** amstan_ has quit IRC (Ping timeout: 240 seconds) 2011-11-01T13:21:23 *** _ulises <_ulises!~ulises@cmi/researcher/ulises> has quit IRC (Ping timeout: 260 seconds) 2011-11-01T13:21:29 *** mcstar has joined #aichallenge 2011-11-01T13:21:43 *** ChrisH_ has joined #aichallenge 2011-11-01T13:24:24 *** mawif_ has quit IRC (Ping timeout: 240 seconds) 2011-11-01T13:24:28 *** mawif has joined #aichallenge 2011-11-01T13:26:42 soooo i have a question 2011-11-01T13:29:26 *** sigh has quit IRC (Remote host closed the connection) 2011-11-01T13:33:02 my bfs costmap is great 2011-11-01T13:33:15 however to effectively go to a bfs location 2011-11-01T13:33:22 it just fails epically 2011-11-01T13:34:39 *** retybok has quit IRC (Quit: leaving) 2011-11-01T13:34:57 *** Overburn has joined #aichallenge 2011-11-01T13:35:13 why? 2011-11-01T13:35:14 sup guys 2011-11-01T13:35:33 loop through the costs next to your ant and go to one that's a lower distance than the current location 2011-11-01T13:35:57 *** scribble has joined #aichallenge 2011-11-01T13:36:26 a* ? 2011-11-01T13:36:54 teamwork http://aichallenge.org/visualizer.php?game=42331&turn=86&row=104&col=87 2011-11-01T13:37:23 hah 2011-11-01T13:37:27 if only : D 2011-11-01T13:37:30 *** Antimony has joined #aichallenge 2011-11-01T13:38:39 Huh, why does purple die? All three appear to be in range of each other 2011-11-01T13:39:11 this game seems suspicious http://aichallenge.org/visualizer.php?game=44515 how often do you see two pretty good bots both timeout on the first turn? 2011-11-01T13:39:39 both java... 2011-11-01T13:40:04 Relax: the visualizer isn't good at showing combat because it shows the positions of the ants the turn before they die 2011-11-01T13:40:10 McLeopold: did you by chance change the mouse offset? 2011-11-01T13:40:26 I don't even know what that is? 2011-11-01T13:40:57 when I click in the timeline, the line is places a few pixels to the right 2011-11-01T13:41:25 Relax: move your mouse over the ants, a circle should appear showing the attack range 2011-11-01T13:41:46 mleise: I moved the graph, but didn't correct the mouse offset then 2011-11-01T13:41:49 Relax: the red and blue ants are one tile away from each other's attack zones, but they both move in range of the purple one killing it. 2011-11-01T13:42:15 Relax: click to the next turn to see the killing move 2011-11-01T13:42:25 (use right cursor) 2011-11-01T13:42:52 time to register on github! 2011-11-01T13:42:58 Ah, I see. Thanks guys, didn't know that's how the visualizer worked 2011-11-01T13:43:24 50:31 cost:100 2011-11-01T13:43:24 51:32 cost:100 2011-11-01T13:43:24 52:31 cost:98 2011-11-01T13:43:24 51:30 cost:100 2011-11-01T13:43:24 CHOSEN: WEST-100 2011-11-01T13:43:25 it's a little better when animating the playback because the transition is smoother 2011-11-01T13:43:30 sums up my problems pretty well :P 2011-11-01T13:43:57 hahaha 2011-11-01T13:46:40 I know what I will do: place 8 ants around my hills and lure enemies to it, harhar 2011-11-01T13:47:08 if teh enemy has enough ants, that might not work 2011-11-01T13:48:01 Antimony: As long as they don't understand the attack rules properly and send their ants one by one, I'm safe :) 2011-11-01T13:48:18 yeah but that won't help once you get near the top 2011-11-01T13:48:28 github is oddly identical to gitorious 2011-11-01T13:48:33 of course I'd be happy if my bot could understand fighting tactics at all 2011-11-01T13:48:50 but hmm wouldn't it be smarter when you see an enemy ant too close to your hill to move the ants in a position that would favor you ? 2011-11-01T13:49:00 you see, and this is why I could get a confortable place in the rankings with this tactic :D 2011-11-01T13:49:27 Overburn: but that's complicated 2011-11-01T13:49:28 mleise: like this? http://aichallenge.org/visualizer.php?game=42331&turn=220&row=61&col=127 2011-11-01T13:49:30 and instead of placing 8 around your hill, just place an adaptive percentage of your total ants around your hill so that you'd have good cover? 2011-11-01T13:49:47 mleise: it's an ai contest hehe 2011-11-01T13:49:49 McLeopold: that's where I got the idea, yes :) 2011-11-01T13:50:37 Overburn: yes, I want to show how dumb the other "A.I." are 2011-11-01T13:50:53 by coding an even dumber one that just sits around the hill 2011-11-01T13:51:08 but still manages to survive the others 2011-11-01T13:51:23 bfs works! :) 2011-11-01T13:51:25 mleise: new example bot coming up... 2011-11-01T13:51:35 SqatBot 2011-11-01T13:51:50 besides, what do you do if the opponent has tactics implemented? hehe 2011-11-01T13:51:58 mleise 2011-11-01T13:52:03 i have the dumbest ai possible 2011-11-01T13:52:09 hehe, unfortunately keeping a hill is only 1 point whereas razing one is 2 points 2011-11-01T13:52:20 and that makes it so much fun 2011-11-01T13:52:55 Fluxid: you might be interested in this patch to highlight the player name in the list of Players https://github.com/jcdny/ants-tcp/commit/bd61cb8133d1d15deeee92bc93bcb40ef917debe 2011-11-01T13:53:11 I wonder how slow some bots are... 2011-11-01T13:54:07 Evning 2011-11-01T13:54:09 (maybe a suggestion for more stats at the same time) 2011-11-01T13:54:23 *** choas has quit IRC (Ping timeout: 248 seconds) 2011-11-01T13:58:35 *** Israfel has quit IRC (Read error: Operation timed out) 2011-11-01T13:59:03 *** Israfel has joined #aichallenge 2011-11-01T14:00:59 it's so frustrating how my new bot keeps getting owned by it's previous versions 2011-11-01T14:01:32 :-) 2011-11-01T14:01:47 I hope you keep track of your changes 2011-11-01T14:01:50 Antimony: don't worry, if you beat your old versions it means you'll lose more to other people's bots :( 2011-11-01T14:02:28 never underestimate the power of stupidity 2011-11-01T14:02:35 Often beating your old bot and doing better on the score board aren't related at all 2011-11-01T14:02:52 *** onensora has joined #aichallenge 2011-11-01T14:03:32 i don't understand one thing tho 2011-11-01T14:03:37 how are bots ranked? 2011-11-01T14:03:43 *** mceier has joined #aichallenge 2011-11-01T14:03:54 you mean in a single game? 2011-11-01T14:05:13 yeah 2011-11-01T14:05:19 by points. 2011-11-01T14:05:26 ah no 2011-11-01T14:05:30 i mean , 2011-11-01T14:05:32 overall 2011-11-01T14:05:37 say the bots have the same amount of points 2011-11-01T14:05:49 what influences the rating system? 2011-11-01T14:05:55 meaning 2011-11-01T14:05:57 it's trueskill 2011-11-01T14:06:07 how do you guys test the bot while in development stage, the playgame.py command has no effect on turntime, while testing i never timeout even if i set turntime to 10ms 2011-11-01T14:06:08 hmm yes 2011-11-01T14:06:08 points are only used to determine the ranking of the bots in the game 2011-11-01T14:06:16 but what a re the factors taken into account? 2011-11-01T14:06:16 that ranking is then fed into TrueSkill 2011-11-01T14:06:17 http://atom.research.microsoft.com/trueskill/rankcalculator.aspx 2011-11-01T14:06:35 *** Migi32 has joined #aichallenge 2011-11-01T14:06:41 ccc: you write your own script and set the time limit 2011-11-01T14:06:56 ok but 2011-11-01T14:07:08 say you have a dumb bot with 1 point 2011-11-01T14:07:11 and a better bot 2011-11-01T14:07:20 with 1 point as well 2011-11-01T14:07:25 ccc: strange, timeout works for everyone else 2011-11-01T14:07:28 *** Israfel has quit IRC (Ping timeout: 245 seconds) 2011-11-01T14:07:40 sure you bot simply isn't that fast? 2011-11-01T14:07:43 *your 2011-11-01T14:08:28 Overburn: that is a tie, their mu's are pulled toward each other and both sigma drop 2011-11-01T14:08:47 doesn't sigma go up too? 2011-11-01T14:08:54 no really 2011-11-01T14:09:02 hmm 2011-11-01T14:09:10 in a very rare case, it might go up a very insignificant amount 2011-11-01T14:09:12 but there are bots on the TCP servers with hunderds of games and high sigmas 2011-11-01T14:09:32 I don't know what the TCP server is doing 2011-11-01T14:09:52 *** fookwood has joined #aichallenge 2011-11-01T14:09:59 wow 2011-11-01T14:10:06 if it is using the python trueskill, then it is flawed 2011-11-01T14:10:17 oh? 2011-11-01T14:10:28 what did I hear about a Java implementation? 2011-11-01T14:11:48 sigma is the approximation, no? 2011-11-01T14:11:55 I read that there's a new rating system called "whole history ratings" that outperforms all of the other algorithms (elo, trueskill, glicko, etc) 2011-11-01T14:12:03 trueskill is good when there is a large pool of players 2011-11-01T14:12:04 standard deviation 2011-11-01T14:12:18 so basically 2011-11-01T14:12:19 when the pool of players is small it is notorious for doing crazy matchups 2011-11-01T14:12:25 *** tdubellz has joined #aichallenge 2011-11-01T14:12:34 when you play against a bot that has a higher sigma than you , shouldn't your sigma go up on certain occasions? 2011-11-01T14:12:38 *** scribble has quit IRC (Ping timeout: 260 seconds) 2011-11-01T14:13:05 *higher sigma and different skill 2011-11-01T14:13:06 *** amstan_ has joined #aichallenge 2011-11-01T14:13:06 *** ChanServ sets mode: +o amstan_ 2011-11-01T14:13:45 no, as I understand it sigma should increase when the result of a match is surprising 2011-11-01T14:13:54 *** dwins has quit IRC (Quit: ddubovsky) 2011-11-01T14:14:00 I thought they picked TrueSkill because it works well for N-player matches? 2011-11-01T14:14:14 yep 2011-11-01T14:14:15 meaning that too much confidence was put into a player's skill score 2011-11-01T14:14:44 all I know is that there is a game called Dawn of War 2 that used trueskill 2011-11-01T14:14:50 Whole History Rating is awesome 2011-11-01T14:14:53 WHR is pretty cool but I think it would require modification to work for N-player games. 2011-11-01T14:14:54 and everyone complained about the bad matchups because of the small pool of players :P 2011-11-01T14:15:02 *** dwins has joined #aichallenge 2011-11-01T14:15:03 but when I tried to implement it, I kept getting division by 0 2011-11-01T14:15:08 I think my game set was too sparse 2011-11-01T14:15:26 WHR is better for humans, though-- the strength of any individual program will not vary with time... 2011-11-01T14:15:41 yes it will 2011-11-01T14:15:45 for TCP servers at least 2011-11-01T14:16:06 as long as we can't write to disk, it should be the case on the main server :) 2011-11-01T14:16:24 lavalamp, time checks 2011-11-01T14:17:01 *** bibix has joined #aichallenge 2011-11-01T14:17:25 ug, I'm getting random timeouts now 2011-11-01T14:17:49 cyphase, good point-- but they could also just reset the ratings when they change the time limit. 2011-11-01T14:18:03 wow 2011-11-01T14:18:15 *** muha has quit IRC (Ping timeout: 265 seconds) 2011-11-01T14:18:23 I've never seen a graph take more than 80ms to solve and suddenly it encountered one that took 507ms 2011-11-01T14:18:30 apparently you can write to disk 2011-11-01T14:18:39 *** fookwood has quit IRC (Quit: Page closed) 2011-11-01T14:18:44 Antimony, does your bot check the time limit? I forgot they gave it to me and had it hard-coded to 1000ms for a while :/ 2011-11-01T14:18:45 Migi32: did you read the paper, does it do n-player games? 2011-11-01T14:18:48 guess I need to do time checks and return early after all 2011-11-01T14:19:04 McLeopold, I did not read the paper, and I don't know if it does N-player games 2011-11-01T14:19:06 I have time checks in some places 2011-11-01T14:19:10 McLeopold: I've read it before, it does not 2011-11-01T14:19:13 yea, that's a good idea.. 2011-11-01T14:19:16 but I didn't bother to put one inside the graph solver becuase it was always so fast 2011-11-01T14:19:21 I'm sure it could be adapted 2011-11-01T14:19:29 but i meant check the time to know which bot to use 2011-11-01T14:19:33 Actually, I use 400ms timeout when testing 2011-11-01T14:19:35 bots would get ebtter and worse 2011-11-01T14:19:37 :P 2011-11-01T14:19:40 better* 2011-11-01T14:19:41 *** Israfel has joined #aichallenge 2011-11-01T14:20:09 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-11-01T14:20:25 anyone have experience with python profiler? what does the --profile opt for playgame.py do? 2011-11-01T14:20:36 TrueSkill does suffer from some problems, but we control the matchmaking, so we can minimize them 2011-11-01T14:21:29 magiik: that's for profiling the engine, not your bots 2011-11-01T14:21:47 magiik: the best way is to run a game normally with the -I option to get the input file for each bot 2011-11-01T14:22:13 then run that back through your program: python -m cProfile MyBot.py < 0.bot0.input 2011-11-01T14:22:16 ah, then i can replay it to the bot 2011-11-01T14:22:30 thanks for the idea 2011-11-01T14:22:59 *** FastEddie_ has joined #aichallenge 2011-11-01T14:23:03 although I just realised that you can't easily reproduce your bot's state if it stops a turn early due to timeout :( 2011-11-01T14:23:33 well, potentially not anyway, depending on how stateful it is 2011-11-01T14:23:36 tmc2: for that kind of testing i remove my timeouts and change turntime to really high - if you are debugging a specific problem and you want to be able to recreate it 2011-11-01T14:23:54 yes, but you can't do that with replays from the server 2011-11-01T14:24:05 true 2011-11-01T14:24:17 how is the engine calculating time, is it the real-time or the processor time used 2011-11-01T14:24:23 wall clock 2011-11-01T14:25:04 just curious, how many of you use direct ant movements and how many use order queues : D 2011-11-01T14:25:05 a webcam pointed at a wall clock 2011-11-01T14:25:13 trying to decide 2011-11-01T14:25:30 if there are 3 players, and they each have a different score, how much does TrueSkill reward the 2nd player? 2011-11-01T14:26:32 basically what I'm asking is: should you play risky and try to go for either 1st when you're lucky and 3rd when you're unlucky, or play safe and always get 2nd no matter what? 2011-11-01T14:27:15 Migi32: I think you have to try for first, you have no way of knowing that you're currently tied with anyone... 2011-11-01T14:27:45 Migi32: what are you trying to achieve? 2011-11-01T14:28:31 i mean your problem coul also be formulated as "take a chance and maybe be first or always be second" heh 2011-11-01T14:28:32 : D 2011-11-01T14:29:50 an example in ant terms: a risky strategy would be to go on massive attacks against an enemy hill, which can end up in both you and that enemy losing a lot of ants, but you gaining 2 points, but also maybe a 3rd player can then easily kill you 2011-11-01T14:30:26 if your attack works and your defense holds, it can get you 1st place. If your attack or your defense fails, you get 2011-11-01T14:30:28 3rd place 2011-11-01T14:30:45 well that can be solved with probabilities 2011-11-01T14:31:06 the safe strategy would be to prioritize defense over attack 2011-11-01T14:31:32 with the map size, explored map size , number of hills you have, number of opponents encountered, number of discovered enemy ants per opponent as factors for example 2011-11-01T14:31:37 and adapt your strategy based on those 2011-11-01T14:32:22 just cunch those numbers and generate your strategy based on the ouptup 2011-11-01T14:32:25 *output 2011-11-01T14:32:50 Migi32: if you are under attack with a hill left, either you or someone else can gain in rank 2011-11-01T14:33:12 *** dr- has quit IRC (Ping timeout: 240 seconds) 2011-11-01T14:33:57 I know all that. But even if you take all those factors into account, there's still a choice left of playing risky and aggressive or safe and defensive 2011-11-01T14:34:42 hmm i'm not very familiar with them ,but you could take a look at decision making algorithms such as minimax 2011-11-01T14:34:58 *** dr- has joined #aichallenge 2011-11-01T14:35:41 minimax? I don't see how you could use minimax here 2011-11-01T14:35:54 there are black-and-white decisions where either aggression or defense is clearly the best, but it's the gray area that matters 2011-11-01T14:35:57 Migi32, I imagine it depends on the skill scores of the players 2011-11-01T14:36:09 *** pedrosorio has quit IRC (Quit: Page closed) 2011-11-01T14:36:29 if you get 2nd place, but one of the bots was ranked higher than you anyway, then that's probably not too bad for you 2011-11-01T14:36:41 but if you were the top ranked bot, coming 2nd would be bad 2011-11-01T14:37:02 however I don't know how it's actually calculated, would love to look into that 2011-11-01T14:37:16 *** FastEddie_ has quit IRC (Quit: Page closed) 2011-11-01T14:37:50 yeah. Unfortunately your bot doesn't know these rankings, so it can't make any decisions on that 2011-11-01T14:37:51 for now I think I'm going to try to always go for first place, and consider 2nd place as almost as bad as last place 2011-11-01T14:38:20 Migi32: there's always a risk 2011-11-01T14:38:35 but if you use probable outcomes, you just need to use the one that's more probable 2011-11-01T14:39:00 or venture into the realm of fuzzy logics 2011-11-01T14:39:23 or just random it 2011-11-01T14:39:58 I'd love to train a neural network to guess a player's TrueSkill score 2011-11-01T14:40:12 heh. Great idea :) 2011-11-01T14:43:32 *** choas has joined #aichallenge 2011-11-01T14:44:38 *** xar0l has quit IRC (Quit: Page closed) 2011-11-01T14:46:43 does sigma go up over time in TrueSkill? 2011-11-01T14:47:33 down 2011-11-01T14:47:42 in general 2011-11-01T14:48:53 *** JanneP has joined #aichallenge 2011-11-01T14:49:05 no, I mean if you don't play any games 2011-11-01T14:49:13 no 2011-11-01T14:49:28 ok 2011-11-01T14:49:44 though that might be appropriate for humans, if it happened very slowly 2011-11-01T14:49:46 Hi, will my bot play, if it says in my profile that it compiled but failed some test cases? 2011-11-01T14:49:54 no it won't 2011-11-01T14:50:24 damn, can't pass with crappy code then =) 2011-11-01T14:50:43 *** amstan_ has quit IRC (Remote host closed the connection) 2011-11-01T14:53:14 I started with the C package, it seems it's been obfuscated just to make it hard to understand. or they just didn't care to write many comments describing what each section does 2011-11-01T14:54:21 *** caution has joined #aichallenge 2011-11-01T14:54:56 *** emumrik has joined #aichallenge 2011-11-01T14:56:07 has anyone noticed the coords are backwards in the python starter kit? 2011-11-01T14:56:09 it's so annoying 2011-11-01T14:56:13 yes 2011-11-01T14:56:25 I got used to it quickly 2011-11-01T14:56:27 no plants to fix it? 2011-11-01T14:56:39 it's easier to write row,column instead of y,x 2011-11-01T14:56:46 that's what I did 2011-11-01T14:56:50 Hello everybody. I'm really sorry but I cant find out how to make orders for my bot. It's written in Pascal ( Delphi ). Can You help? 2011-11-01T14:56:54 changed all my y x to row cols 2011-11-01T14:57:00 normally I would use an array indexed by y,x 2011-11-01T14:57:16 so I'm actually pleased with the rows,columns layout 2011-11-01T14:57:23 yeah but it's not the arrays, it's the tuples 2011-11-01T14:57:34 that you would expect to be in coordinate format 2011-11-01T14:57:41 huh? 2011-11-01T14:57:50 what do you mean 2011-11-01T14:57:52 my_ant = (row, col) 2011-11-01T14:58:11 also, I use numpy, so I can index ants.map[ant_loc] 2011-11-01T14:58:27 waaaay better than ants.map[ant_loc[0]][ant_loc[1]] 2011-11-01T14:58:44 I use a class for that 2011-11-01T14:58:49 what's the numpy advantage? 2011-11-01T14:59:15 lots of array functions 2011-11-01T14:59:27 I try to output in StdOut string like "o 9 65 S 2011-11-01T14:59:31 faster than raw python, though I ended up using extensions anyway 2011-11-01T14:59:36 but it doesn't work 2011-11-01T14:59:50 how long does a player have per turn? Is there a cumulative limit for the whole game? 2011-11-01T15:00:00 emumrik, doesn't the starter kit contain a functino for doing that? 2011-11-01T15:00:08 caution, no cumulative limit 2011-11-01T15:00:12 I see turntime 500 2011-11-01T15:00:17 is that seconds? 2011-11-01T15:00:21 milliseconds 2011-11-01T15:00:32 it does, but in such a strange way that I ha to write my own 2011-11-01T15:00:43 *** choas has quit IRC (Ping timeout: 258 seconds) 2011-11-01T15:01:13 JanneP: I don't know about the other packages but the D package is pretty simple to understand 2011-11-01T15:01:30 D package? 2011-11-01T15:01:30 what's cutoff_turn and cutoff_percent? 2011-11-01T15:01:30 hmm, well make sure you append 'go\n' after the last order of your turn 2011-11-01T15:01:45 yes, I'm sure 2011-11-01T15:01:50 those are used for determining whether to end the game early 2011-11-01T15:01:52 ignore them 2011-11-01T15:02:04 actually, I don't think they're passed to the bot anyway 2011-11-01T15:02:50 each turn I do writeln( "o 9 65 S" ); writeln( "go" ); 2011-11-01T15:03:07 but it doesn't move =( 2011-11-01T15:04:05 *** Overburn has quit IRC (Quit: Leaving) 2011-11-01T15:04:15 are those the y, x coordinates, or x, y 2011-11-01T15:04:47 there are right, I'm sure. my ant is there 2011-11-01T15:05:23 emumrik: the starting package for the D language 2011-11-01T15:05:27 what I'm using 2011-11-01T15:06:37 I'll try of course. But I've already read examples in Java and C++ but I still don't understand 2011-11-01T15:06:48 I believe that if you pass an invalid order, you will get a warning message. Do you? 2011-11-01T15:07:19 are you sure your bot didn't get kicked for some reason? 2011-11-01T15:07:56 emumrik: I didn't suggest you use the D package, in fact I don't suggest anyone do - but the code is easy to understand 2011-11-01T15:07:58 I haven't. And I've tried to send almost all coordinates. 2011-11-01T15:08:00 at the end of the game, it's status should be 'survived' (assuming it did) rather than 'timeout' 2011-11-01T15:08:09 Minthos: i started looking into the C++ starter and it also makes much more sense 2011-11-01T15:08:18 and there is already more stuff to start with 2011-11-01T15:09:03 okay. I'll try again, thanks 2011-11-01T15:09:08 bye 2011-11-01T15:09:30 *** emumrik has quit IRC (Quit: Page closed) 2011-11-01T15:11:07 is there an advantage for people to create a new account once their bot is finished? 2011-11-01T15:11:25 lots of the top players are on version 1 2011-11-01T15:12:04 apparently they made their bots in beta and haven't uploaded new versions, they are probably testing them on the tcp servers 2011-11-01T15:12:14 you're only allowed one account 2011-11-01T15:12:23 *** bibix has quit IRC (Ping timeout: 265 seconds) 2011-11-01T15:12:25 (which is a pity I think) 2011-11-01T15:12:43 is it an advantage to break the rules and create a new account once your bot is good though? 2011-11-01T15:12:44 a pity? no, it keeps the ranking lists free of duplicates 2011-11-01T15:12:51 (though if everyone uploaded three different versions of their bot it woudl be a disaster) 2011-11-01T15:13:18 why would you create a new account anyway? 2011-11-01T15:13:24 yeah, not really a pity 2011-11-01T15:13:40 it would be unfair if you submitted multiple variations of the same bot 2011-11-01T15:13:47 would slow down servers even more.. 2011-11-01T15:15:34 http://ants.fluxid.pl/replay.15999 <-- i am blue and i "survived" lol :D 2011-11-01T15:15:47 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-11-01T15:16:12 *** McLeopold has left #aichallenge 2011-11-01T15:17:42 seems like a poor strategy to build up a backlog of 400 unspawned ants 2011-11-01T15:18:00 can you upload compiled libraries? 2011-11-01T15:18:19 yes apparently, people are doing so 2011-11-01T15:18:21 not exactly intentional. but wouldnt actually be the worst kind of defense 2011-11-01T15:18:31 caution: yes, if you can fit them in 2MB :P 2011-11-01T15:18:33 *** choas has joined #aichallenge 2011-11-01T15:18:39 libraries for what? 2011-11-01T15:19:36 oh right, you're using python 2011-11-01T15:19:52 well I just submitted a pull request to add support for compiling python extensions 2011-11-01T15:19:59 I even upload a compiled executable, because the compiler on the server sucks 2011-11-01T15:20:10 because I can't be bothered installing a 64 bit ubuntu 2011-11-01T15:20:13 not exactly intentional either, but I don't think it's against the rules or their spirit 2011-11-01T15:20:55 an executable? for what 2011-11-01T15:21:01 oh, D 2011-11-01T15:21:07 yeah 2011-11-01T15:21:16 the compile script tries to delete executables 2011-11-01T15:21:29 *** Magnifying has joined #aichallenge 2011-11-01T15:21:32 it does? if so it fails with mine.. 2011-11-01T15:21:41 what's it called, 'MyBot'? 2011-11-01T15:21:49 no, dbot 2011-11-01T15:22:03 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-01T15:22:23 I have a MyBot.d that compiles into a program that replaces itself with dbot 2011-11-01T15:22:35 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-01T15:22:36 hahaha 2011-11-01T15:22:52 Ehh :) 2011-11-01T15:24:10 what sort of protection against rouge programs are there on the server? 2011-11-01T15:24:31 compilers and programs are chroot jailed 2011-11-01T15:24:53 Da_Blitz: they painted the compiler blue. (i'm sorry, i had to.) 2011-11-01T15:25:01 * Da_Blitz prefers red 2011-11-01T15:25:04 it goes faster 2011-11-01T15:25:37 *** stocha has joined #aichallenge 2011-11-01T15:28:08 is it impossible to kill a hill if the owner has a backlog of ants there? 2011-11-01T15:28:24 apparently not 2011-11-01T15:28:30 really? ouch 2011-11-01T15:28:39 Aren't ant spawn potential hill agnostic? 2011-11-01T15:30:51 what do you mean apparently not, do you have a replay? 2011-11-01T15:31:06 @tcp 2011-11-01T15:31:08 stocha: tcp could be http://ants.fluxid.pl/howto. 2011-11-01T15:31:25 *** scribble has joined #aichallenge 2011-11-01T15:31:46 ah, it's true 2011-11-01T15:31:52 hill razing happens before ant spawning 2011-11-01T15:32:08 (and razing happens after movement and attacking) 2011-11-01T15:33:56 HaraKiri's replay makes it look impossible 2011-11-01T15:34:18 hmm? 2011-11-01T15:34:34 http://ants.fluxid.pl/replay.15999 2011-11-01T15:34:51 the yellow ants completely surround his hill for several turns 2011-11-01T15:35:06 but did they actually try to move onto the spot? 2011-11-01T15:35:32 oh wait 2011-11-01T15:35:43 I changed my mind 2011-11-01T15:35:57 it should be impossible, because movement happens before combat 2011-11-01T15:36:04 They can't because there's an ant spawning all the time 2011-11-01T15:36:28 so after an ant is spawned, next turn you can't move onto the hill without dying, unless the previously spawned ant moves away 2011-11-01T15:36:32 wait 2011-11-01T15:36:45 *** epicmonkey has joined #aichallenge 2011-11-01T15:36:51 so that means it IS possible, but only if the defending bot moves its ant away 2011-11-01T15:37:19 *** choas has quit IRC (Ping timeout: 248 seconds) 2011-11-01T15:37:24 dammit, my bot keeps timing out after 50-ish moves on the official servers, but it never times out locally, not even on the biggest maps with 200ms per turn 2011-11-01T15:37:42 are the contest servers really that much slower than an average desktop? 2011-11-01T15:37:47 *** tobym has joined #aichallenge 2011-11-01T15:37:48 apparently 2011-11-01T15:37:50 *** Gralo has joined #aichallenge 2011-11-01T15:37:52 what language are you using? 2011-11-01T15:37:56 C++ 2011-11-01T15:37:57 tmc2, but after that an ant spawns again? 2011-11-01T15:38:09 are you compiling it the same way locally? 2011-11-01T15:38:11 I got lots of timeouts too, had to include preventime measures 2011-11-01T15:38:19 Erm, maybe it is possible 2011-11-01T15:38:24 thestinger, yes. Newer compiler version, but same options. 2011-11-01T15:38:28 no, the phase order is: movement, combat, razing, spawning, gathering 2011-11-01T15:38:51 even with debug build my ai is much faster locally than on the server 2011-11-01T15:39:07 *** Antimony has joined #aichallenge 2011-11-01T15:39:15 the thing is, I have a fallback mechanism in my main loop that should stop it from timing out, and that works great locally 2011-11-01T15:39:18 the server is apparently roughly a 3.5GHz Xeon 2011-11-01T15:39:20 Migi32: hm... dunno then, but when I do testing for speed locally I use the 8 hill maze map with turntime at 80ms 2011-11-01T15:39:33 (3.25 EC2 compute units) 2011-11-01T15:39:36 (per core) 2011-11-01T15:39:36 maybe the server has small freezes, garbage collection cycles or something? 2011-11-01T15:40:20 Does the fallback mechanism have enough buffer? 2011-11-01T15:40:42 yes, after my first 2 timeouts, I increased the buffer to like 20ms 2011-11-01T15:40:48 *** McLeopold has joined #aichallenge 2011-11-01T15:40:54 each loop takes less than 1 ms (again, locally) 2011-11-01T15:40:58 in my replays I sometimes observe my ai functioning for a split second when it's mostly frozen from starvation 2011-11-01T15:41:06 Hey can i ask a question about running python in here? 2011-11-01T15:41:18 why not 2011-11-01T15:42:03 If i run play_one_game.py from my command line it says 'python not found' but if i run playgame.py it runs 2011-11-01T15:42:28 are you on windows or linux 2011-11-01T15:42:31 windows 2011-11-01T15:42:33 I really wish I could get some info or log files back from my bot. Right now the server is this black box and you have to observe its output and try to figure out what's going on 2011-11-01T15:42:40 is python in your PATH? 2011-11-01T15:42:50 *** stocha has quit IRC (Ping timeout: 265 seconds) 2011-11-01T15:42:53 you probably need to put python in your PATH variable 2011-11-01T15:43:06 omg sorry :x 2011-11-01T15:43:22 and thanks 2011-11-01T15:44:00 *** dvladim has quit IRC (Ping timeout: 260 seconds) 2011-11-01T15:44:00 *** Accoun has quit IRC () 2011-11-01T15:46:09 Is there anyway to set up a particular configuration of ants in order to debug our bot? 2011-11-01T15:46:23 My bot is supposed to form squares of ants but it never does 2011-11-01T15:46:51 what do you mean? a start configuration? 2011-11-01T15:47:56 like, set up a 5x5 square before hand and figure out why it isn't stable 2011-11-01T15:48:08 so.. a start configuration 2011-11-01T15:48:25 make a custom map file (they can include ants) 2011-11-01T15:53:55 *** Cyb has joined #aichallenge 2011-11-01T15:58:35 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-01T16:02:55 *** Antimony_ has joined #aichallenge 2011-11-01T16:04:05 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-01T16:04:06 *** Antimony_ is now known as Antimony 2011-11-01T16:06:28 *** onensora has quit IRC () 2011-11-01T16:07:10 *** dwins has joined #aichallenge 2011-11-01T16:13:25 *** wombat__ has joined #aichallenge 2011-11-01T16:13:42 *** onensora has joined #aichallenge 2011-11-01T16:15:39 *** Accoun has joined #aichallenge 2011-11-01T16:16:40 *** Magnifying has quit IRC (Ping timeout: 265 seconds) 2011-11-01T16:17:57 *** wombat__ has quit IRC (Client Quit) 2011-11-01T16:20:27 *** stocha has joined #aichallenge 2011-11-01T16:20:43 @tcp 2011-11-01T16:20:44 stocha: tcp could be http://ants.fluxid.pl/howto. 2011-11-01T16:21:35 where do i find tcpclient.py ? 2011-11-01T16:23:48 stocha: it is linked from that page :) 2011-11-01T16:23:57 i don't find it :'( 2011-11-01T16:24:31 ah 2011-11-01T16:24:37 is it "python 2.x" ?i 2011-11-01T16:24:46 i though that would be python, not the client ... 2011-11-01T16:28:30 *** mcstar has left #aichallenge ("WeeChat 0.3.6") 2011-11-01T16:28:57 *** AlliedEnvy has quit IRC (Ping timeout: 240 seconds) 2011-11-01T16:29:12 *** AlliedEnvy has joined #aichallenge 2011-11-01T16:31:42 *** chris__0076 has joined #aichallenge 2011-11-01T16:32:08 are there server issues that cause people to timeout? 2011-11-01T16:33:35 *** Chris_0076 has quit IRC (Ping timeout: 240 seconds) 2011-11-01T16:35:28 *** xathis has quit IRC (Ping timeout: 260 seconds) 2011-11-01T16:35:51 *** Fandekasp has quit IRC (Ping timeout: 256 seconds) 2011-11-01T16:36:41 *** xar0l has joined #aichallenge 2011-11-01T16:37:14 *** McLeopold1 has joined #aichallenge 2011-11-01T16:38:44 *** pedrosorio has joined #aichallenge 2011-11-01T16:38:56 *** McLeopold has quit IRC (Ping timeout: 240 seconds) 2011-11-01T16:38:58 *** clone1018 has quit IRC (Ping timeout: 240 seconds) 2011-11-01T16:38:58 *** jmcarthur has quit IRC (Ping timeout: 240 seconds) 2011-11-01T16:39:11 *** McLeopold1 is now known as McLeopold 2011-11-01T16:40:55 *** clone1018 has joined #aichallenge 2011-11-01T16:41:49 *** dauryg has joined #aichallenge 2011-11-01T16:42:07 *** _ulises- <_ulises-!~ulises@pubble.infomesh.net> has quit IRC (Changing host) 2011-11-01T16:42:07 *** _ulises- <_ulises-!~ulises@cmi/researcher/ulises> has joined #aichallenge 2011-11-01T16:43:11 I've moved the time check to a more inner loop. If it's still timing out, then I think the server has small freezes. If not, it's probably just relatively slow 2011-11-01T16:44:04 *** hgfhgf has joined #aichallenge 2011-11-01T16:44:20 *** hgfhgf is now known as Accoun_ 2011-11-01T16:44:37 *** _ulises- is now known as _ulises 2011-11-01T16:44:58 *** _ulises <_ulises!~ulises@cmi/researcher/ulises> has left #aichallenge 2011-11-01T16:45:33 *** Accoun has quit IRC (Ping timeout: 240 seconds) 2011-11-01T16:46:09 *** stocha has quit IRC (Ping timeout: 265 seconds) 2011-11-01T16:50:08 *** Garf has quit IRC (Read error: Connection reset by peer) 2011-11-01T16:50:13 *** Fandekasp has joined #aichallenge 2011-11-01T16:50:42 *** SharkMonkey has joined #aichallenge 2011-11-01T16:51:21 Migi32: how are you doing time checks, what language are you using - I'm trying to implement one myself - any clues/hints would be helpful 2011-11-01T16:51:44 It's in starter bot? 2011-11-01T16:52:10 pairofdice: you mean time check code, nope not in C starter bot 2011-11-01T16:52:24 *** ltriant has joined #aichallenge 2011-11-01T16:53:43 Atleast in the python version 2011-11-01T16:53:54 <-- also thinks about time check code for C 2011-11-01T16:54:10 I declare a variable, lastTimeCheck, I always set that to the current time after I do a time check (and once before the whole loop starts). One more variable, stopTime, is the time you want to stop your loop. Then if 2*time() >= stopTime + lastTimeCheck, you break 2011-11-01T16:55:18 Hi guys, the live ants info that we are passed, is there an order we get them in (oldest, youngest, etc...) ? 2011-11-01T16:55:45 dauryg: i think the order is random, cannot do anything about it 2011-11-01T16:55:56 It's in a dictionary, so random... 2011-11-01T16:56:02 ok thanks 2011-11-01T16:56:06 *** bearoff has joined #aichallenge 2011-11-01T16:56:31 *** ztfw has quit IRC (Remote host closed the connection) 2011-11-01T16:58:12 ccc: a more simple time check is just if (time() >= stopTime) then break 2011-11-01T17:00:39 *** ccc has quit IRC (Ping timeout: 265 seconds) 2011-11-01T17:01:31 http://aichallenge.org/specification.php first "send" should be "sent" 2011-11-01T17:02:46 *** stocha has joined #aichallenge 2011-11-01T17:02:50 @tcp 2011-11-01T17:02:51 stocha: tcp could be http://ants.fluxid.pl/howto. 2011-11-01T17:04:47 *** mleise has quit IRC (Ping timeout: 248 seconds) 2011-11-01T17:06:24 *** Fandekasp has quit IRC (Ping timeout: 255 seconds) 2011-11-01T17:06:54 *** Hydrosine has joined #aichallenge 2011-11-01T17:07:06 *** ccc has joined #aichallenge 2011-11-01T17:07:09 Evening :) 2011-11-01T17:07:12 *** amstan has joined #aichallenge 2011-11-01T17:07:12 *** ChanServ sets mode: +o amstan 2011-11-01T17:07:20 in maps where we have multiple hills, the water list is huge, runs into more than 300+ for each turn, and the turntime is like 500ms. How do we even play in this kind of situations, I'm thinking to not do anything if I see huge water lists coming in (because they only appear once anyway), does this sound resonable? 2011-11-01T17:08:06 ccc: Some bot frameworks have functions to query remaining turn time. 2011-11-01T17:08:11 ccc, 300 for each turn? 2011-11-01T17:08:20 Either make your code super-awesome or amortise things across turns. 2011-11-01T17:08:39 yeah, two of my live games timeout because I got 250-300 waters in turn 1 2011-11-01T17:08:44 Make rough pathfinds, then refine them as needed, etc. 2011-11-01T17:09:28 water doesn't move, why do you need to query it every turn? 2011-11-01T17:10:35 I'm not query water at all, i'm just saving their coords in a hast table as i see them. my question is if i see 300+ in turn 1 then how do i not save them (they appear only once right) 2011-11-01T17:11:40 how do you not save them? surely just saving them doesn't take 500 ms? 2011-11-01T17:11:56 No, it shouldn't... 2011-11-01T17:12:25 You're doing something very wrong 2011-11-01T17:13:11 I'll tell one game where it just failed, i have 3 ants and 3 hills, the engine gave me 280 w, 3 a's , 4 f's. I've a loop on ant which is 3 in my turn 1, yet the game crashed. 2011-11-01T17:13:48 I'm just saving all w's in hash, and some logic for a's (which is only 3 in first case) 2011-11-01T17:14:16 did it crash or did it timeout? 2011-11-01T17:14:58 *** ajf|offline is now known as ajf 2011-11-01T17:15:04 Minthos: how do I tell that, here's the link: http://aichallenge.org/visualizer.php?game=43250&user=75 2011-11-01T17:15:56 it says crashed in the corner of the timeline plot 2011-11-01T17:16:01 it reads "crashed"! 2011-11-01T17:16:10 oh! you mean it is not timeout 2011-11-01T17:16:25 but my bot works in my local 2011-11-01T17:17:05 it also says on your profile page: http://aichallenge.org/profile.php?user=75 2011-11-01T17:17:44 you could try rerunning it locally with the input from the battle 2011-11-01T17:17:59 *** overburn has joined #aichallenge 2011-11-01T17:17:59 oh! so timeout is not crash - damn! that means i'm doing something wrong, actually my bot worked for the example/tutorial map 2011-11-01T17:18:04 *** overburn has quit IRC (Client Quit) 2011-11-01T17:18:22 Try some other maps 2011-11-01T17:18:33 yeah 2011-11-01T17:18:48 *** Harpyon has joined #aichallenge 2011-11-01T17:18:59 the tutorial map is very small 2011-11-01T17:19:52 I see, actually other maps won't work for me, now i can connect the dots - i think something is wrong with my bot, i thought my other maps were corrupted and hence not working 2011-11-01T17:20:28 I even asked a question here yesterday that other maps won't work with pygame.py script 2011-11-01T17:20:39 lol ;) 2011-11-01T17:21:38 *** tncardoso has joined #aichallenge 2011-11-01T17:22:52 *** McLeopold has left #aichallenge 2011-11-01T17:24:03 *** bearoff has left #aichallenge 2011-11-01T17:24:28 *** Gralo has quit IRC (Ping timeout: 260 seconds) 2011-11-01T17:26:22 So im trying to get my C++ package running, im using the starter package. but it instantly crashes in a game? what could i be doin wrong 2011-11-01T17:27:18 is the java runtime 64bit for the official challenge ? 2011-11-01T17:27:56 it appears that with 32 bits even my fastest bot lag (although it take 1/100 of second with 64 bits) 2011-11-01T17:28:07 Minthos, pairofdice: what is the difference between crash and timeout, in what scenario the engine considers a crash 2011-11-01T17:31:23 *** djr_ has joined #aichallenge 2011-11-01T17:31:47 it's a crash if the bot stops running 2011-11-01T17:32:20 ..on linux at least 2011-11-01T17:32:33 on windows, my python bot always gets reported as timeout when it crashes 2011-11-01T17:32:36 and it's a timeout if it keeps running but doesn't end its turn within the time limit (which is 500 ms per turn) 2011-11-01T17:32:44 doesn't it also register as a crash if you bot sends invalid commands too? 2011-11-01T17:32:48 I imagine it's because it's not running in a sandbox 2011-11-01T17:32:54 like if you end up dumping a stacktrace to stdout or something 2011-11-01T17:33:03 yes, if the engine is set to 'strict' 2011-11-01T17:33:06 dwins: no, then it registers as invalid 2011-11-01T17:33:24 I think strict mode is off by default 2011-11-01T17:34:07 I run strict mode on my play_one_game.sh and the sample bots often do something invalid 2011-11-01T17:34:14 *** jjames_ has joined #aichallenge 2011-11-01T17:34:30 *** racko has quit IRC (Ping timeout: 265 seconds) 2011-11-01T17:34:34 although the testbot script does use stric 2011-11-01T17:34:34 @tcp 2011-11-01T17:34:35 t 2011-11-01T17:34:35 stocha: tcp could be http://ants.fluxid.pl/howto. 2011-11-01T17:34:38 the given command only run for 1 game ? 2011-11-01T17:35:43 I think the real game doesn't run with strict turned on though 2011-11-01T17:35:55 stocha: look at the last parameter 2011-11-01T17:36:01 numround ? 2011-11-01T17:36:03 mm okay. 2011-11-01T17:36:17 so if you put something like 2000, it will go nearly forever ? 2011-11-01T17:36:33 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-01T17:37:14 Fluxid: are you still working on the server ? 2011-11-01T17:37:54 how do one find his bot ? 2011-11-01T17:37:58 to know the rank etc. 2011-11-01T17:38:31 *** bluegaspode has joined #aichallenge 2011-11-01T17:40:09 stocha: just browse ants.fluxid.pl 2011-11-01T17:40:24 *** tobym has quit IRC (Remote host closed the connection) 2011-11-01T17:41:26 is attackradius different on different maps? 2011-11-01T17:41:30 no 2011-11-01T17:41:52 *** dauryg has quit IRC (Quit: Page closed) 2011-11-01T17:42:09 why is it attackradius^2 = 5 then? why not 4? there's no difference 2011-11-01T17:42:35 oh sorry, there is 2011-11-01T17:42:36 nevermind 2011-11-01T17:42:37 there's a huge different 2011-11-01T17:42:40 difference 2011-11-01T17:42:51 yes. nevermind :P 2011-11-01T17:44:26 *** tncardoso has quit IRC (Quit: bye) 2011-11-01T17:46:09 how do you guys prevent ants from running into each other? pathfinding with ants considered should be too expensive 2011-11-01T17:46:35 it's not 2011-11-01T17:46:42 HaraKiri, well, on a simple level, dont send an ant to the same place another ant is or is about to be 2011-11-01T17:46:46 *** clone1018 has quit IRC (Read error: Connection reset by peer) 2011-11-01T17:46:46 Don't have to ants moving to the same location 2011-11-01T17:46:52 two* 2011-11-01T17:47:07 *** clone1018 has joined #aichallenge 2011-11-01T17:47:07 well attacking enemy hills would be a perfect example. same destination 2011-11-01T17:47:29 you only need to check collision one step ahead of each ant 2011-11-01T17:47:40 if another ant already wants to move there, pick another path 2011-11-01T17:48:04 hmm ok might be worth a try 2011-11-01T17:52:51 *** bluegaspode has quit IRC (Ping timeout: 265 seconds) 2011-11-01T17:53:17 *** Jim has joined #aichallenge 2011-11-01T17:53:43 *** Jim is now known as Guest96573 2011-11-01T17:57:04 *** clone1018 has quit IRC (Read error: Connection reset by peer) 2011-11-01T17:57:24 *** clone1018 has joined #aichallenge 2011-11-01T18:04:21 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-01T18:05:07 why does my computer hate me? 2011-11-01T18:05:12 *** Relax has quit IRC (Quit: Page closed) 2011-11-01T18:06:43 youre not a computer 2011-11-01T18:06:53 and he is a racist 2011-11-01T18:07:08 does the visualizer show the ants shooting 1 turn before the actual "shooting" happens in the engine? 2011-11-01T18:07:47 I'm fairly sure it does 2011-11-01T18:08:47 *** rb_ has quit IRC (Ping timeout: 248 seconds) 2011-11-01T18:08:57 I think so Migi32 2011-11-01T18:09:06 how confusing 2011-11-01T18:09:12 so that you can picture which ants are being destroyed 2011-11-01T18:09:16 when watching the replay 2011-11-01T18:09:26 but it can be a bit confusing yeah 2011-11-01T18:10:01 sometimes when it shows them shooting, if the ants would step in a different direction than then do the next turn, they could live 2011-11-01T18:10:23 than they* do 2011-11-01T18:11:08 *** clone1018 has quit IRC (Read error: Connection reset by peer) 2011-11-01T18:11:28 *** clone1018 has joined #aichallenge 2011-11-01T18:11:33 in the visualizer if you pause the game and step over one at a time you will notice that you need to click next two times to finish one turn, so after the half turn the elimination phase is done 2011-11-01T18:13:15 ah yeah, this is mostly an issue when you step one turn at a time 2011-11-01T18:14:03 which is what I do most of the time though 2011-11-01T18:14:30 For some reason, my bot keeps randomly getting timeouts even though it will return early if it is running low on time 2011-11-01T18:14:35 *** foRei has quit IRC (Read error: Connection reset by peer) 2011-11-01T18:15:10 Antimony: locally or on the server? 2011-11-01T18:17:33 locally 2011-11-01T18:17:56 and when I run again with the same settings it doesn't timeout 2011-11-01T18:18:36 bo HOLY SHIT 2011-11-01T18:18:41 http://aichallenge.org/visualizer.php?game=45543&user=757 THIS VERY GAME 2011-11-01T18:18:49 SIR_MACELON VERSUS XATHIS 2011-11-01T18:19:34 macelon won easy 2011-11-01T18:20:02 blob of doom approach 2011-11-01T18:20:05 huh 2011-11-01T18:20:11 that is one cool strat 2011-11-01T18:20:15 he changed I think 2011-11-01T18:20:17 his bots didn't used to do that 2011-11-01T18:20:18 haha, great game! :) 2011-11-01T18:20:19 but those spawnkills! 2011-11-01T18:20:25 awesome 2011-11-01T18:20:58 so he didn't raze the hill 2011-11-01T18:21:02 he just attacked it? huh 2011-11-01T18:21:22 *** capa has joined #aichallenge 2011-11-01T18:21:25 he did raze at the end 2011-11-01T18:21:33 he couldn't raze it because new ants spawned 2011-11-01T18:21:36 one after another 2011-11-01T18:21:50 haha 2011-11-01T18:21:52 I woul dlike ot know what algorithm he's using for the non-blob 2011-11-01T18:22:05 affter no more ants could be spawned - raze 2011-11-01T18:22:32 Fluxid keeps 1 ant alive the whole game 2011-11-01T18:22:34 roflmao: sir macelon didn't touch his bot for days 2011-11-01T18:22:45 that's cool too xD 2011-11-01T18:23:14 Fluxid, hasn't uploaded* 2011-11-01T18:23:18 who knows what he's doing 2011-11-01T18:23:19 ;) 2011-11-01T18:23:45 i'm not gonna stop till my bot wins every game 2011-11-01T18:24:03 anyway, i'm uber happy now 2011-11-01T18:24:06 8th place 2011-11-01T18:24:13 i'll have sushi for lunch tomorrow 2011-11-01T18:25:04 now my bot is just getting raped 2011-11-01T18:25:48 *** Antimony has quit IRC (Ping timeout: 245 seconds) 2011-11-01T18:26:26 actually, I think sir_macelon was lucky that in that game the "ants not razing hills" cutoff wasn't invoked. He would have lost. 2011-11-01T18:27:55 *** bluegaspode has joined #aichallenge 2011-11-01T18:28:14 btw 2011-11-01T18:28:29 I'm going to implement bfs (at the suggestion of people here, love you all) for exploring 2011-11-01T18:28:33 in fact bfs is working great 2011-11-01T18:28:43 however still trying to decide HOW to generate the bfs cost maps 2011-11-01T18:28:44 *** Saulzar has joined #aichallenge 2011-11-01T18:28:52 I was thinking of generating from each edge of the map to the other 2011-11-01T18:29:21 ergo top-left to bottom-left (and vice versa), bottom-left to bottom-right 2011-11-01T18:29:39 and then dividing the map into 4 quadrants (classic style) 2011-11-01T18:29:58 and then using the corresponding bfs map for the exploring ant based on the quadrant it is 2011-11-01T18:30:02 Yeah, I'm writing my own BFS very, very slowly 2011-11-01T18:30:19 so if ant is in top-left quadrant (where in math x would be negative and y positive) 2011-11-01T18:30:39 it would use the bfs map of top-left to bottom-left or top-left to top-right 2011-11-01T18:30:45 and go explore away 2011-11-01T18:30:52 why would you care about edges or corners? 2011-11-01T18:31:04 well fluxid said he used a flood to edges for exploring 2011-11-01T18:31:12 hmm 2011-11-01T18:31:13 because it effectively sparses ants on map 2011-11-01T18:31:20 preventing clustering and helping keep the map visible at all times 2011-11-01T18:31:36 roflmao, this is BFS from every ant to nearest unseen tile? 2011-11-01T18:31:36 OBVIOUSLY if I see food I'll a*/bfs my way to the food using a close ant 2011-11-01T18:31:56 tmc2: I don't know what I'm doing tbh 2011-11-01T18:32:05 I'm wondering how to deal with dead-ends 2011-11-01T18:32:06 _flag: lol, 0.03 of skill points between us! 2011-11-01T18:32:12 tmc2: I have the BFS, just still not sure how I want to implement it for exploring 2011-11-01T18:32:17 you can do a BFS from every unseen tile simultaneously, across the whole map, and if you do it properly it'll be very fast 2011-11-01T18:32:33 every unseen tile to every ant? 2011-11-01T18:32:53 just initialise your queue to the unseen tiles at the perimeter 2011-11-01T18:32:53 right, so instead of from the hill, do from the fog of war inside 2011-11-01T18:32:56 to nearest ant 2011-11-01T18:32:59 *** tmandry has joined #aichallenge 2011-11-01T18:32:59 *** tmandry has joined #aichallenge 2011-11-01T18:33:11 no, start at the horizon, not at the ants 2011-11-01T18:33:22 Exactly 2011-11-01T18:33:22 right the destination is the start of the bfs 2011-11-01T18:33:28 anyway have to go, bye 2011-11-01T18:33:32 *** tmc2 has quit IRC (Quit: Leaving) 2011-11-01T18:33:34 i got that down, that generates a proper cost set that can actually be resued 2011-11-01T18:33:44 I was doing that for food already 2011-11-01T18:33:49 BUUT 2011-11-01T18:33:55 there are a shitton of unseen tiles 2011-11-01T18:33:57 at the perimiter 2011-11-01T18:33:58 so all the foods are on the same BFS cost map 2011-11-01T18:34:05 take turn 1. 2011-11-01T18:34:07 could anyone plz take a look at this? http://aichallenge.org/forums/viewtopic.php?f=25&t=1730&p=10501#p10493 2011-11-01T18:34:16 one ant 2011-11-01T18:34:28 the perimiter has like what, 52 unexplored tiles? 2011-11-01T18:34:43 so I would do 52 bfs computes of unseen tile to ant 2011-11-01T18:34:46 or just pick one? 2011-11-01T18:34:48 that's what I don't get 2011-11-01T18:34:52 yes, but you don't recalculate the area for each perimeter square 2011-11-01T18:35:00 you cycle through the perimeter 2011-11-01T18:35:12 reusing the data from previous bfs checks? 2011-11-01T18:35:57 why would I need all 52 anyways? 2011-11-01T18:36:06 by the time I get to one 2011-11-01T18:36:13 like 30 of the previously unseen 52 tiles will now be seen 2011-11-01T18:36:21 err 2011-11-01T18:37:59 hang on 2011-11-01T18:40:13 *** Saulzar has quit IRC (Ping timeout: 240 seconds) 2011-11-01T18:40:23 roflmao: the point is that if you are doing bfs starting from all of the "border" invisible tiles 2011-11-01T18:40:26 you know you can use bfs to search for the closest unexplored tile to an ant, instead of searching for a path to each individual tile from the ant? 2011-11-01T18:40:31 you will only process each visible tile once 2011-11-01T18:40:49 that's what I"m not getting 2011-11-01T18:40:49 or that.. 2011-11-01T18:40:58 *** mceier has quit IRC (Quit: leaving) 2011-11-01T18:41:01 do you know how bfs works? 2011-11-01T18:41:10 I get your part pedro 2011-11-01T18:41:12 not minthos though 2011-11-01T18:41:16 oh 2011-11-01T18:41:23 i know bfs is exhaustiv 2011-11-01T18:41:24 e 2011-11-01T18:41:47 but not sure how to find the closest unexplored tile to ant 2011-11-01T18:42:00 make your bfs terminate if it finds any item in the target set 2011-11-01T18:42:09 and set the target set to all unexplored tiles 2011-11-01T18:42:23 start at the ant ant search outwards 2011-11-01T18:42:31 _flag: not anymore :) 2011-11-01T18:42:36 *** paulwal has joined #aichallenge 2011-11-01T18:42:47 ah 2011-11-01T18:42:49 *** Antimony has joined #aichallenge 2011-11-01T18:43:00 then once i hit a tile at the target set 2011-11-01T18:43:06 i return my compiled cost map 2011-11-01T18:43:09 and roll with that? 2011-11-01T18:43:17 and recalculate every turn? 2011-11-01T18:43:43 but that is just bfs from ant -> goals 2011-11-01T18:43:43 http://i.minus.com/ibtCW1Olla1t1R.png 2011-11-01T18:43:56 I bfs starting from ant 2011-11-01T18:43:57 you need to do that for every ant if I understood what Minthos said 2011-11-01T18:44:05 yea 2011-11-01T18:44:08 once I hit ANY green tile 2011-11-01T18:44:11 ANY (not all) 2011-11-01T18:44:16 I return my cost map, then use that for the ant 2011-11-01T18:44:23 rinse and repeat every turn regenerating the bfs 2011-11-01T18:44:29 the more effective way is to do bfs starting at the goal 2011-11-01T18:44:30 it's just a radius of 7 so it's fast 2011-11-01T18:44:38 pedrosorio: that's what I was thinking 2011-11-01T18:44:43 which is why I'm all confused lol 2011-11-01T18:44:44 yeah I just answered the question on how to do it, I'm not sure it's a good way to write an ai though 2011-11-01T18:45:02 if you start at goal 2011-11-01T18:45:04 yeah but if the goal is any of 50 tiles, you need to do 50 bfses 2011-11-01T18:45:08 if you do it for every ant each turn 2011-11-01T18:45:08 it probably times out 2011-11-01T18:45:10 with too many ants 2011-11-01T18:45:28 minthos: exactly, and I don't want that 2011-11-01T18:45:32 I want to do one BFS and reuse 2011-11-01T18:45:38 if you start the bfs at the goal 2011-11-01T18:45:41 (edge of map) 2011-11-01T18:45:45 to the other edge of map 2011-11-01T18:45:47 ah.. 2011-11-01T18:45:52 you get a global BFS you can reuse 2011-11-01T18:46:05 for all the ants 2011-11-01T18:46:06 in a given turn 2011-11-01T18:46:08 the main thing is 2011-11-01T18:46:15 start bfs from all goal nodes 2011-11-01T18:46:26 every time that "global" bfs finds an ant 2011-11-01T18:46:26 then modify your bfs to have multiple starting points and no termination condition 2011-11-01T18:46:26 yes I just don't have the goal nodes specified :) 2011-11-01T18:46:29 that ant has a goal 2011-11-01T18:46:32 ??? 2011-11-01T18:46:33 profit 2011-11-01T18:46:35 *** jmcarthur has joined #aichallenge 2011-11-01T18:46:52 my goal nodes are the edges of the map 2011-11-01T18:46:55 *** Venom has quit IRC (Quit: Page closed) 2011-11-01T18:46:56 because I want to explore outwards 2011-11-01T18:47:02 sounds good 2011-11-01T18:47:05 but the edges wrap.. 2011-11-01T18:47:09 there are no real edges 2011-11-01T18:47:13 ah 2011-11-01T18:47:14 *** lavalamp has quit IRC (Quit: Page closed) 2011-11-01T18:47:21 GarySWest stole all my kills, then timed out :| http://aichallenge.org/visualizer.php?game=45574&user=432 2011-11-01T18:47:23 minthos: sure, but 2011-11-01T18:47:23 if that's the definition of "edge" it could be problematic 2011-11-01T18:47:33 it's just to explore outwards 2011-11-01T18:47:44 explore outwards until everything is explored 2011-11-01T18:47:53 yes 2011-11-01T18:47:57 a1k0n: I've been thinking, using just number of hills razed as the score, seems a bit unfair, especially with more than 2 players... 2011-11-01T18:48:11 I get it, you just need to add all your ants in the open set when you begin 2011-11-01T18:48:20 *** Pisarik has joined #aichallenge 2011-11-01T18:48:25 can anyone tell me how long one typically has to wait on the ants.fluxid.pl TCP server, until a game starts? 2011-11-01T18:48:28 minthos: didn't get that last part 2011-11-01T18:48:28 and terminate when the whole map is in the closed set 2011-11-01T18:48:42 pedrosorio: yeah but... i dunno, what else would you use? 2011-11-01T18:48:45 bfs normally has one starting point 2011-11-01T18:48:49 but it doesn't have to 2011-11-01T18:48:52 it can have many 2011-11-01T18:48:56 don't they conflict? 2011-11-01T18:48:58 pedrosorio: i've won games where i was eliminated just cuz i had the most kills. shrug, that's what i optimize for 2011-11-01T18:49:04 Hi to all 2011-11-01T18:49:09 not if you make sure they don't 2011-11-01T18:49:24 how you do it and whether it makes sense depends what you need 2011-11-01T18:49:24 a1k0n: for example, bots that time out, or bots that have the same hills but one of them is clearly dominating 2011-11-01T18:49:46 can anybody help me? 2011-11-01T18:49:55 minthos: you've lost me 2011-11-01T18:50:01 Pisarik: not if you don't tell us what the problem is 2011-11-01T18:50:04 Pisarik: ask for a wish and it shall be granted 2011-11-01T18:50:15 *** HaraKiri has quit IRC () 2011-11-01T18:50:21 i tell my problem in forum:) 2011-11-01T18:50:21 *** epicmonkey has quit IRC (Read error: Connection reset by peer) 2011-11-01T18:50:35 http://aichallenge.org/forums/viewtopic.php?f=4&t=1731 2011-11-01T18:50:43 *** epicmonkey has joined #aichallenge 2011-11-01T18:51:28 roflmao: well if you need to find the closest unexplored tile for each ant, you can just search outwards normally, but store a backwards pointer for each visited tile 2011-11-01T18:51:30 where in the forum? 2011-11-01T18:51:48 wait, never mind.. 2011-11-01T18:51:52 Minthos: but then you need to do it independently for each ant!!!!!!!!!!!!!! 2011-11-01T18:51:57 no.. 2011-11-01T18:51:58 what pedro said :) 2011-11-01T18:51:59 =P 2011-11-01T18:52:00 no? 2011-11-01T18:52:01 yessssssssss 2011-11-01T18:52:03 that's the problem 2011-11-01T18:52:09 with bfs 2011-11-01T18:52:15 yeah because if you explore outwards FROM the ant 2011-11-01T18:52:22 you can place all the unexplored nodes in the open set at the beginning 2011-11-01T18:52:24 *** djr_ has quit IRC (Ping timeout: 240 seconds) 2011-11-01T18:52:34 and search inwards from the edge of the explored area 2011-11-01T18:52:39 http://aichallenge.org/forums/viewtopic.php?f=4&t=1731 2011-11-01T18:52:49 Minthos: that's what I've been saying :P 2011-11-01T18:52:59 it's link to my problem 2011-11-01T18:53:11 and sudennly I know why I#m timing out... gnaggg 2011-11-01T18:53:23 all unexplored nodes in the open set 2011-11-01T18:53:29 once one hits on the target ant 2011-11-01T18:53:32 return costmap and follow? 2011-11-01T18:53:40 Pisarik: you are trying to run your pascal bot with python? :P 2011-11-01T18:53:55 you don't return until the whole map is explored 2011-11-01T18:54:11 oooooohj 2011-11-01T18:54:12 *** Hjax has joined #aichallenge 2011-11-01T18:54:17 but you store the path in the ant object when you find the ant 2011-11-01T18:54:17 so just add all unexplored nodes FOR EVERYTHING 2011-11-01T18:54:22 and keep searching 2011-11-01T18:54:36 Pisarik: dpr is like a project file for your pascal bot? 2011-11-01T18:54:36 yes 2011-11-01T18:54:37 yes:) 2011-11-01T18:54:43 Pisarik: you need to compile that bot 2011-11-01T18:54:46 minthos: but without prioritization you'll have conflicting costs! 2011-11-01T18:54:49 can anyone look at my very simple bot and tell me why i keep getting errors with it? its written in python 2011-11-01T18:55:02 AH no 2011-11-01T18:55:03 FIFO 2011-11-01T18:55:03 how can i reply to nick?:) 2011-11-01T18:55:09 FIFO DUH that's part of the BFS 2011-11-01T18:55:26 no;.... 2011-11-01T18:55:47 each tile gets a path to its nearest unexplored tile 2011-11-01T18:55:48 Pisarik: and then instead of "python mybot/MyBot.dpr" you must write "name_of_executable_file_compiled" 2011-11-01T18:56:02 can anyone help me ? 2011-11-01T18:56:07 I just don't see how that will lead to a consistent map 2011-11-01T18:56:08 there's no room for confusion as long as you never revisit an already visited tile 2011-11-01T18:56:20 which you really really shouldn't 2011-11-01T18:56:27 One moment:) 2011-11-01T18:56:34 Pisarik: and probably you need to take the executable out of the subfolder because I haven't managed to write it like that, put it in the same folder as the .cmd file 2011-11-01T18:57:08 anyone? 2011-11-01T18:57:11 *** NefariousZhen has joined #aichallenge 2011-11-01T18:57:18 pisarik: are you talking to me? 2011-11-01T18:57:20 Hjax: where is your bot? 2011-11-01T18:57:20 minthos: here, let me give you an example 2011-11-01T18:57:45 without any prioritization the open set is random for all the unexplored tiles, right? 2011-11-01T18:57:50 pedrossorio: right here http://pastebin.com/05VHAYMV 2011-11-01T18:57:51 which means that ANY unexplored tile can be chosen first 2011-11-01T18:57:59 roflmao, doesn't matter 2011-11-01T18:58:21 eh? 2011-11-01T18:58:52 for each unexplored tile, set distance 0 and check the neighbors 2011-11-01T18:59:08 if the neighbors are also unexplored, ignore them and move on 2011-11-01T18:59:28 so you ignore unexplored neighbors? 2011-11-01T18:59:29 if they are explored, add them to the list of tiles to be visited 2011-11-01T18:59:34 oh... 2011-11-01T18:59:48 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-01T19:00:04 I get you know 2011-11-01T19:00:08 now* 2011-11-01T19:00:19 and you would refresh this every turn? 2011-11-01T19:00:22 you can do the same with multiple goals 2011-11-01T19:00:29 With just one search 2011-11-01T19:00:32 you could yes 2011-11-01T19:00:51 so simple then 2011-11-01T19:00:56 *** hjax_ has joined #aichallenge 2011-11-01T19:00:56 just add all unexplored nodes to open set 2011-11-01T19:01:05 so no help for me? 2011-11-01T19:01:11 *** bluegaspode_ has joined #aichallenge 2011-11-01T19:01:16 ignore unexplored nodes and only calculate cost for explored nodes 2011-11-01T19:01:20 *** pedrosorio_ has joined #aichallenge 2011-11-01T19:01:27 ergo inwords 2011-11-01T19:01:29 you're a genius 2011-11-01T19:01:30 *** adhlssu07 has joined #aichallenge 2011-11-01T19:01:31 hjax_: patience.. 2011-11-01T19:01:32 inwards* 2011-11-01T19:01:38 Hjax: I'm checking 2011-11-01T19:01:43 ooh patience is required? that's not going to go well for me 2011-11-01T19:01:46 inwards is the way to go 2011-11-01T19:01:57 furthermore, you can do a bfs from all food 2011-11-01T19:02:06 and give ants "targets" 2011-11-01T19:02:24 then a bfs from all "edges" to assign exploration for idle ants 2011-11-01T19:02:27 heres the error it is spitting out, with the input http://pastebin.com/6HhJT2gP 2011-11-01T19:02:28 yadda yadda 2011-11-01T19:02:40 pedro: bfs from all food to where? 2011-11-01T19:02:51 from all food to all map 2011-11-01T19:02:55 ah 2011-11-01T19:02:56 *** bluegaspode has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:02:56 *** Hydrosine has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:02:56 *** ^5 <^5!7cb29512@gateway/web/freenode/ip.124.178.149.18> has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:03:03 but then that would be one bfs per food, right? 2011-11-01T19:03:06 that would not be a global thing 2011-11-01T19:03:07 No 2011-11-01T19:03:26 *** Pisarik has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:03:33 add each food to the open set 2011-11-01T19:03:41 same as with unexplored nodes 2011-11-01T19:03:42 you do all foods with the same search, calculate open set for one food, skip to next food 2011-11-01T19:03:54 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:03:54 *** xar0l has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:04:07 same algorithm, same principle, just with food instead of unexplored 2011-11-01T19:04:10 but doesn't that lead to conflicts? 2011-11-01T19:04:23 *** NefariousZhen has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:04:23 *** ccc has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:04:23 *** pedrosorio has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:04:24 No, try it on paper :) 2011-11-01T19:04:33 pretty amazing once you think about it 2011-11-01T19:04:39 If you have calculated a cost to a tile, ignore it 2011-11-01T19:04:52 *** Hjax has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:04:52 *** stocha has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:04:55 so the only difference between the food and the unexplored tiles 2011-11-01T19:05:04 is that for the unexplored tiles bfs to work you have to ignore other unexplored tiles 2011-11-01T19:05:05 There is no difference 2011-11-01T19:05:19 Well, yea 2011-11-01T19:05:19 OH WAIT 2011-11-01T19:05:20 DUH 2011-11-01T19:05:23 for food you ignore other food... 2011-11-01T19:05:24 THEY WILL ALREADY BE IN THE OPEN SET 2011-11-01T19:05:27 THEREFORE AUTOMATICALLY IGNORED 2011-11-01T19:05:27 yes 2011-11-01T19:05:31 FACEPALM 2011-11-01T19:05:36 ^^ 2011-11-01T19:06:02 I'm just going to bfs the fuck out of this 2011-11-01T19:06:08 bfs to enemy hills 2011-11-01T19:06:10 bfs to food 2011-11-01T19:06:14 hjax_ I don't have any function direction in my ants.py 2011-11-01T19:06:14 =X 2011-11-01T19:06:18 and bfs to edges 2011-11-01T19:06:23 then assign ants to those in that order 2011-11-01T19:06:29 bfs the fuck out of your opponents 2011-11-01T19:07:13 *** analyst74 has quit IRC (Quit: HydraIRC -> http://www.hydrairc.com <- Like it? Visit #hydrairc on EFNet) 2011-11-01T19:08:05 wow this is brilliant 2011-11-01T19:08:05 hjax_: you're getting a typeerror from the starting package, called at line 23 in your bot code 2011-11-01T19:08:14 (thows a* out of the window) 2011-11-01T19:08:28 minthos: i know that, i dont know why 2011-11-01T19:08:44 hjax_ can you pastebin your ants.py? 2011-11-01T19:09:23 roflmao: except that you need to deal with collisions between ants going to different places 2011-11-01T19:09:26 :P 2011-11-01T19:09:26 um sure 2011-11-01T19:09:50 that's easy pedro 2011-11-01T19:09:55 hjax_ because the error is at line 198 of ants.py and you are using a direction function from that file, that I simply don't have 2011-11-01T19:09:58 just keep a global order queue 2011-11-01T19:10:03 http://pastebin.com/SppwJCs0 2011-11-01T19:10:04 and check to make sure there aren't any colissions 2011-11-01T19:10:37 *** onensora has quit IRC () 2011-11-01T19:10:56 roflmao: that is the checking part, but how do you solve them? 2011-11-01T19:11:10 I don't 2011-11-01T19:11:18 my move function returns false if it finds a collision 2011-11-01T19:11:34 so I simply don't move the ant there and instead do something else with it 2011-11-01T19:11:40 collision detection is in the tutorial :) 2011-11-01T19:11:40 ergo lets say ant sees food, ant has path to food 2011-11-01T19:11:46 yep I have the tut code :) 2011-11-01T19:11:48 *** Pisarik has joined #aichallenge 2011-11-01T19:11:54 so ant tries to go east 2011-11-01T19:12:04 but it can't cause collision 2011-11-01T19:12:04 pairofdice: I have seen that, but it creates deadlocks 2011-11-01T19:12:16 not if you implement a fallback 2011-11-01T19:12:24 *** Antimony has quit IRC (Ping timeout: 276 seconds) 2011-11-01T19:12:28 simply avoiding other ants and places they are moving to 2011-11-01T19:12:32 *** ChrisH_ has joined #aichallenge 2011-11-01T19:12:34 is inneficient 2011-11-01T19:12:42 since ants can move to each others locations 2011-11-01T19:12:43 nah man if you do it correctly it can work well 2011-11-01T19:12:50 as long as they don't stay there 2011-11-01T19:13:13 here let me show you what I do ant it works for me if you want 2011-11-01T19:13:28 well basically if all fails 2011-11-01T19:13:37 ergo ant couldn't do jack shit because it is locked in the directions it needs to go 2011-11-01T19:13:49 I bounce off adjacent ants 2011-11-01T19:14:08 janzert: you might find this profile's recent games interesting in terms of matchup generation: http://aichallenge.org/profile.php?user=389 2011-11-01T19:14:14 and that seperates them enough 2011-11-01T19:14:18 at least for me 2011-11-01T19:14:49 hjax_: I'm guessing bestfood is an int at that point 2011-11-01T19:15:06 *** ikaros has joined #aichallenge 2011-11-01T19:15:12 I suggest you add some line breaks and checks of some kind 2011-11-01T19:15:19 i made it an int because it was in a list, which obviously the function doesnt like 2011-11-01T19:15:34 *** Antimony has joined #aichallenge 2011-11-01T19:16:52 food isn't supposed to be a list of ints I think 2011-11-01T19:17:23 a list of locations is more reasonable 2011-11-01T19:17:30 well 2011-11-01T19:17:34 but if the list is empty, what happens? 2011-11-01T19:17:35 hjax_ a location can't be an int 2011-11-01T19:17:36 wihch is why i turned it into a single int bestfood[0] 2011-11-01T19:17:39 that's all it's saying 2011-11-01T19:17:51 is the food = the location? 2011-11-01T19:18:01 janzert: I just noticed that other than the first game, that submission crashed in all the other games and has made it all the way to rank 498 solely by luck of scheduling. 2011-11-01T19:18:30 some type checking would make sense at this point :p 2011-11-01T19:18:58 *** hjax_ has quit IRC (Quit: Page closed) 2011-11-01T19:20:20 location can be int if you map x,y to a single int.. i do it for some hashing stuff 2011-11-01T19:21:09 *** hjax has joined #aichallenge 2011-11-01T19:21:19 *** ajf is now known as ajf|offline 2011-11-01T19:21:39 i turned the food back to lists but now it says this: TypeError: Unhashable type: List 2011-11-01T19:21:51 *** Antimony has quit IRC (Ping timeout: 248 seconds) 2011-11-01T19:22:05 hjax: check the length of the list 2011-11-01T19:22:11 I bet it's empty 2011-11-01T19:22:14 hmmm ok 2011-11-01T19:22:37 *** rb_ has joined #aichallenge 2011-11-01T19:23:46 *** Antimony has joined #aichallenge 2011-11-01T19:24:22 waiting for results off of tcp server 2011-11-01T19:24:29 I'm alwaysing running into a timeout, how an can I test that locally? 2011-11-01T19:24:56 ecxentric: use a tcp server, as your bot runs on your machine 2011-11-01T19:25:37 *** NefariousZhen has joined #aichallenge 2011-11-01T19:25:46 or set a lower round time in your test scripts 2011-11-01T19:25:52 *** analyst74 has joined #aichallenge 2011-11-01T19:26:41 *** delt0r__ has quit IRC (Read error: Operation timed out) 2011-11-01T19:26:42 my problem is intermittant timeouts for no discernable reason when testing locally 2011-11-01T19:28:04 check against the remaining time from the starting kit 2011-11-01T19:28:11 how is the time determined in live games? 2011-11-01T19:28:49 the server tells your bot the max round time in milliseconds when a game starts 2011-11-01T19:29:07 the starting kit should keep track of it for you 2011-11-01T19:30:18 oh ok... I see 2011-11-01T19:30:59 wow xathis really is way ahead 2011-11-01T19:34:13 *** xar0l has joined #aichallenge 2011-11-01T19:36:24 beautiful, just beautiful 2011-11-01T19:36:49 *** hjax has quit IRC (Quit: Page closed) 2011-11-01T19:39:42 roflmao: what is beautiful? 2011-11-01T19:40:12 One BFS, two drains 2011-11-01T19:40:13 *** dancole has joined #aichallenge 2011-11-01T19:40:38 *** Pisarik has quit IRC (Ping timeout: 265 seconds) 2011-11-01T19:41:32 < jcdnyc> I was going to run one locally to tune some parameters in my bots - is https://github.com/alexer/ants-tcp the best place to pull it from 2011-11-01T19:42:03 jcdny, i'll have to ask.. how did you even find that? :D 2011-11-01T19:42:13 *** delt0r__ has joined #aichallenge 2011-11-01T19:42:41 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-01T19:44:06 jcdny, also, you'll possibly want to look at https://github.com/Ashod/ants-tcp too, it has different commits that berak (as you can see from https://github.com/Ashod/ants-tcp/network ) 2011-11-01T19:45:17 i have no idea why berak didn't merge the changes from ashod though, since his changes seem to mostly do more or less the same thing.. 2011-11-01T19:47:26 'BFS 2011-11-01T19:47:32 so efficient, so much use 2011-11-01T19:47:48 Ahh, BFS ready (I think!) Now I just need to let my ants know. 2011-11-01T19:47:49 one BFS, paths to all foods for all ants in a few ms 2011-11-01T19:48:33 =) 2011-11-01T19:48:41 thats the spirit :)) 2011-11-01T19:52:44 bfs for edge exploration 2011-11-01T19:52:47 bfs for ant hill razing 2011-11-01T19:53:01 *** olexs has quit IRC (Quit: Leaving.) 2011-11-01T19:53:18 though im not sure if it's better to compute for multiple targets.. if you do it in smaller radii for single targets you can reuse the maps later 2011-11-01T19:53:33 not sure.. would need testing and comparison 2011-11-01T19:53:48 *** xio has joined #aichallenge 2011-11-01T19:53:49 *** Cyb has quit IRC (Ping timeout: 244 seconds) 2011-11-01T19:54:05 dont know what the probability is that food spawns on the same tile in one game 2011-11-01T19:56:14 true ikaros 2011-11-01T19:56:18 but i'ts so fast 2011-11-01T19:56:35 *** Kingpin13 has quit IRC (Ping timeout: 260 seconds) 2011-11-01T19:56:39 *** dwins has joined #aichallenge 2011-11-01T19:56:55 it probably doesnt matter 2011-11-01T19:57:05 now I'm having trouble 2011-11-01T19:57:07 keeping a food cache 2011-11-01T19:57:11 before with my a* it was very clear 2011-11-01T19:57:26 once path was completed, that food was finished off so I could remove it from the food array 2011-11-01T19:57:44 i calculate the bfs for single targets with different radii and cache them.. its fast enoug too so far :)) 2011-11-01T19:58:19 when you run BFS from all food tiles - what about two ants near food tile #1 ... they both would run for #2 (as it's their nearest food tile) while it would be better if ant #1 runs for food #1 and ant #2 runs for food #2? 2011-11-01T19:58:49 sorry - typo: both would run for #1 2011-11-01T19:58:52 you can loop over all food and check every neighbor tile for an own ant at the beginning of every round 2011-11-01T19:59:23 e.g. 2011-11-01T20:00:59 *** Hexren has quit IRC (Quit: Leaving.) 2011-11-01T20:01:08 *** ccc has joined #aichallenge 2011-11-01T20:06:53 bfs can give some pretty unoptimal paths though 2011-11-01T20:07:33 how that? 2011-11-01T20:07:43 dunno this one went off the deep end 2011-11-01T20:08:22 *** Knekkebjoern has quit IRC (Quit: Leaving.) 2011-11-01T20:08:43 *** paulwal has joined #aichallenge 2011-11-01T20:11:06 *** Harpyon has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-11-01T20:12:08 nah its good 2011-11-01T20:12:57 *** zeebonk has joined #aichallenge 2011-11-01T20:13:36 *** balkemacho has quit IRC (Ping timeout: 255 seconds) 2011-11-01T20:14:25 *** Antimony has joined #aichallenge 2011-11-01T20:14:26 A* gives you the option to have heuristics too 2011-11-01T20:18:29 so i'm just starting out with this project and i'am wondering a couple of thins 2011-11-01T20:18:33 things 2011-11-01T20:18:52 is there a way to check out some interesting matches? 2011-11-01T20:19:26 i'am able to find random matches trough the website but must of them are really boring 2011-11-01T20:19:41 or at least the ai is 2011-11-01T20:19:57 just look at the ranking and select mathces from the top players 2011-11-01T20:20:00 is there any easy way to check out matches of the pros? 2011-11-01T20:20:15 oh oke! thanks for the tip 2011-11-01T20:20:20 http://aichallenge.org/rankings.php 2011-11-01T20:20:23 right there 2011-11-01T20:20:42 tnx 2011-11-01T20:21:19 *** ZokWobblefotz has joined #aichallenge 2011-11-01T20:21:44 *** Kingpin13 has joined #aichallenge 2011-11-01T20:22:46 *** bobbydroptable has joined #aichallenge 2011-11-01T20:23:02 *** zeebonk has quit IRC (Quit: Page closed) 2011-11-01T20:23:18 *** ccc_ has joined #aichallenge 2011-11-01T20:23:24 hmm my map exploring is failing epically 2011-11-01T20:23:29 i added all unseen tiles to open set 2011-11-01T20:23:31 that part works 2011-11-01T20:23:41 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-01T20:23:44 but they all bump into wall 2011-11-01T20:23:50 janzert, McLeopold, @amstan, antimatroid, or any AIC admin: can you run this command? ln -sf /usr/bin/tclsh8.5 /usr/bin/tclsh 2011-11-01T20:24:22 It probably also needs to be added into the /setup/worker_setup.py source 2011-11-01T20:25:35 *** dancole has quit IRC (Ping timeout: 258 seconds) 2011-11-01T20:25:46 *** replore_ has joined #aichallenge 2011-11-01T20:25:59 or alternatively, /worker/compiler.py could be changed to run "tclsh8.5" instead of "tclsh" 2011-11-01T20:26:06 that'd probably be easier 2011-11-01T20:26:19 than changing worker_setup 2011-11-01T20:26:35 and that's what happens when you add in tiles that are walls lol 2011-11-01T20:26:45 the soft link command will fix it for now though 2011-11-01T20:29:09 *** dancole has joined #aichallenge 2011-11-01T20:29:10 I'm trying to use random_walk map but it doesn't work, nothing happens, after engine gives "ready\n" the game is stopped, it says lone survivor, bot MyBot and HunterBot do nothing - but works fine in example tutorial map 2011-11-01T20:29:59 this is killing me, I cannot play locally in anyother map except for example/tutorial map 2011-11-01T20:30:51 *** rajanaresh has joined #aichallenge 2011-11-01T20:31:20 do you use the scenario parameter ? 2011-11-01T20:31:39 if yes try to remove it 2011-11-01T20:31:56 ccc, 2011-11-01T20:32:01 ikaros: this is my script "python tools/playgame.py "python tools/sample_bots/python/HunterBot.py" "MyBot" --map_file tools/maps/random_walk/random_walk_02p_01.map --turntime 1000 --log_dir game_logs --turns 150 --scenario --food none --player_seed 7 --verbose -e -I -O" 2011-11-01T20:32:04 I'll try removing and see 2011-11-01T20:33:28 ikaros: removing the scenario worked, but now Mybot isn't moving 2011-11-01T20:33:50 I guess I'll have to debug and see, but example map works pretty fine 2011-11-01T20:33:56 ok 2011-11-01T20:34:34 that mybot wont move is probably another issue 2011-11-01T20:34:44 is see you have --food none 2011-11-01T20:35:00 *** ZokWobblefotz has quit IRC (Quit: Page closed) 2011-11-01T20:35:31 remove that too :) 2011-11-01T20:36:19 ikaros: thanks a ton, now everything is moving. 2011-11-01T20:36:35 actually I had set food to none because the other options were throwing python errors 2011-11-01T20:36:49 I guess i never tried to remove them and check 2011-11-01T20:37:18 np =) 2011-11-01T20:38:39 *** Antimony_ has joined #aichallenge 2011-11-01T20:39:27 *** epicmonkey has quit IRC (Ping timeout: 252 seconds) 2011-11-01T20:40:20 *** caution has quit IRC (Read error: Connection reset by peer) 2011-11-01T20:40:34 ikaros: one more question: changing the --turntime has no effect even if i use 10ms - what to do about it, i want to test the timeouts and all 2011-11-01T20:41:17 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-01T20:41:19 *** Antimony_ is now known as Antimony 2011-11-01T20:42:19 probably your bot is faster than 10ms each turn.. try 0.1 (i havent tried that.. minimum value will probably be higher) 2011-11-01T20:44:27 ok 0.1 doesnt work .. 1 is minimum. and it seems to work cause my bot times out there :) 2011-11-01T20:45:34 I see, yeah then timeout is probably working, my bot has not much logic yet 2011-11-01T20:45:59 *** hjax has joined #aichallenge 2011-11-01T20:46:13 I think I might keep a* for food 2011-11-01T20:46:15 it is fast enough 2011-11-01T20:46:21 gets me ants earlier 2011-11-01T20:46:28 or maybe switch to bfs if I reach a critical mass of ants. 2011-11-01T20:48:15 a 1000 person line is just annoying 2011-11-01T20:48:16 *** adhlssu07 has quit IRC (Quit: adhlssu07) 2011-11-01T20:49:09 1000 isn't so bad 2011-11-01T20:49:50 *** bluegaspode_ has quit IRC (Quit: Page closed) 2011-11-01T20:49:50 Aaaaaa, after hundred errors to timeouts. 2011-11-01T20:51:17 roflmao, why do you get ants earlier with a*? 2011-11-01T20:51:28 more optimal path? 2011-11-01T20:51:39 hm 2011-11-01T20:51:45 dont understand why :) 2011-11-01T20:51:54 i thought bfs doesn't give the most optimal path necessarily 2011-11-01T20:52:00 shouldn't all proper methods, give the exact same path? 2011-11-01T20:52:01 it does 2011-11-01T20:52:10 Are many people here doing that stanford ai class? 2011-11-01T20:52:12 shortest route :) 2011-11-01T20:52:29 SharkMonkey, I am 2011-11-01T20:52:39 okay 2011-11-01T20:52:53 more accurately.. a* doesn't neccessarly give shortest path.. if your estimated costs are bad 2011-11-01T20:53:38 pairofdice, Have you used anything from it? Aside from that first unit on graph search algorithms 2011-11-01T20:53:56 Which was super helpful when i got started with ai challenge 2011-11-01T20:54:08 *** vladimirfol has joined #aichallenge 2011-11-01T20:54:10 hmm this thing is weird 2011-11-01T20:54:15 i have clustering problemm big time 2011-11-01T20:54:23 I haven't yet 2011-11-01T20:55:25 tired.. gnight everybody 2011-11-01T20:55:33 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-11-01T20:55:50 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-01T20:56:22 i have bfs for food 2011-11-01T20:56:24 then bfs for exploring 2011-11-01T20:56:37 it works aweosme until they all start clusterfucking 2011-11-01T20:56:41 Mmm, my while loop doesn't end 2011-11-01T20:56:46 stupid ants like orgies 2011-11-01T20:56:51 roflmao: collision avoidance - not as trivial as it sounds ;) 2011-11-01T20:57:12 *** Antimony has quit IRC (Ping timeout: 240 seconds) 2011-11-01T20:57:14 here's what I'm going to do pedro 2011-11-01T20:57:23 section unseen tiles into 4 quadrants 2011-11-01T20:57:37 then for idle ants that aren't razing or collecting foo 2011-11-01T20:57:38 d 2011-11-01T20:58:02 send them towards the quadrant with unseen tiles closer to them 2011-11-01T20:58:10 that, in theory, should help the ants spread out 2011-11-01T20:58:20 btw, here's a nice tool you may want to use to help you debug your AI 2011-11-01T20:58:21 http://aichallenge.org/forums/viewtopic.php?f=25&t=1633&start=10#p10320 2011-11-01T20:59:02 niiiiiiiiiiiiiiiiiiiice 2011-11-01T20:59:05 thanks man 2011-11-01T20:59:59 bear in mind you need to download everything from that git repository 2011-11-01T21:00:03 Right, I can't change the set while I'm iterating over it. How did you make a dummy copy for the iteration of a set in python 3.2 2011-11-01T21:00:21 or at least have recent tools downloaded from the website 2011-11-01T21:00:23 for lists it was [:] 2011-11-01T21:01:12 and... I'm off to sleep 2011-11-01T21:01:13 1AM here 2011-11-01T21:01:17 byebye 2011-11-01T21:01:35 Any other gems on the forums I should be aware of? 2011-11-01T21:01:52 what's a set? pairofdice 2011-11-01T21:01:56 pedrosorio_, Good night. 2011-11-01T21:02:03 just read through 2011-11-01T21:02:13 on the strategies there's nothing too interesting 2011-11-01T21:02:18 you can learn a lot more here 2011-11-01T21:02:37 but on the tools some interesting stuff can appear at any time 2011-11-01T21:02:51 pairofdice: you could use copy.copy or copy.deepcopy ? 2011-11-01T21:03:12 or if by set you meant dict, you could use dict.copy() 2011-11-01T21:05:38 set is a dict without values 2011-11-01T21:06:07 Well, atleast I got to turn 17 now :) 2011-11-01T21:06:58 // ignore directions that are not passable. 2011-11-01T21:06:58 if(!ilk.isUnoccupied() || !ilk.isPassable()) continue; 2011-11-01T21:07:00 for bfs move 2011-11-01T21:07:07 difference between awesome and failure 2011-11-01T21:07:16 :D 2011-11-01T21:07:16 I love it how one line of code or one flaw can make such a huge difference 2011-11-01T21:07:53 *** pedrosorio_ has quit IRC (Quit: Page closed) 2011-11-01T21:10:04 http://i.minus.com/ib25y54ceOO7T6.png 2011-11-01T21:10:08 http://aichallenge.org/visualizer.php?game=46167 <- big shape for that bot that doesn't mimic other ones... 2011-11-01T21:10:09 I'm lovin it 2011-11-01T21:10:15 s/shape/shame/ 2011-11-01T21:11:51 http://aichallenge.org/profile.php?user=436 2011-11-01T21:11:54 that guy, I like his spreading 2011-11-01T21:12:21 *** vladimirfol has quit IRC (Quit: Page closed) 2011-11-01T21:12:38 *** Antimony has joined #aichallenge 2011-11-01T21:16:13 Okay so now it doesn't timeout. It just completely ignores foods 2011-11-01T21:16:16 :-) "Next game should be within 0.1 minutes." 2011-11-01T21:17:46 *** BrocksBrain has joined #aichallenge 2011-11-01T21:18:40 its now even −0.2 minutes :/ 2011-11-01T21:19:19 *** grom358 has joined #aichallenge 2011-11-01T21:19:25 morning 2011-11-01T21:19:33 hi 2011-11-01T21:20:19 *** dscy has quit IRC (Ping timeout: 256 seconds) 2011-11-01T21:21:00 *** dscy has joined #aichallenge 2011-11-01T21:22:22 so.. swapping to use BFS for general movement... still can't figure out how to deal with exploring 2011-11-01T21:23:41 give every square a weighting of importance(eg how you decide to attack, or get food) 2011-11-01T21:23:52 and give undiscovered squares a low weighting 2011-11-01T21:23:54 like which unseen tiles todo the BFS from 2011-11-01T21:24:49 burny: yeah I already got it so I can do a weighting.. I got a findAnts(Tile startTile, int incValue, int limitValue, int noAnts) 2011-11-01T21:25:12 so I can pass in different incValue 2011-11-01T21:25:38 which is what it increases the score by as I expand the search 2011-11-01T21:26:15 *** alc has joined #aichallenge 2011-11-01T21:26:27 i think he's saying change ur scoring 2011-11-01T21:26:32 fro mjust incrementing by X 2011-11-01T21:26:40 Hello all, I was wondering if anyone here is familiar with getting the tools running on Windows 64? I can run the script, but the visualizer doesn't work for me. 2011-11-01T21:26:40 to incrementing by X AND use other heurestics 2011-11-01T21:26:54 like if a tile is unseen, then increment by less, etc 2011-11-01T21:27:00 ie. distance shouldn't be only factor, in deciding what to do 2011-11-01T21:27:29 yeah.. but how do I pick which unseen tiles todo a BFS from? 2011-11-01T21:27:46 he didn't really touch on that 2011-11-01T21:27:49 choose any unseen tile 2011-11-01T21:27:57 then if unseen tiles get a smaller score 2011-11-01T21:28:03 then your ants will prefer to take unseen paths 2011-11-01T21:29:13 mmm.. I actually recording when I last saw a tile.. was hoping could make ants prefer paths it hasn't taken recently.. and then unseen just special case of that 2011-11-01T21:29:36 it's all the same then 2011-11-01T21:29:41 change what i said about unseen 2011-11-01T21:29:47 and substitute your heurestic 2011-11-01T21:30:10 the important thing is to change how the scoring takes place 2011-11-01T21:30:14 to change the outcome of the BFS 2011-11-01T21:30:25 with just distance for scoring, you get shortest path 2011-11-01T21:30:31 don't forget to take symmetry into account, and the food spawn pattern, after it's known 2011-11-01T21:31:02 *** djr_ has joined #aichallenge 2011-11-01T21:31:15 esh, care to enlighten me on those subjects burny? 2011-11-01T21:31:19 *** ccc_ has quit IRC (Ping timeout: 265 seconds) 2011-11-01T21:31:23 *** xio has quit IRC (Quit: Page closed) 2011-11-01T21:31:45 ah symmetry - you could infer unseen parts of the map? 2011-11-01T21:31:51 ya.. 2011-11-01T21:31:54 and also unseen foods 2011-11-01T21:32:02 and how exactly does the food spawn pattern work? 2011-11-01T21:32:06 and proable locations for enemy ants 2011-11-01T21:32:16 ah i c i c 2011-11-01T21:32:19 interesting 2011-11-01T21:32:20 it's detailed in the specs 2011-11-01T21:32:50 ah k thx 2011-11-01T21:33:19 food spawn pattern is probably the hardest thing to take advantage of 2011-11-01T21:33:46 * antimatroid isn't a huge fan of the ant spawnign method 2011-11-01T21:34:03 i'd much rather be told how many ants we have in our hive and execute orders to spawn them 2011-11-01T21:34:21 this method is more fair though 2011-11-01T21:34:27 how? 2011-11-01T21:34:46 if anything it's less fair because the randomness could potentially be unfair 2011-11-01T21:34:53 if you want to control how they spawn, you have to use some of your army non-optimally 2011-11-01T21:34:57 where as if users are choosing their own spawn locations it's got to be fair 2011-11-01T21:35:05 it's not random 2011-11-01T21:35:08 if you have ants near all hills, enemies might ruin that 2011-11-01T21:35:09 mmm.. just thought of something.. not sure if it will be fast enough to calculate. Get set of all tiles.. order them by scoring the tiles which results in seeing the most number of tiles. Pop them off the list removing tiles in view radius from the set of all tiles. Left with just a handful of tiles that cover the map 2011-11-01T21:35:17 you might not even know if all your hills are still alive 2011-11-01T21:35:26 it is random if there's a tie 2011-11-01T21:35:40 don't let there be a tie then 2011-11-01T21:35:55 you're being unreasonable now :P 2011-11-01T21:36:24 unless you stand on your own hill: it's only random for the first ants(and all players get the same random.. I hope) 2011-11-01T21:36:45 not if you collect multiple food locations that turn 2011-11-01T21:36:50 *** bmh has joined #aichallenge 2011-11-01T21:36:56 *** bmh has joined #aichallenge 2011-11-01T21:37:02 and there's more hills to spawn at on the tie than ants to spawn 2011-11-01T21:37:27 it makes it almost impossible to use future spawning ants for food collection etc. 2011-11-01T21:37:39 and also means paths already calculated might become suboptimal as ants spawn 2011-11-01T21:37:45 imo it's very unideal, but it's how they did it 2011-11-01T21:38:04 I agree, it's unideal.. 2011-11-01T21:38:13 i'd have preferred closest hill even, although that can have ties too 2011-11-01T21:38:17 but it does make a larger seperation between uber bots, and strong bots.. 2011-11-01T21:38:30 a1k0n: I've been trying to grind out 'static' pathfinding and wanted some advice on my subdivision algorithm 2011-11-01T21:38:30 and a smaller seperation between good bots and strong bots 2011-11-01T21:38:49 burny: joining the conversation late -- hill control? 2011-11-01T21:39:00 bmh: where ants are going to spawn 2011-11-01T21:39:04 right 2011-11-01T21:40:34 burny: the difference comes from it being that much harder to make use of future ants, and i don't like something being harder just cause that's how things were done and not because the problem is inherently any harder 2011-11-01T21:40:39 *** willrandship has joined #aichallenge 2011-11-01T21:40:56 *** BrocksBrain has quit IRC (Quit: Page closed) 2011-11-01T21:41:24 i'm here for writing a strategy, not unecessarily and messily manipulating information :P 2011-11-01T21:42:09 design it right, and it doesn't mess it up much 2011-11-01T21:42:13 anyone want to answer a question? 2011-11-01T21:42:45 is it that hard to park some 'cork' ants near hills and then just check each hill to see how an ant from each would match up against your current set of goals? 2011-11-01T21:42:52 willrandship: just ask it! :) 2011-11-01T21:42:56 when a bot crashes, is there any way the creator can get a traceback from it? 2011-11-01T21:43:00 bmh, that is easy, but not ideal 2011-11-01T21:43:04 as in, from an official game 2011-11-01T21:43:19 burny: owing to the cost of the corking ants? 2011-11-01T21:43:29 *** uriahb has joined #aichallenge 2011-11-01T21:44:03 right 2011-11-01T21:44:24 however controlling where ants spawn is very useful 2011-11-01T21:44:33 particularly if you need support to defend a hill now or something 2011-11-01T21:44:36 can be 2011-11-01T21:44:47 and you need ants near all hills in order to ensure you can do that 2011-11-01T21:44:55 qq, i have an account, haven't submitted a bot. a friend and i would like to create an account, how do i cancel my current account? 2011-11-01T21:44:57 how does it currently work? round robin? 2011-11-01T21:44:57 wouldn't 't generally be better to just have more ants out there? 2011-11-01T21:45:11 round robin would be impossible and incredibly inefficient anyway 2011-11-01T21:45:39 uriahb: just make a new account and don't submit anything to the old one 2011-11-01T21:45:42 willrandship: no. Imagine you have a goal at some point P and two hills A and B -- A is 5 units from P and B is 10 units from P 2011-11-01T21:46:00 (and double check there isn't an active submission on the old one) 2011-11-01T21:46:19 yes, but if the ants are after multiple goals (which they are) then they should want to spawn as fast as possible 2011-11-01T21:46:27 willrandship: what if you could save one of your hills by controlling where an ant spawned? 2011-11-01T21:46:30 and sacrifice distance 2011-11-01T21:46:54 or could collect some food faster by spawning an ant at a particular hill 2011-11-01T21:47:07 Ideally you should have ants spawning so much that they are always near your hills 2011-11-01T21:47:09 or any other objective that might be better achieved by choosing where the ant spawned 2011-11-01T21:47:16 ideally but not necessarily 2011-11-01T21:47:29 Atleast I'm getting a traceback 2011-11-01T21:47:37 from the games I've watched, generally there's tons of food 2011-11-01T21:47:47 so you do get a traceback? That's good to know 2011-11-01T21:47:51 Well, when running the tutorial.cmd from the command line 2011-11-01T21:47:52 willrandship: let's consider an extreme case. Imagine you have 1000 hills. 999 of them are in a clump that's defended to the teeth. The last hill is isolated and will be overrun. If you fail to save that one hill, you will lose. 2011-11-01T21:47:54 *** xar0l has quit IRC (Quit: Page closed) 2011-11-01T21:48:08 well, yes, but AI isn't programmed for extremities 2011-11-01T21:48:35 *** amstan_ has joined #aichallenge 2011-11-01T21:48:35 *** ChanServ sets mode: +o amstan_ 2011-11-01T21:48:39 its programmed for handling the average situation 2011-11-01T21:49:01 why not? 2011-11-01T21:49:03 willrandship: I couldn't disagree with you more. 2011-11-01T21:49:20 okay 2011-11-01T21:49:28 so we disagree on the AI handling method 2011-11-01T21:49:31 ai should handle all cases 2011-11-01T21:49:34 I can live with that 2011-11-01T21:49:49 well, it depends on the goal 2011-11-01T21:49:52 it's not feasible to handle all cases optimally 2011-11-01T21:49:53 anyd all cases is impossible 2011-11-01T21:50:02 not all cases, but i think what differentiates the quality of bots is how many cases they correctly handle with their general strategy 2011-11-01T21:50:03 you have to tune your ai for the cases that are most likely 2011-11-01T21:50:04 contestbot: later tell paulwal you will have to submit it as an issue, or pull request 2011-11-01T21:50:04 amstan_: Ready to serve. 2011-11-01T21:50:36 that is after all what defines a lot of the behaviour from your bot 2011-11-01T21:50:41 well, g2G. 2011-11-01T21:50:53 speaking of odd cases, 2011-11-01T21:50:55 *** willrandship has quit IRC (Quit: Leaving) 2011-11-01T21:51:02 are there any plans to fix randomwalkp10_02 2011-11-01T21:51:11 what's wrong with it? and no 2011-11-01T21:51:11 *** bmh is now known as bmh_away 2011-11-01T21:51:22 the maps in the final contest will be generated after submissions close 2011-11-01T21:51:28 so it wont be used then anyway :P 2011-11-01T21:51:38 It's possible to block off the map using invincible formations 2011-11-01T21:51:42 and new maps will be added periodically throughout 2011-11-01T21:51:46 the chokepoints are too narrow 2011-11-01T21:51:54 oh yes i plan to fix that 2011-11-01T21:52:02 that's why maze maps have such wide corridors 2011-11-01T21:52:18 i haven't updated the random walk map generator for min width corridors and too busy to till after exams 2011-11-01T21:52:33 ok 2011-11-01T21:52:35 (one of which I really ought to be doing right now :P) 2011-11-01T21:52:45 I was just wondering if it was a case that top level bots would have to consider and deal with 2011-11-01T21:52:49 *** djr_ has quit IRC (Read error: Connection reset by peer) 2011-11-01T21:53:08 fortunately most maps don't have that problem 2011-11-01T21:53:34 i can't say with 100% guarantee, but i'm pretty sure we wont use maps like that in the final contest 2011-11-01T21:53:39 *** djr_ has joined #aichallenge 2011-11-01T21:53:47 blocking has been something we have always considered unideal 2011-11-01T21:55:17 *** hjax has quit IRC (Quit: Page closed) 2011-11-01T22:00:27 q 2011-11-01T22:00:32 does it take a lot of attacks to clear a hill? 2011-11-01T22:01:11 1 2011-11-01T22:01:20 Depends on how many ants are in 2011-11-01T22:02:09 *** Jak_o_Shadows has joined #aichallenge 2011-11-01T22:02:09 reason I ask is because my ants seem to be afraid of hills 2011-11-01T22:02:12 that's not an attack on the hill 2011-11-01T22:02:16 despite me sending them to get on fucking hill 2011-11-01T22:03:04 personally, I wish there was multiple types of units 2011-11-01T22:03:32 with slightly different attributes, and food costs.. and when you get a food, it gives 1 food to all hills 2011-11-01T22:03:49 wait what? 2011-11-01T22:04:00 eg. the current ant could be a peon.. 2011-11-01T22:04:13 soldier ant costs 2 food: but doesn't die if combat is a tie 2011-11-01T22:04:47 *** deroo has joined #aichallenge 2011-11-01T22:04:59 and a ranged unit for 2food: doesn't kill on a tie, but has attack range of 10 instead of 5 2011-11-01T22:06:10 What happens if two ranged ants are in a tie :) 2011-11-01T22:06:12 scout costs 2food, and has 50% bigger sight, and can colelct food at distance of 2 instead of 1 2011-11-01T22:06:18 nothing 2011-11-01T22:08:30 obviously it's WAY too late to introduce anything like that though.. and I'm sure something similar was considered anyway 2011-11-01T22:10:17 *** bmh_away has quit IRC (Quit: bmh_away) 2011-11-01T22:10:33 'set' object attribute 'add' is read-only. That makes no sense 2011-11-01T22:10:47 What am I trying to do to add 2011-11-01T22:11:22 Ahhh, irc saves the day again 2011-11-01T22:13:34 pair: trying to write to a file? 2011-11-01T22:14:46 Was trying to assign things to add instead of calling it ^^ 2011-11-01T22:15:06 brainfreeze 2011-11-01T22:15:47 My ants are ignoring my BFS completely 2011-11-01T22:16:42 If you use fluxid tcp server, how long does it usually take? 2011-11-01T22:19:43 *** Migi32 has quit IRC (Remote host closed the connection) 2011-11-01T22:26:00 *** amstan_ has quit IRC (Ping timeout: 240 seconds) 2011-11-01T22:31:24 paulwal: I assume the current tclsh must be 8.4? is there an easy way to check the version? 2011-11-01T22:32:08 *** treeform has joined #aichallenge 2011-11-01T22:32:59 yep, 8.4.19 2011-11-01T22:33:45 Hi all. How is stuff? Next game should be within 148.7 minutes… man i hate waiting! 2011-11-01T22:34:26 aichallenge: janzert epsilon * r74768ee / worker/compiler.py : Make tcl use 8.5 interpreter - http://git.io/suTJDA 2011-11-01T22:36:06 *** bmh has joined #aichallenge 2011-11-01T22:42:22 *** uriahb has quit IRC (Ping timeout: 265 seconds) 2011-11-01T22:44:30 *** JanneP has quit IRC (Ping timeout: 252 seconds) 2011-11-01T22:45:04 ug, my bot randomly timesout for no reason. This is getting really annoying 2011-11-01T22:45:35 mass simulate it locally and add many debug messages to locate the position ;-) 2011-11-01T22:46:02 at least, thats how I fixed mine 2011-11-01T22:47:33 and if you have a crash, keep the logs 2011-11-01T22:47:38 it may be useful 2011-11-01T22:48:33 holy coew 2011-11-01T22:48:39 i just found a really useful trick 2011-11-01T22:48:59 janzert: did you see the curious profile I sent you earlier? 2011-11-01T22:49:20 janzert: re: match generation 2011-11-01T22:49:29 And of course my BFS returns a costmap of all zeros 2011-11-01T22:49:38 pairofdice that happened to me 2011-11-01T22:49:57 is your bfs exhaustive? 2011-11-01T22:50:08 Yeah 2011-11-01T22:51:01 hm 2011-11-01T22:51:17 ChrisH_: yeah, it's a rather good example of why too broadly inclusive of pairing can be actively harmful 2011-11-01T22:51:47 janzert: yeah, I thought you would find it interesting 2011-11-01T22:52:09 he'll get beat back down of course but it could take a long time unless he happens to be paired with and lose to a much lower ranked bot 2011-11-01T22:52:56 tying with the 11th rank is usually a good indicator for good performance, so can't really fault the ranking system there 2011-11-01T22:53:56 well, here's the thing, we both got schooled in that match, so we should learn that xathis is better than both of us, but it doesn't really measure us relative to each other 2011-11-01T22:54:00 and then the next game tying against the 6th rank 2011-11-01T22:54:06 *** scribble has quit IRC () 2011-11-01T22:55:05 the only information the ranking system sees/uses is the order of placing in the results of course 2011-11-01T22:55:17 yeah, it's tricky, the ranking system can't read between the lines 2011-11-01T22:55:49 avdg: I tried that, but it doesn't happen consistantly 2011-11-01T22:55:54 so it's impossible to debug 2011-11-01T22:56:05 because you want to debug every bug ;-) 2011-11-01T22:56:13 he was really quite lucky all around, as it also happened on the second game, so sigma was quite high still as well 2011-11-01T22:56:13 try to keep it on a single one 2011-11-01T22:56:19 ? 2011-11-01T22:56:27 the timeouts are random and don't happen every game 2011-11-01T22:56:48 try to check every loop 2011-11-01T22:57:29 if there were an infinite loop, then it would happen in the same place every time 2011-11-01T22:57:33 I've developed a couple ranking systems, they aren't appropriate for this kind of game, but I know the challenges involved, but in reality, looking at his history the best bot he's beaten is #2720, so the uncertainty of his rank should still be very high 2011-11-01T22:58:08 yeah, unless you have multiple loops doing the same infinitive thingy 2011-11-01T22:58:43 The channel might enjoy this: 2011-11-01T22:58:49 "The ring is currently being resized and all I have is hunting season Busch, so the picture will have to wait. 2011-11-01T22:58:49 I proposed by creating an ant bot that established control of the playing field then moved the ants into a 'will you marry me?' type formation.  Unfortunately not executed in an actual ranked match though~" 2011-11-01T22:58:53 I'm pretty sure I don't have any infinite loops 2011-11-01T22:59:13 milo is amazing 2011-11-01T22:59:19 anyway, the timing isn't consistant 2011-11-01T22:59:43 hmm, are you already using all the available time? 2011-11-01T23:03:45 aichallenge: Janzert epsilon * rd899512 / (3 files): 2011-11-01T23:03:45 aichallenge: Merge pull request #348 from nbauernfeind/epsilon 2011-11-01T23:03:45 aichallenge: Adding hill support to scala starter kit. - http://git.io/YxYzyA 2011-11-01T23:05:15 aichallenge: janzert epsilon * r04e8564 / website/starter_packages.php : Update Scala starter bot status - http://git.io/JPsaTA 2011-11-01T23:05:15 aichallenge: janzert epsilon * ra11f924 / (3 files): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/fFAy-g 2011-11-01T23:05:30 janzert: BTW, it would seem you were right about the game rate, at least in the top 100. Now that a few more top bots have activated their submissions the rates have gone back up to "normal", I think the jury is still out about it reducing the rates of deactivated accounts in general, though. Have you seen evidence in the system one way or the other? 2011-11-01T23:05:53 so far I don't think it is 2011-11-01T23:06:18 keep getting distracted when trying to really look into it though :) 2011-11-01T23:08:17 lol, all but one are the same starter bot: http://aichallenge.org/visualizer.php?game=39901 2011-11-01T23:08:23 actually this area of the rankings at least seems to show some evidence that it is http://aichallenge.org/rankings.php?page=38 2011-11-01T23:09:10 I was just scanning page 19 of the standings, mostly submission #1 starter bots submitted on the first or second day and they nearly all have a game rate of either 7 or 8. 2011-11-01T23:09:15 cyphase: what'd you mean the top 3 players are php, c++ and python ;) 2011-11-01T23:09:27 there are lots of examples of all starter bot game though 2011-11-01T23:09:47 janzert, i didnt say that.. 2011-11-01T23:10:02 ChrisH_: yeah, the largest effect will be toward the middle of the group 2011-11-01T23:10:53 I did see some game rate = 0 bots near the bottom of the standings, so clearly it is having *some* effect, but it is hard to quantify how much. 2011-11-01T23:11:21 aichallenge: McLeopold epsilon * r6da299a / website/specification.php : add hill razing to game spec - http://git.io/xA9T6g 2011-11-01T23:11:21 aichallenge: McLeopold epsilon * ra1a3c88 / website/starter_packages.php : Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/6h2dlQ 2011-11-01T23:11:37 cyphase: php, 2 c++, 4 python, 2 java, scala, it's a pretty well mixed group :P 2011-11-01T23:11:41 I'm sure digging into the DB you could find some more useful numbers. 2011-11-01T23:13:21 *** uriahb has joined #aichallenge 2011-11-01T23:13:47 i would like to uriahb remove my account. how do i do this? 2011-11-01T23:14:08 McLeopold: is there any reason you don't divide the sum() result in match_quality by (@player_count + 1) so it would be a true geometric mean? 2011-11-01T23:14:44 it won't make any difference in ordering, just be a bit nicer to look at I suppose 2011-11-01T23:16:15 janzert: it looks like once you get above page 31 (skill ~ 40.75) the game rates are consistenly in the range 5-7. 2011-11-01T23:16:18 *** _waltz <_waltz!1822b95a@gateway/web/freenode/ip.24.34.185.90> has joined #aichallenge 2011-11-01T23:16:40 *** RobotCaleb1 has quit IRC (Ping timeout: 260 seconds) 2011-11-01T23:16:54 <_waltz> hello all 2011-11-01T23:17:23 *** paulwal has joined #aichallenge 2011-11-01T23:17:25 janzert, i think you have me confused with someone else.. 2011-11-01T23:17:25 ChrisH_: so we're probably reducing game rates for the deactivated bots in the bottom 1/3rd roughly 2011-11-01T23:17:29 not too bade 2011-11-01T23:17:47 hey janzert, did you see my message earlier? 2011-11-01T23:17:51 I'm still working my way up the charts, I'll let you know more in a few 2011-11-01T23:17:58 cyphase: ? (11:08:14 PM) cyphase: lol, all but one are the same starter bot: http://aichallenge.org/visualizer.php?game=39901 2011-11-01T23:18:01 *** TheDigitalNinja has joined #aichallenge 2011-11-01T23:18:16 janzert, what's that have to do with languages? 2011-11-01T23:18:29 <_waltz> has anybody run into problems with the c++ makefile for the starter package? 2011-11-01T23:18:34 paulwal: yes, I see it is currently trying to use the 8.4 interpreter 2011-11-01T23:18:34 oooh 2011-11-01T23:18:40 same starter bot you mean 2011-11-01T23:18:46 cyphase: right :P 2011-11-01T23:19:25 janzert, yea, that crossed my mind before i sent it. i just wasnt sure how much the starter bots varied between languages 2011-11-01T23:19:26 paulwal: already checked in a change for it to use tclsh8.5 2011-11-01T23:19:34 janzert: yeah /usr/bin/tclsh is a symlink to tclsh8.5 instead of tclsh8.5. 2011-11-01T23:19:37 ahh cool 2011-11-01T23:19:41 cyphase: they should all act the same 2011-11-01T23:19:54 do the workers have to be restarted again? 2011-11-01T23:19:58 paulwal: it won't be live till a bit later though 2011-11-01T23:20:07 k 2011-11-01T23:20:39 I'm trying to only do one worker update a day and get all the pending changes committed before then :} 2011-11-01T23:21:09 janzert: is it feasible to run "ln -sf /usr/bin/tclsh8.5 /usr/bin/tclsh" on all the servers to make it live now? Either way, thanks! 2011-11-01T23:21:21 *** scribble has joined #aichallenge 2011-11-01T23:21:32 it'll be less work to just update them actually 2011-11-01T23:21:41 ok 2011-11-01T23:22:04 one thing is there already is a /usr/bin/tclsh 2011-11-01T23:22:10 it's just 8.4 2011-11-01T23:22:32 yeah that command would overwrite /usr/bin/tclsh to make it point to tclsh8.5 2011-11-01T23:22:37 Anyone building their bot in c++ that could give me a little help? 2011-11-01T23:22:43 instead of pointing to tclsh8.4 2011-11-01T23:22:58 *** _waltz <_waltz!1822b95a@gateway/web/freenode/ip.24.34.185.90> has quit IRC (Ping timeout: 265 seconds) 2011-11-01T23:23:02 ahh, didn't check close enough to see that it was a link as well 2011-11-01T23:23:17 Tcl is big on backwards-compatibility, so 8.5 won't break anything that runs on 8.4 code 2011-11-01T23:24:10 I investigated a little via stderr ;) 2011-11-01T23:25:00 :) 2011-11-01T23:25:02 *** Antimony_ has joined #aichallenge 2011-11-01T23:25:40 *** McLeopold has joined #aichallenge 2011-11-01T23:25:55 dunno why the package installation doesn't overwrite the tclsh symlink by default... 2011-11-01T23:26:49 probably the system tcl is "defined" to be 8.4 2011-11-01T23:27:06 so the user has to be explicit in using anything else 2011-11-01T23:27:14 ahh 2011-11-01T23:27:25 *** Antimony has quit IRC (Ping timeout: 240 seconds) 2011-11-01T23:27:43 janzert: want to freeze the game parameters? 2011-11-01T23:28:03 janzert: on a cursory scan it looks like, yes, game rates are predominately in the 6-7 range for pages 1-31, so about the bottom 25% of the standings are getting some impact, but also the bottom 15% is all new submissions less than 3 days old, so it is really only the 10% between the two that is forgoing resources, and only to a moderate degree, so it would seem the change is currently reclaiming game time from less than 5% of th 2011-11-01T23:28:12 janzert: I don't think the global impact is very big yet. 2011-11-01T23:28:29 McLeopold: officially saying they are frozen is too strong I believe 2011-11-01T23:28:54 *** rajanaresh has left #aichallenge 2011-11-01T23:28:57 *** yoden has quit IRC (Quit: Leaving.) 2011-11-01T23:29:01 officially saying they are quite unlikely to change and only in the event of problems being found with the current set, would be fine I think 2011-11-01T23:29:35 *** Antimony_ has quit IRC (Ping timeout: 258 seconds) 2011-11-01T23:29:48 *** Larose has quit IRC (Quit: Leaving.) 2011-11-01T23:30:17 ChrisH_: trueskill isn't causing the starter bots to be ranked low enough :( 2011-11-01T23:30:27 otherwise the impact would be larger 2011-11-01T23:30:43 basically we do not plan on changing them, but if we do and your bot breaks because of it it will not be our fault :/ 2011-11-01T23:30:46 what percentage of the bot population is starter bots do you think? 2011-11-01T23:30:54 50% 2011-11-01T23:31:33 any ranking system that just goes off head to head results will have trouble with a high population of similarly skilled players and they will gravitate towards the middle of the ranks 2011-11-01T23:31:34 the better the bot performs, the more game slots it should get 2011-11-01T23:31:37 imo 2011-11-01T23:32:09 paulwal: that would be a pretty strong disincentive to new programmers 2011-11-01T23:32:20 *** asf142 has joined #aichallenge 2011-11-01T23:32:23 which is a big target for the competition 2011-11-01T23:32:24 paulwal: shouldn't you be rewritting our game rules to be more concise? 2011-11-01T23:32:31 lol 2011-11-01T23:32:34 I think starter bots come it around skill 42, which I agree is very high, but that is right at the median of the skill range right now, so not surprising 2011-11-01T23:32:36 ok, i will 2011-11-01T23:33:03 janzert, I will amend that to say that newer bots should get more game slots too 2011-11-01T23:33:47 then we're already fulfilling your wishes, just in a mild mannered way ;) 2011-11-01T23:33:48 paulwal: that creates an incentive to constantly resubmit bot code 2011-11-01T23:34:09 so it needs to be tempered 2011-11-01T23:34:12 ChrisH_, only if you're improving it 2011-11-01T23:34:23 no, just to get the thrill of the game 2011-11-01T23:34:25 your rank gets reset with each submmission i believe 2011-11-01T23:34:44 yes 2011-11-01T23:35:37 amstan: are you here? 2011-11-01T23:38:34 McLeopold, my initial forum post was a bit harsh and hasty. The fact is that it's somewhat of a complex game, so it can be hard to understand, much less explain. 2011-11-01T23:40:33 McLeopold, do y'all have a donation paypal account setup yet? 2011-11-01T23:40:34 I think the common thread of complaints about the game spec is that there isn't a concise explanation about how the game of ants is played separate from the technical aspects of how the bots interact with the game. I think people are expecting a concise set of game rules like you would get with a board game. 2011-11-01T23:40:42 it takes awhile to explain, I did add some hill razing bits and copied the attack code into the main game spec 2011-11-01T23:41:17 ChrisH_: you mean without the bot i/o getting in the way? 2011-11-01T23:41:22 yes 2011-11-01T23:41:44 yeah, a big problem is the spec trying to be both an explanation and a spec 2011-11-01T23:42:05 I think you are right, it does need to be split 2011-11-01T23:42:29 something like, here is the goal of the game, here is how ants move, here is how food is collected, here is how ants fight. And now that you know how the game works, here is how your code makes those things happen in the game. 2011-11-01T23:42:29 for sure 2011-11-01T23:43:14 a lot of people ask questions about how the game works before they ask how to code it 2011-11-01T23:43:36 so explain it like you were playing it by hand first 2011-11-01T23:44:30 both problem description and game spec mix the game and the programming together 2011-11-01T23:44:44 hi, my bot is crashing when i upload it, but it dont happened when I tested it 2011-11-01T23:45:09 capa: what is your bot name? 2011-11-01T23:45:18 *** formallyknownasd has joined #aichallenge 2011-11-01T23:45:19 *** AxVapor has joined #aichallenge 2011-11-01T23:45:51 w00t, i'm top 100 for the first time 2011-11-01T23:45:57 MyBot.c 2011-11-01T23:46:16 one thing I remember being confused about was hill razing. What is razing? Do i issue a command to raze a hill? Do I need multiple ants to raze a hill? No, I just walk move one ant on to it. Then that's more complicated by whether or not there are food stores saved up by the owner of that hill. 2011-11-01T23:46:27 capa: no, your username on the website 2011-11-01T23:46:34 co1ote 2011-11-01T23:47:36 capa: this is a common problem. try adding some logging to stderr, and make sure to flush, then you may see how far your bot is getting 2011-11-01T23:47:40 McLeopold: it compiled but failed in the test 2011-11-01T23:47:56 so far, everyone who has found this to be an issue found something wrong with their code 2011-11-01T23:48:54 Have you tried it locally on other maps 2011-11-01T23:49:07 pairofdice: no 2011-11-01T23:49:59 capa: did you submit the c starter for your first bot? 2011-11-01T23:50:44 yes 2011-11-01T23:51:00 it looks like the c starter has a bug that prevents map wrapping correctly 2011-11-01T23:51:07 McLeopold: then I did some improvement and re-submit it 2011-11-01T23:51:08 http://aichallenge.org/visualizer.php?game=33279&user=6725 2011-11-01T23:51:24 capa: so, add some logging, then let us know how it goes 2011-11-01T23:54:15 *** ccc_ has joined #aichallenge 2011-11-01T23:54:37 hi, is there a chance that the engine would deem my bot as crash if i send invalid command 2011-11-01T23:54:41 *** dvladim has joined #aichallenge 2011-11-01T23:55:54 *** Saulzar has joined #aichallenge 2011-11-01T23:56:09 i see a whole bunch of crash games but cannot determine why my bot crashed, so I was wondering if contest games don't allow invalid commands at all 2011-11-01T23:57:29 is there a way to donate to the site yet to get more servers up and running? I can write the webpage with a little graph that shows paypal donations in real time. I remember someone saying something about taxes... You can pay for the servers straight from paypal so the money never touches any banks, so there won't be any tax issues. 2011-11-01T23:57:35 ccc_: no, it will ignore the commands 2011-11-01T23:57:55 paulwal: jeff said he is setting something up, we are waiting for a response 2011-11-01T23:58:08 cool. jeff == amstan? 2011-11-01T23:58:16 jeff = j3camero 2011-11-01T23:58:38 McLeopold: how can i add some logging ? 2011-11-01T23:58:47 write to stderr 2011-11-01T23:58:48 McLeopold: what are the circumstances in which a bot is considered a crash and not a timeout ? any clues will help me 2011-11-01T23:59:05 ccc_: when you pass the time limit it's a timeout 2011-11-01T23:59:18 when the process stops responding before the timeout period expires, hence the process is no more 2011-11-01T23:59:28 McLeopold: what's up? 2011-11-01T23:59:35 fprintf(STDERR, "hello"); 2011-11-01T23:59:38 McLeopold: not stops responding, is no longer running