2011-10-29T00:04:41 *** mediocrist has joined #aichallenge 2011-10-29T00:04:51 *** ChrisH_ has joined #aichallenge 2011-10-29T00:04:57 Heyo 2011-10-29T00:05:10 anyone around? 2011-10-29T00:05:29 hi 2011-10-29T00:06:15 you go through the tutorials by chance? I'm trying to do the first Java HashMap tutorial 2011-10-29T00:06:18 to no avail 2011-10-29T00:06:29 yeah, but I did them in python 2011-10-29T00:07:21 it looks easier in python 2011-10-29T00:07:33 the java bot is broken into a couple different classes 2011-10-29T00:08:18 anyone else lurking? 2011-10-29T00:08:28 *** synace has joined #aichallenge 2011-10-29T00:08:45 so, i've got my bot done, but i'm timing out :( 2011-10-29T00:09:00 yes 2011-10-29T00:09:02 *** rmmh has quit IRC (Read error: Connection reset by peer) 2011-10-29T00:09:02 mediocrist no problems with the python pack at the moment 2011-10-29T00:09:19 *** rmmh has joined #aichallenge 2011-10-29T00:09:33 i'm thinking about caching my paths and having each ant go on that path until it asks for or gets new orders 2011-10-29T00:09:36 yeah, I just picked up java about a week ago and am trying to stick to form 2011-10-29T00:09:55 ah cool 2011-10-29T00:10:00 yeh i picked up python for this as well 2011-10-29T00:10:34 the code they supply references a class that doesn't exist yet. I'm probably just missing something 2011-10-29T00:10:59 I wish they had a post-tutorial bot prebuilt so I could reference what they're doing 2011-10-29T00:11:34 are you using make to build you bot int java 2011-10-29T00:11:57 yeah 2011-10-29T00:12:20 If they have not fixed it, it does not build all the .java files. 2011-10-29T00:12:33 Use javac *.java 2011-10-29T00:12:50 hold on, lemme give it a try 2011-10-29T00:14:09 *** smiley1993 has quit IRC (Remote host closed the connection) 2011-10-29T00:14:36 still no dice 2011-10-29T00:14:45 *** smiley1983 has joined #aichallenge 2011-10-29T00:14:51 the code offered is referencing a class name Hashmap 2011-10-29T00:14:55 which doesn't exist 2011-10-29T00:15:03 keeps erroring on compile 2011-10-29T00:15:08 you make need to make your jar with "jar cvfm MyBot.jar Manifest.txt *.class 2011-10-29T00:15:10 isn't it HashMap 2011-10-29T00:15:24 with a big M 2011-10-29T00:15:31 =) 2011-10-29T00:15:37 yeah, typo in irc. I'm copy/pasting 2011-10-29T00:15:42 into the code 2011-10-29T00:15:42 oh 2011-10-29T00:15:52 well HashMap is a standard collection class 2011-10-29T00:16:06 as long as you have JDK 6 you should have it 2011-10-29T00:16:21 are you using java 6 2011-10-29T00:16:23 assuming java.collections.* is imported. 2011-10-29T00:17:05 sorry its java.util 2011-10-29T00:17:23 so make sure java.util.* is imported. that's the package containing HashMap 2011-10-29T00:17:36 java.util.collections.*? or just the java.util.HashMap; 2011-10-29T00:17:42 *** Craklyn has quit IRC (Ping timeout: 265 seconds) 2011-10-29T00:18:00 java.util.HashMap 2011-10-29T00:18:11 collections is for .NET 2011-10-29T00:18:21 (i'm not a walking API damn it!) 2011-10-29T00:20:19 the import workd great preventing compiling errors 2011-10-29T00:20:40 tutorial isn't working now, but I'm sure a little debuggin will fix that 2011-10-29T00:20:47 thanks for the help 2011-10-29T00:20:51 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-10-29T00:21:28 *** italo has joined #aichallenge 2011-10-29T00:21:56 *** SharkMonkey has quit IRC (Remote host closed the connection) 2011-10-29T00:22:28 does anyone know if I can donwload the already played games? 2011-10-29T00:26:38 does get cols give you width of the entire map or the col you are at??? 2011-10-29T00:27:22 *** iamphi has quit IRC (Ping timeout: 265 seconds) 2011-10-29T00:29:44 *** italo has quit IRC (Quit: Page closed) 2011-10-29T00:32:00 my firs tattempt... thought it timesout at the moment :/ http://synace.netau.net/ai/replay.0.html 2011-10-29T00:33:29 how's it look compared to the good ones ppl have seen? 2011-10-29T00:34:09 the game is too short to tell :P 2011-10-29T00:34:15 now you're being checked for malicious content 2011-10-29T00:34:19 thestinger: it's timing out 2011-10-29T00:34:37 yeah, your link just died 2011-10-29T00:34:48 thestinger: i have to revise to use memory more & cpu less (re-calculating all paths every turn) 2011-10-29T00:35:04 thestinger: i ended it at 50 turns 2011-10-29T00:35:38 I actually recalculate paths every turn 2011-10-29T00:35:53 i'm using weighted A* mostly 2011-10-29T00:36:07 thestinger: i'm using PHP ;) 2011-10-29T00:36:12 i.e. sloooow 2011-10-29T00:36:42 I do a breadth-first search from each target (enemy hills, food, unseen locations) across the map and mark the distance of every node 2011-10-29T00:37:23 what's the turn timeout on live server? 2011-10-29T00:37:33 mem is 1.5gb right? 2011-10-29T00:37:49 I think mem is 1gb (I might be wrong) 2011-10-29T00:38:09 turn timeout if 500ms iirc, but you should make your bot scale to different timeouts in case it changes 2011-10-29T00:38:37 right, it can read the timeout IIRC 2011-10-29T00:38:57 yeah 2011-10-29T00:47:53 synace: use paste.aichallenge.org, and paste the 0.replay text 2011-10-29T00:48:02 McLeopold: thanks 2011-10-29T00:49:19 http://paste.aichallenge.org/eejCU/ 2011-10-29T00:49:51 you look a little too purple... 2011-10-29T00:50:41 that's better 2011-10-29T00:52:11 McLeopold: now if I can just get it to not take 3s when I have 10 ants on stage ;) 2011-10-29T00:52:31 well don't follow the tutorial 2011-10-29T00:52:45 ? 2011-10-29T00:52:58 i didn't know there was 1 :) 2011-10-29T00:53:18 i just downloaded the zip and got to work on a solution using A* 2011-10-29T00:53:21 http://aichallenge.org/ants_tutorial.php 2011-10-29T00:53:33 You might be beyond it 2011-10-29T00:54:06 how do you store your open list? 2011-10-29T00:54:11 McLeopold: yeah, this run was proof of concept for the 'pick a target' & return 'nsew' algorithm 2011-10-29T00:54:46 my code is basically stateless between turns at the moment, no real memory between turns 2011-10-29T00:54:47 now that I don't just use manhattan distance to decide on where to send ants my bot doesn't totally fail on maze maps anymore :D 2011-10-29T00:55:30 http://ants.fluxid.pl/replay.11252 <- I'm strcat (still no real combat stuff done yet though) 2011-10-29T00:56:38 thestinger: i have not yet dealt w/ the map wrapping, any advice? (i was thinking about re-centering to the ant) 2011-10-29T00:57:15 for graph traversal stuff I just deal with it when I figure out which nodes are connected 2011-10-29T00:57:30 new_row = row == 0 ? state.rows - 1 : row - 1; // wrap (col, row - 1) 2011-10-29T00:57:39 create a node graph and ignore coordinates 2011-10-29T00:57:39 just 4 lines like that for each direction 2011-10-29T00:58:05 McLeopold: i have node graph, i guess i just never thought to connect it in a sphere ;) lol 2011-10-29T00:58:15 torus 2011-10-29T00:58:29 i'm wrapping the whole thing in a box with edges at the moment 2011-10-29T00:58:40 plus it gets smaller with more discovered water 2011-10-29T00:59:01 how did you go about building your node graph 2011-10-29T00:59:08 i have my own way, but i'm interested to know how others did it 2011-10-29T00:59:11 whether it was the same as me 2011-10-29T00:59:16 McLeopold: doughnut? 2011-10-29T00:59:16 I've done it 3 different ways 2011-10-29T00:59:26 yeah, same as torus 2011-10-29T00:59:44 a doughnut is torus shaped. 2011-10-29T00:59:47 gotcha 2011-10-29T00:59:49 when I was using python I just used a dictionary of lists, with the node as the key and the list containing the keys of connected nodes 2011-10-29T01:00:18 i traverse and each node contains refrences to connected nodes 2011-10-29T01:00:26 yeh but i mean, how did you build the graph 2011-10-29T01:00:28 stored in dictionary similarly 2011-10-29T01:00:30 evenly spaced nodes? 2011-10-29T01:00:37 or dynamically grown graphs 2011-10-29T01:00:54 i dig through the rows x cols && compare $map 2011-10-29T01:01:02 every turn? 2011-10-29T01:01:04 :O 2011-10-29T01:01:05 :) 2011-10-29T01:01:08 hence my timeout 2011-10-29T01:01:12 hehehe ok 2011-10-29T01:01:15 just proof of concept at the moment 2011-10-29T01:01:16 my C++ A* implementation didn't really use a graph 2011-10-29T01:01:34 I just reused the 2d vector of location structs 2011-10-29T01:01:48 thestinger: i saw one of your ants stop & go back towards your hill, what happened there? 2011-10-29T01:01:54 but now that's all replaced with my new pathfinding 2011-10-29T01:02:17 ant1 after ant3 spawned 2011-10-29T01:02:18 synace: I don't store food locations at all, so if moving to a food location requires losing sight of it my ants can go back and forth 2011-10-29T01:02:36 I only send 1 ant to a food so it doesn't really matter 2011-10-29T01:02:50 thestinger: at that point there was no food to be sought 2011-10-29T01:03:06 i've got a backup target to 'explore' to farthest point away from home hill 2011-10-29T01:03:37 Fluxid told us a really awesome way of dealing with pathfinding and I do that now, so I can recalculate everything every turn 2011-10-29T01:03:59 and I can actually go through every single food/unseen location/enemy hill each turn 2011-10-29T01:04:00 thestinger: GPL'd? 2011-10-29T01:04:01 :) 2011-10-29T01:04:07 not code, just a method :P 2011-10-29T01:04:09 ah 2011-10-29T01:04:12 he just explained it in a few lines 2011-10-29T01:04:16 so 2011-10-29T01:04:33 for hills right now, I make a single hill_graph variable which is a 2d vector of ints 2011-10-29T01:04:41 (enemy hills) 2011-10-29T01:05:08 then I do a breadth-first search from each hill, and mark the shortest distances to a hill 2011-10-29T01:05:36 I do the same for _each_ unseen location (I realize that's stupid, but it hardly takes any time) and each food 2011-10-29T01:06:44 thestinger: i'm hoping to accomplish a reasonably good bot with PHP. it's going to be a challenge to stay under the timeout 2011-10-29T01:07:07 then I can just check the value in the 2d vector for an ant to get the distance to a target 2011-10-29T01:07:32 and then I check the neighbouring locations and move to one where the distance is lower 2011-10-29T01:07:52 so it's like making a height map, with stuff that's further away having a higher value 2011-10-29T01:09:22 I have 1 2d "height map" for enemy hills, one for unseen locations and one for each food 2011-10-29T01:10:09 thestinger: i'm doing A* for each ant, not each hill 2011-10-29T01:10:31 each, I was doing A* for each ant to each location 2011-10-29T01:10:42 now I just make a height map for each location, and I don't need any more pathfinding 2011-10-29T01:10:47 it's a _lot_ faster 2011-10-29T01:11:16 i'll give it a look thx 2011-10-29T01:14:55 *** pgoldbr has joined #aichallenge 2011-10-29T01:15:17 *** kloeri has quit IRC (Remote host closed the connection) 2011-10-29T01:16:05 contestbot: later tell janzert we still have beta.aichallenge.org pointed to the website, we should keep the redirects until we need the domain for something else 2011-10-29T01:16:05 amstan_: Job's done. 2011-10-29T01:17:19 synace: http://paste.pocoo.org/show/499863/ here's what it looks like when I find an enemy hill - I mark 0 as the distance where the enemy hill is, then do a BFS and mark all the other distances 2011-10-29T01:17:53 if there are multiple hills, I mark another 0 in that 2d vector and do a BFS from there 2011-10-29T01:17:54 amstan_: should we point ants.aichallenge.org now? 2011-10-29T01:18:04 -1 means I know there's water there 2011-10-29T01:18:04 for permenant urls? 2011-10-29T01:18:06 thestinger: -1 = water? 2011-10-29T01:18:07 ah 2011-10-29T01:18:20 McLeopold: how do you think that will work? 2011-10-29T01:18:45 ants.aichallenge.org/visualizer.php?game=1 will always point to the right ants game 2011-10-29T01:18:56 thestinger: yeah, that'd be faster to create than determining the absolute 'fastest' route. 2011-10-29T01:18:58 what about all the current links? 2011-10-29T01:18:58 with out the ant. prefix, it would be the game of the season 2011-10-29T01:19:24 don't know 2011-10-29T01:19:31 if we do not enforce the url, most people will try permalinking to aichallenge.org, and that's not a good idea 2011-10-29T01:19:37 *** tylercrumpton has joined #aichallenge 2011-10-29T01:19:52 synace: I do the same thing for exploration too - here's what it looks like early in the game http://paste.pocoo.org/show/499865/ 2011-10-29T01:20:09 we probably broke any planet wars links 2011-10-29T01:20:25 I go through each unseen location and mark them as 0, then do a BFS from there (which is fast for most, because they are just surrounded by 4 other unseen locs, so the search ends right away) 2011-10-29T01:20:25 yes we did 2011-10-29T01:21:33 synace: same 2d vector later in the game http://paste.pocoo.org/show/499866/ 2011-10-29T01:22:01 thestinger: that's a single graph used by all ants for explore? 2011-10-29T01:22:06 anyway, doing it like this gets you the true distance to a location (assuming all unseen places are water) and does all your pathfinding 2011-10-29T01:22:11 yup, I generate it once and they all use it 2011-10-29T01:22:36 amstan_: well, at least we can give people who care an option that will work 2011-10-29T01:22:46 yeah, pathfinding would seem to be faster this way than A* 2011-10-29T01:22:46 I look up explore_graph[ant.row][ant.col] and then move to a neighbour with a lower value (lower distance to an unseen location) 2011-10-29T01:23:10 McLeopold: how about separating the links somehow? 2011-10-29T01:23:16 makes sense 2011-10-29T01:23:22 which links? 2011-10-29T01:23:26 McLeopold: try to make everything that's current contest to redirect to ants.aichallenge.org 2011-10-29T01:23:40 and stuff like server stats, forums, homepage to go to aichallenge.org 2011-10-29T01:23:45 that makes sense, redirect everything now 2011-10-29T01:23:51 synace: I'm doing this is my python prototyping too, and it works fine if you don't do it for every single unseen location/food 2011-10-29T01:24:16 we could also assume all calls to ai-contest.com is for the planetwars contest, and redirect is as appropriatelly to planetwars. 2011-10-29T01:24:23 for my A* path finding, i treat unseen spots as land 2011-10-29T01:24:36 I do that too 2011-10-29T01:24:53 *** tylercrumpton has quit IRC (Ping timeout: 265 seconds) 2011-10-29T01:25:04 amstan_: again, a brilliant idea 2011-10-29T01:25:12 problem is implementing it 2011-10-29T01:25:27 or not? 2011-10-29T01:25:32 apache rewrites ftw? 2011-10-29T01:25:35 i guess not, it's just a list inside the apache rewrites 2011-10-29T01:25:59 RewriteRule %{HTTP_HOST} ^(www\.)?ai-contest\.com$ 2011-10-29T01:26:12 though.. if we leave the anchors as they are, a lot of page requests will be redirects 2011-10-29T01:26:38 example: person going from homepage to rankings, to server statistics, to problem description and then to the forums 2011-10-29T01:26:48 twice the page loads 2011-10-29T01:27:01 I thought we used relative? 2011-10-29T01:27:07 McLeopold: we do 2011-10-29T01:27:10 *** Strannik has joined #aichallenge 2011-10-29T01:27:16 but homepage is at aichallenge.org 2011-10-29T01:27:27 they'll click rankings, which relatively will go to aichallenge.org/rankings.php 2011-10-29T01:27:31 but that will get redirected 2011-10-29T01:27:37 make it rewrite url 2011-10-29T01:27:39 *** rj_ has joined #aichallenge 2011-10-29T01:27:43 hi 2011-10-29T01:27:44 then they go to server_stats.php, but that gets redirected to aichallenge.org back 2011-10-29T01:28:03 in the ant tutorial 2011-10-29T01:28:08 so, anything with aichallenge.org gets sent to ants. 2011-10-29T01:28:19 ants does not have isvisible 2011-10-29T01:28:28 in java package 2011-10-29T01:28:29 rj_: which starter pack? 2011-10-29T01:28:31 *** Jak_o_Shadows has joined #aichallenge 2011-10-29T01:28:45 *** xar0l has quit IRC (Ping timeout: 265 seconds) 2011-10-29T01:29:07 @McLeopold java 2011-10-29T01:29:08 rj_: I have no idea what you mean. 2011-10-29T01:29:25 thestinger: i just read throught he tutorial... any thoughts to the b...*..a.* problem? (a can get both if a goes for the farther one first) 2011-10-29T01:29:39 rj_: mine does :/ 2011-10-29T01:29:57 synace: since I use a BFS search to mark off the distances, I get that for free 2011-10-29T01:29:58 *** smiley1983 has quit IRC (Ping timeout: 245 seconds) 2011-10-29T01:30:18 thestinger: BFS would go to the right 2011-10-29T01:30:19 in the ant tutorial its mentioned ants.isVisible(Tile), but this method does not exist in starter package of Java 2011-10-29T01:30:50 synace: favor food on the frontier 2011-10-29T01:31:09 rj_: I'm looking at the code, ant I'm pretty sure it does exist 2011-10-29T01:31:10 synace: no, I take into account water squares so it goes to the left 2011-10-29T01:31:11 McLeopold: only if it's gettable ;) 2011-10-29T01:31:14 *** smiley1983 has joined #aichallenge 2011-10-29T01:31:28 *** kloeri has joined #aichallenge 2011-10-29T01:31:45 synace: produce a vorinoi diagram of the map and make sure you can get there first or same time 2011-10-29T01:32:04 McLeopold: that'll kick my turn time up to 10s ;) 2011-10-29T01:32:21 rj_: https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/java/Ants.java#L318 2011-10-29T01:32:35 synace: do you want the food or not :) 2011-10-29T01:32:51 wait, its a simple bfs search 2011-10-29T01:32:53 McLeopold: at this point I don't want to timeout :/ 2011-10-29T01:33:03 hmmm i just downloaded... it exists... sorry guys and thank you 2011-10-29T01:33:14 McLeopold: also don't want to switch to C.. would just be happy winning in the PHP category 2011-10-29T01:33:30 doing this as an exercise for my local PHP user group members 2011-10-29T01:34:16 well, any language is fast enough to do a bfs 2011-10-29T01:35:04 what's bfs mean? 2011-10-29T01:35:13 breadth first search 2011-10-29T01:35:42 basically, paint outwards from each ant at the same rate 2011-10-29T01:35:53 bfs == nested set right? 2011-10-29T01:35:59 or, since you care about food, paint out from each food square 2011-10-29T01:35:59 oh, just brute force path finding? 2011-10-29T01:36:24 McLeopold: anyway, so subdomains! 2011-10-29T01:36:37 amstan_: FTW! 2011-10-29T01:36:48 amstan_: redirect all linux users to ants. :) 2011-10-29T01:36:49 burny: yep 2011-10-29T01:36:54 McLeopold: yes, except they'll be slow, do you understand my dillema? 2011-10-29T01:37:02 amstan_: no, I don't see the problem 2011-10-29T01:37:14 McLeopold: ok, let me write it up 2011-10-29T01:37:18 amstan_: just make everything goto ants.aichallenge.org 2011-10-29T01:37:26 after the first hit, never go back 2011-10-29T01:37:52 McLeopold: oh, ok 2011-10-29T01:37:54 that's easy 2011-10-29T01:38:33 McLeopold: mailing list is it 2011-10-29T01:38:37 McLeopold: but you have to support me on it 2011-10-29T01:38:47 has any1 incorporated any routing algorithms? 2011-10-29T01:38:48 McLeopold: what about ai-contest.com? 2011-10-29T01:39:04 McLeopold: i don't want to redirect everything to planetwars 2011-10-29T01:40:32 synace: BFS https://github.com/aichallenge/aichallenge/blob/epsilon/ants/ants.py#L1237 2011-10-29T01:40:39 amstan_: why not? 2011-10-29T01:41:13 synace: if you do a BFS from a dest, you can reuse that and get free pathfinding/distance measurements for all ants to that dest 2011-10-29T01:41:54 *** Strannik has quit IRC (Quit: Page closed) 2011-10-29T01:42:03 McLeopold: ok, i have an idea 2011-10-29T01:42:13 McLeopold: redirect everything unless it's homepage or forums 2011-10-29T01:42:26 ok 2011-10-29T01:42:45 but we should wait until it's up and running somewhere :) 2011-10-29T01:44:04 McLeopold: janzert is going to get mad, lol 2011-10-29T01:44:09 McLeopold: i'm going to redirect things again 2011-10-29T01:44:11 lol 2011-10-29T01:45:29 McLeopold: i'm currently using A*, but it's benefits are specific to a->b, BFS seems to cache a portion of the solution and provides a decent enough result for a single turn 2011-10-29T01:45:46 A* is giving too good of a result, it's not worth the effort it seems 2011-10-29T01:46:56 you can find shortest paths with bfs, you just need to store the result in a nice way 2011-10-29T01:47:05 synace: if you start doing well, you will always have more ants than targets, or more targets than ants 2011-10-29T01:47:06 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-29T01:51:41 has anyone gotten deep enough to compare outcomes a-la minimax or similar algorithms? 2011-10-29T01:52:13 I haven't really touched combat/game trees at all yet 2011-10-29T01:53:29 i'm pretty green at most of these algos don't have to use them much in web application (read: cms & such) development 2011-10-29T01:54:01 McLeopold: https://github.com/aichallenge/aichallenge/issues/342 2011-10-29T01:54:02 okay, i think this change should fix issue 341 2011-10-29T01:54:20 some data models get hairy & i lean on tried & tru systems mysql/mongo/solr/lucene/etc. 2011-10-29T01:56:06 this should be a good read: http://iouri-khramtsov.blogspot.com/2010/11/google-ai-challenge-planet-wars-entry.html 2011-10-29T01:56:13 #2 bot 2011-10-29T01:58:14 *** pgoldbr has quit IRC (Ping timeout: 265 seconds) 2011-10-29T01:59:55 McLeopold: are you still for hosting the planetwars stuff on the current server? 2011-10-29T02:00:53 amstan_: given the nature of the website, I don't think it's a big deal to put it on the current server 2011-10-29T02:01:15 that stuff can live side by side with the current fairly well 2011-10-29T02:01:22 McLeopold: i think we have a beefier server right now, i don't think we can keep it up for long after the contest ends 2011-10-29T02:01:32 so we'll have to move when it's done 2011-10-29T02:01:34 no, we can't, but for now it works 2011-10-29T02:02:02 the replays will need to be rewritten 2011-10-29T02:02:17 aichallenge: Zannick epsilon * r86d12b3 / ants/playgame.py : 2011-10-29T02:02:17 aichallenge: Fix issue 341: executables should not be referenced to their cwd 2011-10-29T02:02:17 aichallenge: when being run in non-secure mode. 2011-10-29T02:02:17 aichallenge: Also fix the ./ only being appended if the executable is the last 2011-10-29T02:02:17 aichallenge: argument, rather than only if it's the first. 2011-10-29T02:02:18 aichallenge: This should not affect secure mode. - http://git.io/PBmcTg 2011-10-29T02:02:23 McLeopold: i think a script could do it 2011-10-29T02:02:39 maybe a backup first 2011-10-29T02:02:46 nite all ~ 2011-10-29T02:04:05 cya 2011-10-29T02:04:23 i really should not be making changes to the codebase tonight 2011-10-29T02:04:31 but i just couldn't resist that one :3 2011-10-29T02:04:33 Zannick: lol 2011-10-29T02:04:40 join the club 2011-10-29T02:06:16 *** esven has joined #aichallenge 2011-10-29T02:07:37 yay i contributed 2011-10-29T02:07:37 Zannick: I've been avoid the fix for that 2011-10-29T02:07:41 I'm not really around the irc often but this game shows some potential for a means of killing the opponent. http://aichallenge.org/visualizer.php?game=27559&turn=0 OP4242 makes a single file line to snipe the enemy hill. 2011-10-29T02:07:43 *** synace has quit IRC (Ping timeout: 248 seconds) 2011-10-29T02:07:53 root@ltfs1110:/var/lib/mysql/contest# ls -lah|grep G 2011-10-29T02:07:54 -rw-rw---- 1 mysql mysql 48G 2010-12-01 17:03 playback.MYD 2011-10-29T02:08:01 sigh... 2011-10-29T02:08:07 that code started when I wanted a way to put I nice friendly name in the visualizer 2011-10-29T02:08:31 the worst part is that it's not a good idea to move that file as is 2011-10-29T02:08:42 it should be exported to plain sql first 2011-10-29T02:09:02 is there sensitive data in there? 2011-10-29T02:09:16 in playback? probably not 2011-10-29T02:10:52 *** Hene193 has joined #aichallenge 2011-10-29T02:10:58 Hi 2011-10-29T02:11:44 I need help: I got this error: Error fileName file:///home/hene/Desktop/tools/visualizer/js/Replay.js lineNumber 297 2011-10-29T02:11:54 What to do? 2011-10-29T02:12:10 Hene193: that's it? 2011-10-29T02:12:17 yes 2011-10-29T02:12:33 *** esven has quit IRC (Quit: Page closed) 2011-10-29T02:12:37 it's from replay 2011-10-29T02:12:54 oh! it's a visualizer error 2011-10-29T02:13:01 yes 2011-10-29T02:13:02 Hene193: what did you do when this happened? 2011-10-29T02:13:12 run one game 2011-10-29T02:14:36 The error got on "parsing the replay" 2011-10-29T02:15:42 McLeopold: why were you avoiding it? 2011-10-29T02:15:56 because I didn't have a good solution for all cases 2011-10-29T02:16:01 ah 2011-10-29T02:16:16 so I figure, screw the java guys :) 2011-10-29T02:16:20 *** janzert has joined #aichallenge 2011-10-29T02:16:22 i think there were only the two cases, secure and not 2011-10-29T02:16:41 which it should be handling correctly now :) 2011-10-29T02:16:47 okay, I'm going to go heads down on getting password recovery going... 2011-10-29T02:16:47 amstan: Any ideas to fix this? 2011-10-29T02:17:14 It worked one time 2011-10-29T02:17:22 Hene193: well, do you know what broke it? 2011-10-29T02:18:05 I have no idea 2011-10-29T02:18:19 janzert: have you been running the turn limit adjuster? 2011-10-29T02:18:20 Hene193: i don't know that code(visualizer), the only thing i can tell you is to submit an issue on github about all the circumstances of your bug(including that message, and maybe the replay) 2011-10-29T02:18:28 Hene193: maybe mleise can look at it sometime 2011-10-29T02:18:38 Hene193: you could ping him when he's here 2011-10-29T02:18:46 :-| 2011-10-29T02:18:47 @seen mleise 2011-10-29T02:18:47 amstan_: mleise was last seen in #aichallenge 1 second ago: :-| 2011-10-29T02:18:55 Hene193: or you can ping him now 2011-10-29T02:18:57 haha 2011-10-29T02:19:03 McLeopold: no 2011-10-29T02:19:08 *** kloeri has quit IRC (Ping timeout: 600 seconds) 2011-10-29T02:19:34 * janzert is working on reassembling my computer with new hard drive so don't expect much from me :} 2011-10-29T02:19:52 can you give me a tl-rd? 2011-10-29T02:19:54 *** kloeri has joined #aichallenge 2011-10-29T02:20:02 fix the live replays 2011-10-29T02:20:09 mleise: Error fileName file:///home/hene/Desktop/tools/visualizer/js/Replay.js lineNumber 297 2011-10-29T02:20:19 mleise: there's no long version 2011-10-29T02:20:21 very smart *g* 2011-10-29T02:21:00 let me see 2011-10-29T02:21:15 oops. my fault. I edited it wrong. (the game code) 2011-10-29T02:21:23 Now it works 2011-10-29T02:21:36 mleise: I think there's a thread in the forums about that might have a bit more if you want it 2011-10-29T02:22:08 McLeopold: did you break it? or was it misbehaving before? Just want to know who is causing me work here :p 2011-10-29T02:22:52 McLeopold: you broke my stats page look :P 2011-10-29T02:23:21 all the numbers are squished together now instead of spread out across the page nicely ;) 2011-10-29T02:23:26 Ok wait, this is the replay throwing an error on an invalid character 2011-10-29T02:23:41 janzert: what do you think of the proposed permalinks? 2011-10-29T02:23:59 haven't really looked at it yet, just skimmed the email a bit ago 2011-10-29T02:24:31 it's long 2011-10-29T02:24:40 *** amstan_ is now known as amstan 2011-10-29T02:24:50 *** ztfw has joined #aichallenge 2011-10-29T02:24:59 I am realy sorry about disorder 2011-10-29T02:25:11 janzert: me? 2011-10-29T02:25:16 I wonder who did that :) 2011-10-29T02:25:29 :) just your css clean up 2011-10-29T02:25:40 *** Hene193 has quit IRC (Quit: Page closed) 2011-10-29T02:25:43 Hene193: don't worry 2011-10-29T02:26:05 I seriously didn't put 2 and 2 together on that one, and thought you were preparing for 10 workers or something :) 2011-10-29T02:26:06 I really agree with the change overall, just I'll add some specific css on the stats page to make it look a little better now 2011-10-29T02:26:27 woah, there's more space for workers now 2011-10-29T02:26:43 heh, no there's the same space. they're just left justified now 2011-10-29T02:26:56 and lost the width 100% 2011-10-29T02:27:01 amstan: I do get a different error with live replays. 2011-10-29T02:27:17 nonono, there's more space or something, so now we can afford more workers per competition 2011-10-29T02:27:25 :) 2011-10-29T02:27:34 mleise: apparently hene193 fixed it by himself 2011-10-29T02:27:40 yeah, I just doubled our cash :) 2011-10-29T02:27:56 McLeopold: by doing csc magic 2011-10-29T02:28:03 yay, my login survives a browser restart \o/ 2011-10-29T02:28:21 *** Fandekasp has quit IRC (Ping timeout: 260 seconds) 2011-10-29T02:28:21 did someone pull that persistent stuff then? 2011-10-29T02:28:31 295 cookies agree 2011-10-29T02:28:35 well ok, then. but the live visualizer is still broken. gotta figure that out. looks like it is the new Math.sqrt line 2011-10-29T02:28:39 McLeopold finished it off and comitted it yes 2011-10-29T02:28:52 i encouraged the guy to work on it! 2011-10-29T02:28:53 mleise: yeah, that's me 2011-10-29T02:29:08 I'll try and do a detailed review of it tonight 2011-10-29T02:29:11 *** Saulzar has joined #aichallenge 2011-10-29T02:29:51 McLeopold: I don't see a new schema file with the checkin? 2011-10-29T02:30:00 uh oh 2011-10-29T02:30:38 <_flag> What do you guys think about starting newly uploaded bots to the main server playing against the same level of players they were playing against before resubmitting? 2011-10-29T02:30:55 <_flag> This was done during pw if I remember correctly 2011-10-29T02:31:00 aichallenge: McLeopold epsilon * rc44de3e / sql/0_schema.sql : update scheme to support cookie login and forgotten passwords - http://git.io/SCtDOA 2011-10-29T02:31:00 aichallenge: McLeopold epsilon * r1e19bfd / ants/playgame.py : Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/eeDF6w 2011-10-29T02:31:03 _flag: we'll be back to the problems pw suffered 2011-10-29T02:31:13 <_flag> janzert: Which was? 2011-10-29T02:31:14 and yeah it was that's why we changed 2011-10-29T02:31:38 several people got over fitted for the opponents in the ranks around them 2011-10-29T02:31:56 and when they played a broader range at the start of the finals had problems 2011-10-29T02:32:12 <_flag> Ah 2011-10-29T02:32:26 starting at the bottom each time shows that you still beat everyone on the way up basically 2011-10-29T02:32:57 <_flag> True, my biggest problem is that by the time my bot starts playing against top players, I've made some improvements and its no longer my best work 2011-10-29T02:33:13 <_flag> But I also don't want to keep resubmitting because then I never play any good games 2011-10-29T02:33:15 and it seems to only take about a half dozen games or so to climb back to the top 2011-10-29T02:33:36 <_flag> Games are played once every 12 hours or so though 2011-10-29T02:33:39 _flag: also, I think the trueskill updates provide more information (larger updates) with properly matched opponents, so you would rise faster 2011-10-29T02:34:04 _flag: average is closer to 4-5 hours 2011-10-29T02:34:27 <_flag> Okay, I'll try resubmitting then, thanks 2011-10-29T02:35:19 hmm, looks like two workers AWOL 2011-10-29T02:35:26 * janzert goes looking 2011-10-29T02:36:38 *** janzert1 has joined #aichallenge 2011-10-29T02:38:39 mleise: have you seen this? http://aichallenge.org/forums/viewtopic.php?f=25&t=1633 2011-10-29T02:39:49 amstan: I've seen this. Looks like a good idea for the next contest :D 2011-10-29T02:41:00 *** janzert has quit IRC (Ping timeout: 256 seconds) 2011-10-29T02:41:20 we need to recruit some of these people as volunteers :P 2011-10-29T02:41:47 *** janzert1 is now known as janzert 2011-10-29T02:42:17 there's a tradeoff between having too many people that you can;t agree on anything and enough that stuff can get done :P 2011-10-29T03:02:29 aichallenge: Marco Leise epsilon * r6f2cad1 / ants/visualizer/js/CanvasElement.js : Fixed regression in the live visualizer - http://git.io/ACfKJA 2011-10-29T03:02:30 aichallenge: Marco Leise epsilon * r98e966b / sql/0_schema.sql : Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/SHFsBA 2011-10-29T03:03:23 *** dvladim has joined #aichallenge 2011-10-29T03:04:30 McLeopold: I think Rhino had problems when Math.sqrt was applied to a multidimensional array. I don't know if that is defined behavior. Also I was passing the value array by ref into the rendering function, so the in-place sqrt() scaled the values over and over until they all were 1.0 ^^ 2011-10-29T03:06:37 well it wasn't exactly a multidimensional array, since map() applied the sqrt to each element, which was a normal array then. 2011-10-29T03:06:52 *** gcflymoto has quit IRC (Ping timeout: 265 seconds) 2011-10-29T03:09:13 right ... i just added reddit and facebook to my blocked list through hosts files... ==" wonder if that will help productivity 2011-10-29T03:10:40 *** Cyndre has quit IRC (Quit: Leaving) 2011-10-29T03:19:20 mleise: I had to do a double map, so it was multidimensional 2011-10-29T03:19:37 We really should update the rules to more correctly reflect what we enforce and care about 2011-10-29T03:19:41 *** tl_ has joined #aichallenge 2011-10-29T03:20:11 *** Rogdham has joined #aichallenge 2011-10-29T03:20:33 specifically thinking of the writing to files and multiple thread/process ones 2011-10-29T03:22:20 *** thestinger has quit IRC (Quit: WeeChat 0.3.6) 2011-10-29T03:23:22 McLeopold: oh right, didn't notice that. Wonder what crashed it then. Maybe the undefined values, that were not assigned yet due to the game still running. 2011-10-29T03:24:16 *** mediocrist has quit IRC (Ping timeout: 265 seconds) 2011-10-29T03:26:52 *** mediocrist has joined #aichallenge 2011-10-29T03:26:54 *** delt0r__ has quit IRC (Ping timeout: 258 seconds) 2011-10-29T03:38:58 *** mediocrist has quit IRC (Quit: Page closed) 2011-10-29T03:39:30 *** delt0r__ has joined #aichallenge 2011-10-29T03:39:39 argh, github just lost my nice long issue report I had almost finished writing 2011-10-29T03:45:13 *** he_the_great has quit IRC (Ping timeout: 244 seconds) 2011-10-29T03:49:28 *** racko has joined #aichallenge 2011-10-29T03:55:33 *** moises has quit IRC (Remote host closed the connection) 2011-10-29T03:56:47 *** Fandekasp has joined #aichallenge 2011-10-29T03:58:47 *** sifRAWR has joined #aichallenge 2011-10-29T03:58:54 *** choas has joined #aichallenge 2011-10-29T04:00:47 *** mikhel01 has joined #aichallenge 2011-10-29T04:01:05 *** tl_ has quit IRC (Quit: Page closed) 2011-10-29T04:02:00 Hello, i try to register byut the register system claims my word@word.info email adress is not valid, do you not allow .info ? 2011-10-29T04:09:13 *** mikhel01 has quit IRC (Ping timeout: 265 seconds) 2011-10-29T04:10:19 oops, missed him 2011-10-29T04:10:31 word.info has no MX record? 2011-10-29T04:10:57 *** wish_ has joined #aichallenge 2011-10-29T04:11:02 hello 2011-10-29T04:18:09 aichallenge: janzert epsilon * r39c2ad4 / website/process_registration.php : Check for either mx or hostname for registration email address - http://git.io/kcjR-w 2011-10-29T04:18:09 aichallenge: janzert epsilon * rb4578e5 / (12 files in 5 dirs): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/D8o3tg 2011-10-29T04:21:51 McLeopold: the log_login query is throwing an error, see error.log 2011-10-29T04:23:21 oh, I see it's a php error really 2011-10-29T04:23:33 janzert: missing quote 2011-10-29T04:23:41 no, it's sql 2011-10-29T04:23:44 no, missing $ 2011-10-29T04:23:52 okay, both 2011-10-29T04:23:55 heh, ok 2011-10-29T04:24:07 you have it? 2011-10-29T04:24:15 yeah, eventually 2011-10-29T04:24:18 was about to check in the $ :) 2011-10-29T04:24:22 I'm in the middle of a big change 2011-10-29T04:24:34 *** lorill has joined #aichallenge 2011-10-29T04:24:40 ok, want me to nab it? 2011-10-29T04:24:44 no 2011-10-29T04:25:25 oh, I see the missing ' now too 2011-10-29T04:27:15 *** dvladim has quit IRC (Ping timeout: 255 seconds) 2011-10-29T04:36:10 wtf is wrong with this stupid engine 2011-10-29T04:36:21 how can it be that when i send an order to go S = south 2011-10-29T04:36:30 col increases by 1 2011-10-29T04:37:19 lol 2011-10-29T04:37:21 y, x coords 2011-10-29T04:37:26 because the positive column axis is south? 2011-10-29T04:37:49 i'm going to Garf. x,y coodinate hell 2011-10-29T04:37:58 s/to/with/ 2011-10-29T04:39:12 you can all blame me for [row][col] indexing 2011-10-29T04:39:20 boo hiss 2011-10-29T04:39:21 lol 2011-10-29T04:39:22 and i don't care cause i'm happy :D 2011-10-29T04:39:26 don't worry we do :P 2011-10-29T04:39:28 damn math people 2011-10-29T04:39:43 ^^ 2011-10-29T04:39:56 its these damn aussie people getting everything upside down 2011-10-29T04:39:59 i still insist that having to transpose the information when inputting and outputting is confusing as hell 2011-10-29T04:40:17 [row][col] would be correct 2011-10-29T04:40:24 so that's not what we have 2011-10-29T04:40:24 regardless of the fact that i'm used to indexing matrices much more than other things 2011-10-29T04:40:46 wish_ which language/starter pack are you using 2011-10-29T04:41:00 I'm using D 2011-10-29T04:41:03 oh ok 2011-10-29T04:41:05 i'm not using the starter pack 2011-10-29T04:41:16 wish_: you are now sighs internet identity brother as far as I'm concerned :) 2011-10-29T04:41:23 :P 2011-10-29T04:41:41 well i haven't had any problems with engine getting directions wrong sofar 2011-10-29T04:41:57 wish_: i suspect you're reading your information in wrong then 2011-10-29T04:42:13 well, you can turn it whatever way you want 2011-10-29T04:42:20 if I send in 'S' as direction 2011-10-29T04:42:28 there should be an axis value that decreases somewhere 2011-10-29T04:42:31 not one that increases 2011-10-29T04:42:41 what about the other 3 directions? the work out what way to rotate the map such that they match up 2011-10-29T04:42:45 then work out where that is going wrong 2011-10-29T04:42:46 because origin is on top left, it increases 2011-10-29T04:42:55 wish_: top, left is 0, 0 they increase going down and to the right 2011-10-29T04:42:56 origin is top left? 2011-10-29T04:42:59 ok 2011-10-29T04:43:01 ty ;) 2011-10-29T04:43:03 ^^ 2011-10-29T04:43:04 it's like a matrix :) 2011-10-29T04:43:07 now we've cleared that up :D 2011-10-29T04:43:08 again, blame me :) 2011-10-29T04:43:09 lol 2011-10-29T04:43:28 maybe you could have... 2011-10-29T04:43:35 some sort of documentation that mentions that 2011-10-29T04:43:36 xD 2011-10-29T04:44:12 well where would you think the first row and column is? :P 2011-10-29T04:44:36 ie. how do you write on a page? 2011-10-29T04:45:08 well when i think x,y coodinates i actually think of a 2-axis chart with 0,0, on the bottom left. 2011-10-29T04:45:08 in mathematics, positive x goes right and positive y goes up 2011-10-29T04:45:14 exactly 2011-10-29T04:45:20 which confuses me 2011-10-29T04:45:20 that's the convention 2011-10-29T04:45:41 but in most graphic representations 0,0 is top left 2011-10-29T04:45:52 don't get me started on graphics programmers :P 2011-10-29T04:45:59 except it goes x,y not row,col 2011-10-29T04:46:33 and since i'm pretty much both of them, i always swap row,col around and go the opposite direction :D 2011-10-29T04:47:12 i assure you i'm this stubborn with notation anywhere 2011-10-29T04:47:29 i am an equal opportunist basher 2011-10-29T04:48:27 except you're stubborn and wrong :p 2011-10-29T04:48:40 aichallenge: McLeopold epsilon * rc108a6f / (10 files in 2 dirs): add change password and forgetten password features - http://git.io/YBt8KQ 2011-10-29T04:48:47 janzert: okay, take a look 2011-10-29T04:48:59 oh be nice 2011-10-29T04:49:00 lol 2011-10-29T04:49:04 *** dvladim has joined #aichallenge 2011-10-29T04:49:04 its just a game 2011-10-29T04:49:06 ^^ 2011-10-29T04:49:12 yeah 2011-10-29T04:49:16 but do you know 2011-10-29T04:49:24 how long i've been looking for bugs 2011-10-29T04:49:27 in my code 2011-10-29T04:49:28 i'm not wrong, assuming you have to know one of them like the back of your hand, you need to remember more to do [x][y] indexing and you have to do like minus the cross product to get it right etc. 2011-10-29T04:49:30 instead of in the communication 2011-10-29T04:49:34 xD 2011-10-29T04:50:06 in wish_'s defense, the origin is not mentioned in the specifications 2011-10-29T04:50:14 McLeopold: _SESSION['temp_access'] comes from? 2011-10-29T04:50:30 forgot_instructions.php 2011-10-29T04:50:32 mmm peanut butter jelly sanwich for dinner' 2011-10-29T04:50:45 I don't think I set it blank, did I? 2011-10-29T04:50:49 *** wombot__ has quit IRC (Remote host closed the connection) 2011-10-29T04:50:51 do graphics programmers define matrix multiplication etc. indexing with [x][y]? 2011-10-29T04:50:57 that would do my head in :P 2011-10-29T04:51:02 they do 2011-10-29T04:51:11 so 2011-10-29T04:51:22 my brain is exploding now 2011-10-29T04:51:25 in redoing the pathfinding 2011-10-29T04:51:32 with south = +1 2011-10-29T04:51:45 janzert: I also didn't care to code for double submits 2011-10-29T04:51:46 i would go back and fix it up where you're reading it in etc. 2011-10-29T04:51:59 that works for row <-> col swapping 2011-10-29T04:52:01 not for reading in 2011-10-29T04:52:08 if you want to transform it to your own coordinates that's fine, but if you don't do it right at the fundamental level you'll be very prone to bugs 2011-10-29T04:52:11 that's my advice anyway 2011-10-29T04:52:13 if i send S and expect y to go -1, and it goes +1... 2011-10-29T04:52:15 hmm, so if they're logged in you let them change the password without the old password if they go through the password reset first? 2011-10-29T04:52:24 i guess i'll just call your south north etc 2011-10-29T04:52:26 xD 2011-10-29T04:52:34 oh, nevermind I see 2011-10-29T04:52:37 :) 2011-10-29T04:52:43 kinda the point of the forget feature 2011-10-29T04:52:45 you're setting yourself up for stupid bugs :P 2011-10-29T04:52:54 *** irchs has joined #aichallenge 2011-10-29T04:53:05 why not have the forgot_password url send them straight to the change_password page? 2011-10-29T04:53:08 perhaps in the future we could let the bot tell the engine in turn 0 which coordinate system they want to use? 2011-10-29T04:53:12 it does 2011-10-29T04:53:18 *** bearoff_w has joined #aichallenge 2011-10-29T04:53:33 * antimatroid1 knows he isn't going to win again in the future :P 2011-10-29T04:53:40 it uses a header redirect if the url was correct 2011-10-29T04:53:46 maybe you could just change the order to 2011-10-29T04:53:57 o from_x from_y to_x to_y 2011-10-29T04:54:51 I mean have the url in the email go to aichallenge.org/change_password.php?... and let that page do the code check directly 2011-10-29T04:55:03 don't use the redirect and session variable 2011-10-29T04:55:39 that page is also used for regular password changes 2011-10-29T04:56:36 right, but you change the page fields on the session variable being set anyway 2011-10-29T04:56:40 I'd rather duplicate the change password form on the forgot_instruct page to get rid of the session var 2011-10-29T04:56:49 *** Genomancer has joined #aichallenge 2011-10-29T04:56:52 why? 2011-10-29T04:57:15 so that there is a special page accepting incoming urls for forgetten passwords 2011-10-29T04:57:53 there isn't now, it's just overloaded on the instructions page ;) 2011-10-29T04:57:56 okay, is there a security hole here I'm not understanding? 2011-10-29T04:58:02 session vars bad? 2011-10-29T04:58:10 I'm not really sure 2011-10-29T04:58:21 but I don't want to trust it when it's not needed 2011-10-29T04:59:12 it seems like a really simple change to change_password.php to handle the whole thing too 2011-10-29T04:59:19 okay, let me try 2011-10-29T04:59:59 *** lorill has quit IRC (Quit: Page closed) 2011-10-29T05:00:42 just change the if statement checking the session variable to check the url variable exists and then do the database check to make sure it's valid 2011-10-29T05:00:43 depends on what information you're keeping in session 2011-10-29T05:01:47 bobbydroptable: can things stuffed into the session in php's default session be maninpulated by the client in any way? 2011-10-29T05:02:05 nope 2011-10-29T05:02:27 but session hijacking is a possibility 2011-10-29T05:02:46 ok, it's probably safe but still an unnecessary trust 2011-10-29T05:03:03 I just remember some systems actually use cookies to store the information 2011-10-29T05:03:54 hm 2011-10-29T05:03:55 i think it's working now 2011-10-29T05:04:00 *** Draivin has quit IRC (Quit: Page closed) 2011-10-29T05:04:16 storing information in cookies in plaintext is a bad idea as always 2011-10-29T05:04:46 McLeopold: I don't think check_change_password isn't going to work in any case atm 2011-10-29T05:05:20 tbh for something like aichallenge, i doubt anyone's going to bother. what gain would there be :) 2011-10-29T05:05:45 unless someone really hates you 2011-10-29T05:05:47 just because it's there 2011-10-29T05:05:58 we had someone execute a XSS attack last year 2011-10-29T05:06:34 janzert: if they forget, I need something in the session to allow multiple attempts to reset without knowing the old 2011-10-29T05:07:02 otherwise the fat finger the new password, then have to start over with a new email 2011-10-29T05:07:20 janzert: This is working on my test system 2011-10-29T05:07:45 why is my game not showing up on the liiiiist 2011-10-29T05:07:51 i wanna watch my ant move :> 2011-10-29T05:08:03 hmm, how do they get past the logged in check at the top of change_password and check_change_password? 2011-10-29T05:09:08 the forget_instructions sets the session vars for being logged in 2011-10-29T05:09:33 so, they are logged in and can do normal stuff with the current session 2011-10-29T05:09:44 and the change password doesn't require knowing the old one 2011-10-29T05:10:03 I'm blind what lines does it do that on? 2011-10-29T05:10:23 36 2011-10-29T05:10:29 check_credentials_forgot 2011-10-29T05:10:38 which lives in mysql_login 2011-10-29T05:10:45 ahh, I haven't found that definition yet 2011-10-29T05:10:47 ok 2011-10-29T05:11:38 basically, forgetting your password sets up a temp password in the user_cookie table that is valid for 5 minutes 2011-10-29T05:11:45 so moving the check to change_password would still work but would have to be before the logged in check 2011-10-29T05:11:49 it gets you in normally 2011-10-29T05:11:54 ok 2011-10-29T05:12:08 *** Jak_o_Shadows1 has joined #aichallenge 2011-10-29T05:12:32 have you guys thought about using openid 2011-10-29T05:12:40 or oauth 2011-10-29T05:12:40 http://pastebin.com/dwPrWr8V 2011-10-29T05:12:50 bobbydroptable: yes, when we move to django 2011-10-29T05:13:00 yay 2011-10-29T05:13:04 my pathfinding works 2011-10-29T05:13:09 now let's get to the strategy part ;) 2011-10-29T05:13:30 *** Genomancer has quit IRC (Ping timeout: 265 seconds) 2011-10-29T05:14:17 *** Rogdham has left #aichallenge 2011-10-29T05:14:34 janzert: ? 2011-10-29T05:14:44 hmm, the 5 minute timelimit needs to start when the user visits the email link 2011-10-29T05:14:54 not when the link is generated 2011-10-29T05:14:57 *** Jak_o_Shadows has quit IRC (Ping timeout: 252 seconds) 2011-10-29T05:14:59 meh 2011-10-29T05:15:07 or the time limit needs to be greatly increased 2011-10-29T05:15:14 say 2-4 hours 2011-10-29T05:15:18 how long does email take? 2011-10-29T05:15:33 they can take a long time for some people 2011-10-29T05:15:43 okay, 1 hour? 2011-10-29T05:15:47 *** Migi32 has joined #aichallenge 2011-10-29T05:15:55 *** bearoff_w has left #aichallenge 2011-10-29T05:15:58 hi. I have a question about the rules. 2011-10-29T05:16:00 it says "Maps are limited to at most 200x200 squares" 2011-10-29T05:16:02 that'd be shaky I think 2011-10-29T05:16:07 okay, 2 2011-10-29T05:16:20 does that mean maps are limited to 200 squares in each direction, or to 40000 squares total? 2011-10-29T05:16:29 Migi32: are you going to create a vortex bot again? 2011-10-29T05:16:49 lol, no. Not yet ;) 2011-10-29T05:16:51 200 max for each dim 2011-10-29T05:17:11 ok. Because that rule, if you interpret it literally, means the other one 2011-10-29T05:18:00 McLeopold: hmm, forgot.php leaks email addresses 2011-10-29T05:18:09 it's the first time we do I believe 2011-10-29T05:18:32 yeah, I thought of that 2011-10-29T05:18:37 but what else do I do? 2011-10-29T05:18:43 *** ^5 <^5!3aaaaf23@gateway/web/freenode/ip.58.170.175.35> has joined #aichallenge 2011-10-29T05:18:47 it might be better to just have them enter the username and send it to the registered email 2011-10-29T05:18:56 if they aren't the person requesting tell them to ignore 2011-10-29T05:19:04 that's what I've seen other systems do 2011-10-29T05:19:16 google asks for email directly 2011-10-29T05:19:38 that's generally the username too for them though right? 2011-10-29T05:19:40 unless I give a success message no matter what? 2011-10-29T05:19:46 no 2011-10-29T05:19:54 I tested them before I wrote this 2011-10-29T05:20:17 then you don't have users wondering where the email goes 2011-10-29T05:20:21 giving a success no matter on email will cause lots of people to complain it's not working 2011-10-29T05:21:01 I could add a captcha, if it's a concern 2011-10-29T05:21:31 how about use just username for now, if it does become a problem we'll add captcha? 2011-10-29T05:21:38 ok 2011-10-29T05:22:24 so, if you are temp logged in, how should I go about allowing multiple password resets? 2011-10-29T05:23:02 or multiple attempts 2011-10-29T05:23:40 the cookie is stored in the database with a field specifying it's a forgot cookie isn't it? 2011-10-29T05:23:47 yes 2011-10-29T05:23:55 but I deleted it as soon as possible 2011-10-29T05:24:05 ahh 2011-10-29T05:24:07 so once you click the link, it's gone 2011-10-29T05:24:37 I figured pushing the info to a session var was better than allowing multiple browsers in 2011-10-29T05:27:23 so the forgot cookie never is actually set as a cookie? 2011-10-29T05:27:32 no 2011-10-29T05:27:49 I just had a nice place to store the data ;) 2011-10-29T05:29:11 ok, setting the session variable is probably safe and easiest. Else you could delete the forgot code and then set a temporary cookie that disables the new password requirement. 2011-10-29T05:29:28 then just that browser could be used to change the password 2011-10-29T05:29:40 but, a cookie is trasmitted from browser to server, session var is only at server 2011-10-29T05:29:44 but probably not worth the hassle 2011-10-29T05:29:56 technically, the session cookie is the key to skip the old password at that point 2011-10-29T05:30:20 * janzert nods 2011-10-29T05:31:42 I'm convinced, but I still would rather send them straight to change_password and leave all logic there 2011-10-29T05:31:50 yes 2011-10-29T05:32:00 or, idealy, a unique url 2011-10-29T05:32:45 I'm too opposed to but the code duplication that would cause seems bad 2011-10-29T05:32:52 not too opposed 2011-10-29T05:33:49 you introduced a typo on the profile page 2011-10-29T05:33:50 <^5> When I've finished the tutorial, what should I add to my ants next? 2011-10-29T05:33:56 Editt 2011-10-29T05:34:00 oops 2011-10-29T05:34:16 I was trying to figure out how the heck that page works 2011-10-29T05:34:25 I still try to stay away from that code 2011-10-29T05:34:45 also I think the verbiage on login.php link to forgot should be explicit about forgotten password 2011-10-29T05:34:53 hehe 2011-10-29T05:35:47 so, the user id is in the forget link, bad? 2011-10-29T05:35:52 (probably) 2011-10-29T05:37:03 WTH, not introduced by this commit but we have an if ($logged_in) { .. } elseif ($logged_in) ? 2011-10-29T05:37:17 I KNOW 2011-10-29T05:37:26 *** irchs has quit IRC (Quit: irchs) 2011-10-29T05:37:53 I had to put the forgot password link it TWICE cause I don't even want to know why 2011-10-29T05:38:03 lol 2011-10-29T05:38:22 *** Lithosphere has quit IRC (Remote host closed the connection) 2011-10-29T05:38:44 okay, I'm going to sit on this. so, don't update production for a few hours 2011-10-29T05:38:58 *** Lithosphere has joined #aichallenge 2011-10-29T05:38:58 *** Lithosphere has joined #aichallenge 2011-10-29T05:39:03 if we're using just the username (not email) on forgot.php the user_id in the link is fine I think 2011-10-29T05:39:16 yeah, that's all public anyway 2011-10-29T05:39:20 right 2011-10-29T05:40:24 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-10-29T05:43:34 ahh, I see that elif ($logged_in) doesn't match up to the if ($logged_in) 2011-10-29T05:44:06 the first is handling the case when bio is null, the second when it's not 2011-10-29T05:44:31 certainly could use a refactoring to make it clearer though 2011-10-29T05:44:38 don't try and understand it! it will grow on you! 2011-10-29T05:44:50 :} 2011-10-29T05:45:23 they mixed html, php, javascript and the awful EOT<<< crap 2011-10-29T05:45:40 *** dvladim has quit IRC (Ping timeout: 258 seconds) 2011-10-29T05:46:34 apparently they were at least partially me, although mostly I was just trying to adapt what was there while touching as little as possible :P 2011-10-29T05:46:49 and at least in the beginning trying to match the style of the current code 2011-10-29T05:47:08 until I realized the current code changed it's style every function 2011-10-29T05:48:33 *** craklyn has joined #aichallenge 2011-10-29T05:50:09 Anyone using the tcp server? 2011-10-29T05:54:00 *** bearoff_w has joined #aichallenge 2011-10-29T05:54:55 *** g0llum has joined #aichallenge 2011-10-29T06:00:22 aichallenge: McLeopold epsilon * r5b89d87 / (9 files): update to change password - http://git.io/FhvtIg 2011-10-29T06:00:30 janzert: okay, how does it look? 2011-10-29T06:01:49 btw, if you don't already know the real ip function is trying to find the client's ip if they're behind a proxy 2011-10-29T06:02:04 I just didn't care to know :) 2011-10-29T06:02:10 :) 2011-10-29T06:02:25 when I begain this, I was only going to write a couple of api_functions 2011-10-29T06:03:24 I care so little, I didn't even refactor it into a util file 2011-10-29T06:04:33 minor line 9 of forgot_instructions s/with/within 2011-10-29T06:04:53 it maybe should say that the link expires in 2 hours? 2011-10-29T06:05:11 so people don't just leave and come back the next morning then complain it didn't work 2011-10-29T06:05:46 okay, rewrite and put here, I will copy paste 2011-10-29T06:05:51 or ou 2011-10-29T06:05:53 you 2011-10-29T06:06:03 can just push it to the repo 2011-10-29T06:07:32 *** jab_bott has joined #aichallenge 2011-10-29T06:08:03 *** puto|mokka has quit IRC (Quit: Leaving) 2011-10-29T06:09:39 *** bearoff_w has left #aichallenge 2011-10-29T06:10:34 janzert: I don't see any commits yet :) 2011-10-29T06:10:39 hey guys - I'm trying to figure out how to add debug info to my output stream that I can see in the visualizer 2011-10-29T06:11:14 the drawing shapes stuff? 2011-10-29T06:11:33 *** janzert has quit IRC (Ping timeout: 258 seconds) 2011-10-29T06:12:00 there should be two parts to this? 2011-10-29T06:12:19 one is to forward error output from playgame.py to the replay file 2011-10-29T06:12:30 then the visualizer to pick it up and draw it 2011-10-29T06:12:37 aichallenge: McLeopold epsilon * ra56ac2a / website/forgot_instructions.php : update verbage - http://git.io/sUm9dA 2011-10-29T06:12:42 *** Jak_o_Shadows has joined #aichallenge 2011-10-29T06:13:13 your bot can always output anything with a '#' char in front and get ignored 2011-10-29T06:13:31 I would recommend a shebang '#!' for things you would want saved in the replay 2011-10-29T06:13:49 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 240 seconds) 2011-10-29T06:13:54 the engine.py would need to be written to capture that info 2011-10-29T06:14:07 and put in into the output json 2011-10-29T06:14:14 and the stream format 2011-10-29T06:14:31 the visualizer then needs to be able to parse it from both formats 2011-10-29T06:14:58 you should also be able to add comments to the end of bot commands 2011-10-29T06:15:02 *** blb5659 has joined #aichallenge 2011-10-29T06:15:22 *** jab_bott has quit IRC (Ping timeout: 265 seconds) 2011-10-29T06:17:14 i was thinking just have 2-3 more commands that should be sufficient. 2011-10-29T06:17:40 *** ikaros has joined #aichallenge 2011-10-29T06:18:02 as long as they are after a #!, then it should be okay 2011-10-29T06:18:08 *** Sw1tchblade has joined #aichallenge 2011-10-29T06:18:12 comment , drawline , and mark 2011-10-29T06:18:40 who ever is doing this should fork the repo, because we won't make it official 2011-10-29T06:18:56 oh there has to be something to remove things you've drawn too... 2011-10-29T06:18:59 mmm that makes it harder 2011-10-29T06:19:05 unless it is awesome 2011-10-29T06:19:16 *** jab_bott has joined #aichallenge 2011-10-29T06:19:21 was that a challenge? lol 2011-10-29T06:19:25 ugh 2011-10-29T06:19:25 *** Mooloo has joined #aichallenge 2011-10-29T06:19:26 :D 2011-10-29T06:19:43 no , my bot isn't done yet :( 2011-10-29T06:19:44 :p 2011-10-29T06:19:46 you could give it a time, but then your bot may not know when a waypoint is useless until later 2011-10-29T06:19:53 *** PatrickG_ has joined #aichallenge 2011-10-29T06:20:07 id make each shape have an id 2011-10-29T06:20:14 I would make... 2011-10-29T06:20:23 or i would make them draw the line every turn 2011-10-29T06:20:27 lol 2011-10-29T06:21:02 that makes for larger replay files and more cpu intensive visualizer 2011-10-29T06:21:05 *** bysin has joined #aichallenge 2011-10-29T06:21:15 it'd only be for debug though 2011-10-29T06:21:18 *** hene193 has joined #aichallenge 2011-10-29T06:21:18 keep it local 2011-10-29T06:21:29 no point having that information on the contest server? 2011-10-29T06:21:39 where everyone can see what information you're debugging 2011-10-29T06:21:47 we wouldn't capture it 2011-10-29T06:22:07 so, I think you would want the ability to specify paths 2011-10-29T06:22:11 did I miss anything, I got disconnected straight after the last thing I said :( 2011-10-29T06:22:14 Help! I got error in tutorial 2011-10-29T06:22:21 jab_bott didn't hear anything 2011-10-29T06:22:25 http://paste.aichallenge.org/VmPXI/ 2011-10-29T06:22:44 *** blb5659 has quit IRC (Remote host closed the connection) 2011-10-29T06:22:48 *** Baus has quit IRC (Ping timeout: 244 seconds) 2011-10-29T06:22:56 in step 1 when i paste the code to mybot file it says something about line 39 2011-10-29T06:23:02 *** blb6057 has joined #aichallenge 2011-10-29T06:23:06 hene193: python? 2011-10-29T06:23:50 break in this command 2011-10-29T06:23:58 yeah the python 2011-10-29T06:24:06 *** PatrickG_ has quit IRC (Client Quit) 2011-10-29T06:24:08 in command line 2011-10-29T06:24:12 use pastebin.com to paste your entire mybot file 2011-10-29T06:24:18 ok 2011-10-29T06:24:24 *** sifRAWR has quit IRC (Quit: Page closed) 2011-10-29T06:24:28 then paste the link here 2011-10-29T06:25:39 http://pastebin.com/C9VNxcm8 2011-10-29T06:25:50 I'm not a idiot ;D 2011-10-29T06:26:01 an idiot* 2011-10-29T06:26:39 *** xathis has joined #aichallenge 2011-10-29T06:26:50 hey xathis. well done on getting to the top! 2011-10-29T06:26:54 *** tirithen has joined #aichallenge 2011-10-29T06:27:06 *** FusionX has quit IRC (Excess Flood) 2011-10-29T06:27:11 bobbydroptable: hi, thanks 2011-10-29T06:27:18 were you in the beta too? 2011-10-29T06:27:26 or are you just super genius ai programmer? 2011-10-29T06:27:49 bobbydroptable: haha no i was in the beta, and was on the first place in the beta for about a month 2011-10-29T06:28:01 *** onensora has joined #aichallenge 2011-10-29T06:28:02 hahaha okay good ^^ i'll catch up hopefully 2011-10-29T06:28:03 mwaha 2011-10-29T06:28:04 hene193: indent the break on line 39, 4 spaces is standard 2011-10-29T06:28:14 i hate 4 ==" i use 3 XD rebel 2011-10-29T06:28:17 I've only just started, so got lots of catching up to do 2011-10-29T06:28:25 So what to do? 2011-10-29T06:28:27 hene193: plus, don't put the extra stuff at the top when pasting code, it messes up the line numbers 2011-10-29T06:28:35 Sorry 2011-10-29T06:29:08 oh shit is xathis 2011-10-29T06:29:20 McLeopold: who coded the visualizer might know where I can add the extra drawing code? 2011-10-29T06:29:21 take coverr 2011-10-29T06:29:26 *** Cybsy has joined #aichallenge 2011-10-29T06:29:38 hide your ant hills, its xathis 2011-10-29T06:29:43 jab_bott: mleise 2011-10-29T06:29:52 he killing every buggy out there 2011-10-29T06:29:56 lol 2011-10-29T06:30:29 i'm 239th, slowly going to overtake him 2011-10-29T06:30:34 *** qqq has joined #aichallenge 2011-10-29T06:30:35 How to fix the error? 2011-10-29T06:31:12 *** qqq has left #aichallenge 2011-10-29T06:31:15 hene193 already said, you have to indent the line 39 properly 2011-10-29T06:31:17 xathis: ? http://aichallenge.org/visualizer.php?game=25296&user=4513 2011-10-29T06:31:21 mleise: hey, you about? I want to add some extra drawing code to visualizer and some extra output to the replay so I can see extra info about what my AI is thinking 2011-10-29T06:31:36 *** qqqaaaqqq has joined #aichallenge 2011-10-29T06:31:39 hene193: python indentation matters, did you indent the break at line 39? 2011-10-29T06:31:39 xathis: give me an honest number, how many lines of code are you at? 2011-10-29T06:31:50 jab_bott it doesn't seem like something they want to do for this round, you can fork the repo and build it yourself though 2011-10-29T06:31:56 Hello, when I try to run ./play_one_game.sh -So | java -jar visualizer.jar the program crashes on "Creating canvas..." first in JavaScript, then in Java and then in Python... The first error is TypeError, message Cannot find default value for object., fileName CanvasElement.js, lineNumber 103. My system is Ubuntu 11.04 64-bit. Could I be missing some required package? 2011-10-29T06:31:59 McLeopold: yeah it's embarrassing, i know :D 2011-10-29T06:32:00 xathis: do you forget where the food was? 2011-10-29T06:32:12 McLeopold: i don't save food location 2011-10-29T06:32:16 ah 2011-10-29T06:32:29 bobbydroptable: that's what I'm trying to do, but I need help :( I don't know JS or Python so I am trying to figure out how it works 2011-10-29T06:32:42 McLeopold: i don't even remember hill locations, my bot really isn't that advanced, hehe 2011-10-29T06:32:48 oops shuld be line number 1038 2011-10-29T06:32:57 jab_bott ah. well i am considering it, but it wouldn't be official. 2011-10-29T06:33:07 *** smiley1983 has quit IRC (Remote host closed the connection) 2011-10-29T06:34:22 bobbydroptable: doesn't need to be official - I only need to see what's going on for development purposes because otherwise I have no way of knowing if what my bot thinks/sees is what I intended 2011-10-29T06:34:33 Mcleopold no i didn't indent. I don't know how to do it (the right way) 2011-10-29T06:34:33 yeh 2011-10-29T06:34:38 bysin: my strategy class is at 1300 lines, but some of it is redundant or not in use at all 2011-10-29T06:34:39 jab_bott: The replay is handled in Replay.js, most of the drawing in CanvasElement.js in the CanvasElementMapWithAnts class http://aichallenge.org/visualizer/jsdoc/symbols/CanvasElementAntsMap.html 2011-10-29T06:35:32 xathis: i'm at 2600, but written in C.. so thats like 1000 lines of java 2011-10-29T06:35:33 jab_bott: if you don't know js, then, that's going to be tough 2011-10-29T06:36:00 in fact I'm amazed nobody else has already done this - I am really struggling to code anything witout seeing what's going on :P 2011-10-29T06:36:18 *** qqqaaaqqq has quit IRC (Client Quit) 2011-10-29T06:36:30 bysin: sounds like a lot, is that all in a single file? 2011-10-29T06:36:33 jab_bott: I have my own separate visualizer that takes drawing commands over tcp 2011-10-29T06:36:40 xathis: no, quite a few files 2011-10-29T06:36:41 wow. 2011-10-29T06:36:42 others have done similar things 2011-10-29T06:36:49 i have ... 800 lines ish 2011-10-29T06:36:51 like writing to a bitmap etc. 2011-10-29T06:36:51 lol 2011-10-29T06:36:54 bysin: ah okay 2011-10-29T06:36:58 mleise: wow! that sounds awesome - can you share it? 2011-10-29T06:37:23 jab_bott I actually output my graph representation into a html file with divs XD 2011-10-29T06:37:55 Yeah i fixed it ;D 2011-10-29T06:38:00 I know that it can be dead locked, so I'm not quite happy with it. And it is written in D unsing GTK. 2011-10-29T06:38:18 aichallenge: McLeopold epsilon * r486c349 / website/check_login.php : fix for check_login - http://git.io/v1tx8A 2011-10-29T06:38:36 xathis: my map object saves all map data given to it.. it also only wipes old data that is ~7 blocks away from my ants, so it only updates data on the map it receives that turn 2011-10-29T06:38:46 *** smiley1983 has joined #aichallenge 2011-10-29T06:38:52 that would fix your food forgetfulness problem 2011-10-29T06:38:59 jab_bott: So it is not straight forward to compile or use on windows 2011-10-29T06:39:35 I can zip it up as is without documentation if you want, though. 2011-10-29T06:39:38 mleise: how about on mac? 2011-10-29T06:40:09 You'll need the DMD compiler, and get GtkD installed. There are guides on the internet. 2011-10-29T06:40:11 *** moises has joined #aichallenge 2011-10-29T06:40:14 bysin: yeah that's the way to go, i should implement that as well but atm i don't even calculate my vision 2011-10-29T06:40:16 *** xoposhiy has joined #aichallenge 2011-10-29T06:40:20 @later tell janzert I push the changes, but I don't think the email is working 2011-10-29T06:40:20 McLeopold: I come to serve. 2011-10-29T06:40:37 that'd be a start 2011-10-29T06:40:50 mleise: sounds pretty scary - I've not even heard of D before 2011-10-29T06:40:57 xathis: you dont calculate your vision at all? are you not using path finding? 2011-10-29T06:40:57 meh he's doing well enough without remembering food XD 2011-10-29T06:41:17 jab_bott: It's like C++ a bit 2011-10-29T06:41:28 why would you need to remember food? if it's visible, go eat it! 2011-10-29T06:41:33 bysin: i am, but i treat unknown tiles like land, it's working quite well 2011-10-29T06:42:16 sighhhhh 2011-10-29T06:42:28 *** rupsbant has joined #aichallenge 2011-10-29T06:42:30 i'm so close to finally getting an overarching goal oriented agent 2011-10-29T06:42:35 but so far 2011-10-29T06:42:39 jab_bott: Let's say if you go through all the trouble and the sample app in GtkD compiles and runs for you I'll zip my code up and post a link, ok? 2011-10-29T06:43:32 jab_bott: you need to remember food, because it can be a) behind a long river or b) you die 2011-10-29T06:43:46 i've gotten up to 200th place without using a path finding algorithm 2011-10-29T06:44:01 *** Jak_o_Shadows1 has joined #aichallenge 2011-10-29T06:44:13 bysin: at its peak my bot reached 13 XD but that was because the servers died, and no games were being played mwahahaha 2011-10-29T06:44:16 mleise: maybe - though I'm thinking it migth be easier to write to a file instead of using a socket 2011-10-29T06:44:37 *** Jak_o_Shadows has quit IRC (Ping timeout: 252 seconds) 2011-10-29T06:45:01 jab_bott: well, it makes the whole thing live 2011-10-29T06:45:20 the file can be saved anyway and it supports multiple tabs 2011-10-29T06:46:09 mleise: can you see the 'real' state too - i.e. the actual state from the game engine? because I am worried my code isn't understanding the state properly, that's why I want to visualize it, but if I got it wrong I want to see the difference from the actual state 2011-10-29T06:46:18 aichallenge: McLeopold epsilon * rfb36595 / (3 files): fix to forgot email - http://git.io/JChifQ 2011-10-29T06:46:20 bobbydroptable: you're still beating me :( 2011-10-29T06:46:34 really? amazing lol 2011-10-29T06:46:37 jab_bott: no, it does not communicate with the engine at all 2011-10-29T06:47:30 mleise: that could be a problem for me.. the main reason I want to visualize my AI is so that I can verify it has got everything right 2011-10-29T06:48:22 *** AI-Beginner has joined #aichallenge 2011-10-29T06:48:31 mleise: I'm really new to this wqhole aichallenge thing, so I'm still learning what the tools even do :P 2011-10-29T06:48:47 okay, everyone, forgot password stuff works, spead the word 2011-10-29T06:49:13 *** Real4nt has joined #aichallenge 2011-10-29T06:49:19 *** racko has quit IRC (Quit: Page closed) 2011-10-29T06:49:21 EVERYONE... 2011-10-29T06:49:23 haha jk 2011-10-29T06:50:54 jab_bott: ok, so you would probably need a visualizer that is between the engine and the bot and shows the communication between both 2011-10-29T06:52:28 *** SkorKNURE has joined #aichallenge 2011-10-29T06:52:31 *** master_ninja has joined #aichallenge 2011-10-29T06:52:40 mleise: I'm not too bothered about watching live - perhaps the best way would just be to write something directly into a file and then see if I can modify CanvasElementMapWithAnts to display that over the top of the map? 2011-10-29T06:52:41 dudes i dont know how to begin my bot :'( 2011-10-29T06:52:49 http://aichallenge.org/forums/viewtopic.php?f=21&t=1671 2011-10-29T06:53:03 start with Dijkstra's algorithm 2011-10-29T06:53:16 Real4nt: read the tutorial here for ideas http://aichallenge.org/ants_tutorial.php 2011-10-29T06:53:30 bysin: Dijkstra's is just not a good place to start 2011-10-29T06:53:41 *** shaan has joined #aichallenge 2011-10-29T06:53:54 jab_bott: That's still a lot of learning and work for you. Don't underestimate it. The visualizer cannot read from file. 2011-10-29T06:53:56 its not funy 2011-10-29T06:53:57 i know this tutorial, but i never used python 2011-10-29T06:54:18 Well... at least not a separate one to the replay, that is in some cases just a string embedded into html 2011-10-29T06:54:28 hey... is it allowed to include open source library to my project? 2011-10-29T06:55:02 third party code.. not written by me 2011-10-29T06:55:12 mleise: hrm I see - yeah I saw that in the html 2011-10-29T06:55:46 master_ninja: yes 2011-10-29T06:56:03 thanks 2011-10-29T06:56:18 jab_bott: You can log what the engine sends to your bot in a text file though if it helps 2011-10-29T06:56:24 *** czxcz has joined #aichallenge 2011-10-29T06:56:43 The engine has a lot of logging options. Including logging what your bot writes to stderr and stdout 2011-10-29T06:57:15 *** flux242 has joined #aichallenge 2011-10-29T06:57:23 mleise: yeah, I found if you send --log_output you can log your own output too, so perhaps I could filter that and add it to the html to pass into the js? 2011-10-29T06:57:26 If you limit the turns to only a few than the files will be small and you can compare them 2011-10-29T06:58:18 jab_bott: You can do that, yes. 2011-10-29T06:59:33 *** TCoZ has joined #aichallenge 2011-10-29T07:05:38 *** craklyn has quit IRC (Ping timeout: 265 seconds) 2011-10-29T07:05:59 *** blb6057 has quit IRC (Remote host closed the connection) 2011-10-29T07:06:44 what does engine.py do when the game is over, does it call the bots destryct functions or does it simply cut life support? 2011-10-29T07:07:33 *** Redgis has joined #aichallenge 2011-10-29T07:07:55 mleise: ok, how's this for an overall strategy... 1. define a line-start like "#OVERLAY:command here" and output that from my bot (I assume the engine will ignore this) 2. in playgame.py find where it generates the .html file and add an additional parameter with a command string by filtering the output log 3. add drawing code in the js 2011-10-29T07:08:43 *** blb4215 has joined #aichallenge 2011-10-29T07:09:00 jab_bott: this is possible. good luck! 2011-10-29T07:09:54 *** spm_Draget has joined #aichallenge 2011-10-29T07:11:03 mleise: ok thanks for the help :D 2011-10-29T07:12:53 *** ^5 <^5!3aaaaf23@gateway/web/freenode/ip.58.170.175.35> has quit IRC (Ping timeout: 265 seconds) 2011-10-29T07:14:47 *** tirithen has quit IRC (Quit: Page closed) 2011-10-29T07:16:01 *** olexs has joined #aichallenge 2011-10-29T07:17:43 *** shaan has quit IRC (Ping timeout: 265 seconds) 2011-10-29T07:18:03 *** grom358 has joined #aichallenge 2011-10-29T07:18:21 I so want some battle logic for my ant lol 2011-10-29T07:18:50 *** Harpyon has joined #aichallenge 2011-10-29T07:19:53 sry for repost: http://ideone.com/DpZEx 2011-10-29T07:20:11 i cant get a grip on why this is happening 2011-10-29T07:21:12 my debug info says that the bot is getting killed in the middle of endgame cleanup. 2011-10-29T07:21:28 *** jix_ has quit IRC (Quit: leaving) 2011-10-29T07:21:31 im using the c++ starter kit. 2011-10-29T07:22:11 *** jix has joined #aichallenge 2011-10-29T07:23:02 *** czxcz has quit IRC (Ping timeout: 265 seconds) 2011-10-29T07:23:23 *** Areks has joined #aichallenge 2011-10-29T07:24:49 *** dvladim has joined #aichallenge 2011-10-29T07:25:16 isbric rensar fisk i götebooorg 2011-10-29T07:26:06 but why? the intra webs not good enough for you? ;) 2011-10-29T07:26:48 *** choas has quit IRC (Ping timeout: 240 seconds) 2011-10-29T07:27:10 lericson: ^ 2011-10-29T07:27:45 *** blb4215 has quit IRC (Quit: blb4215) 2011-10-29T07:28:01 the internet is fine 2011-10-29T07:28:05 too. 2011-10-29T07:28:59 Are you participating in the challange? 2011-10-29T07:30:19 the die is cast 2011-10-29T07:31:13 the problem with this ai challenge is that it's too much work 2011-10-29T07:31:16 i have great ideas 2011-10-29T07:32:06 the greater ides shuld not demand that much much of work rather then just letting you win :P 2011-10-29T07:32:14 yeah.. its hard.. I so far from complete still 2011-10-29T07:32:40 but hey, im getting weird hangs.. 2011-10-29T07:32:40 i made a bot but just the basic default behavior got my creativity zapped 2011-10-29T07:32:48 still can't even battle yet.. like have my ants move in formation to kill and be better off 2011-10-29T07:33:41 i had an idea 2011-10-29T07:33:55 where you take the population of ants and distribute them along a grid evenly 2011-10-29T07:34:34 lericson: if your lazy why not look in to reinforcement learning, thats pritty basic, and you can just leav it to lern itself. not much of coding ofc but :P 2011-10-29T07:34:39 heh - yes it's very hard... I used to do games programming so coded this kind of thing all the time, but for 6 years now I've been doing other stuff for financial reasons! I'm struggling with basic things like searches, heh 2011-10-29T07:34:50 then using the same concept as einsteins general relativity you can have a curved 2d surface so the ants gravitate towards energy (and energy being food, enemies, etc.) 2011-10-29T07:35:25 actually, even tracking the state of the map is not easy due to the command structure 2011-10-29T07:35:32 aye jab_bott 2011-10-29T07:35:36 the starter kit sucks 2011-10-29T07:36:06 but rather than bitch about it we should probably make improvements ;p 2011-10-29T07:36:12 *** okan009 has joined #aichallenge 2011-10-29T07:36:26 hi 2011-10-29T07:36:38 nope 2011-10-29T07:36:49 lericson: you go ahead and fix the engine.py first "py lover" and then you culd look into doing the work for all the lazy ones .P 2011-10-29T07:37:45 yes no i will do no such thing 2011-10-29T07:37:46 http://www.wired.com/magazine/2011/01/ff_lottery/all/1 2011-10-29T07:37:58 i can't even work out yet.. how to know when to move to attack 2011-10-29T07:38:26 grom358: i wouldn't try so hard 2011-10-29T07:38:31 *** Mooloo is now known as Baus 2011-10-29T07:38:38 map control > dominating a single enemy 2011-10-29T07:38:49 the game is basically about acquiring food 2011-10-29T07:39:00 no.. u need to kill hills 2011-10-29T07:39:07 not really 2011-10-29T07:39:12 if u don't get a hill all the food means nothing 2011-10-29T07:39:18 *** czxcz has joined #aichallenge 2011-10-29T07:39:21 it does actually 2011-10-29T07:39:22 *** icefox has quit IRC (Quit: icefox) 2011-10-29T07:39:33 food does give you score but 2011-10-29T07:39:36 does not* 2011-10-29T07:39:42 only hills do 2011-10-29T07:39:44 it gives you ants which gives you score 2011-10-29T07:39:50 why in the tools directory there is .py and .pyc files and also engine is there, but in the git repo these files are not there? 2011-10-29T07:39:54 nope.. ants don't give u score 2011-10-29T07:40:04 ok let me put it this way, grom358 2011-10-29T07:40:07 with what do you kill hills? 2011-10-29T07:40:53 yeah. I got no problem getting lots of ants 2011-10-29T07:40:56 anyway you win the round if nothing happens and you have more ants 2011-10-29T07:41:08 lericson: what i think grom358 is trying to say is that power is nothing without control. 2011-10-29T07:41:08 ah.. you tie in that case 2011-10-29T07:41:24 or is it more hills? 2011-10-29T07:42:17 yeah more ants doesn't mean anything other then it *can* help u win 2011-10-29T07:42:21 *** fasteddie_ has joined #aichallenge 2011-10-29T07:42:27 if the game ends and u don't kill an ant.. then u draw 2011-10-29T07:42:31 kill a hill* 2011-10-29T07:43:11 anyway as i said earlier i think the best way to do this is by some sort of gravitation-like force 2011-10-29T07:43:31 i.e. attraction is an inverse-square function of distance 2011-10-29T07:43:39 *** Real4nt has quit IRC (Quit: Page closed) 2011-10-29T07:43:56 so nearby ants "gravitate" towards enemies and food 2011-10-29T07:44:15 *** Jak_o_Shadows has joined #aichallenge 2011-10-29T07:44:20 gets the macro decisions done anyway 2011-10-29T07:44:31 but you only want to move towards enemies if you have more attack focus 2011-10-29T07:44:43 that is true 2011-10-29T07:44:52 which is where I'm at 2011-10-29T07:45:23 hmm 2011-10-29T07:45:32 i wonder if cutting your losses is a useful idea 2011-10-29T07:45:43 *** dvladim has quit IRC (Ping timeout: 252 seconds) 2011-10-29T07:45:43 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 252 seconds) 2011-10-29T07:46:47 mleise: If I modify engine.py in my tools - will it use my changes or do I need to compile it (there's a .pyc file maybe it uses that? I don't know python) 2011-10-29T07:47:10 jab_bott: if there's a newer .py, it compiles a new .pyc 2011-10-29T07:47:13 it is a py cache. 2011-10-29T07:47:22 and modify away 2011-10-29T07:47:37 all that is required of you is to make a bot that goes by game specifications 2011-10-29T07:47:38 ahh ok, I assumed it means compiled python or something like that 2011-10-29T07:47:43 which is all controlled via stdin/stdout 2011-10-29T07:48:05 *** racko has joined #aichallenge 2011-10-29T07:48:06 python -m compileall if you want to recompile all, jab_bott 2011-10-29T07:48:10 but you don't need to so why bother 2011-10-29T07:48:18 lericson: yeah, I'm trying to add extra information to the replay html file and get the visualizer to display it so I can track my AI state in the visualizer 2011-10-29T07:48:27 ah clever 2011-10-29T07:48:47 lericson: I don't know python or js though, so I'm learning as I go :D 2011-10-29T07:49:47 do you know go? 2011-10-29T07:50:10 lericson: nope - I didn't even know there was a programming language called go 2011-10-29T07:51:18 then how are you learning as you go?? 2011-10-29T07:51:33 suddenly, crickets 2011-10-29T07:51:36 i had to make the pun 2011-10-29T07:51:38 you know it, i know it 2011-10-29T07:51:59 *** FranPeruzzi has joined #aichallenge 2011-10-29T07:54:03 *** bearoff_w has joined #aichallenge 2011-10-29T07:54:22 *** t0bi84 has joined #aichallenge 2011-10-29T07:54:53 hey guys, I'm stuck at tutorial #2 ;) 2011-10-29T07:55:09 dist = ants.distance(ant_loc, food_loc) TypeError: distance() takes exactly 5 arguments (3 given) 2011-10-29T07:56:52 *** fasteddie_ has quit IRC (Ping timeout: 265 seconds) 2011-10-29T07:57:13 *** avdg has joined #aichallenge 2011-10-29T07:57:50 the according code is here: http://nopaste.info/baa5db6db7.html 2011-10-29T07:59:18 *** flux242 has quit IRC (Quit: ChatZilla 0.9.87 [Iceweasel 8.0/20111014202820]) 2011-10-29T07:59:26 *** Sw1tchblade has quit IRC (Quit: Page closed) 2011-10-29T07:59:39 t0bi84: can't check your code currently, but did you copy both bits of code in tutorial #2? 2011-10-29T07:59:49 yep 2011-10-29T07:59:53 *** jab_bott has quit IRC (Quit: Page closed) 2011-10-29T08:00:41 and did you remove the old code it asks you to remove, and did you indent everything properly 2011-10-29T08:00:52 the error is an type error 2011-10-29T08:01:00 yes, indentation should be correct 2011-10-29T08:01:07 hm 2011-10-29T08:01:08 *** Vuto has joined #aichallenge 2011-10-29T08:01:22 *** Vuto has left #aichallenge 2011-10-29T08:01:29 how can i echo standard print-outs to the console? 2011-10-29T08:02:30 *** FranPeruzzi has quit IRC (Quit: Page closed) 2011-10-29T08:04:13 hey guys , my code is running well when i upload it , but when i try to test it on play_one_game.cmd , it says crashed , anyone has an idea ? 2011-10-29T08:04:55 *** olexs has quit IRC (Quit: Leaving.) 2011-10-29T08:04:58 *** dvladim has joined #aichallenge 2011-10-29T08:05:43 *** GranoSalis has joined #aichallenge 2011-10-29T08:05:49 hi :D 2011-10-29T08:06:12 okan009: are you sure that the replays of your uploads doesnt say that you crashed there? 2011-10-29T08:06:54 okan009: do your play_one_game.cmd have verbose on? 2011-10-29T08:09:23 can someone give me an example of an AI code 2011-10-29T08:09:23 ? 2011-10-29T08:09:47 *** hene193 has quit IRC (Quit: Page closed) 2011-10-29T08:14:29 when i watch replay my bot doesnt move 2011-10-29T08:14:56 isbric: when i watch replay my bot doesnt move 2011-10-29T08:15:24 i just tried the starter package code 2011-10-29T08:15:34 it doesnt worked also 2011-10-29T08:16:17 and i m writing in C 2011-10-29T08:16:34 maybe because of that 2011-10-29T08:16:34 ? 2011-10-29T08:17:23 and what is the verbose ? 2011-10-29T08:17:45 in .cmd file it writes 2011-10-29T08:20:16 nah the C one works 2011-10-29T08:20:21 *** leonrische has joined #aichallenge 2011-10-29T08:20:41 are you using the C starter package in linux? 2011-10-29T08:21:35 *** dvladim has quit IRC (Ping timeout: 248 seconds) 2011-10-29T08:23:23 *** coachbudka has joined #aichallenge 2011-10-29T08:26:00 *** rogual has joined #aichallenge 2011-10-29T08:27:01 no , i m using in windows 2011-10-29T08:27:36 my code works in server , so there are no wrong coding right ? 2011-10-29T08:31:44 *** coachbudka has quit IRC (Quit: Page closed) 2011-10-29T08:35:13 *** ^5 <^5!3aaaaf23@gateway/web/freenode/ip.58.170.175.35> has joined #aichallenge 2011-10-29T08:36:01 *** rj_ has quit IRC (Ping timeout: 265 seconds) 2011-10-29T08:37:08 Do you get any error messages? 2011-10-29T08:39:35 the python test engine is quite bugged tbh 2011-10-29T08:39:43 or the java visualization part 2011-10-29T08:39:45 whichever it is 2011-10-29T08:39:57 *** Jak_o_Shadows has quit IRC (Remote host closed the connection) 2011-10-29T08:40:51 http://pastie.org/2777926 2011-10-29T08:41:14 i'm soooo not gonna debug that 2011-10-29T08:41:20 no problems in Chrome OS X 2011-10-29T08:41:42 *** radekm has joined #aichallenge 2011-10-29T08:41:55 *** GranoSalis has quit IRC (Quit: Page closed) 2011-10-29T08:43:17 could it be, that there is a bug in the python3 windows version? The MyBot file is named MyBot.Py3, but ist should be .py 2011-10-29T08:44:10 *** synace has joined #aichallenge 2011-10-29T08:45:32 it says crashed in the visulization part , it makes turns in cmd , at the and it says like ' cashed survived survived' like that 2011-10-29T08:46:18 that means your bot crashed 2011-10-29T08:46:34 leonrische: py3 is the extension for python3. 2011-10-29T08:50:02 *** okan009 has quit IRC (Ping timeout: 265 seconds) 2011-10-29T08:50:59 wish_: indeed buggy, try debugging this http://ideone.com/DpZEx 2011-10-29T08:51:16 yes, but in the tutorial http://aichallenge.org/ants_tutorial.php it ist written wrong, so that it only worked for me after renameing the file 2011-10-29T08:54:23 no :P 2011-10-29T08:55:34 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-10-29T08:55:50 *** bobbydroptable has quit IRC (Ping timeout: 265 seconds) 2011-10-29T08:57:24 *** radekm has quit IRC (Quit: Page closed) 2011-10-29T09:00:25 *** leonrische has quit IRC (Quit: Page closed) 2011-10-29T09:00:34 Fluxid: is your server well atm? 2011-10-29T09:01:24 isbric: it crashed... restarted 2011-10-29T09:02:58 Fluxid: pm 2011-10-29T09:04:03 *** t0bi84 has quit IRC (Ping timeout: 265 seconds) 2011-10-29T09:04:40 *** dvladim has joined #aichallenge 2011-10-29T09:14:15 *** Saulzar has quit IRC (Ping timeout: 256 seconds) 2011-10-29T09:14:58 *** Saulzar has joined #aichallenge 2011-10-29T09:24:04 *** wish_ has quit IRC (Quit: Page closed) 2011-10-29T09:29:12 *** smarty has joined #aichallenge 2011-10-29T09:34:08 *** Saulzar has quit IRC (Ping timeout: 258 seconds) 2011-10-29T09:38:46 *** liar has joined #aichallenge 2011-10-29T09:38:51 *** SkorKNURE has quit IRC (Ping timeout: 265 seconds) 2011-10-29T09:39:48 *** UMPUSTEN has joined #aichallenge 2011-10-29T09:40:03 is it possible/allowed to read the map files? 2011-10-29T09:40:22 *** moises has quit IRC (Remote host closed the connection) 2011-10-29T09:41:18 *** delt0r has quit IRC (Ping timeout: 260 seconds) 2011-10-29T09:41:22 *** nuvw has joined #aichallenge 2011-10-29T09:41:33 *** delt0r has joined #aichallenge 2011-10-29T09:41:59 liar: if you want to read map files you have to put them into your upload, but you won't know the final maps before the submission deadline, so there is little use in doing that 2011-10-29T09:42:21 jix: i thought so 2011-10-29T09:42:30 thanks^^ 2011-10-29T09:43:05 <^5> How do I debug? like, print a value? when I try it just says invalid action 2011-10-29T09:43:40 ^5: you have to use stderr to print debug output 2011-10-29T09:44:07 <^5> stderr? Im using python btw 2011-10-29T09:44:55 *** iris1 has quit IRC (Read error: Connection reset by peer) 2011-10-29T09:46:23 ^5: python 2 or 3? http://stackoverflow.com/questions/939866/pythons-print-vs-stderr << see here how to print to stderr 2011-10-29T09:47:11 ^5: also you want to pass --log_stderr to the game engine to see the output or --log_error to write it to a logfile 2011-10-29T09:47:35 *** eduardo_jrh has joined #aichallenge 2011-10-29T09:47:47 hi 2011-10-29T09:48:19 i'm having trouble with changing the map from the tutorial.sh file 2011-10-29T09:48:26 the example file runs perfectly 2011-10-29T09:48:42 but if i change the map it runs 0 turns 2011-10-29T09:49:12 it loads the map and everything but runs 0 turns 2011-10-29T09:49:47 *** nuvw has quit IRC (Quit: Page closed) 2011-10-29T09:49:56 can someone please help me with this? 2011-10-29T09:50:10 i'm on a macbook 2011-10-29T09:50:24 *** mceier has joined #aichallenge 2011-10-29T09:50:42 *** rain has joined #aichallenge 2011-10-29T09:52:01 *** lavalamp has joined #aichallenge 2011-10-29T09:52:27 im having trouble to even run a test game with the set of tools i downloadet from the side...can someone tell me how to set it up so i can watch my (c++) bot play a game? :S 2011-10-29T09:54:03 my .sh file only works with the example map, any1 has the same problem? 2011-10-29T09:54:49 eduardo_jrh: If you get some KeyError: 0, remove the --scenario flag, I've found. 2011-10-29T09:54:56 *** lorill has joined #aichallenge 2011-10-29T09:55:13 ok,gonna try that 2011-10-29T09:55:15 thanks 2011-10-29T09:56:08 now it's working! 2011-10-29T09:56:11 thanks a lot 2011-10-29T09:56:14 *** eduardo_jrh has quit IRC (Quit: Page closed) 2011-10-29T09:57:15 *** Migi32 has quit IRC (Quit: bye) 2011-10-29T09:57:24 *** puto|mokka has joined #aichallenge 2011-10-29T09:57:44 Excellent. 2011-10-29T10:03:12 <^5> that still doesnt print anything for me 2011-10-29T10:04:22 *** lorill has quit IRC (Quit: Page closed) 2011-10-29T10:04:56 ^5: you did pass --log_stderr to the game engine? 2011-10-29T10:04:57 *** smarty has quit IRC (Quit: Page closed) 2011-10-29T10:05:31 <^5> jix: yes, and --log_error 2011-10-29T10:05:42 *** TTE has joined #aichallenge 2011-10-29T10:05:59 *** olexs has joined #aichallenge 2011-10-29T10:08:42 *** AI-Beginner has quit IRC (Quit: Page closed) 2011-10-29T10:09:18 ^5: I'm not sure they work in combination 2011-10-29T10:10:06 ^5: but it might have created a something.error file in game_logs 2011-10-29T10:10:06 <^5> jix: ah, I tried it on its own and it had no effect so I put both in, but still nothing 2011-10-29T10:10:42 <^5> jix: it did create any empty file in there, but, empty 2011-10-29T10:11:15 ^5: how are you printing to stderr? 2011-10-29T10:12:00 <^5> jix: "print >> sys.stderr, 'test' " 2011-10-29T10:13:24 *** foRei has joined #aichallenge 2011-10-29T10:13:35 ^5: and you are certain that this line is executed? 2011-10-29T10:15:53 <^5> Now that, was strange. I removed one line, so it only printed and went left, and now it works. Thanks :) 2011-10-29T10:16:34 *** he_the_great has joined #aichallenge 2011-10-29T10:21:31 *** HaraKiri has joined #aichallenge 2011-10-29T10:22:32 *** new_ has joined #aichallenge 2011-10-29T10:25:39 *** dvladim has quit IRC (Ping timeout: 256 seconds) 2011-10-29T10:25:47 *** overburn has joined #aichallenge 2011-10-29T10:26:06 hey guys, i have a small problem with my bot 2011-10-29T10:26:11 still cant run the play_one_game.cmd...error: the command python dose not exist...im using python 2.7.2 alrdy tryed newer versions still the same error...what am i doing wrong? 2011-10-29T10:26:17 it's basically derived from the c++ starter 2011-10-29T10:26:21 and when i upload it 2011-10-29T10:26:34 o 1 18 � # invalid direction 2011-10-29T10:26:48 the string should be the same as the starter bot's 2011-10-29T10:26:50 which works 2011-10-29T10:26:58 aka N E S W 2011-10-29T10:28:08 locally it works no problem , but on the server there-s something about the characters 2011-10-29T10:32:07 UMPUSTEN: You need to have python in your PATH. 2011-10-29T10:32:08 *** UMPUSTEN has quit IRC (Quit: Page closed) 2011-10-29T10:32:30 Bah, he quit, didn't he? 2011-10-29T10:32:48 (had to disable joins/parts/quits) 2011-10-29T10:33:10 yeah, it happens 2011-10-29T10:36:51 *** new_ has quit IRC (Ping timeout: 265 seconds) 2011-10-29T10:39:35 *** rain has quit IRC (Ping timeout: 260 seconds) 2011-10-29T10:39:49 *** dubin has joined #aichallenge 2011-10-29T10:40:27 *** puto|mokka has quit IRC (Quit: Leaving) 2011-10-29T10:40:55 *** dubin is now known as rain 2011-10-29T10:49:56 *** nacmartin has joined #aichallenge 2011-10-29T10:53:58 i just implemented my first KD-tree... 2011-10-29T10:54:01 that was fun :P 2011-10-29T10:54:47 *** karoitay has joined #aichallenge 2011-10-29T10:55:31 Hi guys, can anybody please tell me how can I tell when will be the next game that I am going to participate in? 2011-10-29T10:55:59 check your profile if you are logged in ;-) 2011-10-29T10:56:48 thanks :) missed it last time I looked :) 2011-10-29T11:00:26 *** rain has quit IRC (Ping timeout: 260 seconds) 2011-10-29T11:01:22 *** TTE has quit IRC (Quit: Page closed) 2011-10-29T11:01:46 *** Cyndre has joined #aichallenge 2011-10-29T11:03:15 *** karoitay has quit IRC (Quit: Page closed) 2011-10-29T11:04:24 *** Guest74237 has joined #aichallenge 2011-10-29T11:06:02 *** Guest74237 has quit IRC (Client Quit) 2011-10-29T11:06:54 *** Guest74237 has joined #aichallenge 2011-10-29T11:08:39 *** Guest74237 is now known as rain 2011-10-29T11:13:39 *** phinfinity has joined #aichallenge 2011-10-29T11:14:39 *** phinfinity has quit IRC (Client Quit) 2011-10-29T11:16:53 41 players are ahead -> F5 -> 42 players are ahead -> baaah 2011-10-29T11:18:42 193 over here 2011-10-29T11:18:49 248 :) 2011-10-29T11:19:25 I don't have money, but more servers would be fine ;-) 2011-10-29T11:20:00 :) 2011-10-29T11:20:16 *** Cowbandit has joined #aichallenge 2011-10-29T11:21:10 *** ump has joined #aichallenge 2011-10-29T11:21:21 hey does anyone recommend a specific method of debugging in java? because i would like to see what is stored in certain lists and variables but I don't know how 2011-10-29T11:22:18 stderr? 2011-10-29T11:22:27 unit testing where possible 2011-10-29T11:23:41 and otherwise manual debugging by watching your ants ;-) 2011-10-29T11:24:01 *** cowbandit_ has joined #aichallenge 2011-10-29T11:24:08 ah k 2011-10-29T11:24:22 is there a way to get the stderr output? 2011-10-29T11:24:53 hmm, how would you output something to stderr instead of stdout in java? 2011-10-29T11:26:49 *** delt0r__ has quit IRC (Ping timeout: 252 seconds) 2011-10-29T11:27:00 can someone tell me how to run a c++ bot with the play_one_game.cmd? im using the sample c++ bot but it chashes with every start...i think im calling it wrong "python ""%~dp0sample_bots\cpp\Mybot""" 2011-10-29T11:27:10 *** master_ninja has quit IRC (Quit: code 'til you die) 2011-10-29T11:27:23 System.err.println 2011-10-29T11:27:40 first result of "java stderr" in google ;) 2011-10-29T11:27:50 *** skyramp has joined #aichallenge 2011-10-29T11:28:03 Fluxid: :-) 2011-10-29T11:28:11 I'm looking for exploration algorithms that can be used. anyone know any? 2011-10-29T11:28:41 wikipedia, forum, google, follow discussions? 2011-10-29T11:29:04 and irclogs 2011-10-29T11:29:18 o i got another quick question: 2011-10-29T11:29:26 so lets say u use A* for pathing 2011-10-29T11:29:38 what happens if the path goes through unexplored territory? 2011-10-29T11:29:42 doing all of those already atm. I was just trying to start a discussion about the subject. 2011-10-29T11:29:48 looks like I failed miserably, though. 2011-10-29T11:29:56 cowbandit_: update the path when you explore 2011-10-29T11:30:33 ah ok 2011-10-29T11:30:44 luizribeiro: we had some discussions few days ago, but maybe it was because some people (including me) had some ideas 2011-10-29T11:30:56 avdg: cool. I'll check the logs. :) 2011-10-29T11:33:32 someone ? 2011-10-29T11:33:53 cowbandit: you have to recalculate your path when u get to a wall when going through unexplored territory 2011-10-29T11:34:32 cowbandit: to start with you assume that there are no water tiles when A* to unexplored territory 2011-10-29T11:34:57 . 2011-10-29T11:35:35 noone using c++ here? 2011-10-29T11:36:33 *** fasteddie_ has joined #aichallenge 2011-10-29T11:36:33 it should be a lot, based on this list: http://aichallenge.org/language_profile.php?language=C%2B%2B 2011-10-29T11:36:49 I'm using c, might switch to c++ light. 2011-10-29T11:36:54 grom358: wait so would only have to run A* once in the beginning and each time the ant hits a wall? 2011-10-29T11:38:03 can u test your bots with the play_game.cpp ? 2011-10-29T11:38:39 i mean cmd 2011-10-29T11:38:42 *** delt0r__ has joined #aichallenge 2011-10-29T11:38:52 Haven't tried/looked. 2011-10-29T11:39:05 how are you testing your bot then? 2011-10-29T11:39:23 the python tools and the tcp client mostly 2011-10-29T11:39:33 it looks like there are even more C++ programmers than C 2011-10-29T11:39:40 playgame.py 2011-10-29T11:39:51 (go c :p) 2011-10-29T11:40:04 *** overburn has quit IRC (Quit: Page closed) 2011-10-29T11:40:12 meh, I'm doing it in js 2011-10-29T11:40:19 *** cowbandit_ has quit IRC (Quit: Page closed) 2011-10-29T11:41:14 well i downloadet the tools and the c++ sample bot but it always crashes when i try to run it (the bot runs fine i think but im not able to run it ) 2011-10-29T11:41:50 ump: learn the game specifications and debug or rebuild your app 2011-10-29T11:42:12 it might be better than the starter bot, but the starter bot might include some code you can reuse 2011-10-29T11:42:27 http://aichallenge.org/specification.php 2011-10-29T11:42:40 *** fasteddie_ has quit IRC (Quit: Page closed) 2011-10-29T11:45:20 *** skyramp has quit IRC (Quit: Page closed) 2011-10-29T11:45:22 cowbandit: yeap.. that is what I do.. works 2011-10-29T11:46:09 ok ill take a look thanks 2011-10-29T11:46:37 kk thx 2011-10-29T11:49:20 aichallenge: McLeopold epsilon * r383de10 / website/profile_submissions.php : fix bad user - http://git.io/SBC2ZQ 2011-10-29T11:49:37 *** stocha has joined #aichallenge 2011-10-29T11:49:57 hello there. 2011-10-29T11:50:10 3000 inscriptions ? when did it begun ? 2011-10-29T11:51:50 maybe years ago? 2011-10-29T11:52:00 and maybe with ai-class? 2011-10-29T11:54:28 *** Darida has joined #aichallenge 2011-10-29T11:55:20 *** g0llum has joined #aichallenge 2011-10-29T11:56:00 so anyone wanna share their tips on determining if should fight or run away? I got code that determines the focus on a given tile.. but I haven't work out how to calculate how many ants going to take out 2011-10-29T11:57:18 *** new_ has joined #aichallenge 2011-10-29T11:57:40 *** BentleyD has joined #aichallenge 2011-10-29T12:01:29 *** BentleyD has quit IRC (Client Quit) 2011-10-29T12:01:51 how many bot really plays the game ? 2011-10-29T12:01:53 yet 2011-10-29T12:02:35 stocha: probably not that many.. my bot is way stupid and still breaking top 400 2011-10-29T12:03:07 next game in 541 minutes .. well well well. Where do one test his bot ? 2011-10-29T12:03:42 when this is over.. are we gonna be able to see the winners code? 2011-10-29T12:04:17 grom358: yes. 2011-10-29T12:04:26 stocha: Run local games against stock bots or against yourself? 2011-10-29T12:04:44 Zao : that doesn't sound very appealling 2011-10-29T12:04:56 the fastest way to test a bot is using one of the scripts in the toolkit 2011-10-29T12:05:07 stocha: Inbetween scheduled online matches, you don't have much of a choice. 2011-10-29T12:05:07 i see some ppl have moving/attacking in formation working.. I wanna know how todo that :/ 2011-10-29T12:05:10 if it does well, test it on a tcp server against other bots 2011-10-29T12:05:16 And if you run locally, you can attach all kinds of instrumentation to your bots. 2011-10-29T12:05:40 how to do that is described on the forum 2011-10-29T12:05:46 Heck, ours has a debug GUI showing a lot of interesting information, and is properly debuggable. 2011-10-29T12:05:57 *** bearoff_w has left #aichallenge 2011-10-29T12:06:36 *** bearoff_w has joined #aichallenge 2011-10-29T12:07:17 <^5> Can anyone give me like a guide of what I should work on after finishing the tutorial? 2011-10-29T12:09:11 ^5 did you test your bot with online competitors? 2011-10-29T12:09:35 <^5> Yeah, came first because all the other ants walked into themselves and died, have another in 15 mins 2011-10-29T12:11:38 look at the best bots? 2011-10-29T12:14:14 ^5: strategy ideas: defend your hills at all costs, if you can invase an enemy hill before their ants can get to you, go for it, work on how you want to use your ants to collect the food, work out how you'd like to battle enemy ants, explore the map etc. 2011-10-29T12:15:34 If you can explore, step on enemy hills, and eat food you can be > #200 2011-10-29T12:15:34 *** ump has quit IRC (Quit: Page closed) 2011-10-29T12:16:58 yes.. i need some battle logic and I think I can up my rank a lot more 2011-10-29T12:17:03 just got no idea how todo it 2011-10-29T12:17:27 best i can think of is travel in pack of 3 or so ants min 2011-10-29T12:17:36 and hope for the best 2011-10-29T12:17:58 can anybody help with using servers such as ants.fluxid.pl? I always get "timeout" but local version works good 2011-10-29T12:18:08 I see the top bots have got it down... they move to surround enemy ants 2011-10-29T12:19:57 like this -> http://ants.fluxid.pl/replay.11957 ? 2011-10-29T12:20:54 no? my bot does not do any actions at all 2011-10-29T12:21:15 *** stocha has quit IRC (Ping timeout: 265 seconds) 2011-10-29T12:24:29 mmm.. i was thinking of using flocking algorithm for moving in formation.. but the first rule.. separation..isn't good for battles 2011-10-29T12:24:54 <^5> if I resubmit my code, does the timer til next match reset? 2011-10-29T12:24:55 *** c7d5a6 has joined #aichallenge 2011-10-29T12:25:18 ^5: no 2011-10-29T12:25:25 u keep your place in queue 2011-10-29T12:25:29 hm, I guess my bot is not as stupid as I thought, it's up to #146... 2011-10-29T12:25:43 *** czxcz has quit IRC (Quit: Page closed) 2011-10-29T12:25:54 *** dubin has joined #aichallenge 2011-10-29T12:26:16 *** Garf has quit IRC (Quit: Make a new plan, Stan!) 2011-10-29T12:26:18 ^5: use a tcp server to get games right away to test locally (ants.fluxid.pl) 2011-10-29T12:26:25 *** CarlesKapy has joined #aichallenge 2011-10-29T12:26:35 *** rain has quit IRC (Ping timeout: 252 seconds) 2011-10-29T12:26:47 lavalamp: do you have logic for fighting? 2011-10-29T12:27:05 grom358: none whatsoever 2011-10-29T12:27:27 I think I accidentally gave it the strategy of preying on the weak and stupid 2011-10-29T12:27:53 cause neither do I... but sometimes I lose all my ants cause I just path towards enemy hills with no regard for safety 2011-10-29T12:27:53 if there is a terrible bot in the game, I do pretty well 2011-10-29T12:28:52 *** barsandcat has quit IRC (Quit: Page closed) 2011-10-29T12:28:53 grom358: perhaps you need a better balance with exploring and eating, then? 2011-10-29T12:29:06 I always eat 2011-10-29T12:29:41 hm. Only my ants "in range" of an enemy hill will try to go there, that might be the difference 2011-10-29T12:29:51 lavalamp: no the problem I have.. is each ant does there own thing.. they don't try and walk in formation.. which means my ants can be picked off easy by any bot that has group up for attack code 2011-10-29T12:30:07 ah.. yeah I charge for it as soon as I find it 2011-10-29T12:30:08 grom358: Yeah I totaly have that problem also 2011-10-29T12:30:09 *** Redgis has quit IRC (Ping timeout: 244 seconds) 2011-10-29T12:30:18 except if I see food 2011-10-29T12:30:31 my ants go.. food > hills > exploring 2011-10-29T12:30:32 <^5> do I need to register for that tcp or something? 2011-10-29T12:30:33 KILL HIL-- oh look, food! 2011-10-29T12:30:38 grom358: thx for the tcp sever's name) 2011-10-29T12:31:18 ^5: see instructions: http://ants.fluxid.pl/howto 2011-10-29T12:31:24 lol.. i actually want to make it go for hill if its wide open over food.. but yet todo that 2011-10-29T12:32:08 <^5> just noticed that... :P 2011-10-29T12:32:09 grom358: have you uploaded your bot? It might do better than you think. 2011-10-29T12:32:30 yeah.. i uploaded a new one last night.. so still waiting to climb again.. I was 373 2011-10-29T12:32:43 *** capa has joined #aichallenge 2011-10-29T12:32:52 it uses A* pathfinding 2011-10-29T12:32:58 that is about as fancy as it gets 2011-10-29T12:33:14 *** c7d5a6 has quit IRC (Quit: Page closed) 2011-10-29T12:33:20 *** CarlesKapy has quit IRC (Ping timeout: 265 seconds) 2011-10-29T12:35:09 meh another challenge for hackers http://forum.xda-developers.com/showthread.php?t=1321592 2011-10-29T12:35:15 *** capa has quit IRC (Client Quit) 2011-10-29T12:35:20 lavalamp: you will see in my last game http://aichallenge.org/visualizer.php?game=29253&user=4130 how I waste all my ants 2011-10-29T12:35:30 *** mediocrist has joined #aichallenge 2011-10-29T12:35:36 morning 2011-10-29T12:35:38 err 2011-10-29T12:35:40 afternoon 2011-10-29T12:36:22 where I go to attack red 2011-10-29T12:37:14 grom358: yeah, I see. I think you need a better balance between exploring and killing hills. You can't drop everything to kill someone or a third party will stomp on you. 2011-10-29T12:38:11 grom358: until you've been pwned by the back :-) 2011-10-29T12:38:24 yeah I thinking of making a only attack enemy hill if number of ants is greater than say 50.. just as something simple 2011-10-29T12:38:26 nice strategy otherwise 2011-10-29T12:38:44 evening 2011-10-29T12:38:50 lol.. my bot doesn't really have a strategy yet 2011-10-29T12:39:00 but thanks 2011-10-29T12:39:06 grom358: You can see mine focuses a lot more on exploring: http://aichallenge.org/visualizer.php?game=29821&user=2238 2011-10-29T12:39:07 well, it can attack 2011-10-29T12:39:26 what do u mean by exploring... just looking for food? 2011-10-29T12:39:54 Looking at areas of the board I haven't seen lately. 2011-10-29T12:40:25 ah.. yeah I was going todo that.. I already have code for going to tiles I haven't seen at all 2011-10-29T12:40:43 was gonna expand it to check areas not recently visible 2011-10-29T12:40:56 but I couldn't see the point in that 2011-10-29T12:41:02 since u need to get hills to win 2011-10-29T12:41:39 *** irchs has joined #aichallenge 2011-10-29T12:41:59 controlling large amounts of the map translates to finding more food. 2011-10-29T12:42:01 *** karoitay has joined #aichallenge 2011-10-29T12:42:24 *** sigh has quit IRC (Remote host closed the connection) 2011-10-29T12:42:26 yeah..mmm 2011-10-29T12:42:38 mine doesn't really care about food http://aichallenge.org/visualizer.php?game=29809 2011-10-29T12:42:38 <^5> Nooooo 2011-10-29T12:42:47 How does the engine decides which bots will play in the next game? 2011-10-29T12:42:48 <^5> I submitted the wrong code 2011-10-29T12:42:56 *** wilsone has joined #aichallenge 2011-10-29T12:42:59 i still think having a way to deal with combat is more important next goal to add to my bot though 2011-10-29T12:43:15 ^5 resubmit your old code 2011-10-29T12:43:15 I'm working on that now 2011-10-29T12:43:36 but I believe you have to wait 2011-10-29T12:43:56 <^5> I did, but by the time I realised it already played my match, so my next is 767 minutes 2011-10-29T12:44:10 but I don't know enough about AI etc to know how to make the combat 2011-10-29T12:44:14 Hi, I am dealing with really strange behavior where a bot operates fine locally, but won't perform basic moves like get off the ant hill on the server http://aichallenge.org/visualizer.php?game=29864&user=4156 2011-10-29T12:44:30 I checked and no messages going to stderr 2011-10-29T12:44:40 works fine on tcp servers too 2011-10-29T12:44:43 some sort of swarm logic I thinking I need 2011-10-29T12:44:55 grom358: its kinda hard to get a good tactic if you don't have the right intuition about this kind of game 2011-10-29T12:45:23 I am using C++, anyone else been using C++ successfully on the server? 2011-10-29T12:45:38 some people are thinking that they can win a game if every ant needs to be smart 2011-10-29T12:45:48 I really interested in learning this though.. always wanted too.. so this challenge is my attempt at learning 2011-10-29T12:45:58 (while at some level not caring about other ants in their team) 2011-10-29T12:46:29 <^5> I really need to work on this... http://ants.fluxid.pl/replay.11979 Im Geoff 2011-10-29T12:46:31 grom358: yeah 2011-10-29T12:46:49 @GeorgeJ had suggested maybe stderr was the issue, but removed it all and still happens 2011-10-29T12:46:50 wilsone: An error occured while trying to show the previous error. 2011-10-29T12:47:20 ^5 preventing yourself from stepping over the hill will not reduce your kills ;-) 2011-10-29T12:47:29 *suicides 2011-10-29T12:47:46 just try to prevent it by doing it an other way 2011-10-29T12:47:47 im realy starting to los my nerv on this errors, resorted to debugging it with dtuss/strace... 2011-10-29T12:47:58 so, i'm fairly new to java, and programming as a whole. I'm trying to implement the A* algorithm but am having issues pulling it together. I understand A*, just having issues in the programming department. 2011-10-29T12:48:02 any good guides out there 2011-10-29T12:48:04 ? 2011-10-29T12:48:13 somthing in the python threading is not handles currectly in the game. 2011-10-29T12:48:19 *** Laentir has joined #aichallenge 2011-10-29T12:48:22 <^5> that wasnt the problem, the problem was it wanted food behind the wall 2011-10-29T12:48:26 ^5: read about A* on wikipedia, it should give you some ideas. 2011-10-29T12:48:31 mediocrist: what sort of issues 2011-10-29T12:48:40 *** olexs has quit IRC (Quit: Leaving.) 2011-10-29T12:48:43 <^5> I know, I just dont know how to implement it on this 2011-10-29T12:48:50 i get the whole f = g + h bit 2011-10-29T12:49:17 and how it works, i'm having issues implementing it into the bot itself 2011-10-29T12:49:19 Is there anyone from the AIChallenge team here, or are they all gone for the weekend? 2011-10-29T12:49:31 trying to pull coords out of MyBot and Tile 2011-10-29T12:49:33 avdg: i think if i could even get my ants to move in say a wall 3 heigh.. I can do a hell lot better 2011-10-29T12:49:38 *** stocha has joined #aichallenge 2011-10-29T12:51:16 mediocrist: pull out coords?? 2011-10-29T12:51:21 grom358: in a multiplayer game, an early direct attack like that screws both you and your target in the long run, it leaves you both as easy pickings for the other players... 2011-10-29T12:51:45 *** blackwol` has joined #aichallenge 2011-10-29T12:51:45 i mean, how do i find my destination, like a piece of food 2011-10-29T12:52:05 lavalamp: yeah that is true.. yeah my bot has no strategy atm. I'm just trying to fix it suiciding 2011-10-29T12:52:27 mediocrist: getAnts().getFoodTiles() 2011-10-29T12:52:33 grom358: always a worthy goal :) 2011-10-29T12:52:46 that will return an x, y? 2011-10-29T12:53:01 it returns the Set 2011-10-29T12:53:07 Tile is your x and y 2011-10-29T12:53:11 ok, cool, thanks 2011-10-29T12:53:12 *** blackwolf has quit IRC (Ping timeout: 240 seconds) 2011-10-29T12:53:20 so yes.. you get a set of x,y coords of all the food 2011-10-29T12:53:43 Ha! Finaly finished rewriting to C++ and implementing the Hivemind! Now all I've gotta do is give it a behavior! 2011-10-29T12:54:36 mediocrist: I actually used a Breadth First Search for collecting food.. and stop when find an ant.. then backtrack to start to get the path to take 2011-10-29T12:54:48 what happens if u getIlk() an unexplored tile? 2011-10-29T12:54:56 good, rank 192, skill raises, first places... according to keikaku 2011-10-29T12:54:58 Cowbandit: it returns LAND 2011-10-29T12:55:02 Ilk.LAND 2011-10-29T12:55:08 oi ok thanks 2011-10-29T12:57:02 is there anyuse for this official server. When it plays 20 games a week per bot ? 2011-10-29T12:57:23 not mentionning that maybe a lot of people are not submitting anything yet. 2011-10-29T12:57:37 it will go down as time passes. 2011-10-29T12:57:49 grom358: I'm just learning, so I'm going to start with A*, which seems easier to implement. I want to move onto doing a single BFS for each hill, each food and one BFS for all unexplored areas 2011-10-29T12:58:01 *** bearoff_w has left #aichallenge 2011-10-29T12:58:12 What about enabling the possibility for user to lend a bit of cpu power to it ? 2011-10-29T12:58:55 are the game specified to be deterministic ? (fixed seed). If yes, you can run it on serverall different point, and compare the result. 2011-10-29T12:59:04 distributed computing for the aichallenge? like folding@home? 2011-10-29T12:59:09 cool idea 2011-10-29T12:59:12 mediocrist: sure. 2011-10-29T12:59:21 fair enough.. but BFS is simpler then A* . Less code.. easier to understand. But yeah A* not too complicated either once you get it 2011-10-29T12:59:43 as it is, it really seems far to slow going to be any useful. 2011-10-29T13:00:07 then the beta period is over, so maybe it's too late. I don't know where the thing is going though. 2011-10-29T13:00:10 i'm honestly having issues working with either, I just started learning java 4 days ago. Saw aichallenge yesterday evening. 2011-10-29T13:00:32 kinda brute forcing my way through this 2011-10-29T13:00:52 good way to improve. 2011-10-29T13:01:21 do they plan to add more server ? 2011-10-29T13:01:25 <^5> dayum I need to put in a path finder, my guys just walk into walls nonstop 2011-10-29T13:02:05 GeorgeJ, any other suggestions for ill behinv bots on the server? I removed stderr and still getting stupid behavior, like this http://aichallenge.org/visualizer.php?game=29863&user=4156 2011-10-29T13:02:21 *behaving 2011-10-29T13:02:32 i gotten 2 games in the last day.. yes.. its way slow 2011-10-29T13:03:21 submitted at 4:16am server time.. my second and last game was at 1:30pm 2011-10-29T13:03:21 wilsone: I advise you to check the code for the wokers, the default flags, etc from the source on github 2011-10-29T13:03:27 I haven't uploaded my bot jut yet 2011-10-29T13:03:28 just WOW!! 2011-10-29T13:03:53 *** thisPat has joined #aichallenge 2011-10-29T13:04:35 Thanks GeorgeJ, will check out the server source... just baffles me why does it work in the sandbox and on tcp servers 2011-10-29T13:05:02 @wilsone: what are those tcp servers you are talking about? 2011-10-29T13:05:03 karoitay: User error -- Replace user. 2011-10-29T13:05:16 wilsone: what are those tcp servers you are talking about? 2011-10-29T13:05:54 karoitay: http://aichallenge.org/forums/viewtopic.php?f=25&t=1505&sid=96480f616ebea4e06e3b4783fc6bbeca 2011-10-29T13:06:05 @tcp 2011-10-29T13:06:06 Fluxid: tcp could be http://ants.fluxid.pl/howto. 2011-10-29T13:06:20 thanks 2011-10-29T13:06:49 why start the challenge when then don't have the server yet ? 2011-10-29T13:06:54 and no donation plans. 2011-10-29T13:07:26 those are the submissions now, real challenge will start in december 2011-10-29T13:07:28 *** dubin has quit IRC (Ping timeout: 245 seconds) 2011-10-29T13:07:40 Fluxid: what do you mean ? 2011-10-29T13:08:03 or maybe i'm mistaken 2011-10-29T13:08:09 So tere is only a spec, and no server to play until december ? 2011-10-29T13:08:26 *** vantreeseba has joined #aichallenge 2011-10-29T13:09:26 is multiple servers, 2011-10-29T13:09:30 stocha, they do have the server 2011-10-29T13:09:35 if you submit before deember, matches start playing 2011-10-29T13:09:45 mm 3am here.. going to sleep 2011-10-29T13:09:45 Fluxid: do the tcp thing run the official maps and settings ? 2011-10-29T13:09:46 laters 2011-10-29T13:10:20 stocha: load and turn times are longer 2011-10-29T13:10:27 but i think that's all 2011-10-29T13:10:41 Fluxid: why are they longer ? 2011-10-29T13:10:46 >tcp 2011-10-29T13:10:50 lol 2011-10-29T13:11:01 because your bot run locally, and game is on server 2011-10-29T13:11:12 network latency etc 2011-10-29T13:11:19 Fluxid: shouldn't they be shorter then ? 2011-10-29T13:11:35 stocha, you could always impose your own turn limit 2011-10-29T13:11:37 full cpu didicated to the bot. Some big cpu etc. 2011-10-29T13:11:42 turntime == time in which mabnager must get response from bot 2011-10-29T13:11:45 cyphase: true. 2011-10-29T13:11:51 stocha: You don't want them to time out just because of network latency 2011-10-29T13:11:57 what's the official cpu and time ? 2011-10-29T13:12:06 if it is over network, the time mayb e longer, so turntime must me larger too 2011-10-29T13:12:20 vantreeseba: yeah, as cyphase said. Everyone is free to restrain to the official time. 2011-10-29T13:12:27 true 2011-10-29T13:12:48 still i have no idea what the official cpu and turn time are. 2011-10-29T13:12:59 is that even hinted yet ? 2011-10-29T13:13:06 stocha, 3000ms loadtime, 500ms loadtime 2011-10-29T13:13:12 500ms turntime* 2011-10-29T13:13:35 i don't know cpu, but ram is 1GB limit 2011-10-29T13:13:40 500ms. Now that is short. and already games are not exactly flowing. 2011-10-29T13:14:13 they're working on it 2011-10-29T13:14:15 I understand why it's called a challenge now. 2011-10-29T13:14:23 what it the game rate on the tcp server ? 2011-10-29T13:14:23 speeding up the servers 2011-10-29T13:14:46 @tcp 2011-10-29T13:14:47 stocha: tcp could be http://ants.fluxid.pl/howto. 2011-10-29T13:15:02 http://aichallenge.org/game_settings.php 2011-10-29T13:15:19 *** liar has quit IRC (Remote host closed the connection) 2011-10-29T13:15:57 stocha: that link has all the settings they use on the actual servers 2011-10-29T13:16:22 except turns 2011-10-29T13:16:34 *** dvladim has joined #aichallenge 2011-10-29T13:16:34 *** minus has joined #aichallenge 2011-10-29T13:16:36 afaik, maybe more 2011-10-29T13:16:50 will it stay that way ? 2011-10-29T13:17:00 That, I don't know. 2011-10-29T13:17:07 probably very close, but dont count on it 2011-10-29T13:17:54 okay. let's head to tcp, and see how things go there then. my wife will not be happy if i let the pc run all days :p 2011-10-29T13:19:15 your computer still needs to run for your bot to fight on a tcp server 2011-10-29T13:19:23 hence the 'tcp' part 2011-10-29T13:19:44 yeah. so you need either be rich, or not have a wife. 2011-10-29T13:19:55 lol, I have 3 pc' 2011-10-29T13:19:58 s that run all the time 2011-10-29T13:20:17 i have a wife and two little girls. That run all the time. 2011-10-29T13:20:26 you'll save more money by changing out your lightbulbs and getting a better ac unit 2011-10-29T13:20:28 dunno about rich, but I'm rich enough to afford a dedicated server in amsterdam 2011-10-29T13:20:45 Minthos: how much is it ? 2011-10-29T13:20:45 though, electricity here is really cheap, so 2011-10-29T13:20:50 McLeopold: there? 2011-10-29T13:21:01 yeah 2011-10-29T13:21:14 Minthos: you can probably rent them from france. what's the price, and http ? 2011-10-29T13:21:17 about EUR 30, I got a pretty nice deal I think 2011-10-29T13:21:34 chunkhost can give you a free vps if you do the beta 2011-10-29T13:21:34 30 euro/ month ? what spec ? 2011-10-29T13:21:38 they don't have that offer anymore but look at lowenddedi.net 2011-10-29T13:21:38 i read on the formus that you mentioned the --end_wait option, do you know if the game servers uses it? 2011-10-29T13:22:11 aichallenge: McLeopold epsilon * r463b137 / website/profile_submissions.php : fix for no user in profile submission - http://git.io/tkd6Vw 2011-10-29T13:22:11 well, its free while you "beta test" and then its like $15/month 2011-10-29T13:22:13 100 mbit, 2 GB bandwith/month, 1.8 GHz c2d, 1 GB ram, 250 GB hdd 2011-10-29T13:22:37 let me check how much it is here in france 2011-10-29T13:24:08 stocha: Just curious, how much is your electricity bill / month there in france? 2011-10-29T13:24:27 seems it starts at 50 euros/month (+ setup fee) c2d 2.33mhz 4 gb ram. 2011-10-29T13:24:46 vantreeseba: ... i have no idea. 2011-10-29T13:25:01 vantreeseba: i'll try to have a look at the official site :p 2011-10-29T13:25:10 stocha: lol 2011-10-29T13:25:49 it's about 0,13 per kilo watt hour. 2011-10-29T13:25:53 0,13 euro 2011-10-29T13:26:08 stocha: wow, just curious 2011-10-29T13:26:21 how much is it in your country ? 2011-10-29T13:26:30 *** Cowbandit has quit IRC (Ping timeout: 265 seconds) 2011-10-29T13:26:39 0,13€/kWh, i want that too :( 2011-10-29T13:26:45 stocha: I'm in oklahoma, US , I think I pay $.08/kwhr 2011-10-29T13:26:51 it's loke 0,22€ here 2011-10-29T13:27:03 minus: where is that ? 2011-10-29T13:27:06 germany 2011-10-29T13:27:12 I think its expensive here, but I have no idea actually 2011-10-29T13:27:48 (problems with electricity network raises prices) 2011-10-29T13:27:57 there may be additionnal though. like a price you have to pay even if you don't drink any kwh at all. 2011-10-29T13:28:06 and almost nobody knows about these problems 2011-10-29T13:28:08 Ontario: varies from 5.9 cents/kWh (off-peak) to 10.7 cents/kWh (peak hours). 2011-10-29T13:28:20 stocha: there is, my average bill is usually like $80/month 2011-10-29T13:28:40 i don't look at my electricity bill. 2011-10-29T13:28:52 don't know where wife put it. 2011-10-29T13:29:25 stocha: ah, well, its cheap right now, cause temperature cooled down, but this summer, it was almost 48C for 3 weeks, so air conditioning was expensive 2011-10-29T13:29:32 dedicated server is probably the way to go. But even 30 euros per month, would be like 100 euros for 3 month + setup costs. 2011-10-29T13:29:53 *** dubin has joined #aichallenge 2011-10-29T13:30:29 unless people start to share there dedicated. 2011-10-29T13:30:43 one for 10 bots; with core2duo might make it acceptable. 2011-10-29T13:30:55 you can get a vps much cheaper, should do the trick 2011-10-29T13:30:59 it would go down to maybe 20 euros for 3 month then. 2011-10-29T13:31:06 what's vps ? 2011-10-29T13:31:12 virtual private server 2011-10-29T13:31:19 its like a dedicated VM, runs on xen 2011-10-29T13:31:24 shared server with guaranteed cpu and ram 2011-10-29T13:31:26 lol 2011-10-29T13:31:27 i had a lot of trouble with those a few years back. 2011-10-29T13:31:35 chunkhost.com has free ones for a month or so if you do the beta 2011-10-29T13:31:51 *** dubin has quit IRC (Client Quit) 2011-10-29T13:32:00 I use them, and run a few websites off mine, it works pretty well 2011-10-29T13:32:18 vantreeseba: never had any disk crash and such ? 2011-10-29T13:32:24 vantreeseba: where do you rent them ? 2011-10-29T13:32:39 they are are in L.A. california I think 2011-10-29T13:32:54 I had a little bit of down time, but they gave me a free month 2011-10-29T13:32:56 ah chunkhost. but it's a beta. 2011-10-29T13:32:59 I've never lost data 2011-10-29T13:33:16 what's the http ? 2011-10-29T13:33:20 chunkhost.com 2011-10-29T13:34:37 though, I think backups are always, always a good idea, IIRC backblaze allows you to do unlimited backups for like $4/month 2011-10-29T13:35:59 they seems to cost even more than dedicated though. 2011-10-29T13:36:14 *** mj41 has joined #aichallenge 2011-10-29T13:36:29 I dunno, I've never used a dedicated server 2011-10-29T13:36:33 *** jimi_hendrix has quit IRC (Read error: Connection reset by peer) 2011-10-29T13:36:57 but I do have static ips at my house that I use for other servers on my vmware machine, luckily i worked at the local ISP so I get that kind of thing :P 2011-10-29T13:37:03 lowendbox.com has prices and reviews on some cheap vpses 2011-10-29T13:37:55 Minthos: wow, those are super cheap 2011-10-29T13:38:00 I may have to look into that, thanks 2011-10-29T13:38:22 yeah, I don't know how good they are of course but some of them should be decent at least 2011-10-29T13:39:56 how do you get the height and width of the map? 2011-10-29T13:41:47 with which starting pack? 2011-10-29T13:42:08 (or just read the source for your starting pack) 2011-10-29T13:42:12 its given to you in the state of the game, the bot input section on http://aichallenge.org/specification.php#Bot-Input should help explain that 2011-10-29T13:42:17 i guess i should first decide if the challenge is worth it. and will i enough thime. i doubt that. 2011-10-29T13:42:36 awesome, thanks 2011-10-29T13:42:48 wait, is there a prize or something? 2011-10-29T13:43:09 *** master_ninja has joined #aichallenge 2011-10-29T13:43:22 I haven't heard anything about a prize 2011-10-29T13:43:42 vantreeseba: not at the moment. I'd rather it have servers than prize though. 2011-10-29T13:43:46 I'm just in this for fame and glory (and fun, and a prize if there is one of course) 2011-10-29T13:44:09 cool 2011-10-29T13:44:39 if the thing was appealing, i'd try to grab the fame for sure. But i don't know. I already have a bot from old beta. I never bothered to implement the new combat algorithm though. 2011-10-29T13:44:59 not to mention the hive. 2011-10-29T13:45:03 btw, if you guys are interested in starcraft (the original one) there is a ai challenge for it hosted by UC Santa Cruz every year as well, there are some programs for grabbing and pushing input and etc into and out of the starcraft game 2011-10-29T13:45:25 I was gonna do it, but I got lazy 2011-10-29T13:45:26 interesting. 2011-10-29T13:45:42 but the game lack simlicity 2011-10-29T13:45:55 i think i'd better finish my go playing engine. 2011-10-29T13:46:01 finish starting it that is. 2011-10-29T13:46:12 yea, the bot that won was pretty interesting, it used vector flow fields to guide its units 2011-10-29T13:46:19 at least the game has straight forward rules. 2011-10-29T13:46:47 vantreeseba: interesting. So it is a widely used technique 2011-10-29T13:47:03 i saw a early ant bot that used that. At least the guy wanted to use it. 2011-10-29T13:47:10 ah, yea, makes sense 2011-10-29T13:47:19 i was amazed at non integer speed for ants. 2011-10-29T13:47:28 i would never had dreamed of trying it :p 2011-10-29T13:48:08 I am trying to run my bot in the tcp severs, the command line window looks fine but - in some of the servers it says that I played 0 games (even thoug I ran tcpclient.py on them) and on one server I do see the games but for some reason my ants does not move. (the do move on aichallenge games 2011-10-29T13:48:10 ) 2011-10-29T13:48:14 maybe because i'm pretty sure it can't be optimal 2011-10-29T13:49:43 *** stocha has quit IRC (Quit: Page closed) 2011-10-29T13:50:18 karoitay, have you looked at the replays? I have been in some games with you and you weren't doing anything 2011-10-29T13:50:42 *** iris1 has joined #aichallenge 2011-10-29T13:50:54 karoitay, are you on Windows? 2011-10-29T13:51:21 does anyone know what the contest servers run on? 2011-10-29T13:51:43 it says what they are building your code on, but I'm not sure what the servers are playing the games on 2011-10-29T13:51:44 wilsone, I looked on replays and it looks like I didn't do anything - but the code does do stpes (works on aichallenge games). and yes - windows. 2011-10-29T13:52:07 I wonder if my & your issue is related to CR/LF or something silly 2011-10-29T13:52:09 ubuntu natty 2011-10-29T13:52:15 or maybe not 2011-10-29T13:52:17 64-bit, iirc 2011-10-29T13:53:26 maybe, who knows. maybe I'll try to run on linux 2011-10-29T13:53:35 wilsone: amazon ec2 servers I think 2011-10-29T13:54:05 really? wow... guess no dog fooding there 2011-10-29T13:54:13 *** jimi_hendrix has joined #aichallenge 2011-10-29T13:54:54 so, ants.getCols() and ants.getRows() (java) returns the level columns and rows right? 2011-10-29T13:55:42 nvm, answered my own question 2011-10-29T13:59:26 wilsone: it's ubuntu natty, 64 bit 2011-10-29T13:59:40 *** jimi_hendrix has quit IRC (Read error: Connection reset by peer) 2011-10-29T14:02:21 *** icefox has joined #aichallenge 2011-10-29T14:04:49 *** ablebaker99 has joined #aichallenge 2011-10-29T14:05:27 *** ablebaker99 has left #aichallenge 2011-10-29T14:05:48 wilsone, working on linux 2011-10-29T14:06:26 very weird karoitay 2011-10-29T14:07:14 http://aichallenge.org/forums/viewtopic.php?f=25&t=1689 2011-10-29T14:07:25 *** mleise has quit IRC (Ping timeout: 240 seconds) 2011-10-29T14:07:30 *** xathis has quit IRC () 2011-10-29T14:08:48 looks like I am staying on linux for that, time to make my bot smarter :) 2011-10-29T14:14:30 *** karoitay has quit IRC (Quit: Page closed) 2011-10-29T14:17:24 *** jimi_hendrix has joined #aichallenge 2011-10-29T14:18:41 *** mediocrist has quit IRC (Quit: Page closed) 2011-10-29T14:20:00 *** jimi_hendrix has quit IRC (Read error: Connection reset by peer) 2011-10-29T14:21:43 *** timos has joined #aichallenge 2011-10-29T14:23:35 *** xar0l has joined #aichallenge 2011-10-29T14:30:07 *** amstan has joined #aichallenge 2011-10-29T14:30:07 *** ChanServ sets mode: +o amstan 2011-10-29T14:34:00 *** savaron has joined #aichallenge 2011-10-29T14:34:43 *** Knekkebjoern has joined #aichallenge 2011-10-29T14:34:45 *** Daverd has joined #aichallenge 2011-10-29T14:35:02 I'm getting a test case error on the server that I'm not getting locally. How do I go about debugging this? 2011-10-29T14:35:07 *** mediocrist has joined #aichallenge 2011-10-29T14:35:31 Daverd: what kind of error? timeout? 2011-10-29T14:35:42 ValueError: min() arg is an empty sequence 2011-10-29T14:35:59 *** jimi_hendrix has joined #aichallenge 2011-10-29T14:36:06 *** Darida has quit IRC (Ping timeout: 265 seconds) 2011-10-29T14:36:34 (python) 2011-10-29T14:37:06 *** lorill has joined #aichallenge 2011-10-29T14:37:46 sounds like you're trying to take the minimum of an empty sequence 2011-10-29T14:37:54 Daverd: did you test your bot locally? with test_bot.cmd/sh? 2011-10-29T14:38:15 Oh, I didn't realize I had the test cases available locally... one sec while I do that 2011-10-29T14:40:13 *** RobotCaleb has quit IRC (Ping timeout: 240 seconds) 2011-10-29T14:40:40 Is there something more to this than "./test_bot.sh MyBot.py3 " ? 2011-10-29T14:41:04 i think you need to throw a python in there 2011-10-29T14:41:24 in where 2011-10-29T14:41:45 ./test_bot.sh "python3 MyBot.py3" 2011-10-29T14:41:52 or however the executable is calle 2011-10-29T14:41:54 called* 2011-10-29T14:42:45 Didn't change anything. It's complaining that line 313 of playgame.py is passing an argument into the constructor of Ants, and Ants is not set up to accept any args in its constructor 2011-10-29T14:42:54 and I didn't touch any of that 2011-10-29T14:43:30 Ants constructor from tools? 2011-10-29T14:43:56 right.. i think the tools don't like python3 stuff, since python3 is not backwards compatible 2011-10-29T14:44:13 you'll need to run your tools with python2 and your bot(if you want) with python3 2011-10-29T14:45:14 I think that's what I'm doing currently 2011-10-29T14:45:48 *** jab_bott has joined #aichallenge 2011-10-29T14:45:53 is tools supposed to come with its own version of ants.py? 2011-10-29T14:47:12 looks like it does 2011-10-29T14:47:13 aichallenge: McLeopold epsilon * rc5b1ab7 / sql/dup_users.sql : add sql file - http://git.io/VWtDkA 2011-10-29T14:47:29 might we get cython support on the server? i haven't used it before (so i'm not even sure exactly what supporting it would require), but it looks interesting 2011-10-29T14:47:32 I've been modifying that file for my bot 2011-10-29T14:48:55 and geez, the tools ants.py is way different from the starter kit ants.py 2011-10-29T14:50:20 Daverd, there's 2 totally different files named ants.py, one is the game engine, another the state/helper for the bot 2011-10-29T14:50:53 *** ajf|offline is now known as ajf 2011-10-29T14:51:22 that is really confusing. 2011-10-29T14:53:57 McLeopold: I'm trying to build the tools bundle from the ants/dist/tools/Makefile in the aichallenge repo and getting an error: sed -i 's/dist[/\]//g' tools/play_one_game* => sed: 1: "tools/play_one_game.cmd": undefined label 'ools/play_one_game.cmd' 2011-10-29T14:55:07 ools 2011-10-29T14:55:42 This is an unmodified clone of the repo - I've been messing with some files in my tools dir but then I figured I should do it in a version-controlled manner so I can easily share the changes 2011-10-29T14:56:27 Zannick: yeah - that looks like the issue, dunno what caused it, I have to re-learn sed every time I use it :P 2011-10-29T14:57:40 Okay, finally got that all ironed out. Yeah, I'm getting the same test case error when I run it locally. 2011-10-29T14:57:40 jab_bott: that sed replaces tall dist/ with nothing 2011-10-29T14:57:48 all* 2011-10-29T14:59:05 amstan: ahh yes, but I dunno what the error means 2011-10-29T15:02:44 if I can get the tools building from the source then I can modify, re-deploy locally and test :) 2011-10-29T15:03:03 jab_bott: you can use the tools as they are in the repo 2011-10-29T15:03:08 you don't have to makefile them 2011-10-29T15:03:13 well 'building' is a bit strong considering the makefile mostly copies and zips stuff :D 2011-10-29T15:03:17 yeah 2011-10-29T15:03:23 it just packages them 2011-10-29T15:04:02 *** Accoun has quit IRC () 2011-10-29T15:04:06 Alright I think I figured this out. Thanks for the help. 2011-10-29T15:05:00 *** Daverd has quit IRC (Quit: Page closed) 2011-10-29T15:05:48 I think I need to build it to get the visualizer.jar file 2011-10-29T15:06:02 jab_bott: cd ants/visualizer 2011-10-29T15:06:07 ant jar 2011-10-29T15:06:27 anyone know if numpy/scipy are available on the server? 2011-10-29T15:06:57 McLeopold: ^ 2011-10-29T15:07:20 oh, nvm 2011-10-29T15:07:27 xar0l: they are: https://github.com/aichallenge/aichallenge/blob/epsilon/setup/worker_setup.py#L34 2011-10-29T15:07:36 xar0l: they should be 2011-10-29T15:07:44 awesome, thanks 2011-10-29T15:08:24 *** jimi_hendrix has quit IRC (Ping timeout: 240 seconds) 2011-10-29T15:08:50 *** dvladim has quit IRC (Ping timeout: 260 seconds) 2011-10-29T15:10:22 *** capt_wilkerson has joined #aichallenge 2011-10-29T15:10:57 *** capa has joined #aichallenge 2011-10-29T15:13:12 *** sngh88 has joined #aichallenge 2011-10-29T15:13:45 *** sngh88 has left #aichallenge 2011-10-29T15:14:50 *** racko has quit IRC (Quit: Page closed) 2011-10-29T15:15:48 amstan: \o/ 2011-10-29T15:16:00 \o/ 2011-10-29T15:16:20 lo 2011-10-29T15:16:25 amstan: thanks, I got the bots to fight, I just had to change the paths as they are different than in the tools distribution 2011-10-29T15:16:42 what paths? 2011-10-29T15:16:47 it as saying i have 300 minutes to next game 2011-10-29T15:16:50 to the sample bot to use 2011-10-29T15:17:00 and within the same hour i got two hours 2011-10-29T15:17:03 jab_bott: that should be the only modification, the sh scripts 2011-10-29T15:17:04 twogames* 2011-10-29T15:17:17 *** henry61 has joined #aichallenge 2011-10-29T15:17:52 amstan: yeah, seems to work fine - now I can hack away at the stuff in the repo and do something clever (like push or make a patch or something) when I have something sharable 2011-10-29T15:18:04 jab_bott: do you have a fork yet? 2011-10-29T15:18:51 amstan: nope - do I need to fork? I was just gonna do it on a branch and then presumably there's a got command to create a patch? (I'm fairly new to git) 2011-10-29T15:19:04 s/got/git/ 2011-10-29T15:19:29 jab_bott: we use github, and it has a nice feature where you can do a pull request, and other people can see what you've done, comment and so on 2011-10-29T15:19:30 Does anyone have an intro into A*? Are there any tweaks to the algoritm to make it faster? 2011-10-29T15:19:46 GeorgeJ, http://www-cs-students.stanford.edu/~amitp/gameprog.html 2011-10-29T15:19:56 cyphase: Thanks! 2011-10-29T15:19:58 GeorgeJ, lots of good stuff there 2011-10-29T15:19:58 http://help.github.com/fork-a-repo/ http://help.github.com/send-pull-requests/ 2011-10-29T15:20:02 jab_bott: ^ 2011-10-29T15:20:54 *** thestinger has joined #aichallenge 2011-10-29T15:21:10 jab_bott: if you run in git problems, just ask them ;-) (I'll answer) 2011-10-29T15:21:43 I see - looks interesting. Can forks be merged as well then when you're done with it? or is it a case of pushing from the fork into the origin and then just deleting it? 2011-10-29T15:22:00 yes, they can be merged 2011-10-29T15:22:07 jab_bott: that's what pull requests are for 2011-10-29T15:22:12 but both the branches still exists 2011-10-29T15:22:14 until you delete them 2011-10-29T15:22:48 jab_bott: note this guy: https://github.com/aichallenge/aichallenge/pull/343 2011-10-29T15:22:55 oh - yeah - pull requests, I see - like push but backwards 2011-10-29T15:23:07 jab_bott: he forked the repo, made changes to it(since he can only make changes in his own fork), then made a pull request 2011-10-29T15:23:12 and now i'm merging it 2011-10-29T15:23:17 aichallenge: Alexandru Stan epsilon * r742e695 / ants/dist/starter_bots/clojure/ants.clj : 2011-10-29T15:23:17 aichallenge: Merge pull request #343 from dlowe/epsilon 2011-10-29T15:23:17 aichallenge: basic hills support - http://git.io/Wb-S2A 2011-10-29T15:24:31 *** lorill has quit IRC (Quit: Page closed) 2011-10-29T15:25:52 amstan: I'll look into that then - sounds pretty good. I've only been using git for two weeks and never used github before :) 2011-10-29T15:26:11 have to say, I wish I'd switched from SVN ages ago 2011-10-29T15:26:19 lol 2011-10-29T15:26:38 *** capt_wilkerson1 has joined #aichallenge 2011-10-29T15:27:02 *** capt_wilkerson has quit IRC (Read error: Connection reset by peer) 2011-10-29T15:27:30 *** quanturium has joined #aichallenge 2011-10-29T15:27:31 *** HypnoGenX has joined #aichallenge 2011-10-29T15:28:03 *** quanturium has left #aichallenge 2011-10-29T15:28:53 *** capt_wilkerson1 has quit IRC (Client Quit) 2011-10-29T15:29:03 *** Accoun has joined #aichallenge 2011-10-29T15:30:43 *** olexs has joined #aichallenge 2011-10-29T15:31:59 *** heinrich5991 has quit IRC (Ping timeout: 248 seconds) 2011-10-29T15:34:26 thestinger: i implemented bfs instead of a*, still slow in PHP :/ 2011-10-29T15:34:54 *** heinrich5991 has joined #aichallenge 2011-10-29T15:35:38 how many times are you running it? 2011-10-29T15:35:45 I don't use BFS like I used A* 2011-10-29T15:36:01 once per 'target' (hill, food) 2011-10-29T15:36:27 you probably can't do it for each food in php 2011-10-29T15:36:46 well, you can share 1 distance map for all the hills, and 1 for exploration 2011-10-29T15:37:11 for food I do 1 per food, but it takes ~12ms sometimes to do it for every food, and I'm using C++ 2011-10-29T15:37:31 so in python/php that would take 30x to 60x longer 2011-10-29T15:38:04 ~290ms per food 2011-10-29T15:38:19 well, you can probably optimize it then 2011-10-29T15:38:35 it takes me than than 0.5ms per food (sometimes there is a lot of food) 2011-10-29T15:39:35 a big optimization for mine was not keeping track of visited nodes like a regular BFS, because I would stop as soon as the new distance wasn't less than the old distance on the map 2011-10-29T15:39:53 i'm also weighting the map though i could ty w/o that 2011-10-29T15:40:51 I think there is a way to calculate things faster and its pretty simple 2011-10-29T15:40:57 but it requires some code rewrite 2011-10-29T15:41:06 but I forgot it atm 2011-10-29T15:41:40 oh, php's array is really an ordered dictionary 2011-10-29T15:41:45 that's probably killing your speed 2011-10-29T15:42:17 yeah.. w/o weighting i'm down to 150ms 2011-10-29T15:42:51 http://www.php.net/manual/en/book.spl.php 2011-10-29T15:42:55 :-) 2011-10-29T15:42:57 found it 2011-10-29T15:43:14 I'm using 3 preallocated 2d arrays of ints (1 for food, 1 for hills, 1 for exploration) 2011-10-29T15:43:34 I do all the hills at the same time, so ants attack the nearest hill (same thing for exploration) 2011-10-29T15:43:42 avdg: i saw a nice comparison of spl vs scalars, depending on the use, spl can be faster 2011-10-29T15:43:50 for food, I reset the vector and redo it for each food 2011-10-29T15:43:52 *** danielharan has joined #aichallenge 2011-10-29T15:44:06 synace: its especially interesting with data that scales 2011-10-29T15:44:09 you probably want to use a fixed size array and reuse the same structure each time so you don't need allocation 2011-10-29T15:44:09 thestinger: rather than building new arrays, gotcha 2011-10-29T15:44:26 however, spl is pretty limited despite the many effort being made on it 2011-10-29T15:44:32 thestinger: i could pre-fill a bunch on startup 2011-10-29T15:45:41 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-29T15:45:51 Sad I'm programming in js, so I'm stuck at objects and arrays 2011-10-29T15:45:55 I actually just need 3 of them - I do each food, and save a struct with ant/food/distance and an array of directions that get it closer to the target 2011-10-29T15:46:12 s/at/with/ 2011-10-29T15:46:17 ~20ms less 2011-10-29T15:46:19 *** danielharan has joined #aichallenge 2011-10-29T15:47:27 also make sure to pass them around by reference if you can (I don't know php, so I dunno if you can) 2011-10-29T15:47:36 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-29T15:47:48 php5.3 passes objects by ref, but i've had plenty of php4 experience :) 2011-10-29T15:47:55 so, yeah, i'm passing all structures by ref 2011-10-29T15:48:13 you have to clone objects to create separate clones ;-) 2011-10-29T15:48:39 avdg: can you use the fancy new stuff like typed arrays? 2011-10-29T15:49:02 I'm programming in js ;-) 2011-10-29T15:49:06 I know :) 2011-10-29T15:49:09 ah 2011-10-29T15:49:10 yeah 2011-10-29T15:49:13 but its limited 2011-10-29T15:49:19 it doesn't fit purpose 2011-10-29T15:49:31 avdg: are you trying to do it in php? 2011-10-29T15:49:49 no, I'm afraid I won't do this competition in php 2011-10-29T15:49:55 I know too much 2011-10-29T15:50:03 *** mediocrist has quit IRC (Ping timeout: 265 seconds) 2011-10-29T15:50:28 ?problem 2011-10-29T15:51:01 It just more interesting for doing it in a language you know less, but still know how to do it 2011-10-29T15:51:09 I've actually learned C++ while making my bot, I usually code in python 2011-10-29T15:51:09 pity objective-c isn't supported :P 2011-10-29T15:51:33 gotcha :) at the moment my goal is to share the code w/ the PHP user group I organize 2011-10-29T15:51:43 i might do a rewrite in C to hone my skills there 2011-10-29T15:52:06 yeah, I did know a fair bit of C before doing this but the C++ stuff is all new to me 2011-10-29T15:52:14 there's no way I would have tried doing it in C :P 2011-10-29T15:53:19 python could be interesting 2011-10-29T15:53:46 yeah, I started in python 2011-10-29T15:54:09 if you use py2 I'm pretty sure you can use numpy 2011-10-29T15:55:04 *** SavageSimian has joined #aichallenge 2011-10-29T15:57:29 *** HylianSavior has joined #aichallenge 2011-10-29T16:00:03 *** master_ninja has left #aichallenge 2011-10-29T16:00:17 *** B202 has joined #aichallenge 2011-10-29T16:03:06 *** henry61 has quit IRC (Ping timeout: 265 seconds) 2011-10-29T16:03:27 *** master_ninja has joined #aichallenge 2011-10-29T16:03:29 *** master_ninja has left #aichallenge 2011-10-29T16:04:30 I'm actually finding it a lot easier than I thought it would be to use C++ for this, the standard library has _almost_ all the data structures and stuff that I would be using in python 2011-10-29T16:05:12 C++0x has unordered_set and unordered_map which are the two things I'm missing that are in python, so hopefully support gets added for using -std=c++0x 2011-10-29T16:06:54 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-10-29T16:08:59 *** HypnoGenX has left #aichallenge ("Leaving") 2011-10-29T16:09:52 *** Laentir has quit IRC (Ping timeout: 265 seconds) 2011-10-29T16:11:03 thestinger: http://pastie.org/pastest/2779706/text 2011-10-29T16:11:41 http://pastie.org/pastes/2779706/text 2011-10-29T16:12:15 #S# is the ant, #E# is the food 2011-10-29T16:12:54 nice 2011-10-29T16:13:49 i'd like to reuse the map between turns, but i want to weight the map based other obstructions 2011-10-29T16:14:01 do you reuse this food map for all the ants? 2011-10-29T16:14:17 yeah, per food 2011-10-29T16:14:30 but i intend to rebuild per turn too 2011-10-29T16:14:36 so, i am atm 2011-10-29T16:14:45 yeah, that's how I do it 2011-10-29T16:15:12 i have to figure something out other than arrays then.. slow performance 2011-10-29T16:15:13 I was originally planning to use a BFS search just to measure distance to find the closest ant, but it makes sense to reuse it for pathfinding too 2011-10-29T16:15:23 yeah, it's good enough 2011-10-29T16:15:27 especially if you can weight it 2011-10-29T16:15:48 -1 for friendly -2 for enemy +1 for food along the way, etc 2011-10-29T16:16:19 *-1 2011-10-29T16:16:21 lol 2011-10-29T16:16:39 it's actually faster for me to make the entire BFS distance map for a food than to calculate manhattan distance 2011-10-29T16:16:59 not sure why my map is taking so long to calc 2011-10-29T16:17:31 using arrays & isset, and a queue stack 2011-10-29T16:17:32 well I mean making the distance is map is faster than calculating manhattan distance for _each_ ant 2011-10-29T16:17:34 thestinger: how are you calculating manhattan distance to make that the case? 2011-10-29T16:17:41 probably need to pass the point arrays by reference 2011-10-29T16:18:08 oh, I see what you mean 2011-10-29T16:18:18 and it gets me free pathfinding :) 2011-10-29T16:18:47 I'll still probably end up using the A* algorithm I coded, but not for food/hill attacking/exploration 2011-10-29T16:18:48 *** bearoff has joined #aichallenge 2011-10-29T16:18:51 *** twinfox has joined #aichallenge 2011-10-29T16:21:01 *** danielharan has joined #aichallenge 2011-10-29T16:22:11 synace: "An array in PHP is actually an ordered map." you should definitely the SplFixedArray thing 2011-10-29T16:22:30 for sure, just trying to get implementation right, then optimization 2011-10-29T16:22:51 *** SavageSimian has quit IRC () 2011-10-29T16:25:44 *** rj_ has joined #aichallenge 2011-10-29T16:28:07 *** twinfox has quit IRC (Quit: Page closed) 2011-10-29T16:28:19 *** jzknight has quit IRC (Ping timeout: 256 seconds) 2011-10-29T16:29:25 *** smf68 has joined #aichallenge 2011-10-29T16:30:21 < synace> but i intend to rebuild per turn too ← why? vision radius is slighty larger than 8 cells, you can refresh them every four (or even more) turns. or, every turn refresh the oldest map you have 2011-10-29T16:30:22 *** twinfox has joined #aichallenge 2011-10-29T16:30:45 *** aaaaa_ has joined #aichallenge 2011-10-29T16:30:59 Fluxid: my initial thought was 3 turn refresh 2011-10-29T16:31:37 *** thisPat has quit IRC (Ping timeout: 265 seconds) 2011-10-29T16:31:41 Fluxid: but intend to update the map to reflect ant movements, enemies, etc 2011-10-29T16:31:44 meh, my bot timed out locally, so the timeout on the server is probably more a rare bug in my code 2011-10-29T16:31:45 *** twinfox has quit IRC (Client Quit) 2011-10-29T16:31:50 3 or 4 may be a good cycle 2011-10-29T16:32:17 instead of updating whole map every X ticks, it's better to update 1/x'th of the map, every tick 2011-10-29T16:32:47 *** AxVapor has joined #aichallenge 2011-10-29T16:32:58 I try to interrupt the pathfinder event based 2011-10-29T16:33:08 actually, the moves 2011-10-29T16:34:15 *** neekl has joined #aichallenge 2011-10-29T16:34:17 about pathfinding, just found: http://www.ai-blog.net/archives/000152.html 2011-10-29T16:34:18 hello 2011-10-29T16:34:42 thestinger: thanks for SplFixedArray 2011-10-29T16:34:47 i got that problem when i try to launch play_live.sh 2011-10-29T16:34:49 http://pastebin.com/Zu4bjFM6 2011-10-29T16:35:31 SplFixedArray is much faster for the map tables 2011-10-29T16:35:45 read through the rest of the Spl classes 2011-10-29T16:36:00 avdg: hey - I created an account on github and made an RSA keypair and uploaded my public key... the help pages say to set git config --global user.name and user.email - but I already have those set to different values for my work access - can I set it different for the github repos? 2011-10-29T16:36:48 hmm I'm not quite good informed about ssh issues, srr 2011-10-29T16:37:05 can anyone help me ? (sorry i forgot to ask ^^) 2011-10-29T16:37:25 avdg: actually it's more a git config question - if I can have a different setting for this repo 2011-10-29T16:37:30 jab_bott: but you can however change the settings for a local repo 2011-10-29T16:37:40 check the .git folder 2011-10-29T16:38:32 there is a file called config 2011-10-29T16:38:56 these are the same set of settings as in the global git config file 2011-10-29T16:39:05 #git channel ? 2011-10-29T16:39:14 *** HylianSavior has quit IRC (Read error: Connection reset by peer) 2011-10-29T16:39:21 just applied locally but not tracked by the repo itself 2011-10-29T16:40:39 synace: >> SplFixedArray is much faster for the map tables - here stated that it is only creation faster, not work - http://www.php.net/manual/en/class.splfixedarray.php#95125 2011-10-29T16:41:01 bearoff: right, the problem is populating the array 2011-10-29T16:41:04 avdg: ahh yeah git config --local looks like it modifies that file 2011-10-29T16:41:13 allocation & growing the list is slow 2011-10-29T16:41:34 *** bunky has joined #aichallenge 2011-10-29T16:42:33 *** rioniac has joined #aichallenge 2011-10-29T16:42:41 in fact, i have no a real huge arrays 2011-10-29T16:42:49 is the CoffeeScript starterpack supposed to work out of the box? I keep getting anonymous function errors. 2011-10-29T16:43:07 whereas Javascript seems to work fine for me 2011-10-29T16:43:07 may be array of cashed paths is the biggest 2011-10-29T16:43:09 bunky: i got errors too 2011-10-29T16:43:26 bunky: nobody answered me so far ... 2011-10-29T16:43:29 is there a way to disable the "food not being gathered" things locally for testing? 2011-10-29T16:43:31 thnx neek1 thought i was going crazy.. 2011-10-29T16:44:00 bunky: it seem that project is 8 month old 2011-10-29T16:44:14 it seems very odd that the starter package does not work natively 2011-10-29T16:44:22 i checked all my versions 2011-10-29T16:44:40 i got java 6, python 2.7.1 2011-10-29T16:44:41 yeah i hear ya - i'm coffee 1.1.2 (which is what the starterpack listing page says is the right environ) 2011-10-29T16:44:53 yep same 2011-10-29T16:45:17 i can't wait to kick but with my ai ... 2011-10-29T16:45:24 s/but/buts 2011-10-29T16:45:36 :) 2011-10-29T16:45:37 avdg: Got it sorted - the github help pages are really well written!! 2011-10-29T16:45:45 :-) 2011-10-29T16:45:52 s/buts/butts 2011-10-29T16:46:41 !help 2011-10-29T16:47:19 *** KUK has joined #aichallenge 2011-10-29T16:48:30 it's an ai challenge, there should necessarily be an irc bot here ! 2011-10-29T16:49:15 avdg: now that I've forked the aichallenge project, do I need to explicitly merge changes across to mine, or is there something like an inter-repository pull? 2011-10-29T16:50:02 Just to be clear your ants are allowed to have global knowledge right? 2011-10-29T16:50:30 fluxid, whoever wrote that article, seems to not know how to use(or make) waypoint graphs 2011-10-29T16:50:43 AxVapor: yeah - effectively you only have one bot, not many.. it knows everything that you've been told so far and whatever it can infer for itself :P 2011-10-29T16:50:45 jab_bott: not really, if it merges, it merges fine 2011-10-29T16:51:18 AxVapor: if you choose to implement individual ants as a part of how your single bot operates, that's just an implementation detail 2011-10-29T16:51:19 burny: dunno, i'm not a gamedev, whereas he seems to be one 2011-10-29T16:51:25 a wayopint graph, is really not much different atall, than a complete static A* graph 2011-10-29T16:51:26 jab_bott: Thanks :) 2011-10-29T16:52:28 guys really, nobody can help us with our "installations" issues ? 2011-10-29T16:52:54 jab_bott: you actually don't have to worry about merges at all, unless there are conflicts, but these are pretty rare 2011-10-29T16:53:35 just requesting a branch to merge is more than enough 2011-10-29T16:54:06 avdg: go on #git channel budd 2011-10-29T16:54:49 *** aaaaa_ has quit IRC (Ping timeout: 265 seconds) 2011-10-29T16:55:04 *** B202 has quit IRC (Quit: Ex-Chat) 2011-10-29T16:55:16 the only thing in that article I agree with.. is that pathfindign is basically 'solved', and that many/most games, still do it badly 2011-10-29T16:55:50 neek: can only say that I have errors with python 3, and no errors with python 2.72 - but I don't remember if my errors look like yours 2011-10-29T16:56:06 missed l in neekl 2011-10-29T16:56:09 burny: that's because there are too much people that don't think outthere 2011-10-29T16:56:46 agree 2011-10-29T16:56:55 bearoff: my error i basically when i move the mouse on the graphical interface, my game crushs 2011-10-29T16:57:13 wow that sentance was messed up 2011-10-29T16:57:41 where I work, we made path finding 3 times. and all 3 times, the person doing it talked to me early in their design/dev, and all 3 times I told them what was wrong with it, and they ignored me and continued makign broken pathfinding anyway 2011-10-29T16:57:45 when i move the mouse, the game crushes 2011-10-29T16:58:04 burny: you have a team ? 2011-10-29T16:58:15 burny: make it alone :P 2011-10-29T16:58:27 it's not my company 2011-10-29T16:58:29 burny: it's a big thinking for a small implementation 2011-10-29T16:58:38 oh 2011-10-29T16:58:42 *** KUK has quit IRC (Quit: Page closed) 2011-10-29T16:58:42 i thought you were a student 2011-10-29T16:58:49 ahh 2011-10-29T16:58:57 *** thisPat has joined #aichallenge 2011-10-29T16:58:57 wy a compagny would win that kind of contest ? 2011-10-29T16:59:23 erm.. it has nothing to do with this contest 2011-10-29T16:59:31 oh ^^ 2011-10-29T16:59:37 why are you here ? 2011-10-29T16:59:49 avdg: ahh I see - I have to add the original one as another remote 2011-10-29T16:59:57 for the contest? 2011-10-29T17:00:17 yup 2011-10-29T17:01:02 jab_bott: you have to go on #git 2011-10-29T17:01:37 jab_bott: or on google RTFM 2011-10-29T17:01:37 jab_bott: what's going on? 2011-10-29T17:01:59 *** jstemmer has quit IRC (Ping timeout: 258 seconds) 2011-10-29T17:03:14 jab_bott: yeah, remotes are something completely different 2011-10-29T17:03:36 amstan: I forked aichallenge and got it all set up - I'm learning so much all at once, all about git, github, python, and javascript 2011-10-29T17:04:07 jab_bott: you want your origin remote to be your own forked repo, and your upstream remote to be aichallenge/aichallenge 2011-10-29T17:04:08 jab_bott: 2011-10-29T17:04:10 *** Cybsy has quit IRC (Ping timeout: 258 seconds) 2011-10-29T17:04:23 jab_bott: that way to can dev on your own, but keeping up to date is easy 2011-10-29T17:04:34 amstan: can you halp me with starter package problem, i got that error report: http://pastebin.com/Zu4bjFM6 2011-10-29T17:04:40 *** [1]analyst74 <[1]analyst74!~analyst74@74-115-199-33.eng.wind.ca> has joined #aichallenge 2011-10-29T17:05:05 neekl: i think it got fixed recently, you should download the tools again 2011-10-29T17:05:08 neekl: hold on a sec 2011-10-29T17:05:21 i just got it 10 minute ago :P 2011-10-29T17:05:32 neekl: what does it say for last change? 2011-10-29T17:06:07 amstan: do you mean the last commit ? 2011-10-29T17:06:12 yes 2011-10-29T17:06:24 amstan: the github help pages are amazingly well written 2011-10-29T17:06:35 alright let's finally write some code 2011-10-29T17:06:43 jab_bott: yeah, when i learned this stuff i didn't use them, it was a pain 2011-10-29T17:07:18 *** Fandekasp has quit IRC (Ping timeout: 255 seconds) 2011-10-29T17:07:26 neekl: note mleise's commit at the bottom: https://github.com/aichallenge/aichallenge/commits/epsilon 2011-10-29T17:07:32 *** UnaskedWriter has joined #aichallenge 2011-10-29T17:07:36 *** analyst74 has quit IRC (Ping timeout: 240 seconds) 2011-10-29T17:07:36 *** [1]analyst74 is now known as analyst74 2011-10-29T17:07:36 neekl: if you have a commit above that you're good 2011-10-29T17:07:38 amstan: now that I've got that sorted - hopefully I'll be asking some relevant questions about the ants.py, and visualizer js code :D 2011-10-29T17:07:56 jab_bott: did you manage to compile the visualizer? 2011-10-29T17:08:23 *** Redgis has joined #aichallenge 2011-10-29T17:09:27 amstan: yeah - but I'm not even sure you need to tbh - I think the visualizer.jar file is only for a stand-alone version but if you run in a browser then you don't need it 2011-10-29T17:09:44 good point 2011-10-29T17:10:12 amstan: the starter package is in fact different from the git version 2011-10-29T17:10:20 *** Cybsy has joined #aichallenge 2011-10-29T17:10:30 neekl: starter package? i'm talking about the tools 2011-10-29T17:10:35 amstan: another problem is that i'm using a mac tight now 2011-10-29T17:10:41 *** cowbandit has joined #aichallenge 2011-10-29T17:10:43 amstan: the tools yes 2011-10-29T17:10:56 what version is your tools? 2011-10-29T17:11:37 amstan: fc916badf7eb7eed1b27d0d33918474527503054 2011-10-29T17:11:46 This tools package was published on Wed Oct 26 20:46:52 UTC 2011. 2011-10-29T17:12:18 neekl: update it 2011-10-29T17:12:24 i just repackaged them 2011-10-29T17:12:35 *** pgoldbr has joined #aichallenge 2011-10-29T17:12:36 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-29T17:13:49 amstan: i did update it but i can't install it on mac 2011-10-29T17:13:57 why not? 2011-10-29T17:13:58 mac os x tiger 2011-10-29T17:14:09 it's cross platform, should work 2011-10-29T17:14:42 *** jstemmer has joined #aichallenge 2011-10-29T17:14:45 Error on setup.py execution: Installing on an unknown non-Ubuntu host. 2011-10-29T17:15:57 neekl: what is going on? what are you trying to do? 2011-10-29T17:16:13 mac schmac 2011-10-29T17:16:23 neekl: there is no setup.py in the tools package 2011-10-29T17:16:45 neekl: the only setup is for the contest itself, do not execute that unless you want your comp to be turned into a contest server 2011-10-29T17:16:57 Good afternoon, gentleman. I'm currently coding my defensensive actions and can't decide on the best hill defense formation. From your experience, is it better to have the ants stand on each of the 4 sides or on the diagonals? 2011-10-29T17:17:10 amstan: i want to be a contest server 2011-10-29T17:17:36 neekl: i tought we were trying to solve a visualizer error 2011-10-29T17:18:10 Anyone using D*? 2011-10-29T17:18:24 i'm feeling a temptation to share a screenshot of my dev environment: http://i.imgur.com/4HMG2.png 2011-10-29T17:18:36 amstan: i'm tryin everything :P 2011-10-29T17:18:52 amstan: also i got a new error about the visulizer error 2011-10-29T17:19:00 *** Fandekasp has joined #aichallenge 2011-10-29T17:19:02 amstan: now when i try to execute the script i got : Unable to access jarfile visualizer.jar 2011-10-29T17:19:04 jmcarthur: what wm is that? i3? 2011-10-29T17:19:08 xmonad 2011-10-29T17:19:16 pgoldbr: think about the focus-based attack settling mechanism - a square will be vulnerable at the corners, a circle will be vulnerable because it's smaller than an encroaching circle from attacking ants... so you really need to adapt your defence according to the attack formation of the enemy if you want a good one :P 2011-10-29T17:19:19 Fandekasp: salut adri 2011-10-29T17:19:33 why would you think people using haskell aren't using xmonad, lol 2011-10-29T17:19:39 :P 2011-10-29T17:20:01 it's pretty good bet, at least, that if a haskell has a tiling window manager that it's going to be xmonad 2011-10-29T17:20:04 some of the beginner bots behaviour produce funny results http://aichallenge.org/visualizer.php?game=30946 2011-10-29T17:20:12 *haskeller 2011-10-29T17:20:19 *** bunky has quit IRC (Quit: Page closed) 2011-10-29T17:20:29 jmcarthur: vi? 2011-10-29T17:20:30 yellow looks to be a defaultbot with implemented "do not kill own ants" 2011-10-29T17:20:34 amstan: emacs 2011-10-29T17:20:41 prepetuum* 2011-10-29T17:20:46 jmcarthur: can you try this for me? 2011-10-29T17:20:55 jmcarthur: C-H rms-travel-instructions 2011-10-29T17:21:02 and the font is terminus I guess? 2011-10-29T17:21:03 lol 2011-10-29T17:21:05 yes 2011-10-29T17:21:20 on my current monitor terminus doesn't work well :( 2011-10-29T17:21:22 or s/instructions/rider 2011-10-29T17:21:26 it's either too small or too big 2011-10-29T17:21:38 jmcarthur: is it real? 2011-10-29T17:21:57 :D basic bot without collisions 2011-10-29T17:22:05 amstan: i'm not getting anything interesting 2011-10-29T17:22:11 bawww 2011-10-29T17:22:21 aarossig: apparently it's not real 2011-10-29T17:22:40 jab_bott: thanks! 2011-10-29T17:22:41 thestinger: i agree that terminus (and bitmap fonts in general) is a tough one to use well 2011-10-29T17:22:42 jcdnyc: cool, a user of tiling vm 2011-10-29T17:22:52 Fluxid: I like prepetuum's bot 2011-10-29T17:23:36 *** blackwol` has quit IRC (Ping timeout: 240 seconds) 2011-10-29T17:23:47 avdg: me too 2011-10-29T17:23:57 amstan: it could be real. that could just be the wrong shortcut 2011-10-29T17:24:24 *** thestinger has quit IRC (Quit: WeeChat 0.3.6) 2011-10-29T17:24:41 Fluxid: its actually accidentally killing hills 2011-10-29T17:24:58 i'll say it preemptively. emacs is a great operating system, but its text editor sucks. 2011-10-29T17:25:12 avdg: that's the best part 2011-10-29T17:25:19 *** thestinger has joined #aichallenge 2011-10-29T17:25:27 http://fluxid.pl/misc/2011-10-29-231939_1920x1200_scrot.png mine env is less organized 2011-10-29T17:25:47 wow, that game is so funny - yellow kicks-ass with possibly the dumbest strategy ever 2011-10-29T17:26:33 Fluxid: hmm... flux? 2011-10-29T17:26:50 jmcarthur: ? 2011-10-29T17:26:54 Fluxid: Nice code there 2011-10-29T17:27:02 Fluxid: wm? 2011-10-29T17:27:09 Fluxid: i'm guessing not fluxbox 2011-10-29T17:27:13 jmcarthur: wmii 2011-10-29T17:27:16 ah 2011-10-29T17:27:34 i don't know my lightweight non-tiling wms very well 2011-10-29T17:27:50 *** capt_wilkerson has joined #aichallenge 2011-10-29T17:27:52 wmii is mostly a tiling wm 2011-10-29T17:28:07 normally i'd have the terminals on the right in column, but i needed to widen them often, so its floating layer 2011-10-29T17:28:21 Fluxid: how do you get that in-editor console? 2011-10-29T17:28:23 *** UnaskedWriter has quit IRC (Quit: Page closed) 2011-10-29T17:28:23 i see 2011-10-29T17:28:36 avdg: i don't have in-editor console 2011-10-29T17:28:48 screen? 2011-10-29T17:28:55 avdg: minimal and tiling window managers often make multiple apps seem more cohesive 2011-10-29T17:29:01 avdg: what do you mean exactly 2011-10-29T17:29:05 nvm 2011-10-29T17:29:43 i3 keeps floating windows on a higher layer than tiled ones, and I think wmii and dwm do the same 2011-10-29T17:30:00 thestinger: same case here 2011-10-29T17:30:02 Fluxid: so is that an accordian layout of some sort. i see tab-like things as the top 2011-10-29T17:30:17 xmonad does that with floating windows as well 2011-10-29T17:30:21 more like stacks, wmii doesn't have tabs 2011-10-29T17:30:30 wmii has columns of stacked windows 2011-10-29T17:30:36 yeah that i think is also what i meant 2011-10-29T17:30:40 :) 2011-10-29T17:30:51 and it works well with multiple monitors 2011-10-29T17:30:59 xmonad can do that 2011-10-29T17:31:14 many people read on some old forum threads wmii doesn't support xrandr/xinerama/multihead in general 2011-10-29T17:31:20 but it works really well 2011-10-29T17:31:29 yeah i would be surprised if i read that 2011-10-29T17:32:08 i use wmii for over 4 years... 2011-10-29T17:32:09 multihead is something simple wms seem to do better than their larger counterparts :) 2011-10-29T17:32:22 *** Migi32 has joined #aichallenge 2011-10-29T17:32:27 yeah i've been on xmonad i think about the same amount of time 2011-10-29T17:32:36 a little less maybe 2011-10-29T17:32:36 nostalgia 2011-10-29T17:33:04 amstan: damn... i was hoping I could read rms-travel instructions at any time 2011-10-29T17:33:13 what's the time limit actually? I've been assuming 1 second like last year, but is it really 1s? 2011-10-29T17:33:21 500ms now 2011-10-29T17:33:25 oh 2011-10-29T17:33:38 good that I asked then :P 2011-10-29T17:33:50 Migi32: it is told at the beginning of each game 2011-10-29T17:33:55 in the parameters 2011-10-29T17:34:14 and you can see it from replays by clicking on the bot input button 2011-10-29T17:35:34 ok. Thanks. 2011-10-29T17:36:51 is it always going to be 500ms or can this parameter still change? I ask because not all algorithms can break early if time is running out, and need a certain time to complete. If that turntime parameter is less than what your algoritm needs, you're screwed :) 2011-10-29T17:37:32 Migi32: i think it's specified when the game starts 2011-10-29T17:37:40 so if it does change, you can hook it up to that 2011-10-29T17:38:08 Migi32: i would recommend reading it in at the start and running a timer with a fallback in case your main algorithm is about to time out 2011-10-29T17:38:39 Migi32: and if applicable, adjusting parameters in your algorithm depending on the time available 2011-10-29T17:38:51 *** janzert has joined #aichallenge 2011-10-29T17:38:52 no, I mean, what's the lower limit this turntime parameter can be? If it's lower than some amount, some approaches might simply not work 2011-10-29T17:38:58 ah yeah 2011-10-29T17:39:08 Migi32: it's probably going to stay 500ms 2011-10-29T17:39:11 i don't know if such a limit is specified, but i agree it would be nice to have 2011-10-29T17:39:16 extreme example: if you say turntime = 1ms, you will need completely different algorithms 2011-10-29T17:39:53 games would so much faster! ;) 2011-10-29T17:40:23 *** Fandekasp has quit IRC (Ping timeout: 245 seconds) 2011-10-29T17:40:41 there's a 1 ms chess competition. It's very interesting :) 2011-10-29T17:40:45 heh 2011-10-29T17:40:47 amstan: Can you link issues to forks in github? for example issue #336 that you created - or should I just comment with an actual link? 2011-10-29T17:41:17 jab_bott: i think it automatically links numbers with a pound in front to the issues 2011-10-29T17:41:25 either way, you can modify it later 2011-10-29T17:41:29 if it doesn't work 2011-10-29T17:42:19 amstan: no, I mean inter-link between the issue and the new fork? 2011-10-29T17:42:28 sure 2011-10-29T17:45:23 *** xar0l has quit IRC (Quit: Page closed) 2011-10-29T17:46:33 this is my first day of snow in new york 2011-10-29T17:46:46 this is going to be a colder winter than i am used to 2011-10-29T17:49:14 *** janzert has quit IRC (Read error: Connection reset by peer) 2011-10-29T17:50:01 *** McLeopold has left #aichallenge 2011-10-29T17:50:09 *** McLeopold has joined #aichallenge 2011-10-29T17:50:33 amstan: thx by the way ! 2011-10-29T17:51:15 <_flag> hellov 2011-10-29T17:51:33 <_flag> s/v// 2011-10-29T17:52:04 <_flag> Is ants.fluxid.pl still the main tcp? 2011-10-29T17:55:53 that's what I'm using atm 2011-10-29T17:56:30 <_flag> You are? 2011-10-29T17:57:40 *** thisPat has quit IRC (Quit: Page closed) 2011-10-29T17:59:16 *** pgoldbr has quit IRC (Quit: Page closed) 2011-10-29T18:02:21 i'm too, all the cool ppl are there! 2011-10-29T18:02:25 aichallenge: janzert epsilon * rcde6759 / website/profile_submissions.php : Add missing ; - http://git.io/Z1Qylw 2011-10-29T18:02:34 *** janzert has joined #aichallenge 2011-10-29T18:02:39 *** neekl has quit IRC (Quit: Page closed) 2011-10-29T18:04:00 *** mj41 has quit IRC (Ping timeout: 255 seconds) 2011-10-29T18:04:10 <_flag> I'm just asking because the top bots on the main server don't seem to be playing anywhere 2011-10-29T18:04:15 aichallenge: janzert epsilon * r1b8c623 / website/login.php : Correct tense of verbiage - http://git.io/CvJsXQ 2011-10-29T18:04:25 *** new_ has quit IRC (Ping timeout: 265 seconds) 2011-10-29T18:04:29 <_flag> And I wouldn't like to miss out :) 2011-10-29T18:04:33 amstan: do you know much about the visualizer js code? 2011-10-29T18:04:51 jab_bott: mleise made it 2011-10-29T18:05:28 amstan: I've been looking through ants.py and figured out how/where to add code to process visualizer commands and ensure they get sent in the replay data 2011-10-29T18:05:43 *** Areks has quit IRC (Read error: Connection reset by peer) 2011-10-29T18:05:49 Does anyone know how C++ submissions are built on the server? Are they linking with libefence or anything like that? 2011-10-29T18:06:04 @repo 2011-10-29T18:06:05 amstan: repo could be https://github.com/aichallenge/aichallenge. 2011-10-29T18:06:08 wilsone: see worker/compiler.py 2011-10-29T18:09:17 amstan: is it ok to add a 'v' command to parse_orders to send things to the visualizer? 2011-10-29T18:09:37 idk 2011-10-29T18:09:41 try it 2011-10-29T18:09:48 amstan: I'm gonna need to talk to mleise to figure out the best format that the visualizer can cope with 2011-10-29T18:10:06 when i suggested it to him, he wanted to wait till next contest for debugging 2011-10-29T18:10:10 but if you're so eager 2011-10-29T18:11:08 amstan: ahh I see - he did mention that the js code is not all that easy, but so far the python I've looked at it seems really easy to add the required output to the replay JSON 2011-10-29T18:11:38 aichallenge: janzert epsilon * r1a5bcdb / website/check_forgot.php : Check if we have an email address with the email variable - http://git.io/9lgcog 2011-10-29T18:11:57 *** olexs has quit IRC (Quit: Leaving.) 2011-10-29T18:12:33 meh, thats why I like node.js :-) It has just the thing I wanted 2011-10-29T18:12:38 basically mleise is finished adding features to the visualizer and is just doing bug fixing for it now 2011-10-29T18:22:15 *** Kei-kun has joined #aichallenge 2011-10-29T18:22:24 Bonjour 2011-10-29T18:24:01 _flag: who are you on the main server? FlagCapper? 2011-10-29T18:24:09 <_flag> Fluxid: yes 2011-10-29T18:24:37 ah, you uploaded new code 2011-10-29T18:24:45 that's why i was missing you from the top 2011-10-29T18:24:46 Fluxid, why had food a different color on fluxid.pl? 2011-10-29T18:24:52 has* 2011-10-29T18:24:53 HaraKiri: old visualizer 2011-10-29T18:25:02 oh.. is it getting updated? 2011-10-29T18:25:18 ask ash0d or accoun 2011-10-29T18:25:23 *** mceier has quit IRC (Quit: leaving) 2011-10-29T18:25:33 es-ce qu'il y'a quelqu'un parlent franais par ici s'il vous plait ? 2011-10-29T18:25:36 no, i'm shy :D 2011-10-29T18:25:43 ;) 2011-10-29T18:25:50 <_flag> The tcp server was made by berak, and he hasn't been on in awhile 2011-10-29T18:25:57 <_flag> So you're probably going to have to update it yourself 2011-10-29T18:25:59 ah, sorry 2011-10-29T18:26:03 right, berak 2011-10-29T18:26:50 *** Kei-kun has left #aichallenge 2011-10-29T18:27:23 i wonder what Kei-kun meant 2011-10-29T18:27:33 Kei-chan 2011-10-29T18:27:59 <_flag> I think he's asking if anyone speeks French 2011-10-29T18:28:56 *** slow_ has joined #aichallenge 2011-10-29T18:29:00 Je parle un petit peu francais, mais ce n'est pas trés bien ;-) (I talk a bit French, but it isn't good French) 2011-10-29T18:29:44 je n'entende rien! 2011-10-29T18:30:44 Je parle français aussi mes je ne suis pas au courant avec toute les termes de programmation française. 2011-10-29T18:30:58 ;) 2011-10-29T18:31:05 i hate french :( 2011-10-29T18:31:24 meh, I just need to learn it the natural way 2011-10-29T18:31:26 let's stay with english, okay? 2011-10-29T18:31:36 AxVapor: I think people mostly use english terms for programming, because that's what the programming languages use :) 2011-10-29T18:32:20 thestinger: don't underestimate the french 2011-10-29T18:33:02 *** TCoZ has quit IRC (Quit: ...;) 2011-10-29T18:33:15 Yeah they do, although in high school when I took vb the book had terminology in french but the code was obviously not french. 2011-10-29T18:33:46 :-) some french people don't like english 2011-10-29T18:34:06 oh well 2011-10-29T18:34:25 (so they invent their own words) 2011-10-29T18:35:08 avdg: some [people type here] don't like [people type here] 2011-10-29T18:35:52 i wonder, anyone else besides me who has not written an AI for the challenge? 2011-10-29T18:36:35 I didn't wrote a full ai ;-) 2011-10-29T18:37:09 hmmm, I still need to make my ants flow better - right now I don't give them an order to move into a location if there's an ant there without a move order yet 2011-10-29T18:37:19 meh, still 260 people in front of me 2011-10-29T18:37:32 I am thinking of writing some debug tools in node 2011-10-29T18:37:36 js 2011-10-29T18:37:50 *** pvarga has joined #aichallenge 2011-10-29T18:38:32 you can see the problem I have here http://ants.fluxid.pl/replay.12287 (I'm strcat), my ants move really inefficiently around corners :( 2011-10-29T18:39:32 meh, someone is trying to do something really hard 2011-10-29T18:39:53 around turn 270 is a good example 2011-10-29T18:40:07 do you have any previous experience with AIs? 2011-10-29T18:40:30 thestinger: which one is you? 2011-10-29T18:40:45 strcat 2011-10-29T18:41:20 I guess I could go back through all the ants that haven't moved at the end of the turn and see if their paths are clear now 2011-10-29T18:41:37 <_flag> Fluxid: where is your server hosted? 2011-10-29T18:41:58 _flag: hetzner er 4 2011-10-29T18:42:01 eq* 2011-10-29T18:42:03 I'd like for them not to end up spread out like they do now because the one in back tries to move before the one in front 2011-10-29T18:42:31 so it takes twice as long to get around a corner 2011-10-29T18:42:45 <_flag> Hmmm... I still can't tell if the timeouts I'm getting are my fault or a ping issue 2011-10-29T18:43:02 *** n4nd0 has joined #aichallenge 2011-10-29T18:43:14 atm I have them try moving in each direction that brings them closer to their target so they do sometimes manage to move around an obstacle quickly as a group 2011-10-29T18:43:33 _flag: I'm trying to solve that by simulating it locally 2011-10-29T18:43:46 <_flag> avdg: I do that, and I never timeout on my computer 2011-10-29T18:43:58 hmm, did you log the time? 2011-10-29T18:44:04 <_flag> Yes 2011-10-29T18:44:13 nothing unusual? 2011-10-29T18:44:16 <_flag> No 2011-10-29T18:44:29 which language? 2011-10-29T18:44:31 <_flag> C 2011-10-29T18:44:32 *** nacmartin has quit IRC (Quit: Leaving) 2011-10-29T18:44:36 hrm - I'm just looking why there's no switch in python, and the suggested alternative is a dictionary - but do the various values in the dict get processed - i.e. all of them are processed? or are they only processed when accessed and therefore only one will be processed? 2011-10-29T18:45:28 <_flag> I would be fairly sure that it's not my problem, but they seem to happen just often enough that I'm not entirely sure 2011-10-29T18:45:37 jab_bott: do you mean filling the dict with functions/lambdas? 2011-10-29T18:45:47 thestinger: yeah, that :) 2011-10-29T18:46:09 switch is not much different from a couple of if/ else ifs 2011-10-29T18:46:12 <_flag> Last contest I had no problem using tcp 2011-10-29T18:46:22 <_flag> But this server is across the ocean, so that may be the problem 2011-10-29T18:46:29 well if you do {}.get(key)() it will only run the function that it gets 2011-10-29T18:46:41 thestinger: I see 2011-10-29T18:47:21 you can also {}.get(key, default), which is more like a switch but without fallthrough 2011-10-29T18:47:56 *** bearoff has left #aichallenge 2011-10-29T18:48:58 it's somewhat confusing though when your value is a function that modifies a class.. for example { 'a' : list_of_a.append(thing), 'b' : list_of_b.append(thing) }.get(key) 2011-10-29T18:49:42 you could make it a lot simpler by moving the actual function/method call outside of the function 2011-10-29T18:50:01 I mean outside of the dictionary 2011-10-29T18:50:07 or make it static ;-) 2011-10-29T18:50:08 *** goffrie has quit IRC (Remote host closed the connection) 2011-10-29T18:50:16 dunno in language it is 2011-10-29T18:50:22 *which 2011-10-29T18:50:24 I think I'll just do a load of if statements! 2011-10-29T18:51:08 well there's only two for now, but since I'm learning python as I go along I thought I'd check :D 2011-10-29T18:51:28 thestinger: i want to prune dead-ends from my bfs 2011-10-29T18:51:44 *** BeeGee has joined #aichallenge 2011-10-29T18:52:02 synace: not sure what you mean 2011-10-29T18:52:10 thestinger: if you remember: http://pastie.org/pastes/2779706/text you can see a lonely 5 2011-10-29T18:52:38 if i were to pick that (only checking neighbors) and not neighbors' neighbors, they would get stuck 2011-10-29T18:52:45 *** smiley1983 has quit IRC (Quit: Lost terminal) 2011-10-29T18:52:52 just looking for 5 brings nice structure in the data :-) 2011-10-29T18:52:57 so, since there's no 6 touching the 5, it should prine 2011-10-29T18:53:01 prune* 2011-10-29T18:53:09 well, I only move to a neighbour if it has a lower value than the current location 2011-10-29T18:53:21 so my ants would never move from the 4 to the 5 2011-10-29T18:54:09 *** BeeGee has quit IRC (Client Quit) 2011-10-29T18:54:26 thestinger: for my 'explore', i move to higher from the hill 2011-10-29T18:54:41 *** savaron has quit IRC (Ping timeout: 265 seconds) 2011-10-29T18:55:20 ah, for my exploration distance map I loop through all the unseen locations, mark them as 0 then do my BFS search 2011-10-29T18:55:44 my search stops when it finds a location that has a lower value than the parent node's value, so it's pretty fast 2011-10-29T18:56:12 I don't think that would work in php/python though 2011-10-29T18:56:30 you could do something like pick out 5 unseen locations that are far from your hill and generate a distance map with those 2011-10-29T18:57:17 *** HaraKiri has quit IRC () 2011-10-29T18:57:19 i think i'm gonna do bfs 2x for hills 2011-10-29T18:57:24 get 'farthest' distance 2011-10-29T18:57:28 then bfs that from hil 2011-10-29T18:57:45 rebuild every 4 turns or so as more unseen are seen 2011-10-29T18:58:02 *** Savaron has joined #aichallenge 2011-10-29T18:58:36 *** rogual has quit IRC (Quit: This computer has gone to sleep) 2011-10-29T18:59:00 hi, is it possible to calculate the direction without knowing the amount of rows and cells of the map? 2011-10-29T18:59:24 not if you want to handle wrapping 2011-10-29T18:59:59 thats unfortunate ;) 2011-10-29T19:00:15 well, you could figure out the direction without wrapping, and then handle wrapping of the direction when you do something with it 2011-10-29T19:00:25 you get rows/cols at the start of the game though 2011-10-29T19:01:41 sure, but it would be nicer the other way ;) 2011-10-29T19:01:55 why does invalid.append((line, 'unknown action')) have double brackets? 2011-10-29T19:02:40 t = 'a', 'b' becomes a tuple, you need () in a function call as separators 2011-10-29T19:02:56 t = ('a', 'b') is usually what people use for tuples, because you sometimes need () 2011-10-29T19:05:38 python is easy anyway 2011-10-29T19:05:54 compared to perl.... 2011-10-29T19:06:51 *** devnull_ has joined #aichallenge 2011-10-29T19:07:35 *** n4nd0 has quit IRC (Read error: Connection reset by peer) 2011-10-29T19:07:46 *** n4nd0 has joined #aichallenge 2011-10-29T19:08:22 @later tell McLeopold the email did work for me 2011-10-29T19:08:22 janzert: As you wish. 2011-10-29T19:09:14 aichallenge: janzert epsilon * rc7175a8 / website/check_forgot.php : At least tell the user if email sending fails - http://git.io/-_86PQ 2011-10-29T19:09:32 thestinger: inverting the graph & doing shortest works well 2011-10-29T19:10:17 aichallenge: janzert epsilon * re5c6971 / website/change_password.php : Add missing $ - http://git.io/EJ5YsA 2011-10-29T19:10:22 *** rajanaresh has joined #aichallenge 2011-10-29T19:10:26 thestinger: so what would invalid.append(line, 'string') do - with only one set? 2011-10-29T19:10:53 thestinger: or are you saying it's the same but the () around the tuple for consistency? 2011-10-29T19:11:13 append(line, 's') gives append two arguments, which is invalid 2011-10-29T19:11:13 no, the append call would raise an exception since it expects only one argument 2011-10-29T19:11:41 ahh ok - so it's to force it to be processed as a tuple 2011-10-29T19:11:55 * janzert is not disagreeing with thestinger ;) 2011-10-29T19:11:58 and x = a, b is a short-hand that doesn't need a force? 2011-10-29T19:12:12 * janzert nods 2011-10-29T19:12:17 yeah, but you pretty much need () everywhere 2011-10-29T19:12:39 btw, (1) is not a tuple - you need (1,) because the () is just to separate it basically 2011-10-29T19:12:43 jab_bott: () is an empty tuple, (1,) is 1-tuple 2011-10-29T19:13:03 you append a tuple to list, that's why double-paren 2011-10-29T19:13:23 jab_bott: btw here's something to think about consider what "a, b = b, a" is doing 2011-10-29T19:13:26 this python malarky is pretty easy - I'm editing this file without any prior experience just inferring the language from what's already there :D 2011-10-29T19:13:43 you also need () doing something like '5 in (1, 2, 5)' 2011-10-29T19:14:10 janzert: well it's either swapping them or assigning them both to b, depending on the semantics 2011-10-29T19:14:16 i like tuples, but i don't like the "option" to add brackets around tuple 2011-10-29T19:14:38 it's swapping them, but I meant more the underlying mechanics of it 2011-10-29T19:14:46 *** rajanaresh has left #aichallenge 2011-10-29T19:14:54 python is strict, but stuff like a = function_call(), and then debugging why the fuck function_all returns a tuple... 2011-10-29T19:14:57 the automatic building and unpacking of the tuple 2011-10-29T19:14:59 not fun 2011-10-29T19:15:10 i like functions, but i don't like the requirement to add commas between the arguments ;) 2011-10-29T19:15:22 ;) 2011-10-29T19:16:13 *** slow_ has quit IRC (Quit: Page closed) 2011-10-29T19:16:15 *** bluemanshoe has joined #aichallenge 2011-10-29T19:16:17 what the heck is a 1-tuple? 2011-10-29T19:16:36 tuple with one element 2011-10-29T19:16:40 (x,) tuple of length one 2011-10-29T19:16:44 janzert: well I guess it's making a 2-tuple called a, b and assigning the first component (a) to the first component of another 2-tuple, which is b and the second component to the second component of the same 2-tuple (a) 2011-10-29T19:16:48 is it anything other than a value with an extra level of indirection? 2011-10-29T19:16:50 python tuples are used as immutable lists in a lot of cases, you can't use a list as a dict key 2011-10-29T19:18:12 jab_bott: more or less but only one tuple is involved, the left hand side doesn't actually create a tuple just unpacks a tuple received into the variables 2011-10-29T19:18:31 jab_bott: basically, it "packs" variables a and b into tuple, and then "unpacks" tuple into variables b and a, so swaps them 2011-10-29T19:18:56 ahhhh.. I see the LHS is not a tuple at all 2011-10-29T19:19:06 in python 3 you can even do something like a, *b, c = list 2011-10-29T19:19:32 if list is 1, 2, 3, 4 → a becomes 1, b becomes (2, 3) and c becomes 4 2011-10-29T19:19:32 * as-in contents-of? 2011-10-29T19:19:55 afaik erlang has something similar 2011-10-29T19:20:02 * basically means "everything else" 2011-10-29T19:20:07 oh.. more like a greedy regex * 2011-10-29T19:20:18 huh 2011-10-29T19:20:20 you can have functions that take a variable number of arguments with * and ** 2011-10-29T19:20:25 you can do (a, (b, c)) = (1, (2, 3)) 2011-10-29T19:20:41 while iterating too: for (a, (b, c)) in sequence 2011-10-29T19:20:55 * is crazy pattern matching 2011-10-29T19:21:36 I find in all programming languages you can do this, that, or the other... but it never changes the fact that code should be human-readable so I end up never using any of those features because they're bloody hard to understand unambiguously for a human 2011-10-29T19:23:05 pattern matching is really clear compared to the alternatives 2011-10-29T19:23:14 i wonder how far can one go with unpacking 2011-10-29T19:24:47 unpacking? 2011-10-29T19:24:57 oh i need to read above 2011-10-29T19:25:24 oh, this pattern matching stuff must be called unpacking in python 2011-10-29T19:25:30 http://paste.pocoo.org/show/500228/ i knew i could do it but never actually tried it 2011-10-29T19:26:00 too bad in python3 you cand do def function((a, b), c, (d, (e, f)), *g, **h) 2011-10-29T19:26:03 jmcarthur: yeah, tuple unpacking is like basic pattern matching, py3 adds more features to it like the * 2011-10-29T19:26:07 in python2 you could afaik 2011-10-29T19:26:30 yeah * looks pretty weird. what's **? 2011-10-29T19:26:46 keywords 2011-10-29T19:26:49 x, *xs = [1,2,3,4] 2011-10-29T19:26:55 so yeah, it's like pattern matching 2011-10-29T19:27:12 *** delt0r__ has quit IRC (Ping timeout: 240 seconds) 2011-10-29T19:27:25 you can do def function(a, **kwargs), and then call it function(a=1, b=2, c=3) 2011-10-29T19:27:32 ah 2011-10-29T19:27:40 then a becomes 1, and kwargs becomes a dictionary with b and c 2011-10-29T19:28:07 * jmcarthur nods 2011-10-29T19:28:28 also when unpacking, you can unpack any iterable, for exampple a,b,c=range(3) 2011-10-29T19:28:58 or xrange in py2 2011-10-29T19:29:55 *** AxVapor has quit IRC (Quit: AxVapor) 2011-10-29T19:30:44 jmcarthur: you can do stuff like def(x, *xs): print(x, xs), and then call it like f(1,2,3,4) 2011-10-29T19:30:55 one would use view patterns in haskell for something similar, altough it is not quite the same 2011-10-29T19:31:01 *although 2011-10-29T19:31:23 the view patterns extension is not designed the way i would have preferred :\ 2011-10-29T19:34:03 meh, it looks like the queue is more growing than slinking 2011-10-29T19:34:22 aichallenge: janzert epsilon * rc2bf6e9 / website/profile_submissions.php : Fix error when page is not set in url - http://git.io/zzGe2g 2011-10-29T19:35:29 wow, there are over 3.6k bots now o_o 2011-10-29T19:36:23 *** ztfw has quit IRC (Remote host closed the connection) 2011-10-29T19:36:53 and there is so much starter bots :O 2011-10-29T19:38:06 *** amstan has quit IRC (Quit: Konversation terminated!) 2011-10-29T19:38:15 *** amstan has joined #aichallenge 2011-10-29T19:38:15 *** ChanServ sets mode: +o amstan 2011-10-29T19:38:22 *** puto|mokka has joined #aichallenge 2011-10-29T19:38:31 aichallenge: janzert epsilon * rb47fa7d / website/check_submit.php : Fix error on missing submit key in post - http://git.io/h4MaWA 2011-10-29T19:39:36 *** delt0r__ has joined #aichallenge 2011-10-29T19:40:30 I wonder how many people are interested in spamming such bots 2011-10-29T19:40:42 since I believe its easy to create multiple accounts 2011-10-29T19:41:19 not that I think they do that, just interested if its the case 2011-10-29T19:41:47 meh, timeout 2011-10-29T19:42:00 *** CodeBlock has left #aichallenge 2011-10-29T19:42:12 *** n4nd0 has quit IRC (Remote host closed the connection) 2011-10-29T19:42:25 *** n4nd0 has joined #aichallenge 2011-10-29T19:42:40 *** n4nd0 has joined #aichallenge 2011-10-29T19:43:08 http://aichallenge.org/visualizer.php?game=31466 :-) 2011-10-29T19:43:45 i don't think they create multiple account, just create an account because 1) they probably have no idea on how to really run tools and 2) to test the starter bot because they are thinking this is easy to create one. 2011-10-29T19:45:36 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-10-29T19:46:35 *** rajanaresh has joined #aichallenge 2011-10-29T19:47:11 so, what are the current site and attack ranges? 2011-10-29T19:47:16 *** sigh has joined #aichallenge 2011-10-29T19:47:40 @settings 2011-10-29T19:47:41 avdg: settings could be http://aichallengebeta.hypertriangle.com/game_settings.php. 2011-10-29T19:48:39 bluemanshoe: these settings are also available for your bot at the start of each competition ;-) 2011-10-29T19:49:09 how often/likely are they to change? 2011-10-29T19:49:25 I think they are quite random 2011-10-29T19:49:48 and you may expect that these settings can be adjusted regularly 2011-10-29T19:50:20 really, the viewradius and attackradius change often? 2011-10-29T19:50:27 not that I know 2011-10-29T19:50:58 pretty much all the radii are unlikely to change, but if they do change your bot should try and handle it gracefully :) 2011-10-29T19:54:01 *** xar0l has joined #aichallenge 2011-10-29T19:55:09 how likely is it that turntime would lowered a lot? 2011-10-29T19:55:26 i think not very likely 2011-10-29T19:56:30 i give it a 95% chance of staying at or above 500ms, and a 99% chance of staying above 250ms 2011-10-29T19:56:38 (just my own guess) 2011-10-29T19:56:42 I'm actually using 80ms turns for testing my bot atm 2011-10-29T19:57:30 I assume that if I somehow go over 80ms, I have an algorithm that could go over 500ms given the right circumstances 2011-10-29T19:59:21 i'm trying something new this year 2011-10-29T19:59:29 i'm going to build a visualizer into my bot for debugging 2011-10-29T20:00:54 so that unlike with an external visualizer i can actually show things normally put into log files or something 2011-10-29T20:01:18 for example, information about the strategy or what my bot thinks the map looks like or where enemies are, etc. 2011-10-29T20:04:03 jmcarthur: that's what I'm doing now 2011-10-29T20:04:35 yeah, that would be awesome 2011-10-29T20:05:07 I've been using small maps for debugging and printing out a representation of the map to stderr 2011-10-29T20:05:23 jmcarthur: only I'm using the visualizer that comes with the tools... in addition to the ant-move command (o row col direction) I'm adding a visualizer command (v param1 param2 etc) and that info will be given to the visualizer 2011-10-29T20:05:59 that would be very nice 2011-10-29T20:06:21 jmcarthur: i thought of visualizer too.. but meh, just dumped shitloads of text into log 2011-10-29T20:06:24 including maps etc 2011-10-29T20:06:48 jmcarthur: the visualizer commands will allow you do draw your AI state as an overlay over the real/actual map... this will allow you to compare what your AI thinks to what is really going on, whereas anything you write yourself can only be based on what you think (which might be wrong/buggy, hence the need for debug visualizations) 2011-10-29T20:07:08 *** he_the_great has quit IRC (Remote host closed the connection) 2011-10-29T20:08:19 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-29T20:08:40 *** Cowbandit_ has joined #aichallenge 2011-10-29T20:08:58 I've mostly figured out the python part to get the 'v' commands into the replay data so the visualizer can access it - just need to finish that off and then go to work on the visualizer 2011-10-29T20:09:56 actually - I'm really hoping someone who knows javascript will help me, because the visualizer code looks much harder than the game code 2011-10-29T20:10:19 *** ajf is now known as ajf|offline 2011-10-29T20:11:22 jmcarthur: see this forum thread: http://aichallenge.org/forums/viewtopic.php?f=25&t=1633&sid=2ffe447044cc75da5b53932a446e9c23 2011-10-29T20:11:32 *** cowbandit has quit IRC (Ping timeout: 265 seconds) 2011-10-29T20:16:45 *** epicmonkey has quit IRC (Ping timeout: 260 seconds) 2011-10-29T20:23:12 hrm.. my overlay history needs to be an array with one element per player, each of those will be an array of the state at each turn, the state will be an array of dictionaries, each containing one draw command 2011-10-29T20:24:00 4 dimensions! 2011-10-29T20:25:25 *** svujic has joined #aichallenge 2011-10-29T20:26:26 *** Antimony has joined #aichallenge 2011-10-29T20:26:37 anyone there? 2011-10-29T20:26:46 *tumbleweed* 2011-10-29T20:26:59 the hive history is defined like this: self.hive_history = [[0] for _ in range(self.num_players)] 2011-10-29T20:28:19 what happened to the dead ants? There is a lot of mention of them in the docs and code, were they originally persistant? 2011-10-29T20:28:30 I'm wondering if I need to define something like that at all, or just an array for num_players, then each turn append the command array 2011-10-29T20:28:39 ah, interesting. i'd never thought of using _ as a variable name, but i just tried it.. in the interpreter, while something is assigned to it, it returns that, but if you delete it, it'll go back to returning the last returned value 2011-10-29T20:29:18 oh.. well it baffled me as to what it means! :) 2011-10-29T20:29:27 *** bobbydroptable has joined #aichallenge 2011-10-29T20:30:52 it's the [0] that confuses me now - so it makes an array of [0] for each player? 2011-10-29T20:35:17 [player]it's confusing, so hive_history is the hive value per player per turn.. but what order is it? int value = history[turn][player] <= is that right? 2011-10-29T20:36:34 that's a list comprehension, it makes a list of [0] for each player 2011-10-29T20:36:59 _ is just a name for a variable you don't care about (it's a convention) 2011-10-29T20:37:24 so a list of [0] is an int array with one element set to 0? 2011-10-29T20:37:39 well, python lists aren't typed 2011-10-29T20:37:47 for 4 players it would make 2011-10-29T20:37:55 [[0], [0], [0], [0]] 2011-10-29T20:37:56 *** xar0l has quit IRC (Quit: Page closed) 2011-10-29T20:39:12 i think that in my case rolling my own visualizer will be much more convenient 2011-10-29T20:39:36 ahh, so it's value = hive_history[player][turn] then? and the [0] is an array that will be appended to for each turn, the 0 being the value for turn 0, subsequent turns having other (different typed) values? 2011-10-29T20:39:37 *** Jak_o_Shadows has joined #aichallenge 2011-10-29T20:39:38 i intend to overlay the map with various things that might not even make much sense as additional "commands" 2011-10-29T20:40:08 like some vector graphics over the map that kind of express various things about my strategy over time and stuff 2011-10-29T20:40:26 jab_bott: well, I'm not sure how they do it, but they probably append to each of those lists 2011-10-29T20:40:35 and as far as comparing reality to what my bot thinks, i can always just run the normal visualizer next to mine 2011-10-29T20:40:36 0 might represent turn 0 2011-10-29T20:41:08 jmcarthur: yeah - you can do that with commands... v line x1, y1, x2, y2, r, g, b, a ... v circle x, y, radius, fill, colour, line_thickness ... etc. ? 2011-10-29T20:42:26 doing it natively comes with the advantage that i don't have to pipe drawing commands through my bot's output 2011-10-29T20:42:54 fair enough :) 2011-10-29T20:43:34 also allows me to do crazier things like save animations to view later or export images that kind of summarize the game, etc. 2011-10-29T20:44:08 I suppose any bot could just write out a load of png files and get ffmpeg to make them into a movie :D 2011-10-29T20:45:14 right 2011-10-29T20:45:35 will you have conditional code that compiles out for submission, or use an environment variable to turn it on, or something like that? 2011-10-29T20:45:57 probably the former 2011-10-29T20:47:36 i suppose i could do something like the latter, but i might use a library not even available on the server or something, which could cause the whole thing to fail even though i don't use it 2011-10-29T20:50:40 *** sigh has quit IRC (Remote host closed the connection) 2011-10-29T20:51:10 *** sigh has joined #aichallenge 2011-10-29T20:52:17 sometimes I think 1500 turns is way too much.. 2011-10-29T20:52:54 *** rj_ has quit IRC (Quit: Page closed) 2011-10-29T20:55:16 its 1000 2011-10-29T20:55:53 not on the tcp server I'm using 2011-10-29T20:55:56 ah 2011-10-29T20:55:59 *** sigh has quit IRC (Ping timeout: 260 seconds) 2011-10-29T20:58:07 *** ThereWillBeBlood has joined #aichallenge 2011-10-29T20:59:49 Does anyone know what python libraries are available on the server? The starter project tries to use psyco, are there any other libraries? 2011-10-29T21:00:14 *** Cowbandit has joined #aichallenge 2011-10-29T21:02:36 *** grom358 has quit IRC (Quit: Leaving) 2011-10-29T21:04:43 *** Cybsy has quit IRC (Ping timeout: 258 seconds) 2011-10-29T21:06:44 *** Cowbandit has quit IRC (Quit: Page closed) 2011-10-29T21:08:17 meh, 2 o'clock again :-) 2011-10-29T21:08:41 *** smf68 has quit IRC (Remote host closed the connection) 2011-10-29T21:08:42 ;) 2011-10-29T21:09:28 *** danielharan has joined #aichallenge 2011-10-29T21:10:26 I'll get an early night after all! 2011-10-29T21:10:30 does anyone know any good algorithms for fighting tactics? 2011-10-29T21:10:50 I'm currently going with "run for your life" 2011-10-29T21:10:55 lol 2011-10-29T21:11:00 it's not a winner 2011-10-29T21:11:08 the hard part is taking into account the enemy moves 2011-10-29T21:11:16 since there are potentially an exponential number of cases 2011-10-29T21:11:23 meh, I was thinking "recursion recursion recursion" or that I was seeing something double 2011-10-29T21:11:24 I love playing games where A isn't playing 2011-10-29T21:11:24 if lots of enemy ants are within range 2011-10-29T21:11:27 *** sigh has joined #aichallenge 2011-10-29T21:11:32 that's the best tactic I've found so far :p 2011-10-29T21:11:40 *** AxVapor has joined #aichallenge 2011-10-29T21:11:59 solving it perfectly is indeed exponential 2011-10-29T21:12:06 I'm tempted to jsut code it as if all enemy ants are stationary, but I'll probably get owned 2011-10-29T21:12:37 haven't given it much though yet; just got path finding and ant coordination working nicely... maybe tomorrow 2011-10-29T21:12:49 but it's a tough problem for sure 2011-10-29T21:12:58 what do you mean by coordination? A lack of crashing into each other? 2011-10-29T21:13:03 yeah 2011-10-29T21:13:12 I'm pretty much at the same point 2011-10-29T21:13:22 my ants don't crash and they're pretty good at food gathering 2011-10-29T21:13:28 but I have no idea how to make them fight 2011-10-29T21:13:40 me neither =) 2011-10-29T21:13:46 I'm gonna sleep on it 2011-10-29T21:14:32 *** foRei has quit IRC (Read error: Connection reset by peer) 2011-10-29T21:14:58 I'm afraid that if I stay up, time will just continue to warp to 2 oclock. 2011-10-29T21:15:08 it's a wekkend 2011-10-29T21:15:22 It's Saturday night! No need to worry about staying up 2011-10-29T21:15:26 that's not stopping me from being tired =) 2011-10-29T21:15:42 i've been working on my bot every day since it opened 2011-10-29T21:15:53 ==" 2011-10-29T21:15:58 I wonder how many people typically spend Saturday nights trying to make immaginary ants fight each other 2011-10-29T21:16:03 when did it open? 2011-10-29T21:16:11 can't remember. 2011-10-29T21:16:18 *** Nescio has joined #aichallenge 2011-10-29T21:16:21 8-9 days ago? 2011-10-29T21:16:24 Antimony: /names 2011-10-29T21:16:28 ? 2011-10-29T21:16:38 type it, and it will answer your question =) 2011-10-29T21:16:45 nothing happens 2011-10-29T21:16:53 oh... wrong irc client then 2011-10-29T21:16:54 *** danielharan has quit IRC (Read error: Connection reset by peer) 2011-10-29T21:16:54 Anyway, I started Monday, the 23rd 2011-10-29T21:17:04 *** Ionic_Groove has joined #aichallenge 2011-10-29T21:17:05 same here 2011-10-29T21:17:06 but I got bogged down for ages by debugging 2011-10-29T21:17:30 *** danielharan has joined #aichallenge 2011-10-29T21:17:30 finally, SimAnt the MMO! 2011-10-29T21:17:32 well i got to draw a line somewhere sometime soon 2011-10-29T21:17:37 I'm concentrating on ant flow/swarming atm 2011-10-29T21:17:45 my team mate got some nice remote debugging going... or so he says 2011-10-29T21:17:46 ants are fun, but they don't put food on the table 2011-10-29T21:17:48 lol 2011-10-29T21:17:49 there's got to be a good way to do fighting. If xathis can do it, so can we! 2011-10-29T21:18:22 I don't let my ants move into a location that is a) water/my hill b) a place I've already ordered an ant c) a place containing an idle ant (no order) 2011-10-29T21:18:32 bobbydroptable: I for one welcome our ant overlords. 2011-10-29T21:18:39 so I have to record when I couldn't step somewhere due to an idle ant and go back and retry that stuff 2011-10-29T21:18:46 it's working well so far :) 2011-10-29T21:18:52 Mine is more or less the same excpet that I have no idle ants and only do one pass 2011-10-29T21:19:18 I tried assuming that all my ants would move, but then I got collisions in big groups 2011-10-29T21:19:25 i have a queue that i pop ants off and then if action fails i just put them at the back of the queue 2011-10-29T21:19:34 then iterate through the queue until empty or out of time 2011-10-29T21:19:35 I have an old set and a new set 2011-10-29T21:19:44 old set is old positions and new set is new positions 2011-10-29T21:19:53 when I move an ant, I remove from old set and add new location to new set 2011-10-29T21:20:04 and then I prevent any move into a location that's in either set 2011-10-29T21:20:09 bobbydroptable: that's basically what I'm doing 2011-10-29T21:20:25 so if an ant already moved that turn, you can move into it's square 2011-10-29T21:20:27 my ants support fallback movement, if their original desire was denied.. pretty nice for mass migrations 2011-10-29T21:20:49 yeah I have that too 2011-10-29T21:21:01 still some issues with some ants having no where to go, but with some extra passes that should be a very rare problem 2011-10-29T21:21:15 my ants try moving in each direction that brings them closer to their target 2011-10-29T21:21:32 *** goffrie has joined #aichallenge 2011-10-29T21:21:35 exactly 2011-10-29T21:21:48 if they aren't successful and some directions were blocked by currently idle ants, I save them in a blocked list 2011-10-29T21:22:03 well I save the ant location + directions that were tried but blocked by idle ants 2011-10-29T21:22:32 I push idle ants =) 2011-10-29T21:22:37 It's basically a cosntraint optimization problem, if you try to move multiple ants at once 2011-10-29T21:22:46 constraint = ant's can't collide 2011-10-29T21:22:56 optimization function is summed distance to targets 2011-10-29T21:23:06 but I' 2011-10-29T21:23:14 I've never tried to implement that before though 2011-10-29T21:23:21 yeah, I'm using C++ so I'll just do it brute-force style - if I go through an iteration of the blocked ants where I don't move any I'll stop iterating 2011-10-29T21:23:31 if that ends up taking too long then I'll worry about optimizing it 2011-10-29T21:23:34 there is a cool thing that can be done which I don't at the moment... switching ant objectives. that would resolve a lot of collision issues 2011-10-29T21:23:45 but anyway, this is hardly the bottleneck of my ants at the moment 2011-10-29T21:23:47 exactly. concept first, optimize later 2011-10-29T21:23:55 not being able to fight is a bit more serious =) 2011-10-29T21:24:12 well, I plan on dealing with all these basics before worrying about fighting :P 2011-10-29T21:24:21 emilk brute forcing your way through is a valid attack plan 90% of the time 2011-10-29T21:24:41 well I think a lot of the stuff like swarming is closely related to fighting 2011-10-29T21:24:44 as long as your ants don't arrive one at the time 2011-10-29T21:24:48 yeh 2011-10-29T21:24:49 so I'm trying to solve fighting fist 2011-10-29T21:25:03 yeah, I'm trying to get my ants to move as a close-knit group by doing this 2011-10-29T21:25:13 atm they develop gaps in between them due to collision avoidance 2011-10-29T21:25:49 anyway, need to shut down the old brain for a few hours. nice talkign to you gents. 2011-10-29T21:26:04 good night 2011-10-29T21:26:16 night 2011-10-29T21:28:09 *** Jak_o_Shadows1 has joined #aichallenge 2011-10-29T21:29:12 *** Jak_o_Shadows has quit IRC (Ping timeout: 256 seconds) 2011-10-29T21:29:40 nighty night 2011-10-29T21:32:13 I actually ended up switching from python to C++ because I can develop faster if I can just use crappy brute-force algorithms at first 2011-10-29T21:32:34 graph algorithms solve everything :) the moving-ants-without-colliding problem can be converted into a maximum-weight-bipartite-matching problem (assignment problem) 2011-10-29T21:33:21 *** the-mgt has quit IRC (Quit: Pogodan - http://pogodan.com) 2011-10-29T21:34:09 i support graph algorithms, my problem at the moment is building the graph when the map isn't known :( 2011-10-29T21:35:01 *** n4nd0 has quit IRC (Remote host closed the connection) 2011-10-29T21:35:15 *** n4nd0 has joined #aichallenge 2011-10-29T21:35:30 *** n4nd0 has joined #aichallenge 2011-10-29T21:35:58 do any of the current maps have water? 2011-10-29T21:36:15 yes :), water is the unpassable terrain 2011-10-29T21:36:16 *** Redgis has quit IRC (Ping timeout: 244 seconds) 2011-10-29T21:36:16 water === wall ;-) 2011-10-29T21:36:39 right, I was just wondering, seeing as you only get fed the water information the first time you see it 2011-10-29T21:36:48 are all of the walls water, or they hills on the default maps? 2011-10-29T21:36:48 in python is it valid to do a load of empty if statements - i.e. all on the same indent? 2011-10-29T21:37:30 jab_bott: not sure, but I think you have to give it a "pass" 2011-10-29T21:37:42 yeah, pass is like an empty {} is C 2011-10-29T21:37:49 ahh perfect 2011-10-29T21:38:02 thestinger: do you know javascript too? 2011-10-29T21:38:17 a bit 2011-10-29T21:40:19 *** aarossig has quit IRC (Ping timeout: 260 seconds) 2011-10-29T21:41:00 I've just been reading up on canvas and it occurred to me that instead of passing actual commands to the javascript and trying to parse them (in javascript), could I send javascript function calls in the JSON and just call them - the function calls can then be sent directly through from the bot code and called in JS? 2011-10-29T21:41:03 *** Draakon has joined #aichallenge 2011-10-29T21:41:10 is that allowed in JS? 2011-10-29T21:41:50 no, JSON is a pretty small subset of js - you could send strings and eval() them, if it's all local and you don't care about security 2011-10-29T21:42:03 do you get to see other player's dead ants if you explore the board later on? 2011-10-29T21:42:27 *** aarossig has joined #aichallenge 2011-10-29T21:43:10 *** septentriones has joined #aichallenge 2011-10-29T21:44:04 thestinger: right, so I could have ["circle(10, 20, 30)", "line(0, 0, 10, 10)"] in JSON and then call javascript functions so long as they exist? 2011-10-29T21:44:31 yeah 2011-10-29T21:45:03 awesome! 2011-10-29T21:45:04 eval("circle(10, 20, 30)"); works in js (it's one of the evil things that prevent it from being faster) 2011-10-29T21:45:23 *** synace has quit IRC (Remote host closed the connection) 2011-10-29T21:45:56 bluemanshoe: you can see all dead ants in your coverage radius 2011-10-29T21:46:17 is anyone using dead-ant information for anything useful? 2011-10-29T21:46:36 abort the mission? 2011-10-29T21:46:52 never give up - never surrender 2011-10-29T21:47:11 even when the enemy isn't there anymore :p 2011-10-29T21:47:13 i plan to use it 2011-10-29T21:47:20 might not get around to it though 2011-10-29T21:47:40 jmcarthur: what for? I can't think of anything that it's useful for 2011-10-29T21:47:41 I guess the dead ant info is useful if you're using minimax/game trees 2011-10-29T21:47:43 it seems like i might not actually get much benefit from it 2011-10-29T21:47:50 *** bmh has joined #aichallenge 2011-10-29T21:47:50 *** bmh has joined #aichallenge 2011-10-29T21:47:52 hi 2011-10-29T21:47:57 avdg: so if there was some epic battle between players B and C, everyone died and some turns later you wonder over to the graveyard, you'd see a done of dead ants? 2011-10-29T21:47:58 oh, it saves me some checks 2011-10-29T21:47:59 I'm not really sure what you can learn from it though that's useful 2011-10-29T21:48:27 bluemanshoe: if you missed it, you won't see it 2011-10-29T21:48:30 jab_bott: well, say i know an enemy ant is just outside my viewing range and then i see on the next turn that there is a dead ant at the edge of my viewing range 2011-10-29T21:48:39 thestinger: that eval thing will make my code a lot easier I think :) 2011-10-29T21:48:48 jab_bott: that means there is a chance that the ant i knew about it now dead for some reason 2011-10-29T21:48:49 jmcarthur: good ol' probabilistic anty models 2011-10-29T21:49:00 *is now 2011-10-29T21:49:15 but i think it might be hard information to take advantage of, and with little payoff 2011-10-29T21:49:19 jab_bott: eval() on strings you got over HTTP/whatever pretty much limits you to running it locally though 2011-10-29T21:49:30 jmcarthur: ahh I see - so you know there's more than one player's ants in that location so you could let them battle it out for a bit ;)( 2011-10-29T21:49:36 or something 2011-10-29T21:49:39 jab_bott: I guess you could send the JSON over https 2011-10-29T21:50:12 avdg: so dead ants only last a turn then? 2011-10-29T21:50:16 thestinger: yeah it will run on output from people's bots in the visualizer 2011-10-29T21:50:41 bluemanshoe: like almost every single piece of information, yes 2011-10-29T21:50:45 thestinger: but I guess if it goes in the server it will be switched off 2011-10-29T21:50:59 (water is still given in every round) 2011-10-29T21:51:18 has anyone done work on map segmentation? 2011-10-29T21:51:24 avdg: no, water is only shown the first time you see each one 2011-10-29T21:51:29 only new water tiles, right? 2011-10-29T21:51:32 bmh: segmentation for what? 2011-10-29T21:51:52 jab_bott: hmm 2011-10-29T21:51:55 local minimax trees? 2011-10-29T21:52:01 bmh quadtree 2011-10-29T21:52:21 Anyone know whether they prohibit a process from sending data from your bot out to an external machine? - I would like to setup the bot to send a diagnostic message via email or something. The rules say no multi-threading but they don't say anything about communications. 2011-10-29T21:52:39 ThereWillBeBlood: that is against the rules 2011-10-29T21:52:47 I don't think I'm going to do that well in this challenge, based on you lot talking about all these clever AI things that I've never heard of... but I'm doing ai-class.com atm, so maybe I will learn about some of them :) 2011-10-29T21:52:48 jmcarthur: for computing min-cuts and stuff of that nature 2011-10-29T21:52:59 jab_bott: I receive duplicated data 2011-10-29T21:53:05 ThereWillBeBlood: yes. No dialing out. 2011-10-29T21:53:09 ThereWillBeBlood: huh, but you're right that the site doesn't say so 2011-10-29T21:53:11 @jmcarthur: Thanks 2011-10-29T21:53:11 ThereWillBeBlood: An error occured while trying to show the previous error. 2011-10-29T21:53:17 ThereWillBeBlood: but yeah, past contests have ruled that out 2011-10-29T21:53:26 jab_bott: oh, I'm looking it wrong 2011-10-29T21:54:02 bmh: ah. i have not done anything like that 2011-10-29T21:54:19 if you can communicate with an external source.. then you can cheat 2011-10-29T21:54:30 how so ? 2011-10-29T21:54:39 even if it's one way communication, you can still abuse it, to get some data back 2011-10-29T21:54:44 with multiple bots in teh same game maybe 2011-10-29T21:54:54 well - ya - that is kind of the point 2011-10-29T21:54:57 *** bluemanshoe has quit IRC (Quit: Leaving) 2011-10-29T21:55:06 ThereWillBeBlood: you could communicate with a supercomputer that does complicated computations on behalf of your bot 2011-10-29T21:55:21 for example, if you're sending Emails.. you can modify IP address of the host, to send data back 2011-10-29T21:55:28 *** Islacrusez has joined #aichallenge 2011-10-29T21:56:01 or, you could accept or decline the message, depending on the results of the 'question' 2011-10-29T21:56:05 where can I access the locations of all bots I own? 2011-10-29T21:56:16 ants, even 2011-10-29T21:56:28 isla, it's sent to you on each turn 2011-10-29T21:56:31 Islacrusez: it's fed to your bot as input 2011-10-29T21:56:32 can you tell it's already late? xD 2011-10-29T21:57:05 right 2011-10-29T21:57:12 * Islacrusez goes to look if he can figure it out from there 2011-10-29T21:57:20 the only way to send data without able to cheat would be to buffer your output and send it at the end of the game :O 2011-10-29T21:57:51 jmcarthur: my team joked about taking the supercomputer route 2011-10-29T21:58:01 if you want debugging data then you should probably be playing on the tcp stuff 2011-10-29T21:58:36 local for debuging: tcp for testing, live for tweaking 2011-10-29T21:59:40 *** FrozenFire has joined #aichallenge 2011-10-29T21:59:42 how would I do it if I wanted my bot to print the locations of my live ants? 2011-10-29T22:00:09 When you say TCP - you mean that there is another implementation of the game engine that uses TCP instead of stdio ? 2011-10-29T22:00:18 finally, 3:00 2011-10-29T22:00:27 :-) 2011-10-29T22:00:33 has a1k0n been around? 2011-10-29T22:00:41 twbd: there's 3rd part external servers 2011-10-29T22:00:52 you run the bot on your local machine, and get+send data from it 2011-10-29T22:01:03 . 2011-10-29T22:01:14 small wrapper around the 'live' interface I believe 2011-10-29T22:02:19 so, is anyone doing AI magic that they want to talk about? 2011-10-29T22:02:35 *** aarossig_ has joined #aichallenge 2011-10-29T22:03:18 anyone? 2011-10-29T22:03:32 "some string"[2:] <= this will strip 2 chars off the front of the string right? 2011-10-29T22:04:16 jab_bott: run it and see! 2011-10-29T22:04:23 burny: thanks, found the forum thread 2011-10-29T22:04:32 no magic here 2011-10-29T22:04:42 um.. yeah, I firget you can run it interactive right? 2011-10-29T22:04:51 no magic here either, just confusion 2011-10-29T22:05:24 *** aarossig has quit IRC (Ping timeout: 276 seconds) 2011-10-29T22:05:47 so useful! thanks bmh - I'm getting used to py a bit now 2011-10-29T22:06:14 I always forget about interpreted languages - it's so easy to test a quick thing 2011-10-29T22:06:17 jab_bott: I can't tell if that's sarcasm :) but really -- play around in the interpreter, it's a great way to learn 2011-10-29T22:06:21 hooray :) 2011-10-29T22:06:58 bmh: nah not sarky - I've been doing python for about um.. 5 hours now - total! 2011-10-29T22:07:10 i often start the python shell when i need to calculate something one-off 2011-10-29T22:07:16 That's more python than I ever want to write. 2011-10-29T22:07:17 My ants no longer commit ritual suicide 2011-10-29T22:07:22 bmh: and not even learning it properly, just editing the ants.py code and learning from what's already there 2011-10-29T22:07:22 i rarely use the calculator program 2011-10-29T22:07:44 but I don't do any magic 2011-10-29T22:07:55 cyphase, would you happen to know if/how I can get my bot to print the locations of my live ants? 2011-10-29T22:07:56 I don't do any magic… yet. 2011-10-29T22:08:20 I'm trying to figure out a good way to do fight planning 2011-10-29T22:08:21 Islacrusez, that would depend on your bot.. but you et the location of your live ants every turn 2011-10-29T22:08:28 or at least react to enemies 2011-10-29T22:08:28 Islacrusez: I'm working on an extension to the visualizer so that you can draw lines and circles and stuff over the top of the game board by sending out extra commands 2011-10-29T22:08:29 Islacrusez, are you using the ants.py in the starter package? 2011-10-29T22:09:13 ironically I had just figured out half of what I was trying to do... except it's printing one ant, not all ants... 2011-10-29T22:09:27 so probably still doing it wrong 2011-10-29T22:10:00 is everyone else flying solo or did other people team up? 2011-10-29T22:10:15 i've heard mention of a couple teams 2011-10-29T22:10:24 cyphase: yes 2011-10-29T22:10:25 i'm goin' solo though 2011-10-29T22:10:26 :P 2011-10-29T22:10:33 I'm currently solo 2011-10-29T22:10:38 I might join up with others later 2011-10-29T22:10:59 Islacrusez, well, the function is ants.my_ants() 2011-10-29T22:11:00 If anyone has a background in signals processing -- please join my team :) 2011-10-29T22:11:08 Islacrusez, not sure if that's what you were asking 2011-10-29T22:11:17 bmh, what signals are you processing? 2011-10-29T22:11:31 cyphase: map symmetry detection. 2011-10-29T22:11:40 *** ghjgghj has joined #aichallenge 2011-10-29T22:11:46 ah 2011-10-29T22:11:51 i haven't touched that yet 2011-10-29T22:11:54 cyphase: exactly what I'm asking, thanks 2011-10-29T22:11:55 me neither 2011-10-29T22:11:56 I talked it over with amstan and a1k0n and we think it's doable 2011-10-29T22:12:04 I figured symmetry detection won't help much 2011-10-29T22:12:07 Islacrusez, np :) 2011-10-29T22:12:13 so it's important to focus on other thigns fist 2011-10-29T22:12:31 Antimony: Once you can find a symmetry, you can zerg a hill. 2011-10-29T22:12:45 i was thinking about symmetry detection, but i'm not sure how to go about it yet 2011-10-29T22:12:48 but yeah, I'm working on writing an efficient forrager 2011-10-29T22:12:57 that only works if the hills are undefended 2011-10-29T22:13:04 it could be useful on multihill maps though 2011-10-29T22:13:08 near the beginning that is likely to be the case 2011-10-29T22:13:31 hi, i am really new. I just got this error: "File "./MyTestBot.py", line 71, in do_turn for hill_loc in self.hills: AttributeError: 'MyBot' object has no attribute 'hills'", I am not sure what does it mean? 2011-10-29T22:15:08 ghjgghj, try in self.enemy_hills(), .my_hills(), or .hill_list, depending on what you want 2011-10-29T22:16:31 *** nolo_contendere has joined #aichallenge 2011-10-29T22:16:32 ohcrapitycrap!!! I just discovered all the code I've been writing is using tabs not spaces - and python cares! 2011-10-29T22:16:52 jab_bott, find/replace 2011-10-29T22:16:55 search'n'replace ftw :) 2011-10-29T22:17:13 cyphase: yeah - I know - just very annoying 2011-10-29T22:17:35 i am doing to tutorial step 5, i am petty sure it is just self.hills 2011-10-29T22:17:42 I'm scratching my head at the indentation error for the last five minutes before I realised why 2011-10-29T22:18:00 jab_bott, either one works, but spaces are preferred in the python world 2011-10-29T22:18:08 though mixing can be weird 2011-10-29T22:18:09 *** mstream has joined #aichallenge 2011-10-29T22:18:38 jab_bott: pretty sure if they take the same distance, python won't care... or at least as long as you're consistent 2011-10-29T22:19:47 ok, now I just need to write a "random" move function to call instead of looking for food... 2011-10-29T22:19:56 http://wiki.python.org/moin/HowToEditPythonCode 2011-10-29T22:19:57 * Islacrusez has code that runs, again! 2011-10-29T22:20:51 cyphase: because my Xcode is set up to use tabs and the file I edited has spaces! and Xcode can be an arse for indenting stuff 2011-10-29T22:20:51 *** FrozenFire has left #aichallenge ("Leaving") 2011-10-29T22:21:37 Islacrusez: usually people improve their random move bots to look for food.. not the other way round :) 2011-10-29T22:21:56 shhh =P 2011-10-29T22:22:05 it means I'm onto something here xD 2011-10-29T22:22:22 *** nolo_contendere has quit IRC (Read error: Connection reset by peer) 2011-10-29T22:22:31 *** Antimony has quit IRC (Ping timeout: 265 seconds) 2011-10-29T22:22:50 *** nolo_contendere has joined #aichallenge 2011-10-29T22:22:53 can some one take look at my error plz, http://aichallenge.org/forums/viewtopic.php?f=25&t=1696 2011-10-29T22:24:21 surely it should be ants.my_hills() instead of self.hills? 2011-10-29T22:24:23 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-29T22:24:56 *** danielharan has joined #aichallenge 2011-10-29T22:26:04 ghjgghj: Did you pasted the 1st block of code in the tutorial 5 ? (the line about deef do_setup) (btw i don't code in python, i can't help you futher than that) 2011-10-29T22:26:54 ayo, he's got a point there 2011-10-29T22:27:00 you're probably missing that bit of code 2011-10-29T22:27:05 or have it in the wrong place 2011-10-29T22:27:07 yes, i did, 2011-10-29T22:27:16 it is under setup, right? 2011-10-29T22:27:32 yes, replacing the pass 2011-10-29T22:27:34 def do_setup(self, ants): self.hills = [] 2011-10-29T22:28:05 the do_setup wasn't something else (like _setup) in some python 3? 2011-10-29T22:28:07 i also have set unseen right infront of it too, does that matter? 2011-10-29T22:28:32 are you using python 2? 2011-10-29T22:28:34 or 3? 2011-10-29T22:28:35 it is called do_setup(self, ants): 2011-10-29T22:28:38 3 2011-10-29T22:29:42 nvm, i found it.. a stuipd mistake, lol 2011-10-29T22:30:04 oooh, we love those; what did you do? 2011-10-29T22:30:09 i put do_setup again under do_setup 2011-10-29T22:30:19 * Islacrusez chuckles 2011-10-29T22:30:21 thank anyways 2011-10-29T22:30:52 does getEnemyHills() in Java also contain raized hills? 2011-10-29T22:30:54 should've seen me earlier... first I wasn't calling my bot at all, and then I was looking at the wrong one and wondering why it was doing odd things 2011-10-29T22:32:14 haha, I finialy finshed the whol tutorial, yeah 2011-10-29T22:32:39 *** mstream has quit IRC (Quit: mstream) 2011-10-29T22:33:34 does space and tab matter in python 3? it seems like tab is same as 4 spaces. 2011-10-29T22:34:22 ghjgghj: someone said that it matter, maybe your text editor replace your tab by spaces 2011-10-29T22:34:52 *** nolo_contendere has quit IRC (Read error: Connection reset by peer) 2011-10-29T22:34:54 oh, ok, cool 2011-10-29T22:35:19 [02:19] http://wiki.python.org/moin/HowToEditPythonCode 2011-10-29T22:35:38 *** nolo_contendere has joined #aichallenge 2011-10-29T22:35:47 ghjgghj: just try to add a caracter somewhere in your "tab", if it remove your "4 spaces" then you use tab, otherwise you should be fine because your text editor replace your tab by 4 spaces 2011-10-29T22:37:12 yep, still 2 spaces on each side, i guess my text editor do replace your tab by 4 spaces, thanks 2011-10-29T22:37:52 *** [1]analyst74 <[1]analyst74!~analyst74@74-115-199-33.eng.wind.ca> has joined #aichallenge 2011-10-29T22:38:12 *** henry61 has joined #aichallenge 2011-10-29T22:39:49 *** analyst74 has quit IRC (Ping timeout: 240 seconds) 2011-10-29T22:39:49 *** [1]analyst74 is now known as analyst74 2011-10-29T22:40:46 I'm getting a "Test Error: compiled, but failed test cases" error: "turn 0 bot 0 timed out". It plays fine when I run the test_bot.sh script locally. Anyone know what could be the problem? 2011-10-29T22:41:34 invalid, overlays = self.parse_overlays(player, invalid, overlays) <= why would that cause: TypeError: 'NoneType' object is not iterable ? 2011-10-29T22:43:40 *** humphrey1239 has joined #aichallenge 2011-10-29T22:43:58 you're doing 'for x in None' somewhere, you should get a line number in the traceback for where it actually happened 2011-10-29T22:45:20 yeah - that's the line it gives 2011-10-29T22:45:53 oh, self.parse_overlays is returning None 2011-10-29T22:46:02 and you're trying to iterate when you do iterate, overlays = 2011-10-29T22:46:14 if you don't explicitly return, you return None 2011-10-29T22:46:42 ahh awesome, thanks - gah, non-compiled languages! 2011-10-29T22:46:57 *** Migi32 has quit IRC (Quit: bye) 2011-10-29T22:46:58 well, dynamically typed languages :P 2011-10-29T22:48:26 yaaay - it all seems to work so far!! 2011-10-29T22:49:04 *** Savaron has quit IRC (Quit: Page closed) 2011-10-29T22:49:31 * Islacrusez growls at LeftyBot 2011-10-29T22:49:39 can't make heads nor tails of this cursed thing 2011-10-29T22:52:12 *** kaemo has quit IRC (Ping timeout: 276 seconds) 2011-10-29T22:52:30 ok, calling it a night; cya folks 2011-10-29T22:56:24 *** cowbandit has joined #aichallenge 2011-10-29T22:57:01 *** capt_wilkerson has left #aichallenge 2011-10-29T22:57:19 *** Islacrusez has quit IRC (Ping timeout: 265 seconds) 2011-10-29T22:57:19 *** bobbydroptable has quit IRC (Ping timeout: 265 seconds) 2011-10-29T22:59:17 *** ghjgghj has quit IRC (Quit: Page closed) 2011-10-29T22:59:21 *** pvarga has quit IRC (Quit: pvarga) 2011-10-29T23:01:11 *** pvarga has joined #aichallenge 2011-10-29T23:02:27 *** avdg has quit IRC (Quit: Leaving.) 2011-10-29T23:04:09 *** sigh has quit IRC (Remote host closed the connection) 2011-10-29T23:04:24 *** avdg has joined #aichallenge 2011-10-29T23:05:57 how do I pass player names to playegame.py? 2011-10-29T23:08:51 *** mediocrist has joined #aichallenge 2011-10-29T23:10:09 *** pvarga has quit IRC (Quit: pvarga) 2011-10-29T23:11:25 bmh: doesn't it just use the script name, or jar file name? 2011-10-29T23:11:55 jab_bott: it eats the a string indicating how to run the bot, but I don't see a place to put the name 2011-10-29T23:13:17 *** Harpyon has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-10-29T23:14:18 anyone know what ilk stands for 2011-10-29T23:14:20 ? 2011-10-29T23:14:26 bmh: right - all I see is the actual script names in the visualizer 2011-10-29T23:14:45 mediocrist: ilk is an English word, it means the nature of something 2011-10-29T23:15:03 gracias 2011-10-29T23:15:19 de nada 2011-10-29T23:16:53 What does 'de nada' mean? You're welcome in advance ;) 2011-10-29T23:17:32 *** rmmh has quit IRC (Ping timeout: 244 seconds) 2011-10-29T23:17:38 "It's nothing" 2011-10-29T23:18:07 *** AxVapor has quit IRC (Ping timeout: 258 seconds) 2011-10-29T23:18:09 *** thestinger has quit IRC (Ping timeout: 252 seconds) 2011-10-29T23:19:32 looking at this code, I'm pretty sure my ants will gladly suicide into each other 2011-10-29T23:19:33 *** rmmh has joined #aichallenge 2011-10-29T23:19:37 *** thestinger has joined #aichallenge 2011-10-29T23:23:10 *** TheShagg has joined #aichallenge 2011-10-29T23:23:51 heeeyo, anyoen know why play_one_game.cmd complains that __init__() takes exactly 1 argument? 2011-10-29T23:26:00 *** Nakyuant has joined #aichallenge 2011-10-29T23:26:07 http://pastebin.com/PL9mf799 2011-10-29T23:27:53 I should note this is a fresh, unmolested install 2011-10-29T23:28:25 on windows 7, using JDK 7, python2.7 2011-10-29T23:29:42 it looks like the option for game rounds is receiving two arguments. Mind pasting that part of the code up here? 2011-10-29T23:30:37 the --turns bit 2011-10-29T23:30:50 and whatever's after it 2011-10-29T23:31:33 it should be whatever comes in the tools download for windows 2011-10-29T23:31:45 if you can give me a more specific thing to paste, I would be happy to 2011-10-29T23:32:03 *** pvarga has joined #aichallenge 2011-10-29T23:32:03 I am just ryinning play_one_game.cmd from the raw install 2011-10-29T23:32:14 if you edit the file, it should look roughly like this "@echo off python "%~dp0playgame.py" --engine_seed 42 --player_seed 42 --end_wait=0.25 --verbose --log_dir game_logs --turns 500 --map_file "%~dp0maps\example\tutorial1.map" %* "python ""%~dp0sample_bots\python\GreedyBot.py""" "java -jar MyBot.jar" " 2011-10-29T23:32:30 maybe, without the java bit at the end 2011-10-29T23:33:10 http://pastebin.com/j7s24yvc 2011-10-29T23:34:10 weird, not familiar with this "%~dp0" path stuff... 2011-10-29T23:34:15 no idea, sorry 2011-10-29T23:34:18 looks good to me 2011-10-29T23:34:32 does the tutorial.cmd work? 2011-10-29T23:34:42 did you make a tutorial.comd? 2011-10-29T23:34:45 cmd* 2011-10-29T23:34:52 where can I find the documentation? 2011-10-29T23:35:13 http://aichallenge.org/specification.php 2011-10-29T23:35:52 I mean a description of all the functions 2011-10-29T23:36:04 idk, haven;t found one yet. 2011-10-29T23:36:12 if you do, paste it here 2011-10-29T23:37:30 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 260 seconds) 2011-10-29T23:40:11 *** Jak_o_Shadows has joined #aichallenge 2011-10-29T23:40:59 i swear this windows package is messed up 2011-10-29T23:42:24 i tried making the tutorial.cmd file, pulls the same error 2011-10-29T23:43:30 python installed and working? 2011-10-29T23:44:13 *** mediocrist has quit IRC (Quit: Page closed) 2011-10-29T23:45:18 well, let me see if I can test that further 2011-10-29T23:45:22 but yes i believe so, it is finding it just fine 2011-10-29T23:45:32 and typing "python" brings up the interactive prompt 2011-10-29T23:46:07 *** bmh has quit IRC (Quit: bmh) 2011-10-29T23:47:02 is it python 3.2 or 2.7? 2011-10-29T23:47:35 you probably can't use an out of date cpython to run the stuff 2011-10-29T23:47:45 2.7 2011-10-29T23:47:53 downloaded and installed 30 minutes ago 2011-10-29T23:50:34 I dont understand how " game = Ants(game_options)" equates to 2 arguments 2011-10-29T23:50:34 but I am not a python person 2011-10-29T23:51:08 python methods receive the object as the first argument 2011-10-29T23:51:24 oh ok, it's effectively "self" 2011-10-29T23:51:29 ? 2011-10-29T23:51:31 but hidden stealth 2011-10-29T23:51:58 well, you actually have to write 'def __init__(self)', or 'def __init__(self, arg1)' if you want to take 1 argument 2011-10-29T23:52:16 then when you make an instance of the class you do ClassName(arg1) 2011-10-29T23:52:55 so, an argument is being passed to Ants for initialization and it doesn't take any arguments other than self (that's the python reason for the problem, not sure why it's happening though) 2011-10-29T23:52:57 that is strange, it says: 2011-10-29T23:52:59 def __init__(self): 2011-10-29T23:53:05 in Ants 2011-10-29T23:53:06 *** ghjgghj has joined #aichallenge 2011-10-29T23:53:08 yeah, so __init__ doesn't take any arguments 2011-10-29T23:53:19 ..... 2011-10-29T23:53:29 Ants(game_options) is passing a second argument to __init__() 2011-10-29T23:53:38 ok, I agree with you 2011-10-29T23:53:41 maybe try a different version of the tools? 2011-10-29T23:53:54 anyone in here a project admin? 2011-10-29T23:54:09 what's a good way to solve the timeout issue in the tutorial bot on big maps? 2011-10-29T23:55:08 ghjgghj: stop checking the manhattan distance from each ant to each unseen location 2011-10-29T23:55:35 but then how do I expoler? 2011-10-29T23:56:01 use a different way of measuring distances 2011-10-29T23:56:24 *** amstan has joined #aichallenge 2011-10-29T23:56:24 *** ChanServ sets mode: +o amstan 2011-10-29T23:56:32 I use a BFS search to measure distance 2011-10-29T23:57:07 what's BFS? 2011-10-29T23:57:23 for exploration, I make a single 2d array of integers (initialized to -1) and then run a breadth-first search from each unseen location 2011-10-29T23:57:41 so I set the distance value to 0 at the unseen location, and increment by 1 each time it moves a node away 2011-10-29T23:57:50 and I stop as soon as the value would be higher than the current value there 2011-10-29T23:58:30 and for water I leave them at -1 and stop the search 2011-10-29T23:58:44 huh? I am new to thing, so i am a little confused 2011-10-29T23:58:46 that gets distance measurements done for every ant and does pathfinding for free too 2011-10-29T23:58:54 here, I'll pastebin an example 2011-10-29T23:59:18 ok, thanks a lot