2011-05-12T00:01:42 *** _flag <_flag!~flag@69.165.173.172> has quit IRC (Quit: Lost terminal) 2011-05-12T00:03:24 *** Bankai has quit IRC (Ping timeout: 252 seconds) 2011-05-12T00:09:37 *** Mathnerd314 has quit IRC (Read error: Connection reset by peer) 2011-05-12T00:52:34 *** McLeopold has left #aichallenge 2011-05-12T01:00:25 *** delt0r___ has joined #aichallenge 2011-05-12T01:01:36 *** delt0r_ has quit IRC (Ping timeout: 240 seconds) 2011-05-12T01:20:27 *** Cyndre has joined #aichallenge 2011-05-12T01:39:23 *** Frontier has quit IRC (Remote host closed the connection) 2011-05-12T01:40:08 *** Frontier has joined #aichallenge 2011-05-12T01:48:03 *** Ice_Harley has joined #aichallenge 2011-05-12T02:24:30 "OSError: [Errno 2] No such file or directory: '/srv/chroot'"? how can I run the engine? should I recompile my kernel? 2011-05-12T02:25:53 amstan, janzert, antimatroid, do you know anything about this? sigh and McLeopold seem to be offline 2011-05-12T02:26:09 no idea sorry 2011-05-12T02:26:37 Does playgame.py run on your computer? 2011-05-12T02:28:48 This seems to be a sandbox thing. I'll look into the command line options of playgame.py. Maybe there is a switch to run it without chroot. 2011-05-12T02:30:23 *** amstan has quit IRC (Remote host closed the connection) 2011-05-12T02:32:08 hmm nothing there. i hope i don't have to set up a complete chroot environment with shell, python and all that stuff 2011-05-12T02:35:20 *** Blargs has quit IRC (Ping timeout: 252 seconds) 2011-05-12T02:42:29 sorry, got distracted by reddit 2011-05-12T02:42:38 i haven't got a current copy sorry, been busy as hell with uni atm 2011-05-12T02:43:33 what? ai-challenge is not your #1 priority? ok. 2011-05-12T02:44:42 test_bot.sh/TestBot.py seems to be incompatible with playgame.py and the engine, too. 2011-05-12T02:50:57 hmmm no idea :P 2011-05-12T02:58:02 *** dr-` is now known as dr- 2011-05-12T03:00:20 ah screw this, I'll work on the visualizer some other time. if someone asks I can blame it all on other people. :p 2011-05-12T03:08:40 *** berak has joined #aichallenge 2011-05-12T03:09:35 *** needsch has joined #aichallenge 2011-05-12T03:10:15 antimatroid: Do you like the darker background where ants stick out more?: http://marco-leise.homedns.org/antgui/work/visualizer.php?game_id=2&debug=true 2011-05-12T03:11:05 possibly 2011-05-12T03:11:14 could i suggest making that light blue the water colour? 2011-05-12T03:11:29 and i agree with mcleopold about having the other view (with the wrapped edges) as default :P 2011-05-12T03:12:13 yeah I'll remove the border in the next version without asking ^^ 2011-05-12T03:12:27 :) 2011-05-12T03:12:31 but I'll add a "center map" button instead 2011-05-12T03:12:35 it's quite dark? 2011-05-12T03:12:45 i like colourful :P 2011-05-12T03:12:59 me too, so I am unsure and ask you 2011-05-12T03:13:17 what was the last ground colour? 2011-05-12T03:13:23 a very light brown would work? 2011-05-12T03:13:34 like, the food colour say :P 2011-05-12T03:13:37 now it is brighter 2011-05-12T03:13:56 oh... you know we may have a lot of ant colors in other games 2011-05-12T03:14:03 yeah i know 2011-05-12T03:14:13 but if water became light blue, couldn't dark blue be a possible ant colour? 2011-05-12T03:14:18 I don't want to go close to the medium brightness with the terrain color for that reason 2011-05-12T03:14:19 basically just swapping those two? 2011-05-12T03:14:24 ahhh fair enough 2011-05-12T03:15:00 hmm the terrain looks like crap now on my screen 2011-05-12T03:15:18 damn cheap notebook screen 2011-05-12T03:15:54 it doesn't look as good on mine :P 2011-05-12T03:16:09 there must be a nice combination that looks right 2011-05-12T03:16:42 how hard would it be to amuse me and switch the water colour temporarily anyway? :P 2011-05-12T03:17:39 well i have the player color as r, g, b and not as hex, but wait... it will work... 2011-05-12T03:18:05 oh shit, that was the red color 2011-05-12T03:18:12 :p 2011-05-12T03:18:25 lava level :P 2011-05-12T03:18:43 why not :) set the colors in the map 2011-05-12T03:18:47 it's orange too :P 2011-05-12T03:19:16 have you tried using a very unnoisy background like on the old ants visualiser? 2011-05-12T03:19:42 would probably not look right with the other pixels though 2011-05-12T03:20:09 i think that blue is much nicer for water personally :P 2011-05-12T03:20:36 it looks like a swimming pool blue to me 2011-05-12T03:20:46 yeah 2011-05-12T03:20:52 or a not too deep river 2011-05-12T03:21:25 I should make it dark blue and add waves in bright blue :) 2011-05-12T03:23:04 :p 2011-05-12T03:23:38 Frontier: amazing visualizer. Great work 2011-05-12T03:23:56 he is the visualiser king 2011-05-12T03:24:05 you should have seen the one he made for a past antwars game :P 2011-05-12T03:24:17 thank you Ice_Harley. 2011-05-12T03:24:51 antimatroid: If I get super-motivated this week ... who knows, maybe the ants will have a comeback 2011-05-12T03:25:18 that would be neat, but not sure how easy it will be to watch :P 2011-05-12T03:25:55 first of all, this would be a mode that is activated by the highest zoom level only 2011-05-12T03:27:05 *** ltriant has quit IRC (Quit: Computer has gone to sleep) 2011-05-12T03:28:18 hmm, I would have to colorize the ants, which is a problem in the offline html visualizer with browsers who implement security correctly. the ants would all be white in those :p 2011-05-12T03:29:53 hard mode 2011-05-12T03:42:22 *** aerique has joined #aichallenge 2011-05-12T03:45:20 *** qacek has quit IRC (Quit: WeeChat 0.3.4) 2011-05-12T03:48:01 *** mcstar has joined #aichallenge 2011-05-12T03:48:24 Frontier: did you figure you your sandbox problem 2011-05-12T03:48:51 basically if you have a server_info.py in your worker directory the sandbox will attempt to use secure mode by default 2011-05-12T03:49:28 you can set secure_jail to False in the server_info to disable that 2011-05-12T03:51:02 ah thank you, janzert. I'll disable that flag there. 2011-05-12T04:14:47 *** Naktibalda has joined #aichallenge 2011-05-12T04:51:53 antimatroid: I have a feeling it is only becoming worse. Waves are distracting and a brighter impression by using white as the shade color looks wrong. 2011-05-12T05:08:51 *** GeorgeSebastian has joined #aichallenge 2011-05-12T05:09:50 *** sigh has joined #aichallenge 2011-05-12T05:47:35 hmm, the engine is writing empty player_infos into the replay file ? (engine.py, 235) 2011-05-12T05:47:44 i'm still looking for a way to get the player names into the visualizer 2011-05-12T05:53:39 *** FireFly has joined #aichallenge 2011-05-12T05:57:47 *** orivej has quit IRC (Ping timeout: 252 seconds) 2011-05-12T06:03:07 ok, look at ants/visualizer/games/0/1.replay 2011-05-12T06:03:27 berak: this is a sample replay with player names and links 2011-05-12T06:06:08 thanks, nice visualizer ! ( though 1.replay does not show player names, but 2 does ) 2011-05-12T06:06:27 oh then update your copy plz, there were changes again 2011-05-12T06:06:42 and my replay( http://pastebin.com/0Guz3FM3 ) differs pretty much 2011-05-12T06:08:23 yes it does. no problem though. the engine guys are free to add whatever meta data they want 2011-05-12T06:09:45 If an addition is useful to the visualizer it may become official. (I add the description of the data field to the wiki page about the replay format.) 2011-05-12T06:09:53 yeah, of course. guess i'm just a little getting impatient here.. 2011-05-12T06:11:19 *** teuneboon has joined #aichallenge 2011-05-12T06:11:25 hi all 2011-05-12T06:12:17 I want to get started a bit with genetic programming, anyone has tips for me?(I know the theory behind it, but I just don't have a lot of practical examples) 2011-05-12T06:13:16 there was a genetic bot for planet wars, but they never released the code 2011-05-12T06:13:24 teuneboon: Do you want to participate in this challenge? 2011-05-12T06:13:29 yeah 2011-05-12T06:14:37 I know that a basic fitness function could simply be the amount of ants you have at the end 2011-05-12T06:14:46 or maybe in relation to the other players 2011-05-12T06:14:50 would be better :P 2011-05-12T06:15:18 the bot antimatroid mentions was a good start. they had a program that generates generations of bots that were checked against their parents and siblings i think. 2011-05-12T06:15:19 but I just don't know where to start with the other stuff XD 2011-05-12T06:15:36 i would be more inclined to try and train parameters for something more focused 2011-05-12T06:15:46 they used rather simple instructions, no loops or function calls iirc. 2011-05-12T06:16:24 you are guaranteed to generate a lot of interest in your bot if it's even half decent though 2011-05-12T06:16:28 people lap that stuff up 2011-05-12T06:16:47 yeah, and I have enough time, I hope :P 2011-05-12T06:16:54 there were a lot of "if"s in their bots, or rather ternary operators (? :) 2011-05-12T06:17:29 k, did they use some genetic programming framework or just wrote it entirely by themselves? 2011-05-12T06:17:46 i think they did it all themselves 2011-05-12T06:17:50 It looked like garbage, but it played acceptable and ranked higher than my bot in the end 2011-05-12T06:18:00 the reason they gave for not releasing the code was because they want to use it for work related stufff 2011-05-12T06:18:08 did they release the code in the end? 2011-05-12T06:18:14 you make it sound like you've looked at it :p 2011-05-12T06:18:25 no, they shoowed off some bot code 2011-05-12T06:18:33 ahh, ok 2011-05-12T06:18:45 and i looked at that of course! it was really interesting 2011-05-12T06:18:52 ok, I'll just start simple and build it up from there :P 2011-05-12T06:19:05 teuneboon: I have no idea about implementing them, but a place to start would perhaps be to write various heuristic bots that place emphasis on say collecting food, defending, attacking etc. 2011-05-12T06:19:19 then try to train it to select when it's better to use what kind of bot or something 2011-05-12T06:19:26 do that, you'll see that you need a lot of processing power if you use complicated structures, like loops 2011-05-12T06:19:42 possibly even allow the bots to update what each individual heuristic bot focusses on from training data 2011-05-12T06:19:45 well, I got 2 servers and quite a fast PC 2011-05-12T06:19:46 :P 2011-05-12T06:20:04 games have ridiculously big state spaces :P 2011-05-12T06:20:39 I think I'll make a simple food collector first 2011-05-12T06:20:42 :P 2011-05-12T06:20:49 looks like the most simple bot 2011-05-12T06:20:50 food collection is the first serious problem to tackle 2011-05-12T06:20:57 and there are some neat ways to do it 2011-05-12T06:21:27 i haven't seen anyone successfully do anything significant other than food collection yet 2011-05-12T06:21:29 I would not let a genetic algorithm generate a path finding algorithm for me. there are perfect examples on the net already. 2011-05-12T06:21:36 but that's to be expected before it even starts :p 2011-05-12T06:21:53 Frontier: part of the fun of these contests is learning :p 2011-05-12T06:21:54 yeah frontier, I got just use dijkstra for that 2011-05-12T06:22:10 just use a queue :P 2011-05-12T06:22:55 bfs is about as good as you will do 2011-05-12T06:23:02 if you have a target destination, then use A* 2011-05-12T06:23:08 do you guys think I should make each seperate ant a program or the entire program as one 2011-05-12T06:23:15 you don't have a choice 2011-05-12T06:23:17 I mean: each ant a program sounds simpler 2011-05-12T06:23:20 all ants are controlled by the one program 2011-05-12T06:23:36 *** GeorgeSebastian has quit IRC (Ping timeout: 240 seconds) 2011-05-12T06:23:59 originally we wanted to force each ant to have its own process, but the overhead for that makes it infeasible 2011-05-12T06:24:23 To be honest that isn't technically feasible. There are now ~1000 ants in one game. We cannot spawn and kill so many processes. 2011-05-12T06:24:26 that way people would need to develop their own ways for ants to communicate within the rules of the game, it would be quite neat 2011-05-12T06:24:40 indeed it would be 2011-05-12T06:24:53 are you a game theory fan? 2011-05-12T06:25:05 i need moar game theory fans around here :( 2011-05-12T06:25:10 not even that much, I like AI stuff :P 2011-05-12T06:25:43 i got into the ai stuff while playing around with game theory, but the ai stuff is fun by itself 2011-05-12T06:26:55 another fun thing btw: I'm going to try to write it in javascript ^^ 2011-05-12T06:27:04 oh be welcome 2011-05-12T06:27:05 nodeJS ftw :P 2011-05-12T06:28:00 Do you know how slow that might be? 2011-05-12T06:28:44 hmm, js is quite fast actually 2011-05-12T06:28:58 ah it is the thing Google Chrome uses. Great stuff. 2011-05-12T06:29:02 yeah 2011-05-12T06:29:16 in my experience even faster than Java :P 2011-05-12T06:29:41 but that might be because js has some neat programming tricks with it's functional programming aspects :) 2011-05-12T06:29:51 I use the Rhino JS engine to use the ants visualizer in a standalone app. It is horribly slow :p 2011-05-12T06:31:16 even faster than java :P 2011-05-12T06:31:25 that's like saying you can run 100m faster than a tortoise 2011-05-12T06:31:52 * antimatroid is an arrogant c++ fan, and makes no apologies :) 2011-05-12T06:32:10 haha 2011-05-12T06:32:11 Java has just-in-time compilation 2011-05-12T06:32:20 i'm not even an experienced programmer to hold any such opinions :P 2011-05-12T06:32:34 *sigh* 2011-05-12T06:32:48 le sigh ? 2011-05-12T06:32:59 I don't really have a lot of experience with C++, I can read it, but barely write it :P 2011-05-12T06:32:59 ??? 2011-05-12T06:33:09 lol 2011-05-12T06:33:24 lol, I like how sigh always shows up when someone sighs 2011-05-12T06:33:46 if i was sigh, i'd just hang out on thousands of channels, constantly responding to people's sighs 2011-05-12T06:33:46 it throws up a message in the corner of my screen 2011-05-12T06:34:00 that sounds like the job for a script 2011-05-12T06:34:12 but then you miss out on all the fun :P 2011-05-12T06:34:17 :P 2011-05-12T06:34:24 log it 2011-05-12T06:34:25 :P 2011-05-12T06:34:28 be a turing machine 2011-05-12T06:34:36 be a turtle 2011-05-12T06:34:42 i like turtles 2011-05-12T06:34:42 pendown 2011-05-12T06:34:49 o_O 2011-05-12T06:34:50 microworlds anyone? 2011-05-12T06:34:59 no what is it? 2011-05-12T06:35:06 some thing we had on macs in year 7 2011-05-12T06:35:25 and my schools pathetic attempt at teaching us what programming is was to get a turtle to draw stars 2011-05-12T06:35:57 XD 2011-05-12T06:36:25 my school has this stupid idea that giving every student a laptop could be nothing but productive 2011-05-12T06:36:34 well, i'm not there now, but they still have the opinion 2011-05-12T06:36:45 haha 2011-05-12T06:37:24 it's funny, i think we went from n64 roms in year 7, to snes in year 8 and gameboy (pokemon) in year 10 :P 2011-05-12T06:37:51 in year 7 they even had a public folder on the server that all of year 7's could access 2011-05-12T06:37:52 idiots :\ 2011-05-12T06:37:58 My sister used to have a Java teacher who created such a turtle program, but he forgot to exit the virtual machine when the window is closed, resulting in big fat java zombie processes accumulating on every students computer 2011-05-12T06:38:27 i never learnt any proper programming before uni 2011-05-12T06:38:34 well, microworlds :P 2011-05-12T06:38:43 i created programs on my ti-83 2011-05-12T06:38:45 that's about it 2011-05-12T06:38:55 so that I could be lazy in maths 2011-05-12T06:38:59 i just played block dude 2011-05-12T06:39:14 haha, same here sigh 2011-05-12T06:39:18 but a ti-84 :P 2011-05-12T06:39:20 i haven't taken my calculator to uni yet this year 2011-05-12T06:39:23 haha, yes and I forgot that they eat battery juice even when the display is off as long as a program is running 2011-05-12T06:39:29 :) 2011-05-12T06:39:32 created stuff like snake on it 2011-05-12T06:39:33 XD 2011-05-12T06:39:39 me too, funny 2011-05-12T06:39:41 i haven't touched a graphics calculator since year 12 2011-05-12T06:39:51 snake on a torus? 2011-05-12T06:40:02 klein bottle <3 2011-05-12T06:40:07 i had to use my graphics in uni a bit 2011-05-12T06:40:14 for what? 2011-05-12T06:40:20 i'm not allowed to 2011-05-12T06:40:20 i did a curved snake, where you only use right/left to steer the snake 2011-05-12T06:40:24 someone should make an ants bot that acts like a snake XD 2011-05-12T06:40:27 yeah, same Frontier 2011-05-12T06:40:30 but it was slow :P 2011-05-12T06:40:36 teuneboon: i will, but it's slightly complicated 2011-05-12T06:40:41 i did engineering... a lot of my subjects allowed calc 2011-05-12T06:40:43 you need to work out what to do when it's broken up 2011-05-12T06:40:44 shit, no. you had the same idea? 2011-05-12T06:40:58 split the snake 2011-05-12T06:41:00 into 2 snakes 2011-05-12T06:41:01 :P 2011-05-12T06:41:06 Frontier: i believe mcleopold won the race to snake bot 2011-05-12T06:41:18 uh no, i didnt split my snake 2011-05-12T06:41:34 no, but what do you do when an enemy comes along and splits the middle? 2011-05-12T06:41:34 antimatroid: mcleopold definitly won any animal bot race 2011-05-12T06:42:17 oh you were talking about ant snakes *confused* 2011-05-12T06:42:41 haha 2011-05-12T06:42:45 i had a random idea for a game the other night 2011-05-12T06:43:10 I always have random ideas :P 2011-05-12T06:43:11 teuneboon: I also let the poor calculator render 3d wireframes of a rotating house - THAT was slow 2011-05-12T06:43:12 for games 2011-05-12T06:43:19 if you move onto a neutral square, it's your colour, and you get a single ant on every square of your colour every turn, if you walk onto a square of another colour, it turns into your colour 2011-05-12T06:43:19 XD 2011-05-12T06:43:28 it's like floodfill wars 2011-05-12T06:44:03 antimatroid: like this but 2 players? http://floodit.appspot.com/ 2011-05-12T06:44:39 i suppose it is a bit different 2011-05-12T06:44:49 oh, hell yeah 2011-05-12T06:44:55 people's moves should flood fill 2011-05-12T06:44:58 that'd be awesome 2011-05-12T06:45:04 I wrote a solver for that 2011-05-12T06:45:17 was the solution neat? 2011-05-12T06:45:47 ...oh bad minecraft memories 2011-05-12T06:46:01 fairly straightforward, model it as a graph and you try to reach every node 2011-05-12T06:46:01 haha 2011-05-12T06:46:20 "hey, im up here on the mountain with a can of lava... oops empty can of lava" 2011-05-12T06:46:26 so you basically just searched for a solution? 2011-05-12T06:46:26 apply heuristics to make it faster 2011-05-12T06:46:35 yes 2011-05-12T06:46:49 with some tricks to make the data structure easy to update 2011-05-12T06:46:49 how big could it solve? 2011-05-12T06:47:13 have you tried the 4-colourable grids problem? 2011-05-12T06:47:46 I think after about 12x12 it was only fast enough to give heuristic solutions (in a under a min) 2011-05-12T06:48:01 http://blog.computationalcomplexity.org/2009/11/17x17-challenge-worth-28900-this-is-not.html 2011-05-12T06:48:09 that is the 4-colourable problem i refer to 2011-05-12T06:48:52 no, haven't tried it 2011-05-12T06:49:21 i had a few goes, i got so far as to try stitching stuff together 2011-05-12T06:49:24 but never got anything 2011-05-12T06:51:24 like if you can find a valid 1-partial colour with more that 1/4 of the squares filled, you can then try to build valid 2-partial colours and so on 2011-05-12T06:51:55 'fitness': function() { return this.myAnts().length; } 2011-05-12T06:51:59 XD 2011-05-12T06:52:00 that's an interesting approach 2011-05-12T06:54:25 hmm, I'm thinking, what parameters do I put in the DNA string of my genetic bot? 2011-05-12T06:54:43 only direction is not very much lol XD 2011-05-12T06:55:02 you are doing genetic algorithms? 2011-05-12T06:55:14 yeah, trying 2011-05-12T06:55:20 but haven't got a lot experience in it yet 2011-05-12T06:55:28 so don't expect it to succeed soon :P 2011-05-12T06:55:31 :) 2011-05-12T06:55:57 well, *** it, I'm going to start with only direction in the dna string 2011-05-12T06:55:58 XD 2011-05-12T06:56:26 maybe try genetically encoding a decision tree? 2011-05-12T06:57:11 hmm, I'll just start simple :P 2011-05-12T06:57:15 with a very stupid bot 2011-05-12T06:57:18 ^^ 2011-05-12T06:57:23 :) 2011-05-12T07:16:14 teuneboon: did you participate in tron or planet wars? 2011-05-12T07:16:28 I did in planet wars, but wasn't very active there 2011-05-12T07:16:32 didn't have the time 2011-05-12T07:16:44 yeah 2011-05-12T07:16:50 i managed to find plenty of time for planet wars 2011-05-12T07:16:54 not so sure for ants 2011-05-12T07:17:47 I know I have enough time for ants :P 2011-05-12T07:18:04 summer? 2011-05-12T07:18:15 since after summer holiday on school I get: PHP, MySQL and English 2011-05-12T07:18:16 it's bloody cold where i live atm 2011-05-12T07:18:19 so stupid 2011-05-12T07:18:29 are you at uni? 2011-05-12T07:18:30 I'm good at all 3 of them :P 2011-05-12T07:18:35 well, 1 level below uni 2011-05-12T07:18:41 dunno how you call it in English 2011-05-12T07:18:49 depends, i call it college 2011-05-12T07:18:51 I don't like the purely theoretical side of the uni :P 2011-05-12T07:18:53 but america calls that uni 2011-05-12T07:19:03 * antimatroid is a pure maths student :( 2011-05-12T07:19:29 well, here we have 3 levels: MBO(pure practical), HBO(practical and theoretical) and Uni(pure theory) 2011-05-12T07:19:36 I do computer science :P 2011-05-12T07:21:19 killParents variable, evil :P 2011-05-12T07:23:16 i decided to try GA this week as well 2011-05-12T07:23:25 nice 2011-05-12T07:23:37 but i guess it will be a LOT of work 2011-05-12T07:23:48 yeah, I think so too 2011-05-12T07:23:54 as far as i can see, i have to write my own engine adn visualizer 2011-05-12T07:24:02 I do it more for learning it 2011-05-12T07:24:13 and not for winning 2011-05-12T07:24:16 might make 2 bots: 1 GP 2011-05-12T07:24:18 and 1 normal one 2011-05-12T07:24:20 :P 2011-05-12T07:24:27 im all for the win 2011-05-12T07:24:30 :D 2011-05-12T07:25:01 haha, I almost have a bot now that randomly chooses a direction for every ant every turn XD 2011-05-12T07:25:12 i have one too 2011-05-12T07:25:13 without knowing anything about it's surroundings :P 2011-05-12T07:25:17 yes 2011-05-12T07:25:27 but doesnt step on food or his peers 2011-05-12T07:25:59 for a couple of days im just meditating on this subject 2011-05-12T07:26:38 the problem is what to consider an entity 2011-05-12T07:26:58 what exactly your population will consist of 2011-05-12T07:27:18 yeah, idd 2011-05-12T07:27:18 this part will be tricky to decide 2011-05-12T07:28:33 do you plan to use mpi? 2011-05-12T07:29:16 nope, I'm just a beginner in GP 2011-05-12T07:29:22 so I make something myself 2011-05-12T07:29:25 something very simple ^^ 2011-05-12T07:29:29 in javascript :P 2011-05-12T07:30:16 i might have to use it, cause i might have to distribute the payload on several processors 2011-05-12T07:30:36 i guess it will be very CPU hungry 2011-05-12T07:31:18 im not an expert in js, but i beleive it runs in browsers 2011-05-12T07:31:26 arent you limited by that too much? 2011-05-12T07:31:50 i cant possibly imagine to evolve a population on a js scale 2011-05-12T07:31:55 nodejs 2011-05-12T07:32:01 server side javascript 2011-05-12T07:32:03 very fast 2011-05-12T07:32:04 :) 2011-05-12T07:32:09 ok 2011-05-12T07:32:18 multithreading? 2011-05-12T07:32:25 that's harder ^^ 2011-05-12T07:32:41 but well, I'm not really in it to win 2011-05-12T07:32:44 just to learn :) 2011-05-12T07:33:09 and webworkers are possible in js 2011-05-12T07:33:12 so might do something with that 2011-05-12T07:33:34 whats that? 2011-05-12T07:34:05 from the specification: "This specification defines an API that allows Web application authors to spawn background workers running scripts in parallel to their main page. This allows for thread-like operation with message-passing as the coordination mechanism." 2011-05-12T07:34:24 i see 2011-05-12T07:35:23 well, good luck 2011-05-12T07:35:31 thanks, you 2 2011-05-12T07:35:53 *** Kingpin13 has joined #aichallenge 2011-05-12T07:52:03 *** Eruonen has joined #aichallenge 2011-05-12T07:55:07 mcstar, do you know a solution for the fact that the amount of ants is variable? I was thinking about making a dna-part for every ant, but might have to use a decision tree if that doesn't work out 2011-05-12T08:06:26 well 2011-05-12T08:06:31 ok, I'm going to do decision tree, already decided :P 2011-05-12T08:06:37 ok 2011-05-12T08:06:39 im not 2011-05-12T08:06:47 made a very, very simple one 2011-05-12T08:06:55 which basicly makes a move according to what turn it is 2011-05-12T08:07:20 what are you doing then? 2011-05-12T08:07:37 i dont know if i want to tell it 2011-05-12T08:07:40 :) 2011-05-12T08:07:49 haha, ok, np ;) 2011-05-12T08:07:53 its just an idea 2011-05-12T08:08:13 but im have to build a framework first of all 2011-05-12T08:08:16 -m 2011-05-12T08:08:34 yeah, I found one on the internet which I just adjusted a bit 2011-05-12T08:08:37 and now it works for me :) 2011-05-12T08:08:39 right now im using a game engine in common lisp to get some visualization 2011-05-12T08:08:47 ah, lisp 2011-05-12T08:08:56 that's damn hard(at least for me) 2011-05-12T08:09:19 its only appearance 2011-05-12T08:09:38 had Haskell in school, was already happy with a 6/10 2011-05-12T08:09:45 *** FireFly has quit IRC (Quit: swatted to death) 2011-05-12T08:09:48 I'm not good at purely functional programming languages 2011-05-12T08:09:58 lisp isnt 2011-05-12T08:10:00 thank god 2011-05-12T08:10:04 oh lol 2011-05-12T08:10:21 i would get nowhere if i wanted purely (almost ) functional style 2011-05-12T08:10:29 ah, it's logical language? 2011-05-12T08:10:36 ? 2011-05-12T08:10:50 nvm XD 2011-05-12T08:11:08 its a language from what every other spawned (except c and fortran) 2011-05-12T08:11:48 Frontier: are you here? When I run play_one_game.bat with 4 TimeoutBots visualizer gives me error: "replaydata.ants.0.6.length should be within [3 .. 4], but was found to be 2!" 2011-05-12T08:12:07 had that too 2011-05-12T08:12:20 maybe one of the bots didnt quit prioperly 2011-05-12T08:12:26 -i 2011-05-12T08:12:27 Frontier: here is replay data http://pastebin.com/saqNzPmS 2011-05-12T08:13:07 teuneboon: so its a multi-paradigm language 2011-05-12T08:13:29 but has some constructs that even recent languages dont have 2011-05-12T08:13:52 oh ok, well, I'm keeping it at imperative programming languages XD 2011-05-12T08:14:00 well, and javascript, but that's mostly imperative too 2011-05-12T08:14:01 :) 2011-05-12T08:14:24 i heard js is very functional 2011-05-12T08:14:37 it is, but it's not like haskell or something like that 2011-05-12T08:16:19 js makes it easy to work with and manipulate functions 2011-05-12T08:16:29 yeah, that's why I like it :P 2011-05-12T08:16:39 yeah, I like that too 2011-05-12T08:16:47 and with callbacks made easy, scopes etc. 2011-05-12T08:16:49 I hate the horrendously weak typing 2011-05-12T08:16:53 can make it very elegant 2011-05-12T08:17:13 Proper lexical scoping is a god-send in JavaScript. 2011-05-12T08:17:30 yeah, I hate it when you read a user input and you do a + b(where a and b are both numbers filled in by the user) it handles them as strings :P 2011-05-12T08:17:50 teuneboon: exactly! 2011-05-12T08:17:59 always parseInt damnit :P 2011-05-12T08:17:59 sigh: You seen what PHP does with types? 2011-05-12T08:18:08 does js have closures? 2011-05-12T08:18:19 jbroman: I try to erase my mind of anything related to php 2011-05-12T08:18:21 mcstar: tes 2011-05-12T08:18:24 mcstar: Yes. 2011-05-12T08:18:24 *yes 2011-05-12T08:18:33 +1 2011-05-12T08:18:51 "a" == 0 in PHP :) 2011-05-12T08:18:59 ^^ 2011-05-12T08:19:31 jbroman: ah yes... == doesn't mean anything meaningful in php 2011-05-12T08:20:01 also fun, if you do: class Test { function lol(int $i) { return $i + 1; } } in php, and you call the function lol in that class it says: invalid parameter, int expected, int given 2011-05-12T08:20:10 but that's because int $i is already invalid ^^ 2011-05-12T08:20:16 :) 2011-05-12T08:21:05 oh one thing with js closures... if you aren't careful with closures you can create cyclic references which aren't handled well in all browsers 2011-05-12T08:26:11 lol, forgot for a moment that nodejs reads files async :P 2011-05-12T08:26:20 really was like: wtf, why does this crash 2011-05-12T08:39:30 *** sigh has quit IRC (Remote host closed the connection) 2011-05-12T09:00:21 *** delt0r_ has joined #aichallenge 2011-05-12T09:02:00 *** delt0r___ has quit IRC (Ping timeout: 260 seconds) 2011-05-12T09:03:09 *** Holiday has joined #aichallenge 2011-05-12T09:11:50 haha, I managed to create something that works, finally XD 2011-05-12T09:12:08 a bot the genetically decided after how many turns it has to turn and to which direction XD 2011-05-12T09:12:23 only 1 turn allowed, so it kinda fails :P 2011-05-12T09:42:22 *** amstan has joined #aichallenge 2011-05-12T09:42:22 *** ChanServ sets mode: +o amstan 2011-05-12T09:55:27 amstan, is https://github.com/aichallenge/aichallenge/issues/95 already fixed/implemented? I need it to train my bot(want to save the current population at the end of every match) 2011-05-12T09:56:32 *** amstan has quit IRC (Ping timeout: 276 seconds) 2011-05-12T09:56:38 -_- 2011-05-12T10:03:55 teuneboon, it's a bit of work, but you can retrieve the ants count / scores from the replay 2011-05-12T10:04:08 I already made a workaround 2011-05-12T10:04:15 ;) 2011-05-12T10:04:19 just disabled the check if someone is still alive 2011-05-12T10:04:21 hardcoded XD 2011-05-12T10:05:12 won't that break your gameplay ? 2011-05-12T10:05:21 apperantly not 2011-05-12T10:05:27 dunno how it should anyway? 2011-05-12T10:05:53 the bot is probably told nothing but the turn, since it has no line of sight left 2011-05-12T10:05:59 but that's no problem for me 2011-05-12T10:08:42 the number of ants alive at the end may not be the best fitness indicator, it's the score, that counts 2011-05-12T10:09:19 yeah, score in comparision to the other scores 2011-05-12T10:09:25 that's even better :P 2011-05-12T10:10:07 any ant alive in the end is wasted, it did not kill another .. 2011-05-12T10:10:37 it was just a test fitness :P 2011-05-12T10:11:02 I mean, the bot is quite bad atm, it can only make 1 decision, in the entire game XD 2011-05-12T10:11:14 oh, and it can choose WHEN to make that decision XD 2011-05-12T10:17:39 free willy ! 2011-05-12T10:19:40 yeah, going to make it possible for it to make 1..* decision in the game :) 2011-05-12T10:19:47 *decisions 2011-05-12T10:22:53 *** jmpespxo1eax has joined #aichallenge 2011-05-12T10:24:06 *** jmpespxoreax has quit IRC (Read error: Operation timed out) 2011-05-12T10:26:15 *** ulope has quit IRC (Quit: ZNC - http://znc.sourceforge.net) 2011-05-12T10:42:17 *** contestbot has joined #aichallenge 2011-05-12T10:44:11 *** contestbot_ has quit IRC (Ping timeout: 240 seconds) 2011-05-12T10:47:00 *** aerique has quit IRC (Quit: ...) 2011-05-12T10:52:34 *** _0x47 <_0x47!~slash@p5B25E41A.dip.t-dialin.net> has joined #aichallenge 2011-05-12T10:52:57 *** orivej has joined #aichallenge 2011-05-12T10:54:05 *** bhasker has joined #aichallenge 2011-05-12T10:58:27 *** bhasker has quit IRC (Client Quit) 2011-05-12T11:02:00 *** McLeopold has joined #aichallenge 2011-05-12T11:21:18 omfg, why am I not recieving the "end" event 2011-05-12T11:21:25 I survived till the end 2011-05-12T11:21:30 so I should recieve it? XD 2011-05-12T11:21:34 *** orivej has quit IRC (Ping timeout: 260 seconds) 2011-05-12T11:22:56 *** Ice_Harley has quit IRC (Ping timeout: 252 seconds) 2011-05-12T11:24:40 hehe 2011-05-12T11:24:46 not implemented yet? 2011-05-12T11:24:49 it's just so weird 2011-05-12T11:24:52 it is in the log 2011-05-12T11:24:54 i discussed it already with the Bosses 2011-05-12T11:25:10 it's a bug? 2011-05-12T11:25:12 :P 2011-05-12T11:25:18 as far as i know the engine doesnt send the end message to the players 2011-05-12T11:25:24 -_- 2011-05-12T11:25:35 i use turns as an exit condition 2011-05-12T11:26:19 but my information is based on at least a week old pull 2011-05-12T11:26:42 k, mine too 2011-05-12T11:28:16 and what if you are eliminated before the end? 2011-05-12T11:28:20 how do you catch that then? 2011-05-12T11:30:22 cause my bot is screwed if it's eliminated 2011-05-12T11:30:27 since it doesn't evolve anymore 2011-05-12T11:30:36 and is eliminated again and again 2011-05-12T11:30:37 :P 2011-05-12T11:37:08 the engine simply terminates ur program 2011-05-12T11:37:17 kill -15 2011-05-12T11:37:27 something of the same effect 2011-05-12T11:37:33 so you can't save your population then? 2011-05-12T11:37:35 that's lame XD 2011-05-12T11:37:39 no 2011-05-12T11:38:05 and the bots cant access the outside world either, no files, sockets anything 2011-05-12T11:38:13 only stdin/out 2011-05-12T11:38:21 but thats bound to the enfine 2011-05-12T11:38:22 g 2011-05-12T11:38:32 I know, but I'm going to train it locally 2011-05-12T11:38:42 and then just at the end take the one with the best fitness 2011-05-12T11:38:45 and put it in hardcoded 2011-05-12T11:38:54 thats why i said i need to make an own engine and visualizer 2011-05-12T11:39:03 oh ok :P 2011-05-12T11:39:14 don't you think it will be fixed? 2011-05-12T11:39:17 I can save files now 2011-05-12T11:39:22 it doesnt matter 2011-05-12T11:39:29 its in python 2011-05-12T11:39:35 :P 2011-05-12T11:39:38 not fast enough? :P 2011-05-12T11:39:39 and the the engine doesnt run on full power 2011-05-12T11:39:47 it gives time slices to the bots 2011-05-12T11:40:07 but i need an enviromnet where they can run as fast as hell 2011-05-12T11:40:28 just did a pull btw, bug not fixed : 2011-05-12T11:40:29 :( 2011-05-12T11:40:59 there's no timeout in the engine... 2011-05-12T11:41:16 I mean: no sleep 2011-05-12T11:41:27 There is a little sleep 2011-05-12T11:41:33 where? 2011-05-12T11:41:39 can't seem to find it :P 2011-05-12T11:41:41 when waiting for bot moves 2011-05-12T11:43:03 your bot is pending 75% of the time (for 4 players) waiting for the input of the other 3 2011-05-12T11:43:13 ah, like that 2011-05-12T11:43:25 https://github.com/aichallenge/aichallenge/blob/epsilon/worker/engine.py#L266 2011-05-12T11:43:43 and if you remove that? 2011-05-12T11:43:45 what happens? :P 2011-05-12T11:44:00 you can turn off the serial bot stuff 2011-05-12T11:44:34 parser.add_option("--serial", dest="serial", action="store_true", help="Run bots in serial, instead of parallel.") 2011-05-12T11:44:35 pass 'serial': False to the engine 2011-05-12T11:44:42 ok 2011-05-12T11:45:29 if you are using playgame.py, it is off by default 2011-05-12T11:45:39 yeah, already thought so :P 2011-05-12T11:46:14 but do you happen to know if the "end" bug is being fixed already? :P 2011-05-12T11:46:21 also, if the other bots don't use the full second, then you may not be waiting much time 2011-05-12T11:46:28 let me look 2011-05-12T11:49:18 without the serial stuff, it should be sending 2011-05-12T11:49:28 hmm, it isn't here :( 2011-05-12T11:49:37 is your bot logging input? 2011-05-12T11:49:39 or I'll retry 2011-05-12T11:49:41 1 sec 2011-05-12T11:49:45 yes, it logs the input 2011-05-12T11:49:49 and the "end" shows there 2011-05-12T11:50:01 ok, then, it works 2011-05-12T11:50:01 but when I make a custom logger 2011-05-12T11:50:07 it doesn't show 2011-05-12T11:50:08 ok 2011-05-12T11:50:13 *** orivej has joined #aichallenge 2011-05-12T11:50:16 it might be a timing issue 2011-05-12T11:50:37 k 2011-05-12T11:51:21 the bot gets send the end stuff before it is written to the engine input logs 2011-05-12T11:51:28 ah, I think it works now, let me try some stuff 2011-05-12T11:51:42 so, if it's there, your bot probably got it... 2011-05-12T11:52:10 but, the engine kills the bot instantly after it sends the info, so you may not have time to process it 2011-05-12T11:52:23 hmm 2011-05-12T11:52:41 that's kinda weird then isn't it? send and kill before it can process 2011-05-12T11:52:50 :P 2011-05-12T11:52:54 how can anyone ever process the final data then? XD 2011-05-12T11:53:00 i'll fix it 2011-05-12T11:53:08 k 2011-05-12T11:53:09 whats the point in processing it? 2011-05-12T11:53:16 can you do anything with it? 2011-05-12T11:53:27 well, maybe you want to take the data that's in there in the fitness fucntion? 2011-05-12T11:53:39 ah, btw, what kind of bot-behaviour is actually punished, and in which way ?, timeouts, moving into water, your own ant, etc ? 2011-05-12T11:54:02 not much punishment, since it is multi-player 2011-05-12T11:54:08 teuneboon: i dont really see how can u evolve ur bot 2011-05-12T11:54:29 i mean, dont u need an ensemble of entities? 2011-05-12T11:54:38 so, that's how 'ignored' moves come in ? 2011-05-12T11:54:41 well, this is how I do it: 2011-05-12T11:54:41 timeouts and crashes will cause your bot to just hold every turn, and you may still get new ants, but no points 2011-05-12T11:54:48 I have a decision tree 2011-05-12T11:55:00 k. 2011-05-12T11:55:00 it's the same for every ant 2011-05-12T11:55:25 this can be dynamicly generated by evolution 2011-05-12T11:55:25 so it can add "nodes" to it 2011-05-12T11:55:25 etc. 2011-05-12T11:55:25 The point is to make the other bots incapable of seeing the difference between a dead and live bot 2011-05-12T11:56:15 then on every move it simply walks through the decision tree 2011-05-12T11:56:15 for every ant 2011-05-12T11:56:24 mcstar: I don't know how you would evolve one either, but someone may figure it out, so we will send ending info. 2011-05-12T11:58:37 you can evolve one by letting the program create if constructions by itself :P 2011-05-12T11:58:43 and if constructions within those if constructions 2011-05-12T11:58:46 etc. etc. 2011-05-12T11:59:42 berak: in order to pass the functional test, you will need to not send invalid orders, but it will not crash you bot when in a game 2011-05-12T11:59:51 this is the 'strict' mode of the engine 2011-05-12T12:01:58 ah, another flag explained ;) 2011-05-12T12:12:01 man i'm just trying to get an online 2011-05-12T12:12:42 *oww kill that 2011-05-12T12:28:04 *** CIA-45 has joined #aichallenge 2011-05-12T12:42:44 *** bhasker has joined #aichallenge 2011-05-12T12:44:39 *** amstan has joined #aichallenge 2011-05-12T12:44:39 *** ChanServ sets mode: +o amstan 2011-05-12T12:47:06 *** hacklash has joined #aichallenge 2011-05-12T12:48:22 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86.1 [Firefox 4.0.1/20110413222027]) 2011-05-12T12:55:59 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-05-12T13:01:21 *** CIA-45 has quit IRC (Remote host closed the connection) 2011-05-12T13:10:52 *** McLeopold has quit IRC (Read error: Connection reset by peer) 2011-05-12T13:13:12 *** teuneboon has quit IRC (Quit: Page closed) 2011-05-12T13:14:57 *** CIA-45 has joined #aichallenge 2011-05-12T13:24:58 *** Cerealklr has joined #aichallenge 2011-05-12T13:25:08 *** Cerealklr has left #aichallenge 2011-05-12T14:13:17 *** McLeopold has joined #aichallenge 2011-05-12T14:20:32 aichallenge: McLeopold epsilon * r8f010f9 / (4 files in 2 dirs): added a wait for bots to process end turn - http://bit.ly/mxlaum 2011-05-12T14:29:52 McLeopold the hero :D 2011-05-12T14:32:14 mcstar: so, does the wait work? 2011-05-12T14:37:42 im doing something else right now 2011-05-12T14:38:24 but a couple of days ago i noticed the problem and im glad u fixed it but i cant check it right now 2011-05-12T14:42:04 *** amstan has joined #aichallenge 2011-05-12T14:42:04 *** ChanServ sets mode: +o amstan 2011-05-12T15:17:43 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-05-12T15:18:46 *** teuneboon has joined #aichallenge 2011-05-12T15:20:46 *** CIA-45 has quit IRC () 2011-05-12T15:26:14 McLeopold , is it possible that even after a pull I still can't read teh "end" line? 2011-05-12T15:26:31 I put in a sleep of 1 sec 2011-05-12T15:26:45 and it just seems to pause my script too XD 2011-05-12T15:27:43 ? 2011-05-12T15:28:10 the newest update put a pause in on the "end" line 2011-05-12T15:28:12 or well 2011-05-12T15:28:16 it should call bot.resume() before sending the ending info 2011-05-12T15:28:16 when the program stops 2011-05-12T15:29:11 if bots_eliminated and end_wait: verbose_log.write('waiting {0} seconds for bots to process end turn\n'.format(end_wait)) time.sleep(end_wait) for b in bots_eliminated: bots[b].pause() 2011-05-12T15:29:18 I only see pause? 2011-05-12T15:29:56 and that's before ending info 2011-05-12T15:30:30 that's if you were eliminated, not if you survived 2011-05-12T15:31:03 just above that line is where they are resumed 2011-05-12T15:31:29 ah, I see 2011-05-12T15:31:35 hmm, why doesn't it work for me :( 2011-05-12T15:31:59 give end_wait 5 seconds and see if it still is an issue 2011-05-12T15:32:21 what language, btw 2011-05-12T15:32:29 *** CIA-48 has joined #aichallenge 2011-05-12T15:32:31 javascript/nodejs 2011-05-12T15:32:52 hmm 2011-05-12T15:33:25 is this the starter bot? 2011-05-12T15:33:31 well, kind of 2011-05-12T15:33:32 :P 2011-05-12T15:33:39 modified it already 2011-05-12T15:34:34 does the pure starter have the same issue? 2011-05-12T15:34:39 hmm, even 5 seconds doesn't work 2011-05-12T15:34:45 I'm going to try pure starter now 2011-05-12T15:35:05 although I made the pure starter package myself too ;) 2011-05-12T15:37:04 same for starter package 2011-05-12T15:37:16 unless output log doesn't work on end anymore? 2011-05-12T15:39:09 it should 2011-05-12T15:39:13 what version of node? 2011-05-12T15:41:07 v0.5.0-pre 2011-05-12T15:42:01 *** _0x47 <_0x47!~slash@p5B25E41A.dip.t-dialin.net> has quit IRC (Remote host closed the connection) 2011-05-12T15:43:03 *** _0x47 <_0x47!~slash@p5B25E41A.dip.t-dialin.net> has joined #aichallenge 2011-05-12T15:44:40 teuneboon: npm or any other packages? 2011-05-12T15:44:54 well, I use filesystem class 2011-05-12T15:44:57 but nothing else 2011-05-12T15:45:00 does it work there then? 2011-05-12T15:45:19 in the start_bot I didn't use filesystem btw 2011-05-12T15:47:03 okay, and if the starter has issues, it's probably not the problem 2011-05-12T15:48:10 McLeopold: why cant i see stderr now? 2011-05-12T15:48:25 someone executed the php starter bot from my dev path, and apache just got in an infinite loop trying to execute it 2011-05-12T15:48:38 it wrote 5.9GB of log files because of the errors 2011-05-12T15:48:48 O_o 2011-05-12T15:49:03 nice 2011-05-12T15:49:11 maybe he became sentient 2011-05-12T15:49:15 dont delete the logs 2011-05-12T15:49:23 it was just the same error 2011-05-12T15:49:28 :( 2011-05-12T15:49:36 [Mon May 09 15:04:03 2011] [error] [client 66.249.71.233] PHP Warning: fgets() expects parameter 1 to be resource, string given in /storage/raided/home/alex/www/aichallenge/ants/dist/starter_bots/php/Ants.php on line 217 2011-05-12T15:49:40 that means it should compress fairly well 2011-05-12T15:50:04 yeah, i bet there's a few gb more of them compressed 2011-05-12T15:50:10 hmm. I noticed something 2011-05-12T15:50:14 when looking at the stream log 2011-05-12T15:50:18 I don't see the final "go" 2011-05-12T15:51:00 in the engine code it's there though 2011-05-12T15:51:25 oh wait, the stream log doesn't log the go 2011-05-12T15:51:27 :P 2011-05-12T15:51:56 maybe it should... 2011-05-12T15:52:22 yeah, but that's only the log, and not the reason it doesn't work I think? 2011-05-12T15:52:37 McLeopold: so what happened to logging? 2011-05-12T15:52:54 i see a game_logs dir, but the files are empty 2011-05-12T15:52:58 not sure 2011-05-12T15:53:12 logging works here 2011-05-12T15:53:17 with the prev. engine my bot logged to stderr nicely 2011-05-12T15:53:32 amstan: playgame just launched a "browser" and I'm in text mode... 2011-05-12T15:53:41 McLeopold: yes.. i know 2011-05-12T15:54:00 w3m? 2011-05-12T15:54:01 one thing i don't understand is why we're using a tool made for developers when we're testing the sandbox on a worker... 2011-05-12T15:54:13 it's fine that it opens a browser 2011-05-12T15:54:25 because it's for the bot developers, but why are we using it.. 2011-05-12T15:54:30 just unfamilar with the w3m is all 2011-05-12T15:55:06 you don't have to use it, it's an option 2011-05-12T15:55:32 the functional test doesn't use it, nor the worker games 2011-05-12T15:55:50 the code is in playgame, which is a dev only tool 2011-05-12T15:58:17 amstan: did that make sense? 2011-05-12T15:59:00 visualizer is the one launching it 2011-05-12T15:59:38 i'm just confused on why we use it to test the workers, how come it uses the sandboxes when it's a dev tool? 2011-05-12T16:00:06 I guess we need to make playgame not use the sandboxes then 2011-05-12T16:00:24 but, if people want to see how their code performs in the sandbox, it's useful to have 2011-05-12T16:00:44 mcstar: McLeopold reworked how stderr is handled recently, unfortunately one of the things lost was the ability to just leave stderr for the bot alone and going to the console 2011-05-12T16:00:46 playgame is not to be used for testing workers 2011-05-12T16:00:55 amstan: the engine always uses the sandbox internally 2011-05-12T16:01:11 it's just a question of if the sandbox actually does any sandboxing :) 2011-05-12T16:01:27 hmm 2011-05-12T16:01:28 ok 2011-05-12T16:01:40 janzert: playgame should still be able to pipe a bots stderr to stderr, I think 2011-05-12T16:02:38 McLeopold: the sandbox always takes over stderr now and doesn't even read anything from it until after stdout is closed 2011-05-12T16:02:39 well it doesnt for me 2011-05-12T16:02:43 add a -e or --log_stderr 2011-05-12T16:02:50 tried that 2011-05-12T16:03:18 janzert: oh, so just turn off the sandboxing then 2011-05-12T16:03:28 wait... 2011-05-12T16:03:35 I mean the sandbox class, the way you rewrote it 2011-05-12T16:03:35 I'm thinking jail 2011-05-12T16:04:08 also if the bot prints more to stderr than the os buffer can handle it will deadlock now 2011-05-12T16:04:55 zomfg why won't it work :( 2011-05-12T16:05:31 the question is why the logs file are empty? 2011-05-12T16:05:40 I added a FIXME comment in the code about that last problem 2011-05-12T16:05:59 janzert: so we should have an option to pipe a bots stderr to the engine's stderr for testing? 2011-05-12T16:06:28 *** Accoun has quit IRC () 2011-05-12T16:06:36 I think that's the nicest yes, and sigh had made the changes before so it was working that way 2011-05-12T16:06:58 he was just passing the handle to the sandbox 2011-05-12T16:07:11 which didn't allow for me to capture 2011-05-12T16:07:53 and pass PIPE when you needed to captuer 2011-05-12T16:08:03 my thought was that if a bot crashed, we would capture the last few bytes of stderr to send to the user 2011-05-12T16:08:11 but really capturing needs to setup a separate thread for stderr 2011-05-12T16:08:17 just like the one for stdout 2011-05-12T16:08:32 I did that, passed PIPE and setup another Queue object 2011-05-12T16:08:42 but not another thread 2011-05-12T16:08:42 I'm just not attempting to read it during the game 2011-05-12T16:08:47 right 2011-05-12T16:09:01 oh, so a second monitor_process 2011-05-12T16:09:04 which will deadlock if the bot writes more than the OS buffer size 2011-05-12T16:09:08 yep 2011-05-12T16:09:12 ok 2011-05-12T16:09:59 I think easiest/best is to just generalize the monitor_process function to take a file and queue to read from and stuff the data into 2011-05-12T16:10:27 even if I rmove the bot.kill() it won't read the end line 2011-05-12T16:10:28 wtf 2011-05-12T16:10:55 teuneboon: is the bot stopped/paused at that point? 2011-05-12T16:10:56 teuneboon: I'm still looking at that 2011-05-12T16:11:03 from my recollection it is 2011-05-12T16:11:18 k 2011-05-12T16:11:26 you tested it with nodejs starter package too? 2011-05-12T16:11:51 nope, I haven't tested that part at all 2011-05-12T16:12:09 just have glanced through that part of the code before 2011-05-12T16:12:18 and know people said it was broken 2011-05-12T16:13:52 yeah, I'm also experimenting a bit with that piece of code ^^ 2011-05-12T16:14:01 trying to get it to work 2011-05-12T16:14:33 is there a method to check if a bot is paused McLeopold? 2011-05-12T16:14:57 you mean, from your bot? 2011-05-12T16:15:01 yes 2011-05-12T16:15:05 oh wait 2011-05-12T16:15:06 no 2011-05-12T16:15:07 no, that's the point 2011-05-12T16:15:10 I mean: in engine.py 2011-05-12T16:15:11 :P 2011-05-12T16:19:38 i should be banned from reading reddit 2011-05-12T16:19:40 it makes me rage 2011-05-12T16:20:01 stream_log.write(game.get_state() + 'go\n') 2011-05-12T16:20:06 I don't see that in the log... 2011-05-12T16:20:12 oh wait 2011-05-12T16:20:13 I mean 2011-05-12T16:20:17 I don't see the state 2011-05-12T16:20:19 I do see the go 2011-05-12T16:20:34 (the "+ 'go \n'" was added by me 2011-05-12T16:21:17 *** berak has quit IRC (Remote host closed the connection) 2011-05-12T16:26:33 McLeopold: is the directory restructuring branch ready to merge back in? 2011-05-12T16:26:48 new branch? 2011-05-12T16:26:49 * amstan looks 2011-05-12T16:27:02 amstan: setup-test 2011-05-12T16:27:04 setup-test? 2011-05-12T16:27:12 what's the significance of the name? 2011-05-12T16:27:20 not sure :) 2011-05-12T16:28:50 *** Accoun has joined #aichallenge 2011-05-12T16:31:06 amstan: so I don't blow away good code 2011-05-12T16:31:18 janzert: almost 2011-05-12T16:31:25 great 2011-05-12T16:31:40 although, I'm ready to give up on the jail stuf 2011-05-12T16:32:02 :} 2011-05-12T16:32:12 it always gets hairy 2011-05-12T16:32:20 what part is causing you problems? 2011-05-12T16:32:38 that same issue as before, but this time jail_own had the correct permissions 2011-05-12T16:33:04 hmm, and it says it can't change the owner? 2011-05-12T16:33:22 well, my vm died, so I can't give more details right now 2011-05-12T16:33:28 ok 2011-05-12T16:34:02 I'm so happy if I finally figure out what's going wrong :P 2011-05-12T16:34:06 teuneboon: so, it seems I can't get ending information either 2011-05-12T16:34:21 just in javascript? 2011-05-12T16:34:24 or in all languages? 2011-05-12T16:34:31 ./the ones you tried 2011-05-12T16:34:34 just javascript, I'm testing python next 2011-05-12T16:35:44 I'm pretty sure that is a known engine issue isn't it? 2011-05-12T16:35:45 I thought there was even a bug filed about it 2011-05-12T16:35:45 that was on elimination 2011-05-12T16:35:45 that it wouldn't send anything 2011-05-12T16:35:46 but on game end, it should really send it :P 2011-05-12T16:35:46 it's not this https://github.com/aichallenge/aichallenge/issues/95 2011-05-12T16:36:14 janzert: I committed to epsilon today 2011-05-12T16:37:17 ahh 2011-05-12T16:37:41 well, the bot.write line is reached for sure 2011-05-12T16:37:50 but dunno if bot is paused at that point 2011-05-12T16:38:04 *** FireFly has joined #aichallenge 2011-05-12T16:38:57 teuneboon: you mean line 180 of engine.py? 2011-05-12T16:39:08 I mean 213 2011-05-12T16:39:52 teuneboon: if you look at the bot input logs, you can see that end is at the start instead of turn... 2011-05-12T16:39:56 pretty sure they are paused at that point, line 235 is where they would get resumed 2011-05-12T16:40:08 I know, already fixed that here 2011-05-12T16:40:09 but still 2011-05-12T16:40:15 it should call the onEnd method 2011-05-12T16:40:16 ok 2011-05-12T16:42:23 janzert, even if I put bot.resume() a line above that it doesn't work 2011-05-12T16:43:22 teuneboon: at that point I would verify that the python bot(s) aren't receiving it either 2011-05-12T16:43:39 just to try and narrow down if it's a problem on the engine side or the bot side 2011-05-12T16:43:53 yeah, mcleopold was trying to do that weren't you leo? :P 2011-05-12T16:44:00 I can do that too 2011-05-12T16:45:31 python bot doesn't implement the "end" 2011-05-12T16:47:13 ahh, its a sane implementation :P 2011-05-12T16:48:02 I'm implementing 'end' right now :p 2011-05-12T16:48:07 k 2011-05-12T16:48:08 :P 2011-05-12T16:51:10 hmm, even with input buffering the nodejs bot won't work :( 2011-05-12T16:56:56 │ Apophis 2011-05-12T16:56:58 22:26:04 @amstan | setup-test? │ bhasker 2011-05-12T16:57:00 22:26:13 @amstan | what's the significance of the name? │ BtbN 2011-05-12T16:57:02 22:26:20 janzert | not sure :) │ CIA-48 2011-05-12T16:57:04 22:27:51 --> | Accoun (~1@static-213-88-2-78.chebnet.ru) has joined #aichallenge │ contestbot 2011-05-12T16:57:06 22:30:07 McLeopold | amstan: so I don't blow away good code │ Cyndre 2011-05-12T16:57:08 22:30:19 McLeopold | janzert: almost │ davidd 2011-05-12T16:57:10 22:30:25 janzert | great │ delt0r_ 2011-05-12T16:57:11 mcstar: ... 2011-05-12T16:57:12 22:30:41 McLeopold | although, I'm ready to give up on the jail stuf │ dr- 2011-05-12T16:57:14 22:31:03 janzert | :} │ Eruonen 2011-05-12T16:57:16 22:31:13 janzert | it always gets hairy │ FireFly 2011-05-12T16:57:18 22:31:21 janzert | what part is causing you problems? │ Frontier 2011-05-12T16:57:20 22:31:39 McLeopold | that same issue as before, but this time jail_own had the correct permissions │ greghaynes 2011-05-12T16:57:22 22:32:05 janzert | hmm, and it says it can't change the owner? │ hacklash 2011-05-12T16:57:24 22:32:23 McLeopold | well, my vm died, so I can't give more details right now │ Holiday 2011-05-12T16:57:26 22:32:28 janzert | ok │ j3camero 2011-05-12T16:57:28 22:33:03 teuneboon | I'm so happy if I finally figure out what's going wrong :P │ JamesMG 2011-05-12T16:57:30 ... 2011-05-12T16:57:30 22:33:07 McLeopold | teuneboon: so, it seems I can't get ending information either │ janzert 2011-05-12T16:57:30 well.. the good news that it's an irrsi screen 2011-05-12T16:57:32 22:33:21 teuneboon | just in javascript? │ javagamer 2011-05-12T16:57:34 22:33:24 teuneboon | or in all languages? │ jbroman 2011-05-12T16:57:35 so it'll end soon 2011-05-12T16:57:36 22:33:31 teuneboon | ./the ones you tried │ jmcarthur 2011-05-12T16:57:38 22:33:35 McLeopold | just javascript, I'm testing python next │ jmpespxo1eax 2011-05-12T16:57:40 lol 2011-05-12T16:57:40 22:33:50 janzert | I'm pretty sure that is a known engine issue isn't it? │ Kingpin13 2011-05-12T16:57:42 22:33:58 janzert | I thought there was even a bug filed about it │ McLeopold 2011-05-12T16:57:44 22:34:07 teuneboon | that was on elimination │ mcsmash 2011-05-12T16:57:46 or.. 2011-05-12T16:57:46 22:34:12 teuneboon | that it wouldn't send anything │ mcstar 2011-05-12T16:57:48 22:34:23 teuneboon | but on game end, it should really send it :P │ MuTa-ofd00m 2011-05-12T16:57:50 *** mcstar was kicked by amstan (come back) 2011-05-12T16:57:54 or he is going to repeat himself :P 2011-05-12T16:57:57 his own log 2011-05-12T16:57:58 ^^ 2011-05-12T16:58:19 thats why i disabled sending more than 3 lines 2011-05-12T16:58:31 ok.. now he's not coming back 2011-05-12T16:58:38 maybe he took it personal.. 2011-05-12T16:58:47 maybe his client is still sending? 2011-05-12T16:58:49 *** mcstar has joined #aichallenge 2011-05-12T16:58:53 there we go 2011-05-12T16:59:14 wont happen again :) 2011-05-12T16:59:17 np 2011-05-12T16:59:24 it happens to all of us 2011-05-12T16:59:35 let me guess, right clicked in putty? 2011-05-12T16:59:46 you can disable sending more than 3 lines without confirmation in irssi 2011-05-12T16:59:50 weechat ncurses based client 2011-05-12T16:59:51 but i forgot how 2011-05-12T16:59:59 and im used to highlight the text im reading 2011-05-12T17:00:03 then one middle-click 2011-05-12T17:00:07 and it inserted 2011-05-12T17:00:46 ok, I'm going to think like a computer now, how is it possible I don't recieve "end" :P 2011-05-12T17:00:47 i don't like using mouse for copy and paste 2011-05-12T17:00:52 *** delt0r___ has joined #aichallenge 2011-05-12T17:01:17 if (line == 'end') { 2011-05-12T17:01:25 seems pretty obvious XD 2011-05-12T17:02:15 *** delt0r_ has quit IRC (Ping timeout: 246 seconds) 2011-05-12T17:02:21 teuneboon: with python I get end info and can log it 2011-05-12T17:02:27 wtf XD 2011-05-12T17:02:32 so, we're back to nodejs 2011-05-12T17:02:37 ? 2011-05-12T17:02:39 not really 2011-05-12T17:02:56 mcstar: you're stderr issue is different 2011-05-12T17:02:59 i tried my cl bot and the cpp 2011-05-12T17:03:01 ah ok 2011-05-12T17:03:17 mcstar: how are you wanting the stderr to work? 2011-05-12T17:03:39 i dont care if it prints on the console or into a file 2011-05-12T17:03:48 ok 2011-05-12T17:04:06 preferably to the console 2011-05-12T17:04:14 but doesnt really matter 2011-05-12T17:04:43 with ErrorBot.py, I get stderr to the console, but error bot also crashes 2011-05-12T17:06:13 well, at least I know where to look now, thanks McLeopold 2011-05-12T17:06:55 ill try errorbot 2011-05-12T17:07:56 aha 2011-05-12T17:08:03 it crashed 2011-05-12T17:08:25 i guess it supposed to crash :) 2011-05-12T17:08:29 yep :) 2011-05-12T17:08:42 also, if you log errors to the log dir, you get a 0.botx.error file 2011-05-12T17:08:50 so it does both stderr and file logging 2011-05-12T17:09:18 nothing 2011-05-12T17:09:22 The only thing we need to do is separate the stderr into its own monitor process, so you can get ongoing results 2011-05-12T17:09:35 you on linux then? 2011-05-12T17:09:40 yes 2011-05-12T17:09:59 hmm, now I think of it, might it be because stdin is async in nodejs? 2011-05-12T17:10:15 sandbox.py, line 253, add the OSError exception 2011-05-12T17:10:19 that the stdin stream closes for a very short time or something, and that the nodejs program quits 2011-05-12T17:10:24 cause it thinks it's "done" 2011-05-12T17:11:27 I'll just put in a setTimeout to infinity to test it XD 2011-05-12T17:11:27 mcstar: that will get you to have ErrorBot log to a file as well, but it should have already shown you to the console 2011-05-12T17:12:07 make sure to pass --log_dir -E -e to playgame 2011-05-12T17:12:29 not --log_dir=dir ? 2011-05-12T17:12:36 uppercase E says "log to error file" and lowercase e says send to stderr 2011-05-12T17:12:50 it's using optparse, so either will work 2011-05-12T17:13:11 but no <> 2011-05-12T17:13:27 im not that stupid :) 2011-05-12T17:14:31 interesting 2011-05-12T17:15:08 one of the file contains that bot0 timed out 2011-05-12T17:15:22 and the other is contains the exception from errorbot 2011-05-12T17:15:26 -is 2011-05-12T17:16:09 so i run a cl a cpp and 2 python bots 2011-05-12T17:16:18 the cl logs to stderr as well as the cpp bot 2011-05-12T17:16:27 nothing on the screen 2011-05-12T17:16:48 only the errorbots exception can be seen on the screen and in the file 2011-05-12T17:17:07 the cl bot times out, and that can be seen in the logfile as well. but only that 2011-05-12T17:17:30 they should log every input they receive 2011-05-12T17:17:39 hmm, keeping the process alive doesn't fix it 2011-05-12T17:17:47 *** jmpespxo1eax is now known as jmpespxoreax 2011-05-12T17:17:52 *** jmpespxoreax has joined #aichallenge 2011-05-12T17:18:27 my name was said in a borring way lol 2011-05-12T17:18:49 so weird, I recieve every line, except for the part after and including "end" 2011-05-12T17:19:21 McLeopold: when you see logs from the bot, what bot do u run? 2011-05-12T17:19:24 python? 2011-05-12T17:22:36 *** kaemo has joined #aichallenge 2011-05-12T17:29:19 *** Mathnerd314 has joined #aichallenge 2011-05-12T17:29:41 *** kaemo0 has joined #aichallenge 2011-05-12T17:29:55 *** kaemo has quit IRC (Ping timeout: 258 seconds) 2011-05-12T17:30:27 mcstar: yes python 2011-05-12T17:30:44 could you try another bot? 2011-05-12T17:31:07 for testing stderr? 2011-05-12T17:31:11 yes 2011-05-12T17:31:29 I don't think another error bot has been created 2011-05-12T17:31:42 let me help 2011-05-12T17:31:50 in dist/starter_bots/cpp/State.cc 2011-05-12T17:32:09 line 144 2011-05-12T17:32:14 cerr<<"cpplog: "< add this line before that 2011-05-12T17:32:27 ok? 2011-05-12T17:32:33 I'll try 2011-05-12T17:32:41 thanks 2011-05-12T17:32:59 but if it doesn't crash, it may deadlock the buffer, or something 2011-05-12T17:33:29 are you saying that i can only see the output from stderr if the bot crashes? 2011-05-12T17:33:51 not entirely 2011-05-12T17:34:02 janzert said there was an issue with too much stderr 2011-05-12T17:34:12 and right now it is only capturing it at the end 2011-05-12T17:34:39 ok 2011-05-12T17:34:52 im lost 2011-05-12T17:35:00 i mean are you inclined to fix this? 2011-05-12T17:35:09 or is this how it supposed to be 2011-05-12T17:35:12 ? 2011-05-12T17:36:02 a real time log would be very useful 2011-05-12T17:36:11 wtfd 2011-05-12T17:36:13 -d 2011-05-12T17:36:30 and i dont really know why did it have to be rewritten 2011-05-12T17:36:30 yay accidental pastes? 2011-05-12T17:36:35 yep 2011-05-12T17:36:37 sry 2011-05-12T17:36:59 did i wake you jmcarthur ? 2011-05-12T17:37:02 :) 2011-05-12T17:40:14 *** hacklash has quit IRC (Quit: Page closed) 2011-05-12T17:40:25 mcstar: I'll get back to you, at some point it will be fixed 2011-05-12T17:41:14 ok thx dont hurry 2011-05-12T17:41:51 * teuneboon is getting frustrated XD 2011-05-12T17:42:13 teuneboon: why are you stuck with "end"? 2011-05-12T17:42:20 I have no freaking idea 2011-05-12T17:42:31 i mean is it really that important? 2011-05-12T17:42:38 I need to know the score :P 2011-05-12T17:42:47 mcstar: nah 2011-05-12T17:43:09 how about the replay file? 2011-05-12T17:43:14 isnt it there? 2011-05-12T17:43:38 what's the time frame on this contest? i thought things were ramping up quite a long time ago 2011-05-12T17:43:54 kind of an ugly way, but the only way in nodejs I think 2011-05-12T17:43:54 good question 2011-05-12T17:44:08 has it reached beta yet? 2011-05-12T17:44:18 i mean, i realize for most of the time the answer has been "it's done when it's done," but still 2011-05-12T17:44:41 i simply stopped asking 2011-05-12T17:44:46 if it takes long enough maybe i can actually participate after all 2011-05-12T17:44:54 after i move a couple times :P 2011-05-12T17:44:59 i realized that someone asks it nevertheless 2011-05-12T17:45:49 what language would you use? 2011-05-12T17:45:55 haskell 2011-05-12T17:46:18 is there a starter? 2011-05-12T17:46:25 brb 2011-05-12T17:46:41 teuneboon: good news 2011-05-12T17:46:46 what what what? :P 2011-05-12T17:46:59 I can get the startbot to log the end 2011-05-12T17:47:09 ah, nice, how did you do it? 2011-05-12T17:47:15 I added logging 2011-05-12T17:47:34 ? 2011-05-12T17:47:43 :) 2011-05-12T17:47:54 mcstar: i had made a mostly working starter *library* some time ago, but it's very over-engineered, lacking in documentation, probably out of date now, and... well, i don't think i want to push for it to be official at all 2011-05-12T17:47:55 *** kaemo0 has quit IRC (Remote host closed the connection) 2011-05-12T17:48:08 at the top of processLine, I did some syncronous file logging, at I got everything, including the end stuf 2011-05-12T17:48:35 ah nice, can you put the code on github? 2011-05-12T17:49:02 mcstar: i had plans to make it better but then i started taking my job hunt more seriously, and now i'm moving, so i just don't want to work on the starter anymore 2011-05-12T17:49:10 I'm not sure if I want starter bots to include logging... 2011-05-12T17:49:14 frankly i don't want my name on it :P 2011-05-12T17:49:21 hehe 2011-05-12T17:49:21 oh ok, can you at least show me some code? :P 2011-05-12T17:49:24 cant be that bad 2011-05-12T17:49:25 would be very grateful 2011-05-12T17:49:25 XD 2011-05-12T17:49:56 mcstar: mainly i'm embarrassed by the overengineering i did 2011-05-12T17:50:07 var log = fs.openSync('log.log', 'a'); fs.writeSync(log, line, null); fs.closeSync(log); 2011-05-12T17:50:18 does it mean its flexible and extensible? 2011-05-12T17:50:27 hehe, quite 2011-05-12T17:50:49 let's see: P 2011-05-12T17:50:51 but i think those properties could be retained with something a little simpler 2011-05-12T17:50:51 the bot is a long list of function names with random "." and "$" separators 2011-05-12T17:50:59 for some reason your name is associated with cl in my mind 2011-05-12T17:51:12 no, i don't really have any cl experience 2011-05-12T17:51:34 my most prominent online presence is all haskell stuff, probably functional reactive programming or gamedev related 2011-05-12T17:52:03 unfortunately my haskell is close to my spanish 2011-05-12T17:52:39 i should add that i dont know spanish :) 2011-05-12T17:52:44 no hable monads 2011-05-12T17:52:50 *** bhasker has quit IRC (Ping timeout: 260 seconds) 2011-05-12T17:52:52 i dont 2011-05-12T17:52:57 McLeopold, it doesn't work here :( 2011-05-12T17:53:18 but definitely will try it 2011-05-12T17:53:35 ah wait, forgot to add the new variable to the play game 2011-05-12T17:53:42 basically i found cl to be easier to get to know fro the contest that haskell 2011-05-12T17:53:46 teuneboon: I'm using 0.4.7 and I used a full path for the file name 2011-05-12T17:53:50 but i considered it as well 2011-05-12T17:53:55 the end_wait 2011-05-12T17:53:59 I forgot that one 2011-05-12T17:54:02 cause the log works 2011-05-12T17:54:10 but it didn't log end, trying something now though 2011-05-12T17:54:15 frequently my conversations in this channel turn into some sort of haskell topic, and i bet everybody is tired of it 2011-05-12T17:54:26 :D 2011-05-12T17:54:27 actually i guess a lot of conversations here are about languages though 2011-05-12T17:54:32 not anymore, you've gone dark 2011-05-12T17:54:36 yeah well... 2011-05-12T17:54:38 yay, it logged the end! 2011-05-12T17:54:51 o.O 2011-05-12T17:54:56 once you go black you never go back 2011-05-12T17:54:59 thanks man :P 2011-05-12T17:55:00 is this useful to me too? 2011-05-12T17:55:04 jmcarthur, I'm going to write a simple haskell starter soon :D 2011-05-12T17:55:07 (dirty) 2011-05-12T17:55:11 orly? 2011-05-12T17:55:19 yah 2011-05-12T17:55:22 rly 2011-05-12T17:55:29 cool 2011-05-12T17:55:43 just don't base it on mine and everything will be cool 2011-05-12T17:56:01 I can read haskell code now, but writing it takes a lot of creativity still 2011-05-12T17:56:01 *** computerwiz_222 has joined #aichallenge 2011-05-12T17:56:11 "git pus is not a git command, did you mean git pull?" 2011-05-12T17:56:18 wtf, bad language recognition in git :P 2011-05-12T17:56:24 feel free to ping me if you have any questions. i might be around 2011-05-12T17:56:29 I meant push, not pull xD 2011-05-12T17:56:29 k 2011-05-12T17:58:46 mcstar: apparently stderr is only captured if you crash 2011-05-12T18:00:17 is it enough if i crash, or does my bot have to crash too? 2011-05-12T18:00:50 (joking ewing) 2011-05-12T18:01:27 um, less drugs is good 2011-05-12T18:02:38 well i hope u will fix it up, i have to write my own primitive engine nevertheless 2011-05-12T18:02:44 so it isnt that pressing to me 2011-05-12T18:02:55 and my bot worked before soo.. 2011-05-12T18:07:59 *** MuTa-ofd00m has quit IRC (Read error: Connection reset by peer) 2011-05-12T18:09:04 *** MuTa-ofd00m has joined #aichallenge 2011-05-12T18:09:37 btw, little thing in end.score: you don't know which of the scores is you 2011-05-12T18:09:38 :P 2011-05-12T18:11:05 *** _0x47 <_0x47!~slash@p5B25E41A.dip.t-dialin.net> has quit IRC (Quit: Leaving.) 2011-05-12T18:15:01 *** ltriant has joined #aichallenge 2011-05-12T18:15:43 teuneboon: it should be the first score 2011-05-12T18:16:03 looks like a bug :) 2011-05-12T18:16:05 it isn't, since it's only the first score if your bot is the first parameter 2011-05-12T18:16:24 I'll get that one too 2011-05-12T18:16:46 *** sigh has joined #aichallenge 2011-05-12T18:26:02 woohoo, fitness 11 XD 2011-05-12T18:26:18 I bet even a 100% random bot would get that sometimes :P 2011-05-12T18:27:46 *** Cyndre_ has joined #aichallenge 2011-05-12T18:28:20 *** teuneboon has quit IRC (Quit: Page closed) 2011-05-12T18:30:41 *** Cyndre has quit IRC (Ping timeout: 240 seconds) 2011-05-12T18:31:25 *** sigh has quit IRC (Remote host closed the connection) 2011-05-12T18:33:41 *** antimatroid has quit IRC (Ping timeout: 240 seconds) 2011-05-12T18:35:32 *** FireFly has quit IRC (Quit: swatted to death) 2011-05-12T18:36:42 *** Capatcha has joined #aichallenge 2011-05-12T18:40:36 *** ltriant has quit IRC (*.net *.split) 2011-05-12T18:40:37 *** Apophis has quit IRC (*.net *.split) 2011-05-12T18:40:38 *** slkjcna has quit IRC (*.net *.split) 2011-05-12T18:40:38 *** mcsmash has quit IRC (*.net *.split) 2011-05-12T18:40:39 *** Cyndre_ has quit IRC (*.net *.split) 2011-05-12T18:40:39 *** McLeopold has quit IRC (*.net *.split) 2011-05-12T18:40:39 *** orivej has quit IRC (*.net *.split) 2011-05-12T18:40:39 *** Accoun has quit IRC (*.net *.split) 2011-05-12T18:40:40 *** jbroman has quit IRC (*.net *.split) 2011-05-12T18:40:42 *** stride has quit IRC (*.net *.split) 2011-05-12T18:40:42 *** Zannick has quit IRC (*.net *.split) 2011-05-12T18:40:44 *** amstan has quit IRC (*.net *.split) 2011-05-12T18:40:44 *** Sunhay has quit IRC (*.net *.split) 2011-05-12T18:40:45 *** j3camero has quit IRC (*.net *.split) 2011-05-12T18:40:45 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (*.net *.split) 2011-05-12T18:40:46 *** janzert has quit IRC (*.net *.split) 2011-05-12T18:40:47 *** jmcarthur has quit IRC (*.net *.split) 2011-05-12T18:40:49 *** Ttech has quit IRC (*.net *.split) 2011-05-12T18:40:49 *** MuTa-ofd00m has quit IRC (*.net *.split) 2011-05-12T18:40:49 *** computerwiz_222 has quit IRC (*.net *.split) 2011-05-12T18:40:50 *** Kingpin13 has quit IRC (*.net *.split) 2011-05-12T18:40:50 *** needsch has quit IRC (*.net *.split) 2011-05-12T18:40:52 *** acieroid has quit IRC (*.net *.split) 2011-05-12T18:40:52 *** delt0r___ has quit IRC (*.net *.split) 2011-05-12T18:40:52 *** jmpespxoreax has quit IRC (*.net *.split) 2011-05-12T18:40:52 *** mcstar has quit IRC (*.net *.split) 2011-05-12T18:40:52 *** AlliedEnvy has quit IRC (*.net *.split) 2011-05-12T18:40:53 *** Frontier has quit IRC (*.net *.split) 2011-05-12T18:40:54 *** dr- has quit IRC (*.net *.split) 2011-05-12T18:40:55 *** Capatcha has quit IRC (*.net *.split) 2011-05-12T18:40:55 *** Holiday has quit IRC (*.net *.split) 2011-05-12T18:40:55 *** CIA-48 has quit IRC (*.net *.split) 2011-05-12T18:40:56 *** smellyhippy has quit IRC (*.net *.split) 2011-05-12T18:40:57 *** greghaynes has quit IRC (*.net *.split) 2011-05-12T18:40:57 *** sente has quit IRC (*.net *.split) 2011-05-12T18:40:57 *** Mathnerd314 has quit IRC (*.net *.split) 2011-05-12T18:40:58 *** ChanServ has quit IRC (*.net *.split) 2011-05-12T18:40:59 *** javagamer has quit IRC (*.net *.split) 2011-05-12T18:40:59 *** BtbN has quit IRC (*.net *.split) 2011-05-12T18:41:00 *** Eruonen has quit IRC (*.net *.split) 2011-05-12T18:41:00 *** okayzed has quit IRC (*.net *.split) 2011-05-12T18:41:00 *** JamesMG has quit IRC (*.net *.split) 2011-05-12T18:41:01 *** a1k0n has quit IRC (*.net *.split) 2011-05-12T18:45:25 *** Eruonen has joined #aichallenge 2011-05-12T18:45:25 *** Capatcha has joined #aichallenge 2011-05-12T18:45:25 *** Cyndre_ has joined #aichallenge 2011-05-12T18:45:25 *** ltriant has joined #aichallenge 2011-05-12T18:45:25 *** MuTa-ofd00m has joined #aichallenge 2011-05-12T18:45:25 *** computerwiz_222 has joined #aichallenge 2011-05-12T18:45:25 *** Mathnerd314 has joined #aichallenge 2011-05-12T18:45:25 *** delt0r___ has joined #aichallenge 2011-05-12T18:45:25 *** mcstar has joined #aichallenge 2011-05-12T18:45:25 *** Accoun has joined #aichallenge 2011-05-12T18:45:25 *** CIA-48 has joined #aichallenge 2011-05-12T18:45:25 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-05-12T18:45:25 *** amstan has joined #aichallenge 2011-05-12T18:45:25 *** McLeopold has joined #aichallenge 2011-05-12T18:45:25 *** orivej has joined #aichallenge 2011-05-12T18:45:25 *** jmpespxoreax has joined #aichallenge 2011-05-12T18:45:25 *** Holiday has joined #aichallenge 2011-05-12T18:45:25 *** Kingpin13 has joined #aichallenge 2011-05-12T18:45:25 *** needsch has joined #aichallenge 2011-05-12T18:45:25 *** Frontier has joined #aichallenge 2011-05-12T18:45:26 *** janzert has joined #aichallenge 2011-05-12T18:45:26 *** AlliedEnvy has joined #aichallenge 2011-05-12T18:45:26 *** javagamer has joined #aichallenge 2011-05-12T18:45:26 *** okayzed has joined #aichallenge 2011-05-12T18:45:26 *** dr- has joined #aichallenge 2011-05-12T18:45:26 *** Apophis has joined #aichallenge 2011-05-12T18:45:26 *** JamesMG has joined #aichallenge 2011-05-12T18:45:26 *** smellyhippy has joined #aichallenge 2011-05-12T18:45:26 *** Ttech has joined #aichallenge 2011-05-12T18:45:26 *** jmcarthur has joined #aichallenge 2011-05-12T18:45:26 *** jbroman has joined #aichallenge 2011-05-12T18:45:26 *** Sunhay has joined #aichallenge 2011-05-12T18:45:26 *** mcsmash has joined #aichallenge 2011-05-12T18:45:26 *** slkjcna has joined #aichallenge 2011-05-12T18:45:26 *** j3camero has joined #aichallenge 2011-05-12T18:45:26 *** stride has joined #aichallenge 2011-05-12T18:45:26 *** a1k0n has joined #aichallenge 2011-05-12T18:45:26 *** greghaynes has joined #aichallenge 2011-05-12T18:45:26 *** Zannick has joined #aichallenge 2011-05-12T18:45:26 *** BtbN has joined #aichallenge 2011-05-12T18:45:26 *** ChanServ has joined #aichallenge 2011-05-12T18:45:26 *** acieroid has joined #aichallenge 2011-05-12T18:45:26 *** sente has joined #aichallenge 2011-05-12T18:45:26 *** lindbohm.freenode.net sets mode: +oo amstan ChanServ 2011-05-12T18:46:49 *** znutar_ has joined #aichallenge 2011-05-12T18:49:35 jmcarthur: you around? 2011-05-12T18:49:41 yes 2011-05-12T18:50:23 so, if you have 1 ant by itself, and it dies, you don't get to see what happened 2011-05-12T18:50:45 I'm thinking vision should include the space around your dead ants, for that turn 2011-05-12T18:51:47 i agree 2011-05-12T18:52:21 or we can say, the vision/scouting info was passed back before the battle occured 2011-05-12T18:52:34 so people don't ask why dead ants can see 2011-05-12T18:53:16 you could make it consistent by taking the union of visibility before and after all moves and fights and using that to determine what the bot can see as a result of the turn 2011-05-12T18:53:56 that would mean that dead ants get to see the area they could see before they died, and ants that move have kind of a smearing vision i guess 2011-05-12T19:14:46 jmcarthur: I think just defining it as what you can see after moves and before attacks is good enough 2011-05-12T19:15:48 well, that's my two cents 2011-05-12T19:16:42 *** mcstar has quit IRC (Quit: WeeChat 0.3.4) 2011-05-12T19:44:48 *** amstan_ has joined #aichallenge 2011-05-12T19:44:48 *** ChanServ sets mode: +o amstan_ 2011-05-12T19:44:48 *** amstan has quit IRC (Read error: Connection reset by peer) 2011-05-12T20:01:14 aichallenge: McLeopold epsilon * r9c8bf2c / (5 files in 2 dirs): perspective switch on scores and statuses, ability to stream stderr - http://bit.ly/jD3VhI 2011-05-12T20:02:09 aichallenge: McLeopold epsilon * r62d4485 / worker/sandbox.py : removed old monitor function - http://bit.ly/mO0KAc 2011-05-12T20:02:19 janzert: you may want to review my changes 2011-05-12T20:02:26 or amstan 2011-05-12T20:03:01 The big difference is that sandbox.kill does not get called from the monitor function anymore, but it doesn't seem to affect anything 2011-05-12T20:06:24 I'd really really rather that bare except clause printed the exception info to stderr so it didn't just get swallowed and somewhat prefer that the exception still killed the sandbox, it just seems like a nice safety measure 2011-05-12T20:07:28 actually if the sandbox.kill call isn't put back into that except clause, just get rid of it alltogether and the default handler will print to stderr 2011-05-12T20:10:47 I don't want stderr going directly to stderr 2011-05-12T20:11:06 I'm capturing both stdout and stderr from bots and processing it in different ways 2011-05-12T20:11:52 oh, that error... 2011-05-12T20:11:55 hmm 2011-05-12T20:13:46 janzert: that would be considered errors produced by the bot, even though it came from sandbox, no? 2011-05-12T20:14:54 janzert: and with stdout not being monitored, the bot should get cleaned up with a crash or timeout status 2011-05-12T20:16:37 aichallenge: McLeopold epsilon * ra996b12 / worker/sandbox.py : removed error trapping of monitor, ignoring signal error - http://bit.ly/m8EPey 2011-05-12T20:21:03 basically that should never throw except on some sort of OSError, mostly I'm just being paranoid that a bot could somehow induce an error here and escalate it to breaking out of the sandbox 2011-05-12T20:21:23 ok 2011-05-12T20:21:33 which is why I'd prefer that it killed the sandbox, but at the same time I can't think of any actual way to exploit it 2011-05-12T20:21:44 but that just means I can't think of one of course :) 2011-05-12T20:21:49 :) 2011-05-12T20:21:54 must be secure! 2011-05-12T20:22:15 well, removing kill wasn't the goal, just a side affect 2011-05-12T20:22:21 yeah 2011-05-12T20:22:33 so, if you can improve it, the great 2011-05-12T20:22:39 since it doesn't have the reference to the sandbox anymore 2011-05-12T20:22:52 yeah, I didn't want to think about it :) 2011-05-12T20:23:09 I guess we just pass that back in, who cares if it looks crappy 2011-05-12T20:23:47 btw, at some point it would be nice for the engine to take advantage of the read_line timeout so it doesn't have to spin waiting for bot response 2011-05-12T20:24:05 would reduce its cpu usage 2011-05-12T20:24:21 *** Eruonen has quit IRC () 2011-05-12T20:24:24 also something else to think about but I'm not sure if it is worth it 2011-05-12T20:24:27 I thought the "read up to 100 lines" was going to help with that 2011-05-12T20:24:42 coupled with the sleep above 2011-05-12T20:25:12 is to have the monitor timestamp each incoming line and the engine then use that to check for the timeout 2011-05-12T20:25:19 it would be slightly more accurate 2011-05-12T20:25:34 can you create an issue on that? 2011-05-12T20:25:39 so we don't forget 2011-05-12T20:25:42 *** needsch has quit IRC (Quit: Leaving.) 2011-05-12T20:25:49 ehh, it's probably just a nice to have 2011-05-12T20:25:59 yeah, tag it for zeta at least 2011-05-12T20:26:09 just something that's been in the back of mind for a while 2011-05-12T20:26:38 so, the official status right now is the workers are still broken on ubuntu :( 2011-05-12T20:26:46 everything is fine in windows for some reason 2011-05-12T20:27:21 gtg 2011-05-12T20:27:24 I'll try checking out your branch later tonight and see if it's broken here and what might be the fix 2011-05-12T20:27:28 see you later 2011-05-12T20:27:53 my branch is a few "fixes" and an attempt to make the setup be able to repair itself 2011-05-12T20:28:17 and for some reason a2enmod rewrite will hang my system if already installed :( 2011-05-12T20:28:27 anyway, bye 2011-05-12T20:28:30 *** McLeopold has quit IRC (Read error: Connection reset by peer) 2011-05-12T21:09:05 *** bhasker has joined #aichallenge 2011-05-12T21:18:13 *** Frontier has quit IRC (Ping timeout: 240 seconds) 2011-05-12T21:27:27 *** bhasker has quit IRC (Quit: bhasker) 2011-05-12T22:04:33 *** Frontier has joined #aichallenge 2011-05-12T22:06:40 *** Ttech has quit IRC (Quit: Your nick was overruled.) 2011-05-12T22:15:41 *** Ttech has joined #aichallenge 2011-05-12T22:22:52 I just read the channel logs and found Ice_Harley's report about a replay that errors out in the visualizer: http://pastebin.com/saqNzPmS. 2011-05-12T22:39:28 "replaydata.ants.0.6.length should be within [3 .. 4], but was found to be 2!" means that the ant was alive for 3 turns (+1 if it was the end of the game) but it only two orders (in this replay: 2x 'do nothing') were issued, which is wrong. There should be three orders. 2011-05-12T22:41:11 *** qacek has joined #aichallenge 2011-05-12T22:43:22 @later tell sigh: Could you take a look at http://pastebin.com/saqNzPmS ? It is a replay with one of the starting ants having a life span of 4, but only 2 orders, both 'do nothing'. It may have to do with a bot that didn't quit properly, but I only found that in the channel logs. 2011-05-12T22:43:22 Frontier: Yes master! 2011-05-12T22:50:39 *** antimatroid has joined #aichallenge 2011-05-12T22:52:30 *** Capatcha has quit IRC (Ping timeout: 252 seconds) 2011-05-12T23:47:56 *** computerwiz_222 has quit IRC (Quit: Konversation terminated!) 2011-05-12T23:48:48 *** computerwiz_222 has joined #aichallenge 2011-05-12T23:49:14 *** computerwiz_222 has joined #aichallenge 2011-05-12T23:51:28 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal)