2011-10-31T00:00:01 yes 2011-10-31T00:00:04 hahahahahahahah! 2011-10-31T00:00:12 nice 2011-10-31T00:00:18 beating starter bots isn't that hard 2011-10-31T00:00:22 or people who can't a*: 2011-10-31T00:00:22 i mean, you 2011-10-31T00:00:30 http://aichallenge.org/profile.php?user=280 2011-10-31T00:00:31 lol 2011-10-31T00:00:32 err, meant to paste: http://aichallenge.org/visualizer.php?game=33857&user=2374 2011-10-31T00:00:49 javascript! 2011-10-31T00:00:51 seriously dude? nice 2011-10-31T00:00:59 I bet you I can get into top100 with zero path finding code 2011-10-31T00:01:12 I believe you 2011-10-31T00:01:20 burny: lol no way! 2011-10-31T00:01:37 * avdg believes as well, as long the bot is actually trying to pathfind in a certain way 2011-10-31T00:01:43 in planet wars, I got to top 100 with zero re-enforcement code 2011-10-31T00:01:55 (System.err.println didn't work :( ) 2011-10-31T00:02:09 roflmao: are you using play_one_game? 2011-10-31T00:02:12 roflmao: did you check the logs? 2011-10-31T00:03:12 yea nothing there 2011-10-31T00:03:34 *** thestinger has joined #aichallenge 2011-10-31T00:04:33 are you trying to debug with print statements? 2011-10-31T00:05:37 yes 2011-10-31T00:05:40 i'm so pro 2011-10-31T00:06:01 cause I wouldn't even know how to begin to get the eclipse debugger to run along with the code 2011-10-31T00:06:07 cause it all runs through the python 2011-10-31T00:08:18 roflmao: did you run the py program without parameters? 2011-10-31T00:08:30 no it has default params 2011-10-31T00:08:37 try it 2011-10-31T00:08:43 ./playgame.py --player_seed 42 --end_wait=0.25 --verbose --log_dir game_logs --turns 100 --map_file maps/maze/maze_04p_01.map "java MyBot" "python sample_bots/python/LeftyBot.py" "python sample_bots/python/HunterBot.py" "python sample_bots/python/LeftyBot.py" 2011-10-31T00:08:43 it may be useful 2011-10-31T00:08:56 just ./playgame.py 2011-10-31T00:09:22 just gives you help and tells you you must add map file ;-) 2011-10-31T00:09:34 read it ;-) 2011-10-31T00:09:39 roflmao: you could try writing w/e to a log file instead... that's what I did 2011-10-31T00:09:51 good point asdsfafas 2011-10-31T00:09:55 and you don't have the -EO flags 2011-10-31T00:10:28 RTFM, eh? :) 2011-10-31T00:10:49 * -IOE 2011-10-31T00:11:07 you got it 2011-10-31T00:11:07 yeah, the nice version 2011-10-31T00:11:25 I hate being hard (and seeing it) 2011-10-31T00:11:34 lol well thanks 2011-10-31T00:12:12 bleh, time flies 2011-10-31T00:12:19 yeh no kidding 2011-10-31T00:12:29 man without this IRC's help I would be in a total ditch 2011-10-31T00:12:34 and I didn't wrote any useful code tonight 2011-10-31T00:12:42 irc is very useful ^^ 2011-10-31T00:12:44 if distracting~ 2011-10-31T00:12:45 yeah, me too :-) 2011-10-31T00:12:56 oh, it can be many things 2011-10-31T00:12:58 *** bmh has joined #aichallenge 2011-10-31T00:12:58 *** bmh has joined #aichallenge 2011-10-31T00:13:09 productive, not productive, oh you get the idea 2011-10-31T00:14:02 roflmao: I'm going to write a hierarchical pathfinder 2011-10-31T00:14:23 oh really? 2011-10-31T00:14:45 ya really 2011-10-31T00:14:51 no idea what that is 2011-10-31T00:15:01 but it's okay :) 2011-10-31T00:15:11 you know why I chose a*? 2011-10-31T00:15:21 would be could if you don't know it and try to implement it 2011-10-31T00:15:25 Imagine the map isn't 127^2 grid squares, but instead a bunch of rooms 2011-10-31T00:15:28 its actually the problem I have daily 2011-10-31T00:15:54 and you move from room to room? 2011-10-31T00:15:58 *** v_paul_v has joined #aichallenge 2011-10-31T00:16:06 roflmao: yep 2011-10-31T00:16:07 so you kind of pathfind based on rooms and stich them together or something 2011-10-31T00:16:19 bingo 2011-10-31T00:16:19 that's pretty fkin awesome 2011-10-31T00:16:38 heh, one of my friends is super stoked about hiearchical pathfinding 2011-10-31T00:16:43 i still think it's not needed :> 2011-10-31T00:16:48 hierarchical A*. figuring out an efficient hierarchy might be tricky 2011-10-31T00:16:50 lol, I was just thinking about that and feeling I was really crafty :p 2011-10-31T00:18:28 this game will get really boring if a few people figure out how to make optimal bots. 2011-10-31T00:18:59 meh, I need more math 2011-10-31T00:19:34 well bmh by the time people figure out the most optimal bots 2011-10-31T00:19:39 the challenge will be over 2011-10-31T00:19:56 roflmao: December is a long way off. 2011-10-31T00:20:08 do you really thing the problem is that simple? 2011-10-31T00:20:18 no. 2011-10-31T00:20:22 bmh: and I am already behind schedule ;-) 2011-10-31T00:20:34 I think you need hierarchical room finding 2011-10-31T00:20:37 avdg: My bot is horrendously bad :) 2011-10-31T00:20:48 *** dvladim has quit IRC (Ping timeout: 245 seconds) 2011-10-31T00:20:56 That way you can pile up your ants at the choke points and minimize the attack area. 2011-10-31T00:21:04 callahan: bingo. 2011-10-31T00:21:08 check mine, its scared of squares visited by other bots :-) 2011-10-31T00:21:33 yeah, well mine sits around and occasionally walks toward food 2011-10-31T00:21:43 once it walked toward food, spawned another ant and then the ants ran into eachother. 2011-10-31T00:21:52 http://aichallenge.org/visualizer.php?game=33780&user=280 2011-10-31T00:22:05 bmh: that was v1 here 2011-10-31T00:22:20 screw getting a1k0n to join my team, I'm going to e-mail Peter Norvig ;) 2011-10-31T00:22:25 @bmh: look at the tutororials 2011-10-31T00:22:26 roflmao: User error -- Replace user. 2011-10-31T00:22:33 contestbot? 2011-10-31T00:22:41 @bmh: look at the tutorials 2011-10-31T00:22:42 roflmao: Run as fast as you can and don't look back. 2011-10-31T00:22:57 they give a great simple but effective way of dealing with that very problem 2011-10-31T00:22:59 roflmao: I wasn't trying to make my ants avoid eachother :) 2011-10-31T00:23:08 @rot13 don't prefix your messages with @ :) 2011-10-31T00:23:08 thestinger: qba'g cersvk lbhe zrffntrf jvgu @ :) 2011-10-31T00:23:23 why does the bot complain about that lol 2011-10-31T00:23:26 http://aichallenge.org/visualizer.php?game=33780&row=10&col=13&turn=200 2011-10-31T00:23:44 they had to pick a symbol to use as a prefix to send a command to the bot (some use ! instead) 2011-10-31T00:23:46 tip: think about the path one bot may have visited 2011-10-31T00:23:59 and look at the other one 2011-10-31T00:24:20 avdg that boot is pretty pro 2011-10-31T00:24:27 you got a good non-pathfinding algorithm there 2011-10-31T00:24:56 its a kinda groupwise collide-and-redirect algoritmh 2011-10-31T00:25:07 with a random generator 2011-10-31T00:29:16 heh, xathis is only getting more lonely on top of the ranking 2011-10-31T00:30:16 brb 2011-10-31T00:30:26 *** avdg has quit IRC (Quit: Leaving.) 2011-10-31T00:31:32 *** tmandry has quit IRC (Ping timeout: 256 seconds) 2011-10-31T00:32:12 *** avdg has joined #aichallenge 2011-10-31T00:32:17 bck 2011-10-31T00:32:52 you owned those other bots 2011-10-31T00:34:09 *** mrbanana has quit IRC (Quit: Page closed) 2011-10-31T00:34:57 bleh, it still has bugs in it 2011-10-31T00:35:01 it at least doesn't crash 2011-10-31T00:35:06 haha 2011-10-31T00:35:21 how many lines of code 2011-10-31T00:35:22 just curious 2011-10-31T00:35:22 but I still have to find the cause of the time out 2011-10-31T00:35:34 well dude 500 bots that's pretty good to reach before a time otu 2011-10-31T00:35:44 ants** 2011-10-31T00:35:49 the core is atm at 373 loc 2011-10-31T00:36:05 relatively small 2011-10-31T00:36:05 and there are around 50 loc needed to get it working 2011-10-31T00:36:29 actually, make it 100 2011-10-31T00:36:32 What is xanthis doing? 2011-10-31T00:36:40 because of some library functions 2011-10-31T00:36:48 yah.. I have ant roles working 2011-10-31T00:36:49 http://aichallenge.org/rankings.php 2011-10-31T00:37:00 callahan: ^ 2011-10-31T00:37:31 I mean code wise 2011-10-31T00:37:45 Looks like getting combat down makes a big difference 2011-10-31T00:38:01 dunno, maybe doing something very stupid we don't actually know what it is doing? 2011-10-31T00:38:02 yeah I still need combat 2011-10-31T00:38:26 hot damn that bot is good 2011-10-31T00:38:27 omg.. some of these top ranking bots are version 1 bots :O 2011-10-31T00:38:29 which explains why we are much more stupid than his ai and as consequence of that nobody will gain the lead 2011-10-31T00:38:40 xathis is a machine 2011-10-31T00:39:04 grom358: I started off uploading versions all the time, but I've given up on that and just use the tcp servers now - they were probably doing that from the start 2011-10-31T00:39:22 it takes my bot 3 days to climb back up to a stable rank due to how slow the games are played 2011-10-31T00:39:23 grom358: they made the bots before the contest started 2011-10-31T00:39:41 I can actually already tell that xathis doesn't have the ultimate bot 2011-10-31T00:39:50 it doesn't take the shortest route to the food 2011-10-31T00:40:06 and he actually loses some games that way 2011-10-31T00:40:37 yes but his hunting is great 2011-10-31T00:41:10 fuynny how all these pro bots have a huge problem with clustering 2011-10-31T00:41:11 avdg: he's still #1 on fluxid (tcp) too 2011-10-31T00:41:37 it sucks new version of bots have to climb all the way from the bottom 2011-10-31T00:41:52 grom358: :-) 2011-10-31T00:41:56 what do you mean grom? 2011-10-31T00:42:08 oh 2011-10-31T00:42:08 duyh 2011-10-31T00:42:17 well I was at rank 300 something.. and now I'm back down to 3885 2011-10-31T00:42:27 I don't think aichallenge is as interesting as fluxid anyway. 2011-10-31T00:42:35 The bots on fluxid are much tougher. 2011-10-31T00:42:37 gonna take me ages to see if my changes improved it 2011-10-31T00:43:01 use the tcp servers for testing 2011-10-31T00:43:09 the official server doesn't play enough games to tell you anything 2011-10-31T00:43:23 ^this 2011-10-31T00:43:32 I got to rank 45 with no code dealing with combat/enemy ants 2011-10-31T00:44:25 I uploaded a new improved version 2 days ago (still without combat) and it looks like it will climb up to the same place 2011-10-31T00:44:32 http://aichallenge.org/profile.php?user=2255 2011-10-31T00:44:35 I can't get very far on fluxid anymore. combat clustering is getting more popular. 2011-10-31T00:44:37 so just curious, how long have yall been programmers? 2011-10-31T00:45:11 8 years sucking? 2011-10-31T00:45:17 does the game runner devour stdout or stderr or both? 2011-10-31T00:45:24 stdout 2011-10-31T00:45:28 actually 5 2011-10-31T00:45:31 or 6 2011-10-31T00:45:35 *** asdsfafas has quit IRC (Quit: Page closed) 2011-10-31T00:45:56 aichallenge: McLeopold epsilon * rb0e767b / (sql/0_schema.sql sql/2_generate_matchup.sql sql/opponent.sql): increase speed of matchup generation - http://git.io/io4k1Q 2011-10-31T00:46:06 *** yoden has quit IRC (Quit: Leaving.) 2011-10-31T00:46:17 a programmer for money? Two years now 2011-10-31T00:47:00 callahan: combat clustering? 2011-10-31T00:48:06 The ants correctly compute whether to attack or back off based upon how many friends they have. 2011-10-31T00:48:31 I never got paid for programming stuff 2011-10-31T00:48:45 program websites 2011-10-31T00:48:46 easy logic 2011-10-31T00:48:48 good money 2011-10-31T00:48:51 and had to quit school 2011-10-31T00:49:21 money issues? 2011-10-31T00:49:22 *** TinBane has quit IRC (Quit: Page closed) 2011-10-31T00:49:26 parents 2011-10-31T00:49:30 ah 2011-10-31T00:49:36 sorry to hear that 2011-10-31T00:49:37 *** cuda has joined #aichallenge 2011-10-31T00:49:43 actually, thats where the problem starts 2011-10-31T00:49:45 callahan: I was gonna do that.. but its complex because it depends on the direction of the enemy ants and the how many are on a line perpendicular to it 2011-10-31T00:49:56 if it makes you feel better programming is a merit based career 2011-10-31T00:50:03 or something like that.. haven't worked out all the details yet 2011-10-31T00:50:15 some people actually frown on masters or phd's cause it's more about your raw ability than your degree 2011-10-31T00:50:32 <— 40 dlls an hour, don't even have a highschool degree (homeschooled) 2011-10-31T00:50:35 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-31T00:50:43 (not trying to brag but) 2011-10-31T00:50:57 what is the fluxid link again sorry.. can't find it in my history 2011-10-31T00:51:09 so you should totally program for money dude :P 2011-10-31T00:51:18 http://ants.fluxid.pl/ 2011-10-31T00:51:36 thestinger: thanks 2011-10-31T00:51:40 meh, I have an iq of 108 and a subscore of 120 for something related to math performance 2011-10-31T00:51:48 needs to go in topic :) 2011-10-31T00:51:50 I think that isn't the problem 2011-10-31T00:51:52 108 is average man 2011-10-31T00:51:55 just lack of education 2011-10-31T00:51:58 what's the diff between fluxid and current 2011-10-31T00:52:26 I think my iq can be quite higher without the situation 2011-10-31T00:52:30 but whatever 2011-10-31T00:52:32 ah I see 2011-10-31T00:52:36 iq doesn't tell everything 2011-10-31T00:52:40 well I'm broke and can't go to college cause of money 2011-10-31T00:52:55 so high five 2011-10-31T00:52:57 roflmao: it uses a tcp server/client wrapper around the game engine so it runs games very fast 2011-10-31T00:53:01 *** ccc has joined #aichallenge 2011-10-31T00:53:09 you can play hundreds of games a day 2011-10-31T00:53:22 ah nice 2011-10-31T00:53:33 I can't develop that fast atm ;-) 2011-10-31T00:53:37 if you run more than one bot concurrently I guess you could play over a thousand - that would be good for testing two or more strategies 2011-10-31T00:54:11 hello, my bot crashes when i use -O3 -funroll-loops option in gcc, but otherwise it works. I remember someone here saying the tournament admins use -O3 too. How to find my error? 2011-10-31T00:54:18 roflmao: 108 is still above, if you add the fact that 100 is a calibrated number by each iq test release 2011-10-31T00:54:27 but thats only part of the story 2011-10-31T00:54:27 well there you have it 2011-10-31T00:54:31 its way more complex 2011-10-31T00:54:39 ccc: turn on all the gcc warnings and then turn off the ones that annoy you too much 2011-10-31T00:54:48 yeh, well, just sayin, if you can't go to college for whatever reasons 2011-10-31T00:54:53 programming is a great career to go into 2011-10-31T00:55:08 get a OCJP or something, employers really like em. 2011-10-31T00:55:09 ccc: http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Warning-Options.html 2011-10-31T00:55:13 yeah, but the people here are only interested in educated people 2011-10-31T00:55:38 yeh the system fucking sucks 2011-10-31T00:55:55 there should be standardized tests 2011-10-31T00:55:57 oh well, I actually ignore these things 2011-10-31T00:55:58 pay 100 bucks or so 2011-10-31T00:56:03 prepare however you want to 2011-10-31T00:56:07 ccc: compile with -Wall, fix all warnings. If it still crashes run it with valgrind 2011-10-31T00:56:30 roflmao: that doesn't balance the fact that people from school are more uniformed and by this more easily to fit in the industry 2011-10-31T00:57:05 true 2011-10-31T00:57:11 I compiled with -Wall -O3 -funroll-loops and there are absolutely no warnings, the bot crashes at turn 1, without anyoptions my bot plays well 2011-10-31T00:57:16 but they way people are pidgeonholed into student loans is just pure evil 2011-10-31T00:57:22 the* 2011-10-31T00:57:29 ccc: -Wextra, -Wstrict-overflow=5, etc. 2011-10-31T00:57:34 considering how in today's day and age of information education could and should be vastly cheaper 2011-10-31T00:57:38 ccc: Most likely uninitialized variables that gcc allocates more agressively with optimizations on. 2011-10-31T00:57:41 -Wall just turns on warnings that most people don't ever get annoyed by 2011-10-31T00:57:43 everything you learn in college you can learn with textbooks and the internet 2011-10-31T00:57:53 but you don't get the degree 2011-10-31T00:57:53 well, it still takes efforts to do it 2011-10-31T00:57:56 and interest 2011-10-31T00:58:03 oh yeah, definitely 2011-10-31T00:58:06 ccc: run it with valgrind 2011-10-31T00:58:07 since many people are only interested in the money 2011-10-31T00:58:09 mmm.. what the.. it keeps saying my bot failed to start when using tcpclient 2011-10-31T00:58:24 python tcpclient.py ants.fluxid.pl 2081 "java -jar MyBot.jar" grom358 passwd 3 2011-10-31T00:58:57 yep, i see warnings now - "warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2" 2011-10-31T00:59:07 thanks guys, i'll try to figure it out now 2011-10-31T01:00:26 ccc: I start with something like this http://pastie.org/2786200 and turn off -Weffc++, -Wconversion, etc. when they start being annoying 2011-10-31T01:00:32 anyone? 2011-10-31T01:01:06 -Wconversion isn't actually that bad in C++, but it is annoying as hell in C 2011-10-31T01:01:09 grom358 Try an absolute path 2011-10-31T01:01:15 for MyBot.jar 2011-10-31T01:01:46 *** xar0l has quit IRC (Quit: Page closed) 2011-10-31T01:01:50 callahan: nope.. same thing 2011-10-31T01:02:00 I'm on linux box if that helps 2011-10-31T01:02:33 what happens if you just do 'java -jar MyBot.jar' 2011-10-31T01:02:49 thestinger: sits there waiting for input 2011-10-31T01:02:59 What's the 3 for at the end? 2011-10-31T01:03:05 FYI the bot runs locally 2011-10-31T01:03:07 3 games 2011-10-31T01:03:12 -1 plays unlimited games 2011-10-31T01:03:15 Ahh 2011-10-31T01:04:10 grom358: try giving an absolute path to the .jar file 2011-10-31T01:04:20 thestinger: I did.. same result 2011-10-31T01:04:33 sudo python tcpclient.py ants.fluxid.pl 2081 "java -jar /home/grom/tmp/ants/MyBot.jar" grom358 pass 3 2011-10-31T01:04:40 even tried to sudo it 2011-10-31T01:04:49 Don't need sudo 2011-10-31T01:05:11 yeah.. well it don't work without it either 2011-10-31T01:05:46 I'm guessing that the tcpclient is somehow losing env variables that java needs 2011-10-31T01:06:43 *** bmh has quit IRC (Quit: bmh) 2011-10-31T01:06:53 try 'env | grep -i java' and manually pass them to it like 'VAR=whatever VAR2=whatever java -jar ...' 2011-10-31T01:07:14 yeah env | grep -i java returns nothing 2011-10-31T01:08:19 does your bot work with the playgame.py script? 2011-10-31T01:08:28 thestinger: yeap 2011-10-31T01:08:48 maybe try 'echo $PATH' and pass it manually to java 2011-10-31T01:08:50 and it works when I upload too 2011-10-31T01:09:20 well, "PATH=$PATH java" or w/e in the command 2011-10-31T01:09:26 *** Areks has joined #aichallenge 2011-10-31T01:09:52 yeap.. still no go :( 2011-10-31T01:10:19 weird that it doesn't work 2011-10-31T01:10:50 :( 2011-10-31T01:10:52 does it work with the sample bots at all? 2011-10-31T01:11:41 ah.. let me see 2011-10-31T01:12:45 nope 2011-10-31T01:14:41 what version of python is 'python' on your distro? 2011-10-31T01:14:59 Python 2.7.2+ 2011-10-31T01:15:22 ubuntu 11.10 here 2011-10-31T01:15:52 hmm, it looks like the issue with the gc in js is actually the opposite than I had thought 2011-10-31T01:16:05 so far as I know its actually not triggered at all 2011-10-31T01:16:40 aichallenge: McLeopold epsilon * r1a14987 / (website/api_compile_result.php website/sql.php): update user shutdown date - http://git.io/uoYGmA 2011-10-31T01:17:30 *** Dave has joined #aichallenge 2011-10-31T01:17:56 *** Dave is now known as Guest15974 2011-10-31T01:18:25 *** Guest15974 has quit IRC (Client Quit) 2011-10-31T01:18:41 *** burny has quit IRC (Ping timeout: 252 seconds) 2011-10-31T01:18:59 kk.. running that subprocess.Popen in python shell I get AttributeError: 'module' object has no attribute 'PIP' 2011-10-31T01:20:12 does that make sense to anyone? 2011-10-31T01:21:15 it's just a generic python traceback 2011-10-31T01:21:34 http://pastie.org/private/o9mp8knxy4roqenxy1nsza 2011-10-31T01:21:36 yeah.. but am I missing some python package? 2011-10-31T01:22:36 the tcpclient.py script doesn't import anything that's not in the python standard library 2011-10-31T01:22:44 *** tmandry has joined #aichallenge 2011-10-31T01:23:01 hi 2011-10-31T01:23:07 okay.. but why it failing on the Popen call :( 2011-10-31T01:23:21 how use logutils? 2011-10-31T01:23:32 where is logs? 2011-10-31T01:23:39 I think you just pasted part of the call (I see subprocess.PIPE in the file) 2011-10-31T01:23:56 thestinger: I just make a 2 line script 2011-10-31T01:24:02 import subprocess 2011-10-31T01:24:13 bot = subprocess.Popen("java -jar /home/grom/tmp/ants/MyBot.jar", stdin=subprocess.PIPE, stdout=subprocess.PIP, cwd=".") 2011-10-31T01:24:28 you missed an E on the second subprocess.PIPE :P 2011-10-31T01:24:52 oh lol 2011-10-31T01:25:10 kk.. OSError: [Errno 2] No such file or directory 2011-10-31T01:25:25 *** ChrisH_ has joined #aichallenge 2011-10-31T01:25:26 are you in the directory when you run the command? 2011-10-31T01:25:47 yeap 2011-10-31T01:26:23 people ^) 2011-10-31T01:26:27 help 2011-10-31T01:26:41 where is logs of my bot? 2011-10-31T01:27:14 grom358: ah, you actually need to pass a list to Popen 2011-10-31T01:27:31 i use logutils as in examle, but i don't khow where is file with logs 2011-10-31T01:27:42 *know 2011-10-31T01:27:48 ['/path/to/java', '-jar', '/path/to/jar/jar.jar'] 2011-10-31T01:27:58 as the first argument instead of a string 2011-10-31T01:29:30 thestinger: mm that works.. but when I look at the tcpclient it not passsing it as list like that 2011-10-31T01:29:35 it looks like the tcpclient script is meant to work with files that can just be executed (binaries or scripts with a shebang) 2011-10-31T01:29:44 you could make a little #!/bin/sh script to run your bot 2011-10-31T01:30:16 exec java -jar jarfile 2011-10-31T01:30:42 I _think_ that should work if you use exec 2011-10-31T01:31:00 you could also just edit tcpclient.py 2011-10-31T01:31:15 gah.. using shell script still didn't fix it 2011-10-31T01:31:15 McLeopold: ping 2011-10-31T01:33:14 OMG!!! 2011-10-31T01:33:47 changed line 170 to tcp(host, port, ["sh", botpath], pname, password, {}) 2011-10-31T01:34:10 did you make the script executable and make #!/bin/sh the top line? it should work without that 2011-10-31T01:34:25 yeah I made it executable with the shebang 2011-10-31T01:34:41 I had to still edit tcpclient.py as above before it worked 2011-10-31T01:34:48 oh well, at least it works :) 2011-10-31T01:35:01 lol.. yeah thanks for the help 2011-10-31T01:35:09 would of never got it working without you 2011-10-31T01:35:18 np 2011-10-31T01:35:18 cause I don't know python much 2011-10-31T01:35:30 I know python well but I've never touched the subprocess module :P 2011-10-31T01:35:34 just enough to read it.. but don't know the libs 2011-10-31T01:35:57 holy cow the last episode of the walking dead was intense 2011-10-31T01:36:15 roflmao: i kind of found it boring tbh 2011-10-31T01:36:21 yeah me too 2011-10-31T01:36:25 but the ending was really intense :P 2011-10-31T01:36:36 yeah good ending to the ep 2011-10-31T01:37:06 but the cop was so annoying.... wanting to leave 2011-10-31T01:37:20 dude 2011-10-31T01:37:23 you're one ep behind 2011-10-31T01:37:34 ep 3 is out? 2011-10-31T01:37:35 new one came out today 2011-10-31T01:37:37 yes 2011-10-31T01:37:39 oh.. lol 2011-10-31T01:37:43 i agree ep2 was kind of boring 2011-10-31T01:37:51 kk don't tell me then haha 2011-10-31T01:37:54 and yes the cop was being STUPID 2011-10-31T01:40:36 how quickly before the replays show up on ants.fluxid.pl ? 2011-10-31T01:41:00 i got a bunch of ones where I didn't move.. I'm assuming they from when I was connecting and my bot was failing to start 2011-10-31T01:41:42 pretty much as soon as the game finishes (I think you start looking for a new game as soon as you're eliminated or w/e, so the game might take a while to actually finish) 2011-10-31T01:42:29 @later tell McLeopold I left a couple of comments in github on your recent commits related to speeding up matchups. I spotted what looked like some accidentally committed test code. 2011-10-31T01:42:29 ChrisH_: Ready to serve, my lord. 2011-10-31T01:45:47 ChrisH_: okay, I'll look at it 2011-10-31T01:47:00 thestinger: well it says I survived but still don't see the replay yet 2011-10-31T01:47:33 game 14165: survived score: 0 turn: 160 2011-10-31T01:48:19 aichallenge: McLeopold epsilon * r3896887 / (sql/2_generate_matchup.sql sql/opponent.sql): fix leftover debug statement - http://git.io/zjwIvQ 2011-10-31T01:48:45 oh.. woops my username is different to what I thought lol 2011-10-31T01:49:23 McLeopold: you're welcome. ;) 2011-10-31T01:49:24 haha.. getting owned cause I have no battle logic 2011-10-31T01:50:22 you defend your hill which is a bit more than my bot does atm :P 2011-10-31T01:50:43 yeah that was my new addition 2011-10-31T01:50:48 some token defence 2011-10-31T01:51:00 to stop ninjas 2011-10-31T01:51:01 http://ants.fluxid.pl/replay.14170 there's mine (strcat) 2011-10-31T01:51:19 doesn't stop real attacks 2011-10-31T01:52:43 nice.. ah crap I forgot u can have more then 1 hill.. lol.. time to edit my code 2011-10-31T01:54:54 *** Palmik has joined #aichallenge 2011-10-31T01:54:54 *** roflmao has quit IRC (Quit: Leaving.) 2011-10-31T01:55:58 lol.. version 13 on the uploads now.. but a bunch of them are were I forgot 1 small thing 2011-10-31T01:57:47 man.. seems like all the bots are better than mine though lol 2011-10-31T01:57:50 yeah... I keep uploading and then fixing something 5 mins later 2011-10-31T01:58:15 i used to do that all the time :P 2011-10-31T01:58:44 *** bobbydroptable has joined #aichallenge 2011-10-31T01:59:08 so.. how to add combat logic lol 2011-10-31T01:59:12 waiting for 3 days to get a stable rank when I have better code ready is killing me xD 2011-10-31T01:59:45 I don't know, but people have been talking about game trees/minimax/quadtrees, so I'm going to do a bunch of reading 2011-10-31T02:00:25 quadtrees is todo with pathfind isn't it? 2011-10-31T02:01:19 got a question. if you have a massive swarm of ants in a spot 2011-10-31T02:01:28 where a food might spawn, does that prevent a food from being spawned? 2011-10-31T02:01:48 aichallenge: McLeopold epsilon * rf1dc285 / (7 files in 2 dirs): allow for activation/deactivate of submission - http://git.io/mEQUnQ 2011-10-31T02:01:54 or does the food that would normally have spawned there get spawned somewhere else 2011-10-31T02:02:31 grom358: I think it's used to partition the map into small areas so you can run the really scary algorithms in a reasonable amount of time just in those areas 2011-10-31T02:02:44 I could be wrong though 2011-10-31T02:03:31 thestinger: ah.. your bot beat me 2011-10-31T02:05:13 lol.. i had about 3 ppl come after me 2011-10-31T02:05:23 my 4 defenders not enough to stop that lol 2011-10-31T02:05:39 once you get some combat code I think they'll be a lot more useful 2011-10-31T02:05:58 the top bots use 2 ants to kill a whole army of mine :( 2011-10-31T02:06:58 *** Jak_o_Shadows1 has quit IRC (Read error: Connection reset by peer) 2011-10-31T02:07:25 yeah.. i also notice someone in that match doing same thing as me but they got the ants in a square inside of + pattern I got 2011-10-31T02:07:43 got the defenders in diagonal position of hill 2011-10-31T02:08:00 *** Fandekasp has joined #aichallenge 2011-10-31T02:08:04 NW, NE, SW, SE 2011-10-31T02:08:05 *** dana44 has quit IRC (Ping timeout: 265 seconds) 2011-10-31T02:08:11 instead of mine with N, W, S, E 2011-10-31T02:09:04 thestinger: wow u doing way better than me 2011-10-31T02:09:44 bobbydroptable: I'm not 100% sure, but looking at the code in github (https://github.com/aichallenge/aichallenge/blob/epsilon/ants/ants.py see line 1018) it looks like the food would not be generated 2011-10-31T02:09:45 I recently did a bunch of work on basics like movement which has really improved my bot - my ants used to always line up in a row/column and get massacred 2011-10-31T02:10:30 so clumping ants together can also be a bad thing if it prevent food from spawning in your areas 2011-10-31T02:10:50 thestinger: do you have combat code? u took me out with ease 2011-10-31T02:10:58 no 2011-10-31T02:11:02 *** Jak_o_Shadows has joined #aichallenge 2011-10-31T02:11:04 bobbydroptable: yes, it would seem so 2011-10-31T02:11:05 my ants spread out due to my movement code 2011-10-31T02:11:17 bobbydroptable: it will wait to spawn there the next time the location is not occupied 2011-10-31T02:11:21 do u still use A* to pathfind or something like that? 2011-10-31T02:11:35 antimatroid hmm ok 2011-10-31T02:11:39 so yes, leaving ants sitting around statically could prevent you from getting food 2011-10-31T02:11:42 I used to, but I've switch to a new way 2011-10-31T02:11:45 antimatroid1: ahh, I didn't gather that from a quick code skim. good to know 2011-10-31T02:11:57 this was the fairest way we could come up with in this situations 2011-10-31T02:11:57 *** analyst74 has quit IRC (Quit: HydraIRC -> http://www.hydrairc.com <- Nine out of ten l33t h4x0rz prefer it) 2011-10-31T02:12:03 before, I would just find one of the shortest paths from ant to target and send them along it 2011-10-31T02:12:21 I just used a step() function to prevent collisions, so they wouldn't move if they were blocked by another ant 2011-10-31T02:12:26 this way you can only affect food not spawning where your ants are, not potentially where food can and cannot spawn elsewhere on the map 2011-10-31T02:12:40 I then improved that by moving into locations where my ants are _if_ they have a move order already 2011-10-31T02:13:02 but then I still ended up with ants being _temporarily_ blocked, but not being given another order 2011-10-31T02:13:05 yeah I allow them to move to were they if the other ant has decided to move 2011-10-31T02:13:16 but its depends on the iteration order if that actually happens 2011-10-31T02:13:21 so now, my step() function returns 3 possible values (yay enums) 2011-10-31T02:13:37 if they were blocked by an idle ant, I stick them on a blocked queue 2011-10-31T02:13:53 i'm thinking I need todo moves in two phases 2011-10-31T02:13:57 well, I stick a struct on with the ant + all directions that bring them closer to a target 2011-10-31T02:13:59 or even 3 phases 2011-10-31T02:14:04 i was going to say, just 2? 2011-10-31T02:14:23 yeah.. step one.. mark where u want to move 2011-10-31T02:14:33 so then I can iterate through that list until I go a full iteration w/o moving an ant 2011-10-31T02:14:38 step two.. if that space is going to be free move there 2011-10-31T02:14:48 step three do something else if its occupied 2011-10-31T02:15:13 thestinger: omg.. thank you.. that is way better idea 2011-10-31T02:15:16 I don't use A* anymore, so I get multiple shortest paths to try too, before I stick them on the list of blocked ants 2011-10-31T02:15:41 keep looping over moves until no actions were taken 2011-10-31T02:15:47 so I actually try moving them in ALL directions that bring them closer to their target, and only then do I stick them in a list of blocked ants 2011-10-31T02:15:55 and there time left on clock 2011-10-31T02:16:07 *** tmandry has quit IRC (Ping timeout: 260 seconds) 2011-10-31T02:16:26 how do you know its gonna make them closer to the target? 2011-10-31T02:16:29 I've actually been testing on the 8 player multi hill maze map with 7 dumb hunter bots so I get 350+ ants sometimes, and I have no speed problems 2011-10-31T02:16:35 thestinger: ^ 2011-10-31T02:16:41 I test with turntime=80 locally 2011-10-31T02:16:46 oh, I got that from Fluxid :) 2011-10-31T02:17:15 I do something similar to a breadth-first search from each target across the whole map, marking off distances in a 2d array 2011-10-31T02:17:31 so I get real (well, assuming unseen stuff is land) distances, and pathfinding for free 2011-10-31T02:17:38 for _all_ ants to that target 2011-10-31T02:18:09 I still need A* if I just want to send 1 ant to a location for some reason, but I don't do that yet 2011-10-31T02:18:33 so for each tile.. you can lookup the distance to a target? 2011-10-31T02:18:37 yeah 2011-10-31T02:18:44 and I can put multiple targets onto the same 2d array 2011-10-31T02:18:53 and the ants will go to the nearest target 2011-10-31T02:19:06 I think Fluxid does that for hills, food and exploration 2011-10-31T02:19:14 multiple targets into the same array.. not sure I follow u there 2011-10-31T02:19:50 so, I set hill_map[row][col] to 0 when I find a hill, and do a BFS outwards, incrementing the distance each time 2011-10-31T02:20:02 if I know about multiple enemy hills, I do the same for them on that same map 2011-10-31T02:21:02 so an item in the 2d array can have multiple values? one to each hill? 2011-10-31T02:21:15 or do u just store the lowest one? 2011-10-31T02:21:22 that ^ 2011-10-31T02:21:41 so you just move to tile with the least distance to a target? 2011-10-31T02:21:45 yeah 2011-10-31T02:22:02 so for attacking hills my ants will attack the nearest hill - I might change that to concentrate on a hill sometimes 2011-10-31T02:22:10 mmm.. so you could weight priority to targets that way too 2011-10-31T02:22:42 do you put food onto it as well? 2011-10-31T02:23:09 well, I use 1 map for hill attacking and 1 for exploration 2011-10-31T02:23:16 BTW, incase anyone is interested, my bot computes paths/distances much like thestinger, and it is doing rather well. :) 2011-10-31T02:23:43 for food I can actually get away with making 1 for _each_ food (yay C++), but I only ever have 1 of those at a time 2011-10-31T02:23:55 I reuse the same variable for each of the maps atm 2011-10-31T02:23:57 mmm.. this is sounding better than A*.. cause A* only good when dealing with single ants 2011-10-31T02:24:16 I just make a static 2d vector of ints at the start of the game and keep reusing it - my BFS does no dynamic memory allocation 2011-10-31T02:24:45 running a BFS like that for every single food is faster than measuring manhattan distance from each ant to each food for me 2011-10-31T02:24:49 aichallenge: McLeopold epsilon * r222156a / sql/match_quality.sql : remove old sql - http://git.io/Z5ELZg 2011-10-31T02:24:49 aichallenge: McLeopold epsilon * r9666f6e / (sql/0_schema.sql sql/2_generate_matchup.sql sql/opponent.sql): update sql for deactivated submissions - http://git.io/nJltHA 2011-10-31T02:24:50 aichallenge: McLeopold epsilon * r1f12943 / (4 files): update website for deactivated submissions - http://git.io/-EQ1Cg 2011-10-31T02:24:50 aichallenge: McLeopold epsilon * r60ffe33 / website/update_submission.php : add update submission - http://git.io/cDwUnQ 2011-10-31T02:24:50 aichallenge: McLeopold epsilon * re472f1c / sql/2_generate_matchup.sql : add submission deactivate to start of matchmaking - http://git.io/snas9g 2011-10-31T02:25:01 thestinger: do you know Java enough to read it? 2011-10-31T02:25:03 thestinger: how do you keep track of when a food is gone 2011-10-31T02:25:03 and it gets more realistic info, since manhattan distance doesn't deal with water 2011-10-31T02:25:05 And also, incase anyone is interested, I tried to replace BFS with A* hoping it would be faster and it turned out to be slower in the end. 2011-10-31T02:25:11 I don't know java at all xD 2011-10-31T02:25:22 I could probably read it a bit though 2011-10-31T02:25:46 ChrisH_: okay, I'm about to push changes, help me make sure I don't take down the system :) 2011-10-31T02:25:54 I just want to show u my BFS code.. wanna know how to record the distance when doing the BFS 2011-10-31T02:25:57 bobbydroptable: atm, I just use what comes with the C++ starter bot - I don't store info about a food I lose sight of atm like I do for hills 2011-10-31T02:25:59 McLeopold: hehe, I'll got scan the changes. 2011-10-31T02:26:03 *** barsandcat has joined #aichallenge 2011-10-31T02:26:08 *** Mooloo has joined #aichallenge 2011-10-31T02:26:14 so you just assume it is there and send ants anyway 2011-10-31T02:26:42 well, I stop going there if I lose sight of it right now, which can make 1 lone ant go back and forth 2011-10-31T02:26:53 thestinger: http://pastebin.com/jKxasqS5 2011-10-31T02:26:57 *** ltriant has quit IRC (Quit: Computer has gone to sleep) 2011-10-31T02:27:45 well, in C++ I actually just based my BFS off the one that it uses for marking squares as visible each turn 2011-10-31T02:28:06 I originally did it in python, but it only takes like 4-5 lines there xD 2011-10-31T02:28:23 thestinger: yeah I using a set to mark searched tiles 2011-10-31T02:28:33 you don't need to keep track of nodes you've visited 2011-10-31T02:28:47 you can just compare the new value you would give it to the old, and if it's not lower you stop 2011-10-31T02:28:55 thestinger: yeah I do that in that code to return the path back to the start tile 2011-10-31T02:29:22 oh wait 2011-10-31T02:29:24 huh? 2011-10-31T02:29:25 *** Baus has quit IRC (Ping timeout: 240 seconds) 2011-10-31T02:29:46 i didn't read what you wrote correctly.. 2011-10-31T02:29:53 *** Xeltor has joined #aichallenge 2011-10-31T02:30:29 https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/cpp/State.cc#L75 2011-10-31T02:30:48 having issues to compile the sample code 2011-10-31T02:30:52 I started with that, and marked the distance instead of whether it is visible 2011-10-31T02:31:33 thestinger: yeah how do you know the distance? that is where I'm lost at with BFS 2011-10-31T02:31:34 McLeopold: OK, I don't see anything obviously wrong in the SQL, you're on your own with the web stuff, not my forte. 2011-10-31T02:31:39 then I got rid of the visited vector they use, because I just stop when the new distance wouldn't be lower than the current in that square 2011-10-31T02:31:55 well, you just read the parent's distance and increment it by 1 for the new node 2011-10-31T02:31:58 McLeopold: Also, I'm not that familiar with your DB schema, so I'm just looking for red flags. 2011-10-31T02:32:01 you pop a tile of the queue.. but how to u know how far away that tile is/was 2011-10-31T02:32:13 I mark the hill as 0 and start incrementing from there 2011-10-31T02:32:17 ChrisH_: try deactivating your submission 2011-10-31T02:32:22 and that lets me add multiple hills to the same map 2011-10-31T02:32:50 McLeopold: It is already deactivated! 2011-10-31T02:32:55 oh.. right.. so as the things on the queue have distance.. then as you add the adjacents you set them to 1 more than that 2011-10-31T02:33:08 thestinger: yeah that makes sense 2011-10-31T02:33:15 McLeopold: "Your current submission was deactivated on 2011-10-24 04:27:28 (7 days 2 hrs ago)" 2011-10-31T02:33:48 gonna have to test the speed of this.. I'm using Java 2011-10-31T02:33:51 grom358: I actually just read the old value from my 2d vector rather than passing it with the location in the queue 2011-10-31T02:33:54 anyone i can't run the c++ nor the java sample code with the python tool 2011-10-31T02:34:17 McLeopold: And the next game section is still implying I will get one, even though I have no active submissions. 2011-10-31T02:34:21 ChrisH_: okay, try activating it? 2011-10-31T02:34:42 McLeopold: Ok, seemed to work. 2011-10-31T02:34:45 thestinger: so you got 1 2d vector with everything on it? 2011-10-31T02:35:04 yup, basically 2011-10-31T02:35:30 I originally had a bunch but I just added new things to the Square struct that's used by the starter bot 2011-10-31T02:35:34 McLeopold: The activation status should show up at the top of the profile to avoid people being surprised if they don't scroll to the bottom. 2011-10-31T02:35:43 *** Palmik has quit IRC (Remote host closed the connection) 2011-10-31T02:35:44 thestinger: thanks for sharing 2011-10-31T02:35:57 np, I got the ideas from irc so I might as well share 2011-10-31T02:36:38 *** Xeltor has quit IRC (Quit: Page closed) 2011-10-31T02:36:45 McLeopold: I think this change will catch a lot of people off guard. 2011-10-31T02:36:58 mmmm... thinking that might be able todo combat too.. like mark how many friend ants are in range 2011-10-31T02:37:19 if u have more than the enemy it will result in moving towards enemy 2011-10-31T02:37:47 ChrisH_: I'm going to start it below the games for a little, then later may move it up. 2011-10-31T02:38:05 Deactivated isn't really that big of a deal. 2011-10-31T02:38:15 You can still get games. 2011-10-31T02:38:44 McLeopold: Ok, I won't be suprised if you get a lot of complaints. 2011-10-31T02:39:02 This is to try and get rid of starter bots the nice way 2011-10-31T02:39:04 McLeopold: I understand about still getting games, just not seeds. 2011-10-31T02:39:12 And increase the game count for those who care 2011-10-31T02:39:31 Do you want an explaintion? 2011-10-31T02:39:40 yeah, I understand, and thank you for that, but you should post an announcement in the forums or something 2011-10-31T02:39:59 no, i read the logs here to know about this ahead of time 2011-10-31T02:40:26 I'm getting gcc -O3 warnings "passing argument 1 of 'h_enter' with different width due to prototype" even thought the parameter is just char, i checked the prototype too, its just a char and i'm passing char 2011-10-31T02:40:36 in fact, I'm on tonight to see if it had been implemented yet, saw the commits paving the way and thought I'd hang around. 2011-10-31T02:41:02 okay, forum post coming up 2011-10-31T02:41:08 *** venom_away is now known as LouisMartin 2011-10-31T02:41:16 ccc: are you using C or C++? 2011-10-31T02:41:23 ccc: 'a' is an int literal in C iirc 2011-10-31T02:41:23 C 2011-10-31T02:41:23 Is it me or is the server way faster? 2011-10-31T02:41:31 thestinger: lol.. now I want to throw everything I done now.. startover 2011-10-31T02:41:39 McLeopold: I think it makes sense, just suggesting you should avoid surprising the people who care, by posting an explanation on the forums for those that don't read IRC logs. 2011-10-31T02:41:44 hmm.. The game scheduler algo changed? 2011-10-31T02:41:48 grom358: I've basically done that a few times :P 2011-10-31T02:42:16 that idea just way better.. deals with clusters of ants better 2011-10-31T02:42:41 I think it's fair to give priority to those who care enough to go see their profile page. 2011-10-31T02:42:47 it still ends up sending them in a single file line a lot of the time 2011-10-31T02:42:55 it's better, but not ideal 2011-10-31T02:43:08 thestinger: yeah.. i been thinking about how to fix that 2011-10-31T02:43:14 I need to weight the distance map or something at corners 2011-10-31T02:43:16 Great improvement McLeopold. kudos 2011-10-31T02:43:29 atm, a corner usually results in a big swarm turning into a single line 2011-10-31T02:43:54 yeah.. that is what I love about this idea.. can use weights to modify the path that gets travelled 2011-10-31T02:44:10 I was actually weighting my A* search 2011-10-31T02:44:37 I just used the same kind of idea (a 2d vector storing costs) 2011-10-31T02:44:47 thestinger: thanks again, it was int indeed 2011-10-31T02:44:48 but I never really started using it before I switched to this 2011-10-31T02:45:14 ccc: yeah, that's actually one of the few differences between C and the subset of C in C++ and has given me trouble before 2011-10-31T02:45:27 got to go.. laters 2011-10-31T02:45:31 cya 2011-10-31T02:45:45 easy one: what algo enable you to scan the "tiles" in a radius Y at position X ? 2011-10-31T02:45:46 *** grom358 has quit IRC (Quit: Ex-Chat) 2011-10-31T02:46:23 the c++ starter bot uses BFS + euclidean distance to do that 2011-10-31T02:46:33 *** Jak_o_Shadows1 has joined #aichallenge 2011-10-31T02:46:47 I think the python starter bot does it a better way, I haven't really looked at how it works yet 2011-10-31T02:47:00 thestinger: then what is char llteral in C, why is char even there if the literals are int? 2011-10-31T02:47:15 thestinger: there's that in the c++ starter bot? wow.. far from having this kind of stuff in the C# starter bot. 2011-10-31T02:47:46 McLeopold: What happened to the site formatting? Lots of stuff that used to be centered in columns is now all left justified, and there isn't much space between columns, making things run together (at least on FF5). 2011-10-31T02:47:53 LouisMartin: it uses it to mark off which squares are visible, it might be in the C# one too 2011-10-31T02:48:05 ccc: I guess you could do (char)'c'? 2011-10-31T02:48:06 *** Jak_o_Shadows has quit IRC (Ping timeout: 256 seconds) 2011-10-31T02:48:51 thestinger: I get it, but no, it's not there. BFS + euclidean.. alright, I'll go check the C++ code I guess. Thanks 2011-10-31T02:49:31 LouisMartin: I actually just linked to it for something else, so it's in my clipboard: https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/cpp/State.cc#L75 2011-10-31T02:50:48 McLeopold: Also, there are two t's at the end if the "edit" link for "About Me:" text on profiles. 2011-10-31T02:51:09 LouisMartin: it's actually really damn slow though... the python bot probably has a better example 2011-10-31T02:51:36 *** jix has quit IRC (Remote host closed the connection) 2011-10-31T02:51:41 thestinger: ok 2011-10-31T02:51:47 *** barsandcat has quit IRC (Quit: Page closed) 2011-10-31T02:52:16 I'm guessing you're using it for attack/view radius of ants? I hadn't actually thought of just reusing that code for some reason xD 2011-10-31T02:52:44 ChrisH_: http://aichallenge.org/forums/viewtopic.php?f=3&t=1710 2011-10-31T02:54:16 *** Fandekasp has quit IRC (Read error: Operation timed out) 2011-10-31T02:54:31 McLeopold: you missed a few ending 'd's on "deactivated" in that post. 2011-10-31T02:54:38 McLeopold: Otherwise nice post. 2011-10-31T02:55:08 aichallenge: McLeopold epsilon * r751d15a / (website/css/typo.css website/profile.php): minor tweaking - http://git.io/rsHvhw 2011-10-31T02:55:36 *** Fandekasp has joined #aichallenge 2011-10-31T02:56:40 McLeopold: It will be interesting to see how game rates adjust over the next few days. 2011-10-31T02:57:11 Probably go down, but be better bots 2011-10-31T02:57:20 McLeopold: which also reminds me of a question that's been bugging me. What are the units for the game rate column in the submissions table on profiles? 2011-10-31T02:57:24 *** svujic has left #aichallenge 2011-10-31T02:57:51 McLeopold: Yes, but more interesting will be the game rates for individual players on the standings pages. 2011-10-31T02:57:59 minutes, it's in the mouseover text 2011-10-31T02:58:26 ChrisH_: good point, right now there are about 1000 submissions in the last 24 hours 2011-10-31T02:58:42 I just deactivated about 4000 out of 8000 submissions 2011-10-31T02:58:43 thestinger: I used all the warning options in gcc described here http://pastie.org/2786200, and i removed every single warning. but still the bot crashes at turn 1 2011-10-31T02:58:50 ahh, mouse over fail for me. ;) Especially the difference in game rate for an active bot vs. an inactive one. 2011-10-31T02:59:05 ccc: use valgrind 2011-10-31T03:00:03 My "players ahead" stat dropped from ~3000 to ~650 when you made the change. 2011-10-31T03:00:07 ccc: C and C++ really let you shoot yourself in the foot - you could be writing out of bounds of an array, dereferencing a null pointer, etc. 2011-10-31T03:00:26 *** choas has joined #aichallenge 2011-10-31T03:00:28 css fail http://aichallenge.org/profile.php?user=1115 2011-10-31T03:00:41 thestinger: no no, my bot runs if I remove the -O3 option 2011-10-31T03:01:08 yeah, but that doesn't mean you aren't doing something like that 2011-10-31T03:01:16 i see 2011-10-31T03:01:21 McLeopold: are you referring to the about me text? 2011-10-31T03:01:44 ccc: you can write out of bounds an array w/o crashing or seeing any obvious signs of something wrong a lot of the time 2011-10-31T03:01:54 you are just writing over your own code/data 2011-10-31T03:02:30 aichallenge: McLeopold epsilon * rb39eefb / website/css/layout.css : tweak css - http://git.io/MGh43w 2011-10-31T03:02:36 as soon as you attempt a write on another process' address space I'm pretty sure your process is killed 2011-10-31T03:03:02 ChrisH_: yep 2011-10-31T03:04:04 McLeopold: do you think about decorating the standings page to indicate if bots are active or not? 2011-10-31T03:04:10 do == did 2011-10-31T03:04:35 *** danielharan has joined #aichallenge 2011-10-31T03:05:20 do you guys assign certain ants to act as food gatherers? 2011-10-31T03:06:04 thestinger: I do not, currently my exploring, food gathering, and some hill hunting ants are all in one pool for pathing to targets. 2011-10-31T03:06:35 do you send ants back to places you've already explored to look for food though? 2011-10-31T03:07:28 but I currently have a split I don't like, some ants try to avoid enemy ants (the pool just mentioned) and others that are more aggressive and don't mind getting in combat range. Those pools get pathed separately, which causes some behaviors I don't like. 2011-10-31T03:07:51 ChrisH_: no, I don't want to do that 2011-10-31T03:08:16 yes, I consider exploration to be both uncharted territory and not recently seen territory, but they have different priorities. 2011-10-31T03:08:26 *** SITZ has quit IRC (Ping timeout: 244 seconds) 2011-10-31T03:08:43 McLeopold: I can understand, just curious if it had been considered. 2011-10-31T03:10:00 *** pvarga has quit IRC (Quit: pvarga) 2011-10-31T03:10:40 aichallenge: McLeopold epsilon * rbf00612 / (website/ranking.php website/sql.php): add age to version in rankings - http://git.io/wBFY4w 2011-10-31T03:12:38 McLeopold: I just tested reactivating my bot and the shutoff date updated properly. 2011-10-31T03:12:55 ok 2011-10-31T03:13:05 I'd like to put more info into game lists 2011-10-31T03:13:19 maybe list a bunch of info for each participating bot 2011-10-31T03:13:26 McLeopold: I'd love to see the rank of the players in the game the most. 2011-10-31T03:13:26 instead of trying to compact space 2011-10-31T03:13:33 yeah 2011-10-31T03:13:42 mouseover or just right there 2011-10-31T03:13:45 so we could find good games in the recent game list easier. 2011-10-31T03:14:10 even a min and max rank for the game would be nice 2011-10-31T03:14:49 top 10 bots are deactivated :) 2011-10-31T03:15:05 except me :) 2011-10-31T03:15:23 _flag: and Fluxid are active too 2011-10-31T03:15:36 yeah, they both just made new submissions recently 2011-10-31T03:15:39 ChrisH_: ah nice, you're using Go :D 2011-10-31T03:16:11 thestinger: Yep, I'm finding it pretty well suited for this project. 2011-10-31T03:17:19 are goroutines allowed? I was unsure about that due to the no OS thread/process rule, since they don't use multiple threads by default 2011-10-31T03:18:05 I'm pretty sure they would be fine because the compiler used on the servers doesn't use native threads by default, so goroutines should act like green threads in the contest. 2011-10-31T03:18:22 But I haven't used them yet, so I can't say for sure. 2011-10-31T03:18:45 playgame has a --profile flag that creates a .profile file; any pointers on how to make sense of it? 2011-10-31T03:19:37 *** simlay has quit IRC (Ping timeout: 265 seconds) 2011-10-31T03:21:04 thestinger: what's your bot name on the main server? 2011-10-31T03:21:09 strcat 2011-10-31T03:21:27 ahh, yeah I've seen that one a few times. 2011-10-31T03:21:47 I considered using both python and go but I ended up using C++ because I wanted to learn it 2011-10-31T03:22:01 I'm mostly using it like C with built-in containers though... 2011-10-31T03:22:43 thestinger: I'm doing the same because I want to learn go. :) I did C++ for well over 10 years, so nothing to learn there. ;) 2011-10-31T03:22:58 yeah, I really like go 2011-10-31T03:23:44 I'm mostly messed around with using it for networking stuff because lightweight threads are awesome 2011-10-31T03:24:33 I've mostly* 2011-10-31T03:24:35 *** mleise has joined #aichallenge 2011-10-31T03:24:42 me too. I'm still getting used to how interfaces work and how to best utilize them, but they have been slowly dissappearing from my bot code either because they were overkill or proved to have a performance hit in some cases 2011-10-31T03:25:07 heh, 3 out of the top 20 are active now 2011-10-31T03:25:08 (me too re: liking go that is) 2011-10-31T03:25:32 I think interfaces kill performance because you end up using an extra layer of function calls 2011-10-31T03:25:34 janzert: And I'm only active because I was here when the change went live and helped test it. 2011-10-31T03:26:16 thestinger: yes, just like virtual methods in C++, but it only REALLY matters for those innermost loops that get run a zillion times 2011-10-31T03:26:43 * janzert nods 2011-10-31T03:26:50 thestinger: so my BFS code and that sort of low level stuff is where the interfaces got removed 2011-10-31T03:26:54 yeah, the first thing I did in Go was to make a parallel merge sort and compare it to C - interfaces end up making something like sort over an order of magnitude slower 2011-10-31T03:27:01 janzert: so, do the changes look good? 2011-10-31T03:27:44 just scanned 'em quickly but didn't see anything bad 2011-10-31T03:27:53 *** delt0r__ has quit IRC (Ping timeout: 245 seconds) 2011-10-31T03:28:06 except that http://git.io/MGh43w is nop 2011-10-31T03:28:19 is a no op even 2011-10-31T03:28:32 Guys, do you know why System.Drawing isn't available in C# ? 2011-10-31T03:28:43 or no it isn't I misread it :} 2011-10-31T03:28:44 janzert: how so? 2011-10-31T03:28:57 thestinger: Have you read http://blog.golang.org/2011/06/profiling-go-programs.html ? It really helped me speed up my bot code, both because of learning how to use the profiler, but also due to some of the go performance tuning tips. 2011-10-31T03:29:08 There's stuff in there that is helpful and doesn't have to do with actually drawing and saving bitmap file.. 2011-10-31T03:29:20 ChrisH_: yeah, I have 2011-10-31T03:29:35 ChrisH_: in the Go code I've written my performance problems were all related to overusing goroutines :P 2011-10-31T03:29:58 they are really cheap now, but chans are definitely not cheap because they do lots of locking/unlocking 2011-10-31T03:30:10 next game listing for deactivated players should probably change? 2011-10-31T03:30:24 thestinger: yeah, I can believe that, when you think about what they have to do in terms of context switching and syncronization, etc. they are going to have an impact 2011-10-31T03:30:42 janzert: I agree. 2011-10-31T03:30:44 *** doricatron has quit IRC (Ping timeout: 265 seconds) 2011-10-31T03:31:36 *** Cybsy has joined #aichallenge 2011-10-31T03:31:46 McLeopold: Anyone here can answer a question about what C# libraries(assembly) availability? 2011-10-31T03:31:51 ChrisH_: I think things will be a lot better when there's an LLVM frontend - gccgo definitely generates fast code, but it uses 1 thread per goroutine which makes it pretty useless 2011-10-31T03:31:53 thestinger: that's why I haven't used goroutines in my bot code yet, I haven't had a real need and didn't want the unpredictability of scheduling. 2011-10-31T03:32:19 I think there's actually a function you can call to pass control to another goroutine 2011-10-31T03:32:33 thestinger: I'm sure as the language matures the balance will shift. 2011-10-31T03:32:56 "Inactive submissions will not be choosen as a seed player for a new matchup, but may still be pick as an opponent in a game." s/choosen/chosen s/pick/chosen || used 2011-10-31T03:32:56 thestinger: yes, but I don't think that is the only time it can switch. 2011-10-31T03:32:58 McLeopold: The question is Why is System.Drawing not available to C# bots 2011-10-31T03:33:05 *? 2011-10-31T03:33:15 ChrisH_: yeah, it will do context switches/scheduling stuff by itself 2011-10-31T03:33:51 LouisMartin: well the workers don't have monitors ;) 2011-10-31T03:33:54 thestinger: which I really don't want happening when I'm trying to squeeze as much computing into 480ms and then sending off my moves 2011-10-31T03:34:18 does anyone really want the "won at" link in the game list? 2011-10-31T03:34:32 McLeopold: I don't care about it. 2011-10-31T03:34:38 LouisMartin: you probably need to include it specifically 2011-10-31T03:34:44 in the imports 2011-10-31T03:34:48 janzert: haha System.Drawing isn't about drawing stuff to screen 2011-10-31T03:35:03 is the Ruby program causing anyone else headaches? def run in ai is yielding and returning - but then hanging for me 2011-10-31T03:35:13 LouisMartin: also, if you just want a point class, make your own 2011-10-31T03:35:29 LouisMartin: oh, quick google failed me 2011-10-31T03:35:31 ChrisH_: well, I think chans are actually a lot cheaper with GOMAXPROCS set to 1 like it is by default, because it's concurrent but not parallel 2011-10-31T03:35:42 McLeopold: funny you say that cause I did. ;) 2011-10-31T03:36:01 LouisMartin: have you checked that mono implements it even? 2011-10-31T03:36:27 McLeopold: I don't know if you're familiar with C#, but I tried "using System.Drawing" and it didn't worked. 2011-10-31T03:36:42 thestinger: I think you're right. I use chans in my bots input parsing code, but since that only happens once a turn it is a non-factor performance wise anyway. 2011-10-31T03:36:43 janzert: good question. brb googling 2011-10-31T03:36:47 actually looks like it does 2011-10-31T03:36:48 LouisMartin: remember that it is really on mono, and linking is different there 2011-10-31T03:37:08 ChrisH_: they probably don't actually need to use any locking with 1 thread actually 2011-10-31T03:37:47 thestinger: no, just force cause a context switch to the code on the other end of the chan. 2011-10-31T03:38:01 you can have buffered chans though 2011-10-31T03:38:02 s/force cause/force 2011-10-31T03:38:13 McLeopold: you're right. Should look at how mono actually imports. my guess is that it's a parameter at compilation time... which I can't possibly influence. 2011-10-31T03:38:19 yep, so only force the switch when the buffer is full/empty 2011-10-31T03:38:42 *** choas has quit IRC (Ping timeout: 260 seconds) 2011-10-31T03:38:52 LouisMartin: it's usually in the sln or project file by default, which I believe is ignored 2011-10-31T03:38:56 LouisMartin: looks like it is included in the mono graphical interface package which pretty certainly isn't going to be available 2011-10-31T03:39:08 and in my case my parsing code uses a buffered chan to send tokens to itself, so it isn't even goroutine switching 2011-10-31T03:39:21 -pkg:gtk-sharp-2.0 2011-10-31T03:39:36 janzert: GPU FTW 2011-10-31T03:39:43 :) 2011-10-31T03:39:57 janzert: so, opinion on the won at link? 2011-10-31T03:40:08 thestinger: I could just as easily have done the parsing with slices, but chans required less management 2011-10-31T03:40:32 I kind of like to look at it sometimes to judge what games to view, but I don't really care too much either way 2011-10-31T03:40:59 also did you see the spelling error/corrections I gave above? 2011-10-31T03:41:05 *** delt0r__ has joined #aichallenge 2011-10-31T03:41:08 *** Overburn has joined #aichallenge 2011-10-31T03:41:27 for the profile activation explanation sentence 2011-10-31T03:41:56 McLeopold: Surely ignored, yes. The question is if there's any Mono equivalent that your compilation engine supports, but unless someone on your team tell me, it's a lot of try and error that probably will go nowhere. 2011-10-31T03:42:05 janzert: yes, I got that 2011-10-31T03:42:18 bye all 2011-10-31T03:42:24 cya 2011-10-31T03:42:25 LouisMartin: you can include it in the .cs files 2011-10-31T03:42:30 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-10-31T03:42:37 janzert: Well, there's simply no way any functions in this library could actually access any display device. 2011-10-31T03:43:15 http://www.youtube.com/watch?v=QtJ77qsLrpw 2011-10-31T03:43:15 *shrugs* someone apparently put in in the gtk package anyway though 2011-10-31T03:43:20 yo dog, i heard you guys like the game of life? 2011-10-31T03:43:38 McLeopold: You can only include through the keyword "using" in the cs files and it does nothing good if the assembly isn't already declare somewhere else as being available to the code. 2011-10-31T03:44:22 janzert: hmm, I'll take a look. thanks 2011-10-31T03:44:46 *to the compiler. 2011-10-31T03:47:38 25 milliseconds per turn is timing out my bot :( 2011-10-31T03:47:41 McLeopold: Just saw confirmations that the assemblies accessible to the compiler are defined in some files I don't have access. Think "make" file. Not a big issue. I'll try to do without it. 2011-10-31T03:52:15 *** Cybsy has quit IRC (Ping timeout: 276 seconds) 2011-10-31T03:54:59 *** ikaros has joined #aichallenge 2011-10-31T03:55:19 *** epicmonkey has joined #aichallenge 2011-10-31T03:58:21 *** wombot_ has quit IRC (Quit: ChatZilla 0.9.87 [SeaMonkey 2.4.1/20110928161145]) 2011-10-31T03:58:22 *** ccc has quit IRC (Quit: Page closed) 2011-10-31T04:01:54 fml. code is executing in 25ms, then taking 10s to garbage collect 2011-10-31T04:02:38 danielharan: curious what language? 2011-10-31T04:02:49 * janzert had that sort of problem with D in the past 2011-10-31T04:03:21 janzert: Ruby. probably my own damn fault for having references going back and forth everywhere 2011-10-31T04:03:31 aichallenge: McLeopold epsilon * r4b04c53 / (5 files in 2 dirs): update game list table - http://git.io/_6XIRQ 2011-10-31T04:03:41 will go to sleep, and maybe do the refactoring tomorrow 2011-10-31T04:05:04 :/ GC is wonderful until it isn't 2011-10-31T04:06:55 *** koh_h_h has joined #aichallenge 2011-10-31T04:07:12 hi 2011-10-31T04:08:59 *** cuda has quit IRC (Quit: Page closed) 2011-10-31T04:09:45 can someone please clarify me how does the system work? 2011-10-31T04:09:48 i mean, 2011-10-31T04:10:19 does the "mybot" load once per ant or per turn? 2011-10-31T04:10:52 it loads at the start of the game, then the engine communicates with it via stdout/stdin 2011-10-31T04:10:52 janzert: yep. except here I suspect it's my fault for having kept adding references going up and down the object hierarchy, so there's *way* too many references dangling 2011-10-31T04:11:05 aichallenge: McLeopold epsilon * r0f73e14 / website/css/typo.css : tweak css - http://git.io/LW6Egg 2011-10-31T04:11:35 *** danielharan has quit IRC (Remote host closed the connection) 2011-10-31T04:12:55 koh_h_h: once per game 2011-10-31T04:13:14 *** epicmonkey has quit IRC (Ping timeout: 259 seconds) 2011-10-31T04:13:40 antimatroid1: you ever going to finish that strategy guide on our website :P 2011-10-31T04:13:50 cause it sucks 2011-10-31T04:14:00 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-10-31T04:14:17 McLeopold: not likely to have any spare time in the next couple of weeks :\ 2011-10-31T04:14:27 perhaps one of the newer people would be interested in writing it? 2011-10-31T04:14:52 ok thanks 2011-10-31T04:15:01 i could take a look next week otherwise probably, but i can't promise anything 2011-10-31T04:15:38 janzert: I think the matchup generator made a mistake, look at the first game http://aichallenge.org/profile_games.php?user=765&page=1 2011-10-31T04:17:42 the top 11 seem to be stable 2011-10-31T04:17:55 the top 11 aren't playing games anymore either 2011-10-31T04:17:56 I could see that happening in a very rare case but it is a bit worrisome 2011-10-31T04:18:10 oh.. is that a bug or a feature 2011-10-31T04:20:00 well, if any submits a bot worth of playing the top 10, they'll get a match 2011-10-31T04:20:21 *** Cybsy has joined #aichallenge 2011-10-31T04:21:31 i see 2011-10-31T04:22:32 since ChrisH and FlagCapper at least are active they'll still be getting some games currently 2011-10-31T04:24:46 *** Cybsy has quit IRC (Ping timeout: 258 seconds) 2011-10-31T04:32:02 3994 accounts so far 2011-10-31T04:34:07 only? 2011-10-31T04:34:26 *** sigh has joined #aichallenge 2011-10-31T04:38:09 *** choas has joined #aichallenge 2011-10-31T04:45:33 there must be more than that 2011-10-31T04:45:41 *** olexs has joined #aichallenge 2011-10-31T04:45:41 there's more than 4000 active submissions i think? 2011-10-31T04:47:09 http://aichallenge.org/profile.php?user=7442 2011-10-31T04:47:12 *** Jak_o_Shadows has joined #aichallenge 2011-10-31T04:47:14 that's the newest account i think 2011-10-31T04:47:45 http://aichallenge.org/server_stats.php 7055 users 2011-10-31T04:48:08 which I believe is counting activated accounts only 2011-10-31T04:48:33 *** koh_h_h has quit IRC (Ping timeout: 265 seconds) 2011-10-31T04:48:43 yes 2011-10-31T04:48:51 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 255 seconds) 2011-10-31T04:48:54 janzert: why does it go up to 7442 then? 2011-10-31T04:48:57 oh wait 2011-10-31T04:49:02 nevermind, i missed the 0 2011-10-31T04:53:21 *** choas has quit IRC (Ping timeout: 276 seconds) 2011-10-31T04:53:23 *** bobbydroptable has quit IRC (Ping timeout: 265 seconds) 2011-10-31T05:05:18 *** ^5 <^5!7cb29512@gateway/web/freenode/ip.124.178.149.18> has joined #aichallenge 2011-10-31T05:18:51 *** avdg1 has joined #aichallenge 2011-10-31T05:21:13 *** avdg has quit IRC (Ping timeout: 245 seconds) 2011-10-31T05:21:52 so anyone doing bots in c++? 2011-10-31T05:24:20 *** avdg has joined #aichallenge 2011-10-31T05:25:20 <^5> I considered it, but decided to go for python 2011-10-31T05:25:37 *** rupsbant has left #aichallenge 2011-10-31T05:26:35 ah darn , i'm having some trouble thinking up a scalable framework , i always seem to hit a bump that requires me to refactor almost the whole code so it wouldn't all become a mess and needed a couple of ideas :( 2011-10-31T05:26:48 *** avdg2 has joined #aichallenge 2011-10-31T05:28:30 *** avdg1 has quit IRC (Ping timeout: 252 seconds) 2011-10-31T05:28:33 yep, sounds like C++ 2011-10-31T05:28:47 the solution that requires so much of you that you forget what the problem was 2011-10-31T05:28:54 *** avdg has quit IRC (Ping timeout: 255 seconds) 2011-10-31T05:30:27 hah nice 2011-10-31T05:30:31 kind of entertaining though 2011-10-31T05:35:17 *** amanforindia has joined #aichallenge 2011-10-31T05:43:37 Overburn: i'd suggest thinking out what you want to do before actually setting it all up 2011-10-31T05:43:45 otherwise you will pretty much always run into such problems 2011-10-31T05:44:56 yeah , that would be the general idea heh 2011-10-31T05:47:29 *** ^5 <^5!7cb29512@gateway/web/freenode/ip.124.178.149.18> has quit IRC (Quit: Page closed) 2011-10-31T05:48:02 *** Jak_o_Shadows1 has joined #aichallenge 2011-10-31T05:50:23 *** Jak_o_Shadows has quit IRC (Ping timeout: 245 seconds) 2011-10-31T05:53:05 *** Jak_o_Shadows1 has quit IRC (Remote host closed the connection) 2011-10-31T06:15:39 *** olexs has quit IRC (Quit: Leaving.) 2011-10-31T06:23:04 *** koh_h_h has joined #aichallenge 2011-10-31T06:27:54 *** Israfel has quit IRC (Ping timeout: 252 seconds) 2011-10-31T06:28:18 *** olexs has joined #aichallenge 2011-10-31T06:28:43 *** replore_ has quit IRC (Ping timeout: 245 seconds) 2011-10-31T06:39:47 *** iVo1337 has joined #aichallenge 2011-10-31T06:41:49 *** iVo1337^ has quit IRC (Ping timeout: 258 seconds) 2011-10-31T06:44:35 *** g0llum has joined #aichallenge 2011-10-31T06:45:21 *** dafes has joined #aichallenge 2011-10-31T06:47:41 *** burny has joined #aichallenge 2011-10-31T06:51:58 *** dafes has quit IRC (Quit: Page closed) 2011-10-31T06:55:08 anyone one know how to get the number of ants on map? 2011-10-31T06:56:47 len(ants.my_ants) or something like that 2011-10-31T06:56:57 *** sigh has quit IRC (Ping timeout: 258 seconds) 2011-10-31T06:59:52 *** keitherz has quit IRC (Remote host closed the connection) 2011-10-31T06:59:55 *** HaraKiri has joined #aichallenge 2011-10-31T06:59:57 koh_h_h: First you need to keep track of your ants 2011-10-31T07:00:23 by how? 2011-10-31T07:00:24 koh_h_h: You cannot get the total number of ants on the map, unless you are sure you've got full map coverage 2011-10-31T07:00:37 koh_h_h: How to track your own ants? 2011-10-31T07:00:44 ya 2011-10-31T07:00:54 the number of my ant 2011-10-31T07:01:44 oops.... i thought he wanted the number of his ants... 2011-10-31T07:01:50 read the source for your starting package 2011-10-31T07:02:55 wtf happened 2011-10-31T07:03:00 i'm 12th 2011-10-31T07:03:35 wow 2011-10-31T07:03:39 congraz 2011-10-31T07:06:09 koh_h_h: yeah, but i read in backscroll top10 were frozen 2011-10-31T07:06:16 i wonder what this changes 2011-10-31T07:06:28 Fluxid: i'm tempted to say that this is a side-effect of the top bots not playing games anymore unless "forced" to do it. (see http://aichallenge.org/forums/viewtopic.php?f=3&t=1710). of course, it might just be that your bot has gotten better :) 2011-10-31T07:07:29 *** ikaros_ has joined #aichallenge 2011-10-31T07:09:29 bqf: ah, cool change 2011-10-31T07:10:04 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-10-31T07:10:28 wow, that should speed up the games a lot right? awesome 2011-10-31T07:11:36 *** Migi32 has joined #aichallenge 2011-10-31T07:11:46 why do some ants randomly disappear from the field? 2011-10-31T07:13:02 Migi32: ants don't do that. what you're seeing is probably either a) they're killed or b) they leave your own ants' viewradius. 2011-10-31T07:13:05 Migi32: They shouldn't. Are your ants killing each other? 2011-10-31T07:14:05 hmm, no I've definitely seen it happen and it wasn't bqf's a or b 2011-10-31T07:14:10 *** bearoff_w has joined #aichallenge 2011-10-31T07:14:23 could it be that the bot sent an invalid order for them? 2011-10-31T07:14:33 McLeopold: nice changes to profile page, thanks 2011-10-31T07:15:13 Migi32: Do you have a replay demonstrating disappearing ants? 2011-10-31T07:15:24 I'm searching for one now 2011-10-31T07:15:47 Migi32: when two your ants want to go to the same cell 2011-10-31T07:15:53 they are killed, both, not blocked 2011-10-31T07:15:58 yeah, I know about that rule 2011-10-31T07:16:03 ok 2011-10-31T07:16:49 *** slayerjay has joined #aichallenge 2011-10-31T07:16:53 it happened quite a while ago. I thought the ants died after a certain age or something, but today I looked on the specs page for that and didn't find anything 2011-10-31T07:18:21 would be awesome of they die when they're old :D 2011-10-31T07:18:39 That's what happens on turn 1001 2011-10-31T07:18:52 *** ^5 <^5!7cb29512@gateway/web/freenode/ip.124.178.149.18> has joined #aichallenge 2011-10-31T07:20:55 =) 2011-10-31T07:22:01 What is the new activation button on the profile page? 2011-10-31T07:25:00 *** slayerjay has quit IRC (Quit: Page closed) 2011-10-31T07:26:00 *** Redgis has joined #aichallenge 2011-10-31T07:27:00 *** choas has joined #aichallenge 2011-10-31T07:29:19 *** amanforindia has quit IRC (Ping timeout: 248 seconds) 2011-10-31T07:29:45 alright, apparently when an ant dies, its ghost can keep the view radius open for 1 more turn. The dying ants are still visible but they're a really tiny dot. Maybe this confused me. 2011-10-31T07:30:57 is this just in the visualizer or in the actual engine? 2011-10-31T07:31:06 *** Israfel has joined #aichallenge 2011-10-31T07:31:37 *** tt has joined #aichallenge 2011-10-31T07:32:03 *** tt is now known as Guest1292 2011-10-31T07:38:58 Migi32: technically the view radius doesn't stay open, you just get a "this ant died" info from the system. since it is your own ant, you get that message even if the area it died in would now be outside of your view radius. 2011-10-31T07:40:04 bqf, ah, then the visualizer is wrong? When you click the button to show what that player can see, it shows the full radius around that ant as visible 2011-10-31T07:41:40 Migi32: it does? ok, i'll have to recant what i said above then since i'm not 100% sure. that was just my assumption and i don't have time to dig into the code right now to see whether it is factual. you'd be better of to test it or read the code to make sure. :) 2011-10-31T07:43:19 the number of players is unknown to the bot, right? 2011-10-31T07:46:58 HaraKiri: right. 2011-10-31T07:47:56 *** olexs has quit IRC (Quit: Leaving.) 2011-10-31T07:50:32 *** Redgis has quit IRC (Read error: Connection reset by peer) 2011-10-31T07:51:15 *** Redgis has joined #aichallenge 2011-10-31T07:52:50 *** yd12k has joined #aichallenge 2011-10-31T07:58:42 *** g0llum has joined #aichallenge 2011-10-31T07:59:22 *** Palmik has joined #aichallenge 2011-10-31T07:59:37 *** kakashi_ has left #aichallenge ("Leaving") 2011-10-31T08:00:09 Migi32: you were around for planet wars or tron yeah? 2011-10-31T08:00:13 i remember your name from somewhere 2011-10-31T08:00:54 i remember from planet wars 2011-10-31T08:04:16 *** nplus has quit IRC (Read error: Connection reset by peer) 2011-10-31T08:04:55 *** nplus has joined #aichallenge 2011-10-31T08:07:54 antimatroid1, not for tron. But for planet wars, yes. 2011-10-31T08:09:41 I didn't really finish my planet wars bot though. I had the silly goal of either being #1 or fail trying, so when I saw that my approach wouldn't really get me much higher than #10 or so I stopped working on it 2011-10-31T08:10:15 for this contest I won't do that. Just make a good, solid bot that I'm satisfied with, for fun :) 2011-10-31T08:10:42 and then do silly things like making a vortexbot or drawing figures on the field with ants :P 2011-10-31T08:11:08 Migi32: check out some of flashm winning games 2011-10-31T08:11:26 he does similar stuff sometimes 2011-10-31T08:12:37 Migi32: http://aichallenge.org/visualizer.php?game=35428&user=986 at the end 2011-10-31T08:12:55 heh :P GG! 2011-10-31T08:13:38 also interesting, most bots suddenly timeout 2011-10-31T08:14:59 yellow and blue in that game do exactly the same 2011-10-31T08:15:29 oh, yeah, lol 2011-10-31T08:16:56 hmm. FlashM seems to use a lot of 2x2 squares as attack formations. How good are those? 2011-10-31T08:17:06 *** mawif_ has joined #aichallenge 2011-10-31T08:17:19 I used to time out a lot too, until I added a preventive measure 2011-10-31T08:18:38 1x4 should be better 2011-10-31T08:19:16 how about the tetris T-shape? 2011-10-31T08:20:03 I guess it all depends on the attack radius 2011-10-31T08:20:05 I think a straight line is the best attack formation 2011-10-31T08:20:51 if it gets long, envelop the enemy between several formations and sandwich them 2011-10-31T08:21:54 >> ellow and blue in that game do exactly the same - there are at least 4 bots doing the same, ha 2011-10-31T08:22:08 true. There's no way to efficiently beat a line formation except with an equally long line, or flanking, right? 2011-10-31T08:22:23 *** ikaros has quit IRC (*.net *.split) 2011-10-31T08:22:24 *** kloeri has quit IRC (*.net *.split) 2011-10-31T08:22:24 *** rabuf` has quit IRC (*.net *.split) 2011-10-31T08:22:24 *** mawif has quit IRC (*.net *.split) 2011-10-31T08:22:25 *** dscy has quit IRC (*.net *.split) 2011-10-31T08:22:25 *** bqf has quit IRC (*.net *.split) 2011-10-31T08:22:47 *** Naktibalda has joined #aichallenge 2011-10-31T08:22:55 (or almost same) 2011-10-31T08:22:56 not without taking water into account and using it to your advantage 2011-10-31T08:23:55 one problem with the line formation though is that it takes a lot of ants, I think 2011-10-31T08:24:17 two adjacent ants is a line 2011-10-31T08:24:23 how would you keep ants in formation? 2011-10-31T08:24:50 I'll show you when I've successfully implemented it :p 2011-10-31T08:24:55 :))) 2011-10-31T08:25:22 yeah, if you have an Nx1 line, I think better use of those N ants is to spread them out and try to surround the opponent 2011-10-31T08:26:00 *** ikaros has joined #aichallenge 2011-10-31T08:26:00 *** kloeri has joined #aichallenge 2011-10-31T08:26:00 *** rabuf` has joined #aichallenge 2011-10-31T08:26:00 *** bqf has joined #aichallenge 2011-10-31T08:26:00 *** dscy has joined #aichallenge 2011-10-31T08:26:55 *** bobbydroptable has joined #aichallenge 2011-10-31T08:27:09 *** olexs has joined #aichallenge 2011-10-31T08:28:25 *** ikaros_ has quit IRC (Quit: Ex-Chat) 2011-10-31T08:28:37 *** choas has quit IRC (Ping timeout: 240 seconds) 2011-10-31T08:35:07 *** olexs has quit IRC (Quit: Leaving.) 2011-10-31T08:35:28 on a player's profile, when you click "view more" to see more of that player's recent games, the title says "X's recent games" but the page shows all recent games between all players 2011-10-31T08:35:43 maybe this is a known bug but I thought I'd let you know anyway 2011-10-31T08:36:33 Migi32: we have had exactly the same intentions for both contests :D 2011-10-31T08:36:43 except i never gave up with pw and only came 36th 2011-10-31T08:36:48 that game stumped me :\ 2011-10-31T08:37:22 once i've finished exams and ridden across tasmania i'm just going to work out what i want my bot to do, write it for fun and leave it at that 2011-10-31T08:37:51 i'll have a bit under a month probably 2011-10-31T08:38:01 yeah. Planet wars was a really nice contest though. The rules were so simple that you had the feeling you could "beat" it and write a perfect bot. 2011-10-31T08:38:19 yep, i spent a long time trying to "solve" the problem/game 2011-10-31T08:38:41 that's also what made it so awesome, it offered a surprisingly simple yet complicated mathematics problem 2011-10-31T08:38:57 (simple to understand, complicated to solve) 2011-10-31T08:40:47 yeah. For ants i don't have this feeling. Incomplete information, multiple opponents, far more data, more complicated rules, etc. So I'll just give it a shot, write some heuristics and see how it goes 2011-10-31T08:41:22 Migi32: you weren't one of the people i talked to about solving zero sum games with linear progrmming were you? 2011-10-31T08:41:33 and possibly the person who actually implemented it and said it was too slow? 2011-10-31T08:42:01 I did talk about it, and I believe mega1 was the person who implemented it and said it was too slow to be useful 2011-10-31T08:42:21 i do think ants is perhaps better suited to this type of contest, there's obvious parts of your bot to write and improve which will be noticeable when watching it play 2011-10-31T08:42:42 planet wars was very impenetrable after a while and it became very hard to make any noticeable improvements 2011-10-31T08:42:44 *** yoden has joined #aichallenge 2011-10-31T08:43:07 hmmm, i didn't think it was mega1 but it might have been earlier in the contest when i didn't know who he was :P 2011-10-31T08:44:04 *** Careys has joined #aichallenge 2011-10-31T08:44:11 i had the or lecturer at my uni think about the problem and she had no insights for me either 2011-10-31T08:44:20 or == operations research 2011-10-31T08:44:58 heh :) 2011-10-31T08:45:06 it's probably an NP-complete problem though 2011-10-31T08:45:14 or someone would have solved it 2011-10-31T08:45:30 i wonder if it's still as hard in one player mode 2011-10-31T08:45:43 ie. you have to expand better than other people expand without conflict 2011-10-31T08:45:51 well, still hard, not as hard 2011-10-31T08:46:18 or was that the knapsack problem? i can't remember :\ 2011-10-31T08:46:49 i don't think it was that easy 2011-10-31T08:47:24 decision tree's would have been the go i think 2011-10-31T08:47:48 not sure. I think it's still NP-complete though 2011-10-31T08:48:01 it's good to see that for ants, the 1st bot is way better than the 2nd. I was a bit afraid that once the bots get to a certain level, a lot of the game would be decided by luck (where the food spawns etc) 2011-10-31T08:48:20 i'm still a bit worried about ants just standing off from each other 2011-10-31T08:48:24 but so far so good 2011-10-31T08:48:58 i'm glad we have the battle resolution that we do 2011-10-31T08:49:11 imo the others didn't really offer much strategy wise when it came to battling 2011-10-31T08:49:14 antimatroid1: a few already avoid combat as much as possible 2011-10-31T08:49:26 delt0r: yeah i've seen those comments 2011-10-31T08:49:57 i'll have my bot take anything where it loses less ants than it helps kill (hopefully) 2011-10-31T08:50:15 if there where points for that then it works 2011-10-31T08:50:18 if not...... 2011-10-31T08:50:20 still not entirely sure of how i'm going to do that 2011-10-31T08:50:54 you might want to weight your willingness to lose ants by the distance to an enemy ant hill? 2011-10-31T08:51:09 obviously you'd never want to lose ants to no kills 2011-10-31T08:51:20 and your own for defense 2011-10-31T08:51:30 *** ikaros_ has joined #aichallenge 2011-10-31T08:51:38 and you would be willing to lose ants to no kills if it saved one of your hills 2011-10-31T08:51:46 antimatroid1: though you where busy with exams this time round? 2011-10-31T08:52:25 delt0r: thesis goes in tomorrow, hand my last exam in next monday, 50 minute talk next thursday, root canal surgery on the friday then riding across tasmania the following monday 2011-10-31T08:52:27 antimatroid1, how could losing an ant for no kills help you save a hill? 2011-10-31T08:52:32 then i should have a bit under a month to write a bot :) 2011-10-31T08:52:44 if you always avoid combat you don't get any food if there are more aggressive enemies near you 2011-10-31T08:52:55 Migi32: good point :P 2011-10-31T08:53:23 you'll just get driven back into your base and stay walled in or die 2011-10-31T08:53:33 i also want to see people divert ants around stand off areas 2011-10-31T08:53:46 that is why i like Nebular ... dark matter squad combat [tm] 2011-10-31T08:53:54 the whole goal is combat 2011-10-31T08:54:08 how smart are people's food collection algorithms? 2011-10-31T08:54:09 no pussy footing around like a kitten 2011-10-31T08:54:58 i wouldn't send more than one ant to the same food item during beta and would reuse ants each turn when collecting food based on where they'd be from collecting their last food item and when they could move etc. 2011-10-31T08:55:20 mine is pretty smart, but I haven't implemented the better pathfinding I want so I can't distribute my ants as evenly as I would like on the map 2011-10-31T08:55:32 Minthos: do you reuse ants while collecting food? 2011-10-31T08:55:46 depends what you mean 2011-10-31T08:55:57 ie. if you have 2011-10-31T08:55:58 *..a.* 2011-10-31T08:55:58 *..a.* 2011-10-31T08:56:04 are both a's going right or will one go left? 2011-10-31T08:56:14 one will go left 2011-10-31T08:56:43 I assign one ant to each food 2011-10-31T08:57:04 and I try to use the nearest ants for each food 2011-10-31T08:57:19 yes, but both ants have a separate food item closer on the right 2011-10-31T08:57:24 *** Sniff has joined #aichallenge 2011-10-31T08:57:26 I see that 2011-10-31T08:57:40 *** BFC has joined #aichallenge 2011-10-31T08:57:40 one food will get one ant, then the other food will get the other ant 2011-10-31T08:57:45 hi all 2011-10-31T08:57:54 could someone help me with the tutorial.sh file for c++ please? 2011-10-31T08:58:30 i don't know what that file is but i can probably answer any questions about the c++ starter package 2011-10-31T08:58:40 well 2011-10-31T08:59:36 tutorial.sh? 2011-10-31T08:59:38 O_o 2011-10-31T08:59:44 ah shell script 2011-10-31T08:59:49 yeah, in this url http://aichallenge.org/ants_tutorial.php 2011-10-31T09:00:06 for python and java, a tutorial.sh is made in linux 2011-10-31T09:00:28 well then , what is the problem? 2011-10-31T09:00:31 *** Naktibalda has quit IRC (Ping timeout: 248 seconds) 2011-10-31T09:00:35 i need it for c++ 2011-10-31T09:00:40 ah 2011-10-31T09:00:42 you compile the exe 2011-10-31T09:00:43 don' t know how to put name for my bot 2011-10-31T09:00:53 an the command would look like : 2011-10-31T09:00:54 yes, i have a MyBot executable in the folder 2011-10-31T09:01:10 python tools/playgame.py "MyBot" "python tools/sample_bots/python/HunterBot.py" --map_file tools/maps/example/tutorial1.map --log_dir game_logs --turns 60 --scenario --food none --player_seed 7 --verbose -e 2011-10-31T09:01:11 python tools/playgame.py "MyBot" "python tools/sample_bots/python/HunterBot.py" 2011-10-31T09:01:17 *** Naktibalda has joined #aichallenge 2011-10-31T09:01:17 that doesnt work... 2011-10-31T09:01:23 O_o 2011-10-31T09:01:26 that's my problem 2011-10-31T09:01:27 what do you mean? 2011-10-31T09:01:34 what error does it give 2011-10-31T09:01:35 ? 2011-10-31T09:02:21 Traceback (most recent call last): File "/home/bart/aichallenge/tools/engine.py", line 93, in run_game sandbox.start(bot_cmd) File "/home/bart/aichallenge/tools/sandbox.py", line 385, in start raise SandboxError('Failed to start {0}'.format(shell_command)) SandboxError: Failed to start ['MyBot'] 2011-10-31T09:03:24 any idea what's causing this? 2011-10-31T09:03:53 try changing "MyBot" to "./MyBot" 2011-10-31T09:04:26 nice it worked! 2011-10-31T09:04:28 thanks Minthos ! 2011-10-31T09:04:36 now I can finally start :p 2011-10-31T09:04:50 *** xathis has joined #aichallenge 2011-10-31T09:08:13 *** ossum has joined #aichallenge 2011-10-31T09:10:03 haha my completely useless bot that's basically the starter bot + no ant collisions + a faulty food gathering attempt has a rating of 37 something 2011-10-31T09:10:07 *** Naktibalda has quit IRC (Ping timeout: 248 seconds) 2011-10-31T09:11:00 *** jvhkgjvkhg has quit IRC (Ping timeout: 265 seconds) 2011-10-31T09:11:20 Overburn: lol..even my worthless bot that timesout after a few turns has a skill of 45 sumthing. 2011-10-31T09:11:46 it will get there haha 2011-10-31T09:11:57 * isbric 's bot never scores over 1! 2011-10-31T09:11:58 it had 25.something 4 games ago 2011-10-31T09:12:56 *** Careys has quit IRC (Ping timeout: 265 seconds) 2011-10-31T09:12:57 *** Sniff has quit IRC (Quit: Page closed) 2011-10-31T09:13:14 hmm..there must be a lot of dumber bots out there.. :D 2011-10-31T09:13:47 yeap 2011-10-31T09:13:54 a lot of them are basically just starter bots 2011-10-31T09:13:56 :D 2011-10-31T09:14:01 my starter bot has rating 23.89 :p 2011-10-31T09:15:30 lulz 2011-10-31T09:15:33 mine had 23.01 2011-10-31T09:15:34 O_o 2011-10-31T09:15:53 i haven't even checked my bot ranking 2011-10-31T09:15:58 in a wee 2011-10-31T09:16:06 let's see.. 2011-10-31T09:16:21 oh not that bad. 2011-10-31T09:16:22 lol 2011-10-31T09:16:29 lol what do you have? 2011-10-31T09:16:33 61 2011-10-31T09:16:37 oh nice 2011-10-31T09:16:39 its not a starter though 2011-10-31T09:16:39 what does it do? 2011-10-31T09:16:49 bobbydroptable: do you have combat stuff implemented? 2011-10-31T09:17:02 nope 2011-10-31T09:17:34 the only thing i had implemented at that stage was just a cheap exploration heuristic and pathing to food 2011-10-31T09:17:42 so all it does it wander around and gobble up food 2011-10-31T09:18:13 yeah, I got up to the same 45-70 range without combat and with crappy pathfinding/swarming 2011-10-31T09:18:32 and i've been trying to rebuild a 2nd bot with less "wandering around" and more deterministic behavior 2011-10-31T09:18:39 but failing thus far 2011-10-31T09:18:42 I uploaded a new version since then (still no combat) and it's climbing back up 2011-10-31T09:19:37 hah so basically with some pathfinding and exploraion and implementing some behaviour that when it sees another hill to attack it it could go pretty high heh 2011-10-31T09:19:40 cool 2011-10-31T09:20:12 yeah, starter bot + doing the tutorial + pathfinding can get you to the top 200 if you don't have timeouts 2011-10-31T09:20:30 I have a feeling that there are a lot of people with better bots but they are just using them on the tcp servers atm 2011-10-31T09:21:15 same 2011-10-31T09:21:17 lol 2011-10-31T09:21:25 heh 2011-10-31T09:21:32 yeah, you'll notice that a lot of the top bots are on version 1 2011-10-31T09:21:37 so what would be the maximum rank a bot could have / 2011-10-31T09:21:37 ? 2011-10-31T09:22:05 *** pedrosorio has joined #aichallenge 2011-10-31T09:22:34 does anyone here actually have an exploration algorithm that doesn't consist of "move towards a random unexplored area" 2011-10-31T09:22:55 i'm trying to implement one 2011-10-31T09:23:02 not very successfull mind you 2011-10-31T09:23:11 I send each idle ant to the nearest unexplored area atm 2011-10-31T09:23:14 it basically checks for enemy ants and explores in that direction 2011-10-31T09:23:25 and if it doesn't find any, it goes to random 2011-10-31T09:23:32 *** lavalamp has quit IRC (Quit: Page closed) 2011-10-31T09:23:34 *** slayerjay has joined #aichallenge 2011-10-31T09:23:47 :( 2011-10-31T09:24:01 *** Naktibalda has joined #aichallenge 2011-10-31T09:24:04 there's got to be a better way 2011-10-31T09:24:05 ==" 2011-10-31T09:24:15 well yeah , 2011-10-31T09:24:18 i can conceptualise it but i can't put it into code :( 2011-10-31T09:24:33 you could try parsing the map and pick some areas that are less explored than others 2011-10-31T09:25:07 or check the map for patterns and try to pinpoint where interesting stuff might be 2011-10-31T09:25:10 I end up exploring the map pretty quickly because I pretend unexplored areas are land, so attacking an enemy hill leads to finding closer enemy hills 2011-10-31T09:25:39 *** sigh has joined #aichallenge 2011-10-31T09:25:46 *** slayerjay has quit IRC (Client Quit) 2011-10-31T09:27:20 *** iVo1337 has quit IRC () 2011-10-31T09:28:58 I still want to improve movement as a group a lot before dealing with combat - my ants have serious issues with going around a corner as a group :( 2011-10-31T09:29:37 isn't that basically movement as a group? lol 2011-10-31T09:29:53 isn't combat basically movement as a group 2011-10-31T09:29:53 here's an example http://aichallenge.org/visualizer.php?game=38532 (I'm strcat) - this is old code and I do handle it a bit better now 2011-10-31T09:30:19 well, I'm trying to get my ants to move in a way that's more optimal for combat before I venture into the minimax stuff 2011-10-31T09:30:56 I've already improved a lot over what used to happen (they would just form a single file line all the time, often with 1 space gaps) 2011-10-31T09:31:22 *** zerotech has joined #aichallenge 2011-10-31T09:31:57 <^5> Which pathfinding do you guys recommend? A* or DFS/BFS? 2011-10-31T09:32:10 A* 2011-10-31T09:32:18 way faster 2011-10-31T09:32:41 *** v_paul_v has quit IRC (Remote host closed the connection) 2011-10-31T09:32:53 if you're sending many ants to a a few targets, you can do a BFS from that target and get pathfinding and distance measurements for all the ants 2011-10-31T09:32:53 is there a way to access our bot's log files when the bot is running on the contest servers? 2011-10-31T09:32:55 <^5> Also harder for a newbie to code 2011-10-31T09:32:58 Hierarchial A* is awesome. 2011-10-31T09:33:06 so how do you guys handle movement , you issue orders and then move them all at once or move them as they come? 2011-10-31T09:33:27 *** Naktibalda has left #aichallenge 2011-10-31T09:33:55 I move them as they come, but I'm not sure that that's the best way to do it 2011-10-31T09:34:07 Avoiding collisions while still having as many ants do what they want is tricky. 2011-10-31T09:34:09 *** yd12k has quit IRC (Ping timeout: 276 seconds) 2011-10-31T09:34:12 hmm i issue orders but i have a small problem 2011-10-31T09:34:12 A* vs BFS depends on the tradeoffs you want to make. 2011-10-31T09:34:13 I have a step() function that prevents all collisions, so I have to keep track of ants that are blocked by currently idle ants so they can try moving again 2011-10-31T09:34:36 some people have found that A* is slower because you need to compute manhattan distance for all nodes to get your heuristic 2011-10-31T09:34:50 say i want to avoid collision , the only foolproof method i've come up with is to stop the ants that have conflicting next moves and execute one each turn 2011-10-31T09:34:51 Having each ant rank the options it has (move in a cardinal dir, do nothing) and have some external coordinator resolve intents tends to be decent. 2011-10-31T09:35:20 i could probably make them go around eachother but can't seem to figure out how to make it not timeout when there are big clustered groups 2011-10-31T09:35:29 Overburn: you can move into a location if the ant there has a move order, so you can deal with that either with fancy computer science or by doing brute force iteration 2011-10-31T09:35:56 oh hmm 2011-10-31T09:36:39 so technically if i move an ant out of a tile and then , in the same turn i move another ant on that tile , there would be no collissions, but if i do it the other way around ( in the same turn ) there will be collisions? 2011-10-31T09:37:07 well, if you assume all ants are going to move you might get collisions because some don't move 2011-10-31T09:37:57 I see in the contest rules that we're not allowed to write to any file. I think it would be better if there was 1 log file we could write to, and let the owner of the bots download their log files 2011-10-31T09:38:25 Migi32: for testing, you can use the unofficial tcp servers 2011-10-31T09:38:42 the site doesn't really play games fast enough to be used for testing code imo 2011-10-31T09:39:24 it's taking 3+ days for me to reach a stable ranking, and I don't want to upload my new version b/c I like seeing how high the current one can get 2011-10-31T09:39:39 new versions* :P 2011-10-31T09:40:15 thestinger: I know, but my local desktop isn't the same as the server. I mainly use my log files to log how long each step of the algorithm takes. 2011-10-31T09:40:45 and those numbers might be way different on the server than on my pc 2011-10-31T09:40:51 I've found it useful to do a local test on the biggest multi-maze map with turntime=50 2011-10-31T09:41:02 I end up with 350+ ants so I'm pretty sure I'll be safe on the server 2011-10-31T09:43:11 hi 2011-10-31T09:43:58 does the do_turn load once per ant or per turn? 2011-10-31T09:43:59 *** dwins has joined #aichallenge 2011-10-31T09:44:07 I test on that map too, but quite often my bot has to interrupt some steps of my algorithm and continue the next turn. The only thing these interrupts do is make pathfinding slightly less accurate, and I really can't tell by the way the bot plays if it had to interrupt a lot or not 2011-10-31T09:45:06 can anyone please tell me does the "do_turn" load once per ant or per turn? tq 2011-10-31T09:45:25 do_turn? 2011-10-31T09:45:30 which language are you using? 2011-10-31T09:45:36 do_turn is every turn 2011-10-31T09:45:39 python 2011-10-31T09:45:49 you have to iterate each ant within 2011-10-31T09:47:04 Migi32: I'm actually doing all the pathfinding/graph search stuff I want atm without taking more than 50ms (it's C++) 2011-10-31T09:47:04 *** zerotech has quit IRC (Quit: Page closed) 2011-10-31T09:47:54 Migi32: in python I had to bail out early all the time with the same algorithms (because they would take 20x-30x longer :P) 2011-10-31T09:48:03 koh_h_h, you might want to read the comments. Right above where do_turn is defined it says # do turn is run once per turn 2011-10-31T09:49:01 ok thanks 2011-10-31T09:49:03 thestinger, I use C++ too. But I'm fairly sure my bot asks for the distance between 2 points far more often than yours :) 2011-10-31T09:49:50 yeah, I don't use A* anymore 2011-10-31T09:50:40 I'll probably use it if I want to send a single ant to a location and I don't care about the distance, but I haven't needed that yet 2011-10-31T09:51:04 what do you use then? 2011-10-31T09:51:30 I've combined a few tricks people talked about in the channel 2011-10-31T09:51:43 if there's a single target, or a few of them and I want to send a bunch of ants to them 2011-10-31T09:52:10 I just do a breadth-first search from the targets and use a 2d array to store the distance to the targets from each tile 2011-10-31T09:52:29 so that gets proper distance measurements + pathfinding for every ant to that target 2011-10-31T09:52:47 do you store that 2d array for if you need it again later? 2011-10-31T09:53:06 well, I actually statically allocate the 2d array at the start of the game and reuse for everything 2011-10-31T09:54:58 I can just get data from it like the distance from ants to targets and the directions that would bring them closer to it and then wipe the array and reuse it for the next thing 2011-10-31T09:56:09 so to attack 1 hill, I'm doing a single BFS and using that to get distance/pathfinding for all my ants 2011-10-31T09:56:15 ok. What I do is similar, but I pre-calculate these arrays for each possible target square and then use those for O(1) lookup. However, there's not enough memory for all of them so I use a few tricks to save memory etc 2011-10-31T09:56:36 *** nishant has joined #aichallenge 2011-10-31T09:57:05 I just regenerate the array each turn (once for hills, once for exploration, and a large number of times for food targets) 2011-10-31T09:57:25 *** nishant has left #aichallenge 2011-10-31T09:57:41 the time it takes to do hills and food is negligible, the way I use it for exploration is pretty stupid and it takes 20-30ms on the huge maps 2011-10-31T09:58:30 it takes care of all the pathfinding/distance measurement though so I don't have to run A* or check manhattan distances 2011-10-31T09:59:29 *** xathis has quit IRC (Quit: Page closed) 2011-10-31T09:59:57 it's the same for me, collecting food and attacking hills takes almost no time. But all the work goes into exploration because I think that that's the deciding factor of how good your bot is 2011-10-31T10:00:23 if your bot crashes, what does tha tmean? 2011-10-31T10:00:52 It's got a bug :) 2011-10-31T10:01:23 and what's an efficient way to debug? :p 2011-10-31T10:01:24 *** antom95 has joined #aichallenge 2011-10-31T10:01:25 BFC: what language is it? 2011-10-31T10:01:30 c++ 2011-10-31T10:01:36 If it crashes on the server you can download your bot input and feed it to your bot via stdin 2011-10-31T10:01:36 it's first time working on such a project 2011-10-31T10:01:48 well, C and C++ can be hard to debug 2011-10-31T10:01:54 i know :( 2011-10-31T10:02:08 valgrind and libmudflap are useful if it's stuff like going out of bounds in an array 2011-10-31T10:02:10 on the visualizer in the lower right is a button "BOT -> IN" 2011-10-31T10:02:39 BFC, do you use an IDE? Eclipse CDT has a very good debugger 2011-10-31T10:02:53 i use eclipes 2011-10-31T10:02:55 *eclipse 2011-10-31T10:02:58 use that to generate the messages the engine sent your bot during the games. Your could should probably crash the same way locally with the same input 2011-10-31T10:03:42 yeah, and use valgrind :P 2011-10-31T10:04:05 there are often bugs like invalid reads/writes that stay hidden and don't cause problems 99% of the time 2011-10-31T10:04:19 *** nylith has joined #aichallenge 2011-10-31T10:05:03 if you're mostly using the standard library containers and stuff in C++, you won't have _as many_ of those problems 2011-10-31T10:05:07 BFC: ok, good. Make sure that your makefile includes debugging options (-g and -DDEBUG) and doesn't have the optimizing flags (-O2, -O3, -funroll-loops etc). Then clean & build, then click the bug icon and paste the but input to start debugging 2011-10-31T10:05:08 *** galdor has quit IRC (Read error: Connection reset by peer) 2011-10-31T10:05:23 *** galdor has joined #aichallenge 2011-10-31T10:05:24 bot* input not but input :P 2011-10-31T10:06:00 okay, will try that! 2011-10-31T10:06:31 also, turn on ALL the sane compiler warnings 2011-10-31T10:06:59 g++ -Wall only turns on warnings that are useful 99% of the time 2011-10-31T10:07:16 what others do you suggest then? 2011-10-31T10:07:21 there are other very useful warnings, but they generate a lot of noise so they aren't in -Wall 2011-10-31T10:07:39 -Wall -Wextra is a good start, but stuff like -Wstrict-overflow=5 is very useful imo 2011-10-31T10:08:11 -Wconversion is annoying as hell if you aren't used to it because it won't let you do implicit conversions, but it often catches stuff you didn't mean to do 2011-10-31T10:08:13 etc. 2011-10-31T10:09:05 yeah. -Wconversion gives a warning if you do this: unsigned short x = 5; x++; 2011-10-31T10:09:23 yeah, but you just stick static_cast<> in there and silence it 2011-10-31T10:09:32 *** amanforindia has joined #aichallenge 2011-10-31T10:09:47 the proper way to do x++ according to -Wconversion is x = (unsigned short)(x+1); 2011-10-31T10:10:22 sounds like an annoying warning, I'd keep it off 2011-10-31T10:10:30 and I guess -Wstrict-overflow=5 has something to say about that one too? 2011-10-31T10:10:33 but valgrind is essential 2011-10-31T10:12:59 Migi32: -Wconversion doesn't give me a warning about that (in C++) 2011-10-31T10:13:05 I think it's more annoying in C 2011-10-31T10:13:42 in C++ the most annoying thing is that it makes you explicitly do something like (double)x / (double)y instead of (double)x / y 2011-10-31T10:13:59 assuming x and y are ints 2011-10-31T10:14:15 (double)(x/y) ? 2011-10-31T10:14:27 ahh, nvrmnd 2011-10-31T10:14:54 -Weffc++ is the most annoying warning ever imo 2011-10-31T10:15:32 implicit casts are a good thing, syntactic sugar is a good thing 2011-10-31T10:15:57 well, python3 moved away from that for division 2011-10-31T10:16:05 the most useful debugging tool for me if you're using gcc is defining _GLIBCXX_DEBUG 2011-10-31T10:16:14 there's / and // (integer division) now 2011-10-31T10:16:19 and that's a language with a lot of sugar 2011-10-31T10:16:19 I'd rather not have to type twice as much to avoid 10% of simple mistakes 2011-10-31T10:16:46 thestinger: python 2.7 also supports the // operator 2011-10-31T10:16:49 _GLIBCXX_DEBUG makes the standard library containers do out-of-bounds checking, and check for invalid iterators ets 2011-10-31T10:16:51 etc* 2011-10-31T10:17:03 luizribeiro: yeah, and you can from __future__ import stuff anyway 2011-10-31T10:17:08 *** SavageSimian has joined #aichallenge 2011-10-31T10:17:16 hehe 2011-10-31T10:17:18 so you can get / to act like py3 2011-10-31T10:18:14 I mean, when I can just as easily use the wrong variable (but of the right type) somewhere, it doesen't matter if I have to explicitly cast it, the value will still be wrong 2011-10-31T10:19:20 *** ssedano has joined #aichallenge 2011-10-31T10:19:35 *** bobbydroptable has quit IRC (Quit: Page closed) 2011-10-31T10:20:23 *** yd12k has joined #aichallenge 2011-10-31T10:20:54 *** Mooloo is now known as Baus 2011-10-31T10:21:06 *** yd12k has quit IRC (Client Quit) 2011-10-31T10:24:42 *** roflmao has joined #aichallenge 2011-10-31T10:25:16 good morning darlings 2011-10-31T10:25:17 fun fact: xcode doesn't support copy-paste of source files in a project 2011-10-31T10:25:31 guess apple don't like copy-paste programming :D 2011-10-31T10:25:44 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-10-31T10:26:02 You can do a new from existing iirc which is basically the same thing 2011-10-31T10:26:10 meh, long time ago that I actually used xcode 2011-10-31T10:26:27 Honestly i wont fault them on that after seeing how VS2008 handles copypasting files in the smae project 2011-10-31T10:26:39 the namespace corrector tries to go in and fix things 2011-10-31T10:27:13 *** koh_h_h has quit IRC (Quit: Page closed) 2011-10-31T10:27:41 Sometimes it messes up if you try to rename the class or namespace of the copied file... it edits the original files counterparts (eg .designer.cs changes when you change copy of bleh.cs) 2011-10-31T10:27:54 pgpaskar_: not sure what you're referring to, but my solution is to copy the files with bash and search/replace them with vim 2011-10-31T10:28:16 *** Blkt has joined #aichallenge 2011-10-31T10:28:18 *** antom95 has quit IRC (Quit: Page closed) 2011-10-31T10:28:21 I assumed you were talking about copy/pasting a source file from the project into the project again. 2011-10-31T10:28:28 *** avdg2 is now known as avdg 2011-10-31T10:28:30 vs2008 will not be mentioned in here 2011-10-31T10:28:31 ever 2011-10-31T10:29:01 *** Areks has quit IRC (Ping timeout: 240 seconds) 2011-10-31T10:29:19 I am 2011-10-31T10:29:35 *** Blkt has quit IRC (Client Quit) 2011-10-31T10:29:45 http://nooooooooooooooo.com/ 2011-10-31T10:29:52 "new from existing" is not an option I can see in xcode 2011-10-31T10:29:53 *** Blkt has joined #aichallenge 2011-10-31T10:29:58 I give u, lets go python! 2011-10-31T10:30:04 *** Blkt has quit IRC (Remote host closed the connection) 2011-10-31T10:33:03 heh BFC what's not working? 2011-10-31T10:33:30 debugging etc, i'm not used to working this way :) 2011-10-31T10:34:02 debugging is key 2011-10-31T10:34:05 especially for ais 2011-10-31T10:34:13 Minthos: apparently you have to create code templates first, strike that option 2011-10-31T10:35:09 i know, but i'm not so skilled in programming 2011-10-31T10:35:15 *** Fandekasp has quit IRC (Ping timeout: 276 seconds) 2011-10-31T10:35:30 @BFC: start out with a nice visual ui debugger 2011-10-31T10:35:31 roflmao: User error -- Replace user. 2011-10-31T10:35:39 bfc: start out with a nice visual ui debugger 2011-10-31T10:35:49 like the ones that come in nice ides 2011-10-31T10:35:50 :) 2011-10-31T10:35:53 anyone has an idea about why the tutorial.sh would fail to run a c++ bot? 2011-10-31T10:36:06 *** cutoff has joined #aichallenge 2011-10-31T10:36:06 how are you running it? 2011-10-31T10:36:06 I had it working when I downloaded it the first time 2011-10-31T10:36:10 pedrosorio: you named your bot "./MyBot" ? 2011-10-31T10:36:15 but now I have downloaded tools again 2011-10-31T10:36:20 that's really important 2011-10-31T10:36:34 I have everything exactly the same 2011-10-31T10:36:50 the only difference is that I've replaced the tools folder 2011-10-31T10:36:58 that I downloaded a week ago 2011-10-31T10:37:04 with the one that is there now 2011-10-31T10:37:17 (there on the website) 2011-10-31T10:37:20 hmm 2011-10-31T10:37:22 no idea then 2011-10-31T10:38:13 *** balkemacho has joined #aichallenge 2011-10-31T10:38:55 are you getting an error, whats the result of trying to run tutorial.sh 2011-10-31T10:40:07 is there like a good editor for python? 2011-10-31T10:40:24 vim 2011-10-31T10:40:27 vim, emacs, sublime text, whatever :P 2011-10-31T10:40:42 okay, thx :) 2011-10-31T10:40:42 ^^ vim is ultimately the best 2011-10-31T10:40:49 but if you're new to python 2011-10-31T10:40:50 vim is hard to work with for me :p 2011-10-31T10:40:53 vim uses the python interpreter for _some_ autocompletion stuff (if you have it compiled that way) 2011-10-31T10:40:55 and need some better debugging and coding assistance 2011-10-31T10:40:56 http://www.jetbrains.com/pycharm/ 2011-10-31T10:41:10 I would recommend a jetbrains IDE to get started, but switch to vim once you can 2011-10-31T10:41:13 BFC: strangely enough, if I have 2011-10-31T10:41:50 what's in your tutorial script now? 2011-10-31T10:42:01 copy content? 2011-10-31T10:42:01 and copy error you get 2011-10-31T10:42:17 the python ide for windows is pretty good 2011-10-31T10:42:22 idle 2011-10-31T10:43:05 not just for windows, it's pure python/tkinter I think (I hate it btw :P) 2011-10-31T10:43:57 for python I like just having the interpreter (or ipython) open and importing the .py files I'm writing 2011-10-31T10:44:55 the if __name__ == "__main__" idiom makes that pretty nice 2011-10-31T10:45:38 *** antimony has joined #aichallenge 2011-10-31T10:46:58 *** xathis has joined #aichallenge 2011-10-31T10:47:55 BFC: sorruy 2011-10-31T10:48:15 *** theonewolf has quit IRC (Ping timeout: 276 seconds) 2011-10-31T10:48:15 BFC: I got it to work by changing my tutorial.sh and placing the executable file in the same folder 2011-10-31T10:48:30 python tools/playgame.py "./MyBot" 2011-10-31T10:48:32 the thing is 2011-10-31T10:48:40 previously I had 2011-10-31T10:48:47 python tools/playgame.py "/MyBot/MyBot" 2011-10-31T10:48:52 and it worked without any problem 2011-10-31T10:50:30 hmm, weird 2011-10-31T10:50:37 *** foRei has joined #aichallenge 2011-10-31T10:50:42 BFC: how do you run it inside a folder? 2011-10-31T10:50:51 BFC: because the python bot inside the tools folder is running without a problem 2011-10-31T10:50:52 i don't have it inside a folder.. :p 2011-10-31T10:51:02 i know, bc it's botname.py 2011-10-31T10:51:04 you are doing it wrong 2011-10-31T10:51:31 roflmao: how should I do it? 2011-10-31T10:51:51 look at how play_one_game does it 2011-10-31T10:52:14 "python botpath/MyBot.py" 2011-10-31T10:52:24 so if you have the python script inside the tools folder 2011-10-31T10:52:30 and the MyBot one level up 2011-10-31T10:52:37 it should be "python ../MyBot.py" 2011-10-31T10:53:14 so 2011-10-31T10:53:18 why do I have in tutorial.sh 2011-10-31T10:53:25 "python tools/sample_bots/python/HunterBot.py" 2011-10-31T10:53:33 and working? 2011-10-31T10:53:41 the play_one_game 2011-10-31T10:53:52 tries to run them from the cwd 2011-10-31T10:53:59 and tutorial.sh is in the tools directory? 2011-10-31T10:54:06 outside of tools directory 2011-10-31T10:54:10 that's why I need to include 2011-10-31T10:54:10 well there oyu have it 2011-10-31T10:54:13 tools/ 2011-10-31T10:54:15 yes 2011-10-31T10:54:18 for the python bot 2011-10-31T10:54:20 and it works 2011-10-31T10:54:20 that looks correct 2011-10-31T10:54:20 there's actually a bug in playgame.py 2011-10-31T10:54:27 that makes it not work outside the current directory 2011-10-31T10:54:32 for a C++ bot? 2011-10-31T10:54:33 so why can't I do the same 2011-10-31T10:54:34 where do you have your bot 2011-10-31T10:54:35 I made a post on teh forums about that 2011-10-31T10:54:43 and where do you have the play_one_game.sh 2011-10-31T10:54:46 it's a one line change to fix it for executables 2011-10-31T10:54:54 or, what are you trying to do exactly? 2011-10-31T10:54:54 *** sigh has quit IRC (Remote host closed the connection) 2011-10-31T10:54:55 antimony 2011-10-31T10:54:58 link? 2011-10-31T10:55:02 meh, I think I've fixed my timeout 2011-10-31T10:55:11 I have something like this roflmao: 2011-10-31T10:55:17 ->tutorial.sh 2011-10-31T10:55:17 *** olexs has joined #aichallenge 2011-10-31T10:55:33 ->Bot1 2011-10-31T10:55:35 ->tools 2011-10-31T10:55:39 bah 2011-10-31T10:55:43 hehe 2011-10-31T10:55:46 I have the tools folder 2011-10-31T10:55:48 okay, in that case 2011-10-31T10:55:49 and the Bot1 folder 2011-10-31T10:55:50 http://aichallenge.org/forums/viewtopic.php?f=25&t=1672 2011-10-31T10:55:53 in the same directory 2011-10-31T10:55:57 oh bot1 folder? 2011-10-31T10:56:05 the name is irrelevant 2011-10-31T10:56:06 :P 2011-10-31T10:56:11 but it's a folder 2011-10-31T10:56:12 so 2011-10-31T10:56:16 in that case if you want to run your bot1 from tutorial.sh 2011-10-31T10:56:22 yes 2011-10-31T10:56:28 inside tutorial.sh you have you use "python bot1/MyBot.py" 2011-10-31T10:57:01 if you want to run it from play_one_game.sh (that's inside tools I presume), it would be "python ../bot1/MyBot.py" 2011-10-31T10:57:36 yeah 2011-10-31T10:57:38 the thing is 2011-10-31T10:57:56 I have "Bot1/Mybot" 2011-10-31T10:58:05 (not python because it's an executable) 2011-10-31T10:58:08 in tutorial-sjh 2011-10-31T10:58:12 tutorial.sh 2011-10-31T10:58:16 and it doesn't work!!!!! 2011-10-31T10:58:16 :D 2011-10-31T10:58:21 only when MyBot 2011-10-31T10:58:33 is in the same folder as tutorial.sh 2011-10-31T10:58:45 well that might be because of thje way you packaged the executable or something? :P 2011-10-31T11:00:22 I just compiled it 2011-10-31T11:00:22 and it was working 2011-10-31T11:00:26 with the version of the tools 2011-10-31T11:00:29 I had before 2011-10-31T11:01:18 *** tmandry has joined #aichallenge 2011-10-31T11:01:18 *** tmandry has joined #aichallenge 2011-10-31T11:01:35 and the only reason I have this problem is because I wanted to test the AI Visualizer that 2011-10-31T11:01:45 was posted in the forums 2011-10-31T11:01:50 but I need the updated version of the tools for that 2011-10-31T11:01:51 :P 2011-10-31T11:08:19 antimony: I have tried that, but now the sample python bot is the one failing to run 2011-10-31T11:08:19 xD 2011-10-31T11:10:47 *** Misc_ has joined #aichallenge 2011-10-31T11:12:15 *** tmandry has quit IRC (Ping timeout: 258 seconds) 2011-10-31T11:12:19 someone doing python version? 2011-10-31T11:12:43 *** jcdjcd has joined #aichallenge 2011-10-31T11:13:02 I'm doing that tutorial thing, and for avoiding collision, if I copy exactly the code given, my bot crashes 2011-10-31T11:13:38 what traceback do you get? 2011-10-31T11:13:50 *** HypnoGenX has joined #aichallenge 2011-10-31T11:14:12 indentation matters in python (it's used instead of braces) and that's likely your problem 2011-10-31T11:14:31 make sure you're not mixing tabs/spaces 2011-10-31T11:14:53 *** jcdny has quit IRC (Ping timeout: 252 seconds) 2011-10-31T11:15:27 no, it's not an error 2011-10-31T11:15:36 I run the code 2011-10-31T11:15:40 but still get eliminated 2011-10-31T11:16:01 so it doesn't crash? 2011-10-31T11:16:07 no, wrong wording :p 2011-10-31T11:16:16 http://aichallenge.org/ants_tutorial_step_1.php 2011-10-31T11:16:23 under "The Code" 2011-10-31T11:16:27 is this the full code 2011-10-31T11:16:33 or do I have to implement something myself? 2011-10-31T11:16:46 *** pairofdice has joined #aichallenge 2011-10-31T11:16:49 make sure you replaced the old code 2011-10-31T11:17:19 you'll also learn more if you figure out what the code is doing and make sure you fully understand it before just pasting it in 2011-10-31T11:17:41 i do... :p 2011-10-31T11:18:00 I wrote it myself, didn't change anything 2011-10-31T11:18:06 as last resort I tried to copy paste 2011-10-31T11:18:09 still didn't change anything 2011-10-31T11:18:39 your ants still collide? 2011-10-31T11:18:52 Did you remove the bit later where it gives them new orders 2011-10-31T11:20:12 oops pairofdice, forgot to do that! 2011-10-31T11:20:14 thanks! 2011-10-31T11:20:41 *** amanforindia has quit IRC (Ping timeout: 258 seconds) 2011-10-31T11:21:10 *** djr_ has joined #aichallenge 2011-10-31T11:21:17 could someone maybe update the visualizer to make the fog of war system work like in most RTS games? I mean making a difference between unexplored and explored but not visible 2011-10-31T11:22:35 meh, I always get the message: failed to create drawable, is that bad? :p 2011-10-31T11:23:26 also (completely unrelated), is it possible on some maze maps to have a "perfect" defense,that's simply unbreakable? 2011-10-31T11:25:06 I think the maps are designed to make that difficult 2011-10-31T11:25:15 there are some chokepoints that can be defended perfectly 2011-10-31T11:25:20 yay, 11th place 2011-10-31T11:25:22 but not enough to block off the whole map 2011-10-31T11:25:55 *** delt0r__ has quit IRC (Read error: Operation timed out) 2011-10-31T11:27:02 *** bmh has joined #aichallenge 2011-10-31T11:27:05 *** bmh has joined #aichallenge 2011-10-31T11:27:40 Fluxid: Not anymore. 2011-10-31T11:29:33 HypnoGenX: oh cool, 10th 2011-10-31T11:29:39 Grats. ;-) 2011-10-31T11:29:48 *** paulwal has joined #aichallenge 2011-10-31T11:30:59 aight a_star in java 2011-10-31T11:31:01 now time to try it 2011-10-31T11:32:04 Implemented A* in Python 3 myself last night. Hadn't even heard of the algorithm before yesterday. It's just plain creepy to see your ants pathing around like pros all of a sudden. >.> 2011-10-31T11:33:11 wow, macelon plays really well 2011-10-31T11:33:17 http://aichallenge.org/visualizer.php?game=28749&user=4513&turn=484 2011-10-31T11:34:10 hypnogenx 2011-10-31T11:34:13 do you experience timeouts 2011-10-31T11:34:20 i did it in ruby but it was an epic fail of performance 2011-10-31T11:34:41 Aye, even if I give it 10 seconds per round. So I just cut that sucker off and return the 'path so far' when time is running out. 2011-10-31T11:34:55 heh 2011-10-31T11:35:07 and did that fix the problem? 2011-10-31T11:35:10 within 500ms, I wonder with how many ants you can afford to do A* 2011-10-31T11:35:23 Gets my ants moving in the appropriate direction. 2011-10-31T11:35:23 depends on how well you scheme things 2011-10-31T11:35:29 And it works now, with a handful of ants. 2011-10-31T11:35:32 I wonder if it would be a bug rather than a slow implementation 2011-10-31T11:35:38 By the time I have 40 ants they become dumb as bricks. >:-P 2011-10-31T11:35:38 yes it could be a bug hypno 2011-10-31T11:35:49 check the size of your open set 2011-10-31T11:36:00 Was over 400 at one point last night. 2011-10-31T11:36:04 I had to remove my optimized loop already because a timeout bug 2011-10-31T11:36:07 then you're doing something wrong :) 2011-10-31T11:36:20 well depends on the distance of course but your open set shouldn't be that large 2011-10-31T11:36:26 I had various problems with mine 2011-10-31T11:36:27 HypnoGenX: Have you tried the buddy system? Partner up ants and only do all your pathfinding for one 2011-10-31T11:36:39 the buddy system LOL 2011-10-31T11:36:58 *** Nescio_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T11:36:59 Haven't tried anything other than the tutorial and A* so far. 2011-10-31T11:37:04 Just started yesterday. 2011-10-31T11:37:14 Figure I'll go for 'classes' of ants. Gatherers, scouts, defenders, attack squads, that sorta thing. 2011-10-31T11:37:49 *** balkemacho has quit IRC (Ping timeout: 240 seconds) 2011-10-31T11:38:09 Anyway, entirely new to AI, and having a good time of it so far. :-P 2011-10-31T11:39:12 I don't know if anyone is actually using statistics to learn behavior. 2011-10-31T11:39:31 I suspect we're all programming perceptrons 2011-10-31T11:41:11 *** delt0r__ has joined #aichallenge 2011-10-31T11:41:58 *** Overburn has quit IRC (Ping timeout: 258 seconds) 2011-10-31T11:42:19 welcome to the matrix 2011-10-31T11:43:50 ? 2011-10-31T11:44:18 *** comdown has joined #aichallenge 2011-10-31T11:44:34 we are all perceptrons being programmed 2011-10-31T11:45:12 That's some serious zen, man. 2011-10-31T11:46:22 *** bmh has quit IRC (Quit: at work) 2011-10-31T11:46:54 *** Mooloo has joined #aichallenge 2011-10-31T11:47:31 *** Baus has quit IRC (Ping timeout: 252 seconds) 2011-10-31T11:48:21 aaargh I need to get java debugger working with this python shit! 2011-10-31T11:48:52 So much wrong with that sentence. >:-P 2011-10-31T11:49:05 don't get me wrong python is good 2011-10-31T11:49:09 but I only know ruby 2011-10-31T11:49:12 and ruby is too slow 2011-10-31T11:49:18 so I'm going with java cause it has a very complete framework 2011-10-31T11:49:21 but i can't debug 2011-10-31T11:49:23 Why not use C++? 2011-10-31T11:49:32 cause I'm better at java 2011-10-31T11:49:34 well, its still possible to win with ruby ;-) 2011-10-31T11:49:48 at least, if you have good algorithm that fits with the language 2011-10-31T11:49:48 easier to win with java :P 2011-10-31T11:49:59 cause it's faster 2011-10-31T11:50:01 * avdg sticks to js 2011-10-31T11:50:10 don't get me wrong I do not like java 2011-10-31T11:50:15 I just got my OCJP, I hate java 2011-10-31T11:50:24 HypnoGenX: don't get me started on c++, it's a horrible language 2011-10-31T11:50:30 :) 2011-10-31T11:50:49 its ok if you use it like c with some features :)) 2011-10-31T11:50:55 I genuinly like C++. Love Python though. And like any sane human can't stand Java. ;-) 2011-10-31T11:51:25 Python is awesome, hate all those curly braces 2011-10-31T11:51:33 word 2011-10-31T11:51:41 I prefer ruby 2011-10-31T11:51:43 but they are very similar 2011-10-31T11:51:45 so :P 2011-10-31T11:51:56 (hate all those parenthesis) 2011-10-31T11:52:06 and its harder to mix tabs and spaces in python (for some a feature, for some a bug) 2011-10-31T11:52:29 *** Harpyon has joined #aichallenge 2011-10-31T11:52:33 I've noticed that the starter packages have varying quality 2011-10-31T11:52:38 java starter package is quite good 2011-10-31T11:52:40 ruby not so much 2011-10-31T11:53:05 js isn't probably good as well 2011-10-31T11:53:13 I had to make my own 2011-10-31T11:53:35 Use an editor that switches tabs to spaces? 2011-10-31T11:53:54 *** Mooloo is now known as Baus 2011-10-31T11:53:56 its better to actually see the tabs and spaces imo 2011-10-31T11:54:05 yeah JS dude 2011-10-31T11:54:06 *** SavageSimian has quit IRC (Ping timeout: 255 seconds) 2011-10-31T11:54:09 that's terrible :P 2011-10-31T11:54:18 well, I was a php programmer 2011-10-31T11:54:18 *** amanforindia has joined #aichallenge 2011-10-31T11:54:22 *** antimony has quit IRC (Ping timeout: 265 seconds) 2011-10-31T11:54:41 js is still new for me 2011-10-31T11:54:53 I don't even know the dom quite well 2011-10-31T11:55:13 *** ikaros_ has quit IRC (Quit: Ex-Chat) 2011-10-31T11:55:20 *** Saulzar has joined #aichallenge 2011-10-31T11:56:58 learn something OO 2011-10-31T11:57:06 well php is oo 2011-10-31T11:57:09 but js is a prototype language 2011-10-31T11:57:17 yeah, its kinda strange 2011-10-31T11:57:46 even when I got it, I struggled with some variables I accidentally shared 2011-10-31T11:59:34 *** Saulzar has quit IRC (Ping timeout: 244 seconds) 2011-10-31T12:00:58 meh, I think I'll stick with js for at least a few months 2011-10-31T12:01:51 *** djr_ has quit IRC (Ping timeout: 248 seconds) 2011-10-31T12:02:36 *** racko has joined #aichallenge 2011-10-31T12:03:33 *** Saulzar has joined #aichallenge 2011-10-31T12:03:55 Anyone able to tell me if it's sensible to implement Dijkstra's Algorithm for harvesting of nearby food, and A* for longer distance pathing? 2011-10-31T12:05:56 *** cutoff has quit IRC (Ping timeout: 260 seconds) 2011-10-31T12:07:41 isn't dijkstra's really a*? 2011-10-31T12:07:44 *** antimony has joined #aichallenge 2011-10-31T12:07:45 just without heuristic 2011-10-31T12:08:44 yes 2011-10-31T12:08:50 *** Careyja has joined #aichallenge 2011-10-31T12:08:53 *** thestinger has quit IRC (Quit: WeeChat 0.3.6) 2011-10-31T12:08:57 more or less... mostly more. 2011-10-31T12:09:41 From what I gather A* goes into a focused direction whereas Dijkstra goes outwards in a circle. 2011-10-31T12:11:55 *** RobotCaleb has joined #aichallenge 2011-10-31T12:12:06 so, basically, dijkstra relies entirely on the gscore? 2011-10-31T12:12:10 Depends on the heuristic 2011-10-31T12:12:15 *** antimony has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:13:01 A* is dijkstra's with a certain heuristic 2011-10-31T12:13:40 *** MuTaLiSk has joined #aichallenge 2011-10-31T12:13:45 always zero? or is it always max distance? don't remember and i am not turning my Brian on now 2011-10-31T12:13:49 ;) 2011-10-31T12:13:58 *** foRei has quit IRC (Read error: Connection reset by peer) 2011-10-31T12:15:12 *** bearoff_w has left #aichallenge 2011-10-31T12:18:47 *** g0llum has joined #aichallenge 2011-10-31T12:19:52 it's more like A* is dijkstra with heuristic 2011-10-31T12:21:59 yea 2011-10-31T12:22:28 but to answer HypnoGenX's question: yes 2011-10-31T12:22:36 :-P 2011-10-31T12:23:22 *** McLeopold has left #aichallenge 2011-10-31T12:23:29 *** McLeopold has joined #aichallenge 2011-10-31T12:23:39 A* is nice when you know where your target is, i.e. from one point to another 2011-10-31T12:24:07 dijkstra is nice when you don't know where the target is, or there could be multiple targets, such as when assigning ants to food or vice versa 2011-10-31T12:24:16 did the accounts transfer between the previous challenge and this one? I can't seem to log in with my username/password combination from the last challenge 2011-10-31T12:25:10 *** nigs has joined #aichallenge 2011-10-31T12:26:16 *** henry61 has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:26:45 *** nylith has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:26:45 *** ^5 <^5!7cb29512@gateway/web/freenode/ip.124.178.149.18> has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:26:57 what's the meaning of deactivated: not in queue to play? 2011-10-31T12:27:07 *** paulwal has quit IRC (Quit: Page closed) 2011-10-31T12:27:11 aichallenge: McLeopold epsilon * r6c12e3c / (3 files): move tooltip to header - http://git.io/O94gQg 2011-10-31T12:27:14 *** LouisMartin has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:27:14 *** randomdude has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:27:14 *** devnull_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:27:25 i guess it's to filter all those inactive submissions? good idea 2011-10-31T12:27:31 it's been deactivated as a resource saving measure 2011-10-31T12:27:51 But my bot seems to be playing on regular intervals 2011-10-31T12:28:04 yeah, that's intentional 2011-10-31T12:28:27 it's available for other bots to fight with, but it won't start any fights on its own 2011-10-31T12:28:51 ok 2011-10-31T12:29:35 oh so there's an option to activate and deactivate 2011-10-31T12:29:39 *** Careyja has quit IRC (Ping timeout: 265 seconds) 2011-10-31T12:29:44 so when you're ready to fight 2011-10-31T12:29:47 activate it 2011-10-31T12:30:21 *** cutoff has joined #aichallenge 2011-10-31T12:31:13 I'm in fucking business 2011-10-31T12:31:14 now 2011-10-31T12:31:16 oh yeah 2011-10-31T12:31:42 *** BlipInTheData has joined #aichallenge 2011-10-31T12:31:45 hmm are my own hills send to me if they are not in sight every turn? 2011-10-31T12:31:56 my bot has been deactivated too 2011-10-31T12:32:02 but it's still playing too many games 2011-10-31T12:32:02 ikaros: no 2011-10-31T12:32:03 :P 2011-10-31T12:32:11 ikaros: no 2011-10-31T12:32:21 damn that sux.. so i cant really decide if i lost a hill if i dont see it 2011-10-31T12:32:42 ikaros: I would suggest not having your own hill in sight is not smart 2011-10-31T12:32:56 Depends on the map I guess 2011-10-31T12:32:58 sometimes its just overrun 2011-10-31T12:33:08 and your ants die first.. so 2011-10-31T12:33:21 what i wanted to do is switch priorities if i have no hill left 2011-10-31T12:33:27 no reason to collect food then 2011-10-31T12:33:38 if you think you should have spawned an ant, but didn't, that is an indication 2011-10-31T12:33:41 Actually my deactivated bot went quite high in the ranklist :P 2011-10-31T12:33:56 yea McLeopold 2011-10-31T12:33:57 in the beginning you have no choice but to go exploring, but after you reach a certain number of ants you can post guards to protect your hill 2011-10-31T12:34:13 true Minthos but they still can die before the hill falls :) 2011-10-31T12:34:23 the more food you collect, the more guards you have :) 2011-10-31T12:34:27 then I don't think it matters much what you do 2011-10-31T12:34:47 i guess watching food and spawn is the only way 2011-10-31T12:35:01 *** olexs has quit IRC (Quit: Leaving.) 2011-10-31T12:35:21 only an indicator for the last hill.. not which one fell .. but better than nothing 2011-10-31T12:37:47 *** jcdny has joined #aichallenge 2011-10-31T12:38:06 *** dvladim has joined #aichallenge 2011-10-31T12:39:39 *** jcdjcd has quit IRC (Ping timeout: 258 seconds) 2011-10-31T12:46:18 @later tell amstan can you split the development & tools forum topic into smaller pieces? 2011-10-31T12:46:18 McLeopold: Ready to serve. 2011-10-31T12:46:25 *** cutoff has quit IRC (Ping timeout: 260 seconds) 2011-10-31T12:47:26 *** JamesMG has joined #aichallenge 2011-10-31T12:49:21 *** Tank_ has joined #aichallenge 2011-10-31T12:50:07 *** balkemacho has joined #aichallenge 2011-10-31T12:50:45 holy cow my ant is so smart :D 2011-10-31T12:50:48 *** JamesMG_ has quit IRC (Ping timeout: 255 seconds) 2011-10-31T12:51:08 does it hunt? :-) 2011-10-31T12:51:15 not enemy ants 2011-10-31T12:51:17 but it is a food hunting beast 2011-10-31T12:51:44 :-) 2011-10-31T12:52:24 *** tmandry has joined #aichallenge 2011-10-31T12:52:24 *** tmandry has joined #aichallenge 2011-10-31T12:56:52 and this a* is fast 2011-10-31T12:56:54 and it works 2011-10-31T12:56:55 fuck yes 2011-10-31T12:57:07 just need to store seen food in an arr 2011-10-31T12:57:19 cause it takes a path that temporarily causes the food to go out of sight 2011-10-31T12:57:23 causing the a* pathing to stop rofl 2011-10-31T12:57:56 *** mutilator has quit IRC (Quit: I dont believe!) 2011-10-31T13:00:21 *** ThatGuy_ has joined #aichallenge 2011-10-31T13:00:27 Hiyo 2011-10-31T13:01:53 *** JamesMG_ has joined #aichallenge 2011-10-31T13:02:02 *** overburn has joined #aichallenge 2011-10-31T13:02:48 *** overburn has joined #aichallenge 2011-10-31T13:03:00 *** ztfw has joined #aichallenge 2011-10-31T13:03:03 So, I'm looking for some help implementing A* in Java. 2011-10-31T13:03:15 ouch 2011-10-31T13:03:20 yeah 2011-10-31T13:03:29 I'm new to the programming game 2011-10-31T13:03:31 relatively 2011-10-31T13:03:43 and I get how A* works 2011-10-31T13:03:57 I just need help wrapping my head around how to code it 2011-10-31T13:04:04 tried implementing the pseudocode here? http://en.wikipedia.org/wiki/A* 2011-10-31T13:04:32 also 2011-10-31T13:04:40 has anyone tried a bidirectional a* for pathfinding? 2011-10-31T13:04:50 do you have A* working? 2011-10-31T13:04:53 *** JamesMG has quit IRC (Ping timeout: 252 seconds) 2011-10-31T13:05:11 not yet 2011-10-31T13:05:30 didn't manage to implement it without having timeouts after some time 2011-10-31T13:05:38 I'm wondering if I should make a seperate class and just call it from the doMoveLocation function 2011-10-31T13:05:42 hmm 2011-10-31T13:05:55 why a separate class? 2011-10-31T13:06:28 you can just use a function that takes 2 locations and returns the processed path so you can store it somewhere and use it 2011-10-31T13:06:39 ThatGuy_ you there? 2011-10-31T13:07:01 Hiyo 2011-10-31T13:07:08 need help with a*? 2011-10-31T13:07:28 yeah 2011-10-31T13:07:33 *** cooky74 has joined #aichallenge 2011-10-31T13:07:43 just some direction really 2011-10-31T13:07:43 what do you need help with more specifically? :) 2011-10-31T13:07:46 ah 2011-10-31T13:07:56 do you know what a* is? 2011-10-31T13:08:01 implementing it with the bot 2011-10-31T13:08:01 yeah 2011-10-31T13:08:11 ok so if you already understand a* 2011-10-31T13:08:24 read the pseudocode on wikipedia 2011-10-31T13:08:25 it's great 2011-10-31T13:08:26 http://en.wikipedia.org/wiki/A*_search_algorithm 2011-10-31T13:08:38 A* finds the shortest route by checking the distance of a tile for how far from the start and the end it is 2011-10-31T13:08:48 yep, but do you know any details on how? 2011-10-31T13:09:04 *** McLeopold has left #aichallenge 2011-10-31T13:09:16 that's where I'm looking to get info. I understand the closed / open list 2011-10-31T13:09:22 *** amanforindia has left #aichallenge ("Leaving") 2011-10-31T13:09:33 I understand all the theory behind A* 2011-10-31T13:09:36 ok 2011-10-31T13:09:43 it's just translating to code 2011-10-31T13:09:49 aighty well read that wiki pseudocode 2011-10-31T13:09:52 that'll really clarify things 2011-10-31T13:09:57 but the wiki article is apparently the way to go 2011-10-31T13:09:58 what language are you programming in? 2011-10-31T13:10:11 java 2011-10-31T13:10:29 nice, I just did a* in java 2011-10-31T13:10:34 I could send you my a* implementation if you want 2011-10-31T13:10:35 up to you 2011-10-31T13:10:49 it'd help, if you wouldn't mind 2011-10-31T13:11:02 http://pastie.org/2789048 2011-10-31T13:11:05 there are quite a few on the web too 2011-10-31T13:11:19 it's based on the wiki version :) 2011-10-31T13:11:25 here's mine: {} 2011-10-31T13:11:40 any questions I'm right here 2011-10-31T13:11:44 lol aikon 2011-10-31T13:12:14 hmm roflmao, do you have any experience with D* Lite? 2011-10-31T13:12:20 zero 2011-10-31T13:12:57 darn 2011-10-31T13:13:03 note that my heuristic is not weighted ThatGuy 2011-10-31T13:13:05 overburn: you mean D* search ? 2011-10-31T13:13:24 yeah, you're using Manhattan, which will give me straight lines, as opposed to the euclidean 2011-10-31T13:13:25 del0r that too 2011-10-31T13:13:32 *** cooky74 has quit IRC (Quit: Page closed) 2011-10-31T13:13:44 oh, and Node is simply a class that has-a Tile and has-a distance 2011-10-31T13:13:45 trying to get some alternatives for a* heh 2011-10-31T13:13:46 heyyyyy 2011-10-31T13:13:55 and implements Comparable that compares by distance 2011-10-31T13:14:00 if an ant is blocking a hill you can't see it? 2011-10-31T13:14:06 so that way my openSet priority queue is properly sorted 2011-10-31T13:14:08 IIRC overburn D* is for geodesic distances on arbitrary triangle meshes. 2011-10-31T13:14:40 delt0r: oh, didn't do too much research on it 2011-10-31T13:14:48 but useless here heh apparently 2011-10-31T13:14:58 overburn: for this comp, flood fill and left/right painters method are perhaps something to look into 2011-10-31T13:15:15 hmm thanks for the tip mate 2011-10-31T13:15:21 *** kara has joined #aichallenge 2011-10-31T13:15:31 the last one is hard to find references on... it is used for RTS games to find the closest enemy unit 2011-10-31T13:15:42 on a gird like here 2011-10-31T13:16:25 is that better than kd-trees to find nearest neighbours? 2011-10-31T13:17:04 on a grid yes 2011-10-31T13:17:12 well a smaller gird 2011-10-31T13:17:16 aka finite 2011-10-31T13:18:05 kd trees work well for very large spaces and/or large numbers of points in low dimension. 2011-10-31T13:18:39 in high dimension it is a unsolved problem--for those that need to know ;) 2011-10-31T13:18:43 *** HaraKiri has quit IRC (Ping timeout: 245 seconds) 2011-10-31T13:18:44 i'm at high dimension 2011-10-31T13:18:45 *** comdown has quit IRC (Quit: Page closed) 2011-10-31T13:19:02 rabidus: really? ants is only 2 2011-10-31T13:19:14 i'm in ants2 2011-10-31T13:19:21 lol 2011-10-31T13:19:22 *** UncleVasya has joined #aichallenge 2011-10-31T13:19:35 most RTS games precompute paths :P 2011-10-31T13:19:47 well in that case we don't have anything that works much better than brute force 2011-10-31T13:20:04 *groan* 2011-10-31T13:20:06 roflmao: yes and no. Most hack the crap out of it 2011-10-31T13:20:17 what do you mean? 2011-10-31T13:20:21 Just spent half an hour tracking down a bug in my A*, which turned out to be the time cap and me telling the engine I want only 100ms roundtimes. 2011-10-31T13:20:33 brute force can be pretty usful if applied right 2011-10-31T13:20:42 roflmao: lots of cheats and shortcuts and hacks. 2011-10-31T13:20:51 how can you hack pathfinding and cheat 2011-10-31T13:21:01 for example some games use crude algos when you have a lot of units 2011-10-31T13:21:13 while they use good ones when you have few 2011-10-31T13:21:13 the designer could place various markers on the map i guess for one 2011-10-31T13:21:29 makes sense 2011-10-31T13:21:47 almost none take other units into account --regardless of what the sales pitch claims. 2011-10-31T13:23:11 I suppose you could mark tiles along a path with time reservations based on estimated time the unit will be there 2011-10-31T13:23:17 roflmao: cheating mostly involves really stupid paths. Ie going the long way round right past the enemy base 2011-10-31T13:23:29 ah 2011-10-31T13:23:30 and take that into account when doing subsequent path searches for other units to avoid collision 2011-10-31T13:23:34 well yeah a lot of rts games have terrible pathfinding 2011-10-31T13:23:40 its one of the most common problems 2011-10-31T13:23:42 Minthos: yep. 2011-10-31T13:23:53 few papers on it... quite high complexity 2011-10-31T13:24:17 oh wow turntime on ants.fluxid.pl is 5 seconds? 2011-10-31T13:24:19 Does that server also account for network lag or do we have to do that locally? 2011-10-31T13:24:35 wait. fluxid gives your bot 5 seconds instead of 300ms? 2011-10-31T13:24:37 that 5 sec includes lag 2011-10-31T13:24:48 500ms* 2011-10-31T13:24:55 last year the tcp server was 3 sec for lag 2011-10-31T13:25:03 *** Saulzar has quit IRC (Ping timeout: 248 seconds) 2011-10-31T13:25:09 come on, network latency etc 2011-10-31T13:25:29 yeah but how should my bot be able to tell if there's a network in between him and the server? 2011-10-31T13:25:37 with 500ms 90% of players would timeout 2011-10-31T13:25:45 your client won't know what the latency is so you'd better assume the time limit is 500 ms or less even when server reports 5 s 2011-10-31T13:25:54 Minthos: hardcode 500ms then 2011-10-31T13:26:01 what I meant 2011-10-31T13:26:02 Migi32: you can't 2011-10-31T13:26:05 I know, but Fluxid you have to tell the bots they have 500ms time and do the 5s check on server-side 2011-10-31T13:26:30 *** overburn has quit IRC (Quit: Page closed) 2011-10-31T13:26:31 yaym, I have a working bot! 2011-10-31T13:26:45 Migi32: this would need hacking game engine 2011-10-31T13:26:52 *** nigs has quit IRC (Quit: Leaving) 2011-10-31T13:27:24 Fluxid: not doing so would need people to hack their own bot if they want to play on your server 2011-10-31T13:27:30 by hardcoding the 500ms 2011-10-31T13:27:47 Migi32: most people don't limit time 2011-10-31T13:28:14 Migi32: make it a command line switch to your bot 2011-10-31T13:28:37 *** ChrisH_ has joined #aichallenge 2011-10-31T13:30:28 *** onensora has joined #aichallenge 2011-10-31T13:31:04 evning 2011-10-31T13:35:50 @later tell McLeopold Submission deactivation may not be working 100% correctly. Here is a game that appears to be between two deactivated submissions (and no other bots). http://aichallenge.org/visualizer.php?game=37353 2011-10-31T13:35:50 ChrisH_: Yes master! 2011-10-31T13:36:00 146 eliminated the enemy team 2011-10-31T13:41:10 oh duplicate order is an error 2011-10-31T13:41:14 not just a warning :P 2011-10-31T13:42:00 *** Larose has joined #aichallenge 2011-10-31T13:47:06 *** Cybsy has joined #aichallenge 2011-10-31T13:49:19 aichallenge: McLeopold epsilon * r02f3666 / (sql/2_generate_matchup.sql sql/opponent.sql): matchup generator speedup - http://git.io/1oPk6Q 2011-10-31T13:53:56 *** JamesMG has joined #aichallenge 2011-10-31T13:57:03 *** JamesMG_ has quit IRC (Ping timeout: 248 seconds) 2011-10-31T13:57:48 so roflmao, when you call astar(start, goal), it returns an array list of tile's for the path 2011-10-31T13:58:22 right? just checking I'm reading this right 2011-10-31T14:00:00 aichallenge: McLeopold epsilon * r4256d99 / (website/ranking.php website/sql.php): speedup to ranking list - http://git.io/EL4LUQ 2011-10-31T14:02:27 *** ChrisH_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T14:04:33 correct 2011-10-31T14:05:08 ThatGuy_ : I then store that in memory in a Map> 2011-10-31T14:05:13 with the key being the FOOD 2011-10-31T14:05:34 so in a diff function (doAStar) i first check to see if the path exists in cache, and if it does, I just use that 2011-10-31T14:05:37 toherwise I create it 2011-10-31T14:05:49 *** dvladim has quit IRC (Ping timeout: 256 seconds) 2011-10-31T14:06:10 int nextTileIndex = path.indexOf(ant) + 1; 2011-10-31T14:06:32 aichallenge: McLeopold epsilon * r3f6de97 / website/sql.php : fix bad sql - http://git.io/aMJ9qA 2011-10-31T14:08:45 *** McLeopold has joined #aichallenge 2011-10-31T14:09:56 janzert: workers are puking... 2011-10-31T14:10:02 roflmao, if you just store the destination as key, what if the ant comes from a different direction? 2011-10-31T14:10:48 if ant comes from a different direction 2011-10-31T14:10:52 it means that the food objective has changed 2011-10-31T14:10:58 which means that the path for the new ant hasn't been calculated it 2011-10-31T14:11:00 yet* 2011-10-31T14:11:05 *** balkemacho has quit IRC (Ping timeout: 252 seconds) 2011-10-31T14:11:15 so I just dump the old path 2011-10-31T14:11:29 ah ok.. 2011-10-31T14:11:32 if(path.indexOf(ant) == −1) { 2011-10-31T14:11:36 aStarPaths.remove(food) 2011-10-31T14:11:38 } 2011-10-31T14:11:44 which then forces a recalc for the new ant 2011-10-31T14:12:01 yea sure .. your caching is only for the same ant :) i got it 2011-10-31T14:12:07 i was confused :) 2011-10-31T14:12:51 roflmao, so you switched to java? =) 2011-10-31T14:12:55 yes 2011-10-31T14:13:03 done with my bot actually 2011-10-31T14:13:08 just getting a stupid duplicate order error fixed 2011-10-31T14:13:16 on the // if all else fails, just randomize direction 2011-10-31T14:13:33 which will soon become the bouncing section 2011-10-31T14:13:45 bouncing? 2011-10-31T14:14:27 yea its my scavenging plan 2011-10-31T14:14:35 right now it is just random direction which aint too great 2011-10-31T14:14:50 cause all my ants cluster at my hillhorribly 2011-10-31T14:15:18 what I want to do is have the ant choose a direction 2011-10-31T14:15:32 and then keep on going to that direction until the ant bumps into a wall or another ant 2011-10-31T14:15:36 then it switches direction 2011-10-31T14:15:45 that will force all the ants to go out of the hill 2011-10-31T14:16:10 yea i use a similar technique right now 2011-10-31T14:16:27 just planning to upgrade it since it explores to slowly on some maps 2011-10-31T14:16:40 you should try getting your ants to spread over the map, keeping each ant at x distance from each other, where x is just inside of the range required to overlap sight 2011-10-31T14:16:47 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-10-31T14:17:03 *** g0llum has joined #aichallenge 2011-10-31T14:17:29 hold out, Server #29 ! 2011-10-31T14:17:40 uniform distribution of ants :) 2011-10-31T14:17:49 *** sjoerd_visscher has joined #aichallenge 2011-10-31T14:18:05 it's what the top players are doing 2011-10-31T14:18:10 yea 2011-10-31T14:18:12 it gives you the best chance to get new food 2011-10-31T14:18:18 that was one of my next aims 2011-10-31T14:18:58 *** cutoff has joined #aichallenge 2011-10-31T14:19:11 *** sjoerd_visscher has quit IRC (Client Quit) 2011-10-31T14:19:40 but i think some combat tactics would be more urgent :) and i'm still thinkin about how to do it 2011-10-31T14:19:48 Exception in thread "main" java.util.ConcurrentModificationException 2011-10-31T14:19:48 at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100) 2011-10-31T14:19:48 at java.util.TreeMap$KeyIterator.next(TreeMap.java:1154) 2011-10-31T14:19:48 at MyBot.doTurn(MyBot.java:165) 2011-10-31T14:19:48 at AbstractSystemInputParser.processLine(AbstractSystemInputParser.java:54) 2011-10-31T14:19:48 at AbstractSystemInputReader.readSystemInput(AbstractSystemInputReader.java:18) 2011-10-31T14:19:49 at MyBot.main(MyBot.java:21) 2011-10-31T14:19:50 wtf? 2011-10-31T14:20:20 *** racko has quit IRC (Ping timeout: 265 seconds) 2011-10-31T14:20:58 you deleting entrys while iterating? 2011-10-31T14:20:58 you're editing the treemap while you're iterating over it? 2011-10-31T14:21:17 OH DUH 2011-10-31T14:21:21 rofl stupid me 2011-10-31T14:24:23 *** HaraKiri has joined #aichallenge 2011-10-31T14:24:36 aight time to release this bad boy out into the wild! 2011-10-31T14:24:50 @later tell janzert workers are failing to compile and play games, matchup generation looks good to me, I have no access to workers 2011-10-31T14:24:50 McLeopold: Job's done. 2011-10-31T14:25:47 *** kara has quit IRC (Ping timeout: 244 seconds) 2011-10-31T14:26:17 *** tmandry has quit IRC (Read error: Operation timed out) 2011-10-31T14:26:34 what's your name on the aichallenge server roflmao? 2011-10-31T14:27:05 roflmao 2011-10-31T14:27:10 :) 2011-10-31T14:27:17 this is the first version of my ant that doesn't include spreading 2011-10-31T14:27:30 so it has the base clustering problem big time but i gotta get busy! so it'll have to do for now 2011-10-31T14:27:43 *** SavageSimian has joined #aichallenge 2011-10-31T14:27:55 *** exezive has joined #aichallenge 2011-10-31T14:28:32 the a* is working fantastic though 2011-10-31T14:28:56 is there some typo at some point in the tutorial..i followed it word for word and have run through 20 times to make sure i did everything as instructed and it still crashes 2011-10-31T14:32:11 bots are not being matchyed up, right? 2011-10-31T14:32:39 *** tmandry has joined #aichallenge 2011-10-31T14:32:40 i'm guessing a price threshold was hit on the ec2 machines 2011-10-31T14:32:58 meh all workers down 2011-10-31T14:32:58 cutoff: crashing how? 2011-10-31T14:35:23 *** balkemacho has joined #aichallenge 2011-10-31T14:35:59 *** wombot_ has joined #aichallenge 2011-10-31T14:37:39 *** ThatGuy_ has quit IRC (Quit: Page closed) 2011-10-31T14:39:12 oh lol it times out on the 8p map and sucks ass 2011-10-31T14:39:17 but i can definitely make it work :P 2011-10-31T14:40:28 *** Dispatch has joined #aichallenge 2011-10-31T14:41:08 *** minus has left #aichallenge ("Leaving") 2011-10-31T14:44:13 *** careyja has joined #aichallenge 2011-10-31T14:45:43 ah, i just thought of a good way to save state for long running functions, e.g. an optimization algorithm that runs in your leftover turn time 2011-10-31T14:47:04 *** yoden1 has joined #aichallenge 2011-10-31T14:48:15 *** yoden has quit IRC (Ping timeout: 255 seconds) 2011-10-31T14:48:27 *** olexs has joined #aichallenge 2011-10-31T14:49:42 *** dexter has joined #aichallenge 2011-10-31T14:49:54 *** Dispatch has quit IRC (Quit: Page closed) 2011-10-31T14:49:57 i guess it's relatively obvious if that's the problem you're trying to solve 2011-10-31T14:50:37 *** anton_serdyuk has joined #aichallenge 2011-10-31T14:51:05 I'm thinking of doing a multi threaded thinfg 2011-10-31T14:51:23 where I pause the long algorithms if time is almost up 2011-10-31T14:51:28 then let the thread resume next turn 2011-10-31T14:52:17 *** dexter has quit IRC (Client Quit) 2011-10-31T14:52:28 I do that now 2011-10-31T14:52:33 hi all 2011-10-31T14:53:13 is game servers offline now? 2011-10-31T14:53:20 it can be quite tricky. Definitely if you keep adding new data to that algorithm each turn, then it may never finish. And you need a fallback for that. 2011-10-31T14:53:28 i thought threads weren't allowed 2011-10-31T14:53:33 they're not 2011-10-31T14:53:59 oh okay 2011-10-31T14:54:02 didn't know that 2011-10-31T14:54:09 I do pseudo-threading :P 2011-10-31T14:54:27 *** spect_ has joined #aichallenge 2011-10-31T14:54:45 my plan is to use python generators 2011-10-31T14:55:02 and just store it as an attribute of my bot class 2011-10-31T14:55:12 I think I'm going to literally save the state 2011-10-31T14:55:20 in java you can't use threads because they are os threads afaik 2011-10-31T14:55:21 and then have a resume function 2011-10-31T14:56:14 * avdg like events 2011-10-31T14:56:19 *likes 2011-10-31T14:56:37 roflmao, that works too, generators are just a convenient abstraction 2011-10-31T14:57:00 what do you mean exactly bvy generators though 2011-10-31T14:57:05 *** Fandekasp has joined #aichallenge 2011-10-31T14:57:29 I thought in Java you had 2 kinds of threads: actual OS threads and "fibers", which are pseudo-threads 2011-10-31T14:57:45 yes you have pseudo threads 2011-10-31T14:57:57 but I think that is automatic 2011-10-31T14:58:01 ergo java chooses, you don't 2011-10-31T14:58:09 depending on the operating system and machine the jvm is running on 2011-10-31T14:58:13 *** oof_ has joined #aichallenge 2011-10-31T14:58:25 i.e. not ergo :P 2011-10-31T14:58:48 java hasn't done that in years 2011-10-31T14:58:49 but pseudo-threads can't work without you calling a scheduler function 2011-10-31T14:58:51 roflmao, coroutines basically 2011-10-31T14:58:58 java threads are full native threads 2011-10-31T14:59:09 ie you can't use them 2011-10-31T14:59:23 *** gcflymoto has joined #aichallenge 2011-10-31T14:59:37 *** anton_serdyuk has quit IRC (Quit: Page closed) 2011-10-31T14:59:40 shme 2011-10-31T14:59:44 shame* 2011-10-31T15:00:22 in a way it cheats anyway... you get a few threads for things like GC etc. so if you are on multicore it will use both even if the app only uses one 2011-10-31T15:00:41 *** RicoT has joined #aichallenge 2011-10-31T15:01:08 can't haskell also automatically make threads for you? 2011-10-31T15:01:27 *** onion42 has joined #aichallenge 2011-10-31T15:01:37 I haven't really used haskell much but I've read that the functional programming allows it to do that 2011-10-31T15:02:03 yes.. as does a few other langs like scala 2011-10-31T15:02:06 and go 2011-10-31T15:02:09 iirc 2011-10-31T15:02:16 functional programming is a bomb 2011-10-31T15:02:21 screw that 2011-10-31T15:02:33 *** antimony has joined #aichallenge 2011-10-31T15:02:38 as long as its one native thread your gold as far as i understand 2011-10-31T15:02:56 but really for this task they don't make much difference 2011-10-31T15:03:03 scala has a few constructs (actors, parallel collections) that may manage threads for you. but in general it doesn't automatically create threads 2011-10-31T15:03:24 has anybody else noticed that in the python tutorial step 5, the last for loop in attack hills code is using the wrong hill_loc variable? 2011-10-31T15:04:03 *** oof_ has quit IRC (Quit: Page closed) 2011-10-31T15:04:03 it should be something like.. for dist, ant_loc, hill_loc in ant_dist: do_move_location(ant_loc, hill_loc) 2011-10-31T15:04:10 did this game count as a win for me or a draw? http://ants.fluxid.pl/replay.14995 2011-10-31T15:04:50 I think it cut off too soon, if the game continued until 1500 turns I'd probably have razed that hill 2011-10-31T15:05:08 gcflymoto: hm 2011-10-31T15:05:18 lol, it uses the last hill_loc found 2011-10-31T15:06:07 Zannick: right 2011-10-31T15:06:13 Zannick: that may work for the tutorial 2011-10-31T15:06:42 *** hawkbat05 has joined #aichallenge 2011-10-31T15:07:04 dwins: i mean "micro" threads aka coroutines... its the same idea really. Once upon a time every app on windows had to call yield so that other apps had a turn on the cpu 2011-10-31T15:07:08 same idea really 2011-10-31T15:07:51 *** asdds has joined #aichallenge 2011-10-31T15:09:00 i don't understand this code 2011-10-31T15:09:17 for every hill, calculate each ant's distance to that hill 2011-10-31T15:09:30 what happened with the aichallenge server? 2011-10-31T15:09:32 Migi32, i think its a draw?! 2011-10-31T15:09:35 and if you don't have orders for that ant, issue an order for it to move to each hill 2011-10-31T15:09:36 on my profile it says 2011-10-31T15:09:38 The current player rate is about 0.0 players per minute. 2011-10-31T15:09:38 The current game rate is about 0.0 games per minute. 2011-10-31T15:09:39 Next game could take awhile... 2011-10-31T15:10:04 or does do_move_location just ignore repeated ant orders? 2011-10-31T15:10:12 ikaros, yeah, I think so too. I should program my ants to attack more suicidally then :P 2011-10-31T15:10:14 *** HypnoGenX has left #aichallenge ("Leaving") 2011-10-31T15:11:18 Ants Not Razing Hills 2011-10-31T15:11:18 If a game consists of a dominant ant that isn't killing of the opponent or razing enemy hills, then the game is cutoff. It is assumed that the bot would probably not lose the lead and just isn't sophisticated enough to go in for the kill. If the total amount of live ants for the dominant bot is 90% of the count of food and ants for 150 turns then the cutoff is invoked. 2011-10-31T15:11:31 Zannick: yes it rejects repeated orders 2011-10-31T15:11:39 well, i edited the page on the wiki. later someone will pull it to the website 2011-10-31T15:12:18 Zannick: it also needs this: ant_dist.append((dist, ant_loc, hill_loc)) 2011-10-31T15:12:43 *** cognificent has joined #aichallenge 2011-10-31T15:12:44 Zannick: The ant_dist list needs to append the hill_loc in the previous loop 2011-10-31T15:12:49 gcflymoto: please see https://github.com/aichallenge/aichallenge/wiki/Ants-Tutorial-Step-5 2011-10-31T15:12:52 i got that part 2011-10-31T15:13:30 Zannick: that looks right. thx! 2011-10-31T15:13:51 ikaros, hmm, that doesn't say if the player wins or not. "the bot would probably not lose the lead" suggests you win, but "just isn't sophisticated enough" suggests you draw 2011-10-31T15:13:55 *** aaaaaa has joined #aichallenge 2011-10-31T15:14:19 *** Ox1337 has joined #aichallenge 2011-10-31T15:14:45 *** emef0 has joined #aichallenge 2011-10-31T15:15:23 it just ends the game 2011-10-31T15:15:27 and points are counted 2011-10-31T15:15:35 ah ok 2011-10-31T15:15:38 you had 3 and A had 3 so its a draw 2011-10-31T15:15:41 (i think) 2011-10-31T15:17:56 aichallenge: McLeopold epsilon * r44436b3 / sql/2_generate_matchup.sql : fix player count - http://git.io/9GCRlA 2011-10-31T15:17:56 aichallenge: McLeopold epsilon * r561f626 / sql/dup_users.sql : Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/pKIwLA 2011-10-31T15:18:18 oh no. Does the contest compiler ignore your makefile? 2011-10-31T15:18:30 yes. 2011-10-31T15:18:37 dammit, this means c++0x isn't supported after all and I have to rewrite my bot from scratch... :/ 2011-10-31T15:18:45 well not from scratch. But still 2011-10-31T15:18:55 yeah, lack of c++0x is really annoying 2011-10-31T15:19:02 i think c++0x is easy to add support for 2011-10-31T15:19:13 their compiler already supports it 2011-10-31T15:19:14 but i'll defer to janzert for support decisions 2011-10-31T15:19:18 but there's no way to enable the option 2011-10-31T15:19:28 well, there is: just don't ignore the makefile 2011-10-31T15:19:40 anyone know how one would use create a cython bot? 2011-10-31T15:19:52 would create* 2011-10-31T15:19:54 all they have to do is add -std=c++0x to teh flags 2011-10-31T15:19:54 wow, dumbest bug yet... 2011-10-31T15:21:18 what happened? 2011-10-31T15:21:21 how likely would you say c++0x support is in the coming days? I mean, if they are going to add it soon then it's not worth it to rewrite my bot to c++03 2011-10-31T15:21:39 *** KUK has joined #aichallenge 2011-10-31T15:21:54 Migi32: we could add it 2011-10-31T15:22:08 not quite, antimony. usually for different languages we have different extensions to differentiate 2011-10-31T15:22:12 *** RicoT has quit IRC (Ping timeout: 265 seconds) 2011-10-31T15:22:15 MyBot.cp11? 2011-10-31T15:22:19 like .py3 2011-10-31T15:22:25 MyBot.cpp11? 2011-10-31T15:22:28 why not do cc11 or cp11? 2011-10-31T15:22:37 or cpp11 2011-10-31T15:22:49 to be sure, we could allow all three since it'll be unambiguous 2011-10-31T15:22:53 are we allowed to include a .so file with our bot? that would actually be used :) 2011-10-31T15:23:10 *** spect_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T15:23:11 cyphase: we won't link you against it :P 2011-10-31T15:23:23 *** ccc has joined #aichallenge 2011-10-31T15:23:34 but you can write a library to read it as a data file ;) 2011-10-31T15:23:37 by the way, aren't all maps supposed to be navigable by a 3x3 square? 2011-10-31T15:23:40 er, hm. 2011-10-31T15:23:53 i don't think you'll be linked against it 2011-10-31T15:23:55 Zannick, not neccesary, it would be imported into python 2011-10-31T15:23:58 i have no fucing idea how people make so good combat 2011-10-31T15:24:06 because random_walk_10p_02 is definitely broken 2011-10-31T15:24:18 me neither 2011-10-31T15:24:30 i must have no enough brains 2011-10-31T15:24:56 McLeopold: is there a security reason you don't execute the Makefile if there is one? This would be the easiest solution in my opinion. Allows c++0x, allows libraries, works for all languages, etc. 2011-10-31T15:25:14 hi, apart from the example/tutorial map nothing works for me, the bots just don't move and it stops at turn 1, any ideas? 2011-10-31T15:25:42 ccc: do you mean it moves 1 turn and then stops? or it doesn't move at all? 2011-10-31T15:25:59 no it doesn't move at all 2011-10-31T15:26:02 can anyone explain where .cc came from? 2011-10-31T15:26:04 *** KUK has quit IRC (Ping timeout: 264 seconds) 2011-10-31T15:26:08 no idea 2011-10-31T15:26:16 I always though cpp was the standard extension 2011-10-31T15:26:38 *** Garf has joined #aichallenge 2011-10-31T15:26:45 don't know where it came from 2011-10-31T15:26:54 but i've seen it used in some places 2011-10-31T15:27:02 No idea. .cpp is used in like 95% of all C++ programs. I've also seen .cxx for when people use CMake. But I've never seen .cc 2011-10-31T15:27:51 probably all extensions are 2 letter long 2011-10-31T15:27:57 dcss uses .cc 2011-10-31T15:27:58 It looks like we enforce .cc? 2011-10-31T15:28:15 we enforce .cc for MyBot, but not for additional files 2011-10-31T15:28:29 MyBot.cpp didn't work in the last contest. If nobody changed it, it still doesn't. 2011-10-31T15:28:52 Zannick, so to confirm, if i include myLibrary.so in my zip, it'll be in my path when i do 'import myLibrary' in python? 2011-10-31T15:29:13 i think i've heard once that it stands for c with classes.. but.. not sure about that 2011-10-31T15:29:23 the compiler doesn't have a mechanism for mapping a language to multiple possible main files 2011-10-31T15:29:26 *** SavageSimian has quit IRC () 2011-10-31T15:29:28 it's kind of dumb 2011-10-31T15:29:28 one more Q, in the C starter package the code uses getchar, will it slow down my bot if I re-write everything using fgets(stdin) 2011-10-31T15:29:36 i ought to fix that 2011-10-31T15:29:40 *** Accoun has quit IRC () 2011-10-31T15:30:09 cyphase: myLibrary.so will be in your path if it's in the same directory as your main file. 2011-10-31T15:30:16 cyphase: however, .so files are not usually python modules 2011-10-31T15:30:32 Zannick, i know, but this will be 2011-10-31T15:30:33 McLeopold: workers seem to be fine? 2011-10-31T15:30:40 Zannick, it's being built by cython 2011-10-31T15:30:49 interesting 2011-10-31T15:30:53 i've never done that 2011-10-31T15:31:12 i just did it for the first time. just a hello world, but it eas extremely easy 2011-10-31T15:31:12 at least it should fail during testing if it fails at all 2011-10-31T15:31:29 and with relatively little work it can drastically improve performance 2011-10-31T15:31:53 janzert: yeah, I did something stupid 2011-10-31T15:32:07 was* 2011-10-31T15:32:12 *** Ox1337 has left #aichallenge 2011-10-31T15:32:18 janzert: how about a *.cc11 files allows for a different gcc command line? 2011-10-31T15:32:21 actually, system calls aren't prohibited by the rules. How about we compile our bot ourself, then let MyBot.cc call it? 2011-10-31T15:32:28 oh no, that goes against the rule of multiple processes 2011-10-31T15:32:30 *** cutoff has quit IRC (Ping timeout: 252 seconds) 2011-10-31T15:32:34 nevermind 2011-10-31T15:32:52 what are the backward incompatibilities of the switch? 2011-10-31T15:33:09 it's an addition, not a switch 2011-10-31T15:33:37 how are you guys handling turn timeouts in the bot, will somekind of SIGALARM or something like that sound appropriate? 2011-10-31T15:33:53 *** amstan has joined #aichallenge 2011-10-31T15:33:53 *** ChanServ sets mode: +o amstan 2011-10-31T15:33:58 yeah, I mean the gcc command line switch, i.e. what are the backward incompatibilities if we added it to the current c++ compilation? 2011-10-31T15:34:13 I don't know cpp very well 2011-10-31T15:34:40 is it only the addition of keywords might over ride current variable names? 2011-10-31T15:34:46 hello 2011-10-31T15:34:59 i'd be worried about it changing compilation, yeah 2011-10-31T15:35:14 any c++0x people around? 2011-10-31T15:35:15 *** gcflymoto has quit IRC (Ping timeout: 265 seconds) 2011-10-31T15:35:40 I think it's mostly new keywords 2011-10-31T15:35:47 there's also some deprecated features 2011-10-31T15:35:48 Does map coords start at 0 or 1? I was assuming 0 but I'm not really sure after reading the docs. 2011-10-31T15:35:55 if people do very weird things in their destructors, then c++0x's rvalue references and implicit move constructor may change the meaning of their program 2011-10-31T15:35:55 0 2011-10-31T15:35:58 tobiassjosten: most languages do 0 2011-10-31T15:36:07 Thanks. 2011-10-31T15:36:17 *** earlz_work has joined #aichallenge 2011-10-31T15:36:21 language isn't relevant, but how the engine interprets orders 2011-10-31T15:36:28 so it should be consistent across all languages 2011-10-31T15:36:42 Zannick: i meant it as a general advice 2011-10-31T15:36:47 yeah 2011-10-31T15:36:59 btw, I'm more inclined to simply add it to existing because I know c++ is extremely careful about backward compatibility in general 2011-10-31T15:37:01 is it just me or does this link refuse to work: http://sourceforge.net/projects/circuit/files/latest/download?_test=goal 2011-10-31T15:38:09 the wikipedia page indicates that they strive to be compatible with c++98 2011-10-31T15:38:10 so yeah, -std=c++0x may cause issues for like 0.1% of the current C++ bots. For me it's fine either way. 2011-10-31T15:38:13 which is c++ 2011-10-31T15:38:40 i'd guess it's probably okay, but i'm not c++0x guy 2011-10-31T15:38:44 no * 2011-10-31T15:39:50 I can't wait for c++11. having to write stuff like for(std::set::iterator it = state.freeants.begin(); it != state.freeants.end(); ++it) is killing me 2011-10-31T15:39:57 http://cpp-next.com/archive/2010/10/implicit-move-must-go/ <- more info about the whole issue with implicit move constructors and backwards compatibility 2011-10-31T15:40:34 Is antimony a new antimatroid's nick or this is another guy? 2011-10-31T15:40:45 *** McLeopold has quit IRC (Ping timeout: 252 seconds) 2011-10-31T15:40:49 I'm Parasprites 2011-10-31T15:41:00 for (Location& loc : state.freeants) ftw :P 2011-10-31T15:41:11 wow, 600+ c++ submissions already 2011-10-31T15:42:42 Migi32: if a bot was effected by that, would the change be likely to manifest itself by either a compilation error or problem with the test game? 2011-10-31T15:43:33 *** McLeopold has joined #aichallenge 2011-10-31T15:43:41 janzert, I'm no expert either, but I think it would only be changes in runtime behavior 2011-10-31T15:44:38 I'm thinking of writing a script to test language changes by downloading all the current submissions for the language and retesting them to see if any fail 2011-10-31T15:45:27 Just adding a separate extensions sounds like a lot less work for you. :) 2011-10-31T15:45:27 but if that is likely to still miss subtle problems I'm not sure if that's sufficient to ok the change anyway :/ 2011-10-31T15:45:29 And safer 2011-10-31T15:45:41 well in the case of the implicit move constructor, it will lead to a subtle problem that will be hard to catch 2011-10-31T15:45:51 *** asdds has quit IRC (Quit: Page closed) 2011-10-31T15:45:52 I'd rather not keep proliferating "languages" that are just variations though 2011-10-31T15:46:11 but it's unlikely that anyone would actually code like that 2011-10-31T15:46:28 you pretty much have to be trying to create problems with the switch 2011-10-31T15:47:06 *** Fandekasp has quit IRC (Ping timeout: 258 seconds) 2011-10-31T15:47:22 janzert, if gcc 4.5.2 were a perfect c++0x compiler, I would just add the -std=c++0x option, but look at what the error message it gives: 2011-10-31T15:47:23 This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options. 2011-10-31T15:47:53 support is only experimental. So I think it could break quite a few submissions 2011-10-31T15:47:54 *** emef0 has quit IRC (Ping timeout: 252 seconds) 2011-10-31T15:48:00 *** epicmonkey has joined #aichallenge 2011-10-31T15:48:11 Migi32: yeah, since I'm pretty sure it was released before the standard was ratified it really didn't have a choice in that though 2011-10-31T15:49:04 and I guess that is the other question how close to the real standard is this version and how stable is the support? 2011-10-31T15:49:15 no idea 2011-10-31T15:49:26 http://gcc.gnu.org/projects/cxx0x.html 2011-10-31T15:51:38 ok, I guess another language variant is the best we can do here 2011-10-31T15:52:07 perhap you can deprecate c++03 and remove it after the next contest 2011-10-31T15:52:34 yes, for the next contest we should be able to consolidate to just one 2011-10-31T15:52:37 by then I don't think -std=c++0x will be needed anymore 2011-10-31T15:52:55 *** Fandekasp has joined #aichallenge 2011-10-31T15:54:32 what's the preferred extension by anyone here? .c11 .cpp11 .cc11 .c0x 2011-10-31T15:54:41 I like cpp11 2011-10-31T15:54:53 *** dvladim has joined #aichallenge 2011-10-31T15:54:58 *** Accoun has joined #aichallenge 2011-10-31T15:55:14 I suppose we don't need to worry about limiting to 3 letter extensions for windows anymore? 2011-10-31T15:55:31 I think '95 was the last version with that limit? 2011-10-31T15:55:39 I don't think any modern OS cares about that 2011-10-31T15:55:45 *** tmandry has quit IRC (Ping timeout: 255 seconds) 2011-10-31T15:56:17 If .java and .html can do it, so can we, I'd guess. 2011-10-31T15:57:25 Switching to c++0x would not be a change from c++98, but the default gnu++98, which might add other issues. 2011-10-31T15:57:35 whatever, you've already decided against it. 2011-10-31T15:58:43 I want to make one thing clear though: only MyBot would need the cpp11 extension, right? 2011-10-31T15:58:53 *** emef0 has joined #aichallenge 2011-10-31T15:59:05 yes 2011-10-31T15:59:27 krishna: There's also of course gnu++0x 2011-10-31T15:59:49 *** buq2 has quit IRC (Ping timeout: 240 seconds) 2011-10-31T15:59:49 still want "-03 -funroll-loops" on compilation and "-O2 -lm" for linking? 2011-10-31T15:59:52 janzert: .cc, like my C++03 source. 2011-10-31T16:00:23 wait hold on, since .cc isn't accepted at the moment anyway, how about using .cpp for c++0x? 2011-10-31T16:00:43 s/.cc/.cpp/ 2011-10-31T16:00:46 janzert: .c11 would be a bad idea, considering that there's a C11 released the other day. 2011-10-31T16:00:59 Wait.. you guys are differentiating between languages server-side by extension? 2011-10-31T16:01:03 That's not good. 2011-10-31T16:01:31 by the main filename, which is generally MyBot.something 2011-10-31T16:03:35 so no opinions on getting rid of -funroll-loops while we have the chance? 2011-10-31T16:03:45 *** buq2 has joined #aichallenge 2011-10-31T16:03:56 *** NefariousZhen_ has joined #aichallenge 2011-10-31T16:04:01 why was it added in the first place? 2011-10-31T16:04:10 Must've been a gentoo lover. 2011-10-31T16:04:19 I would actually add one. -fwhole-program 2011-10-31T16:04:41 I have a personal ai challenge server running locally. I tried to upgrade to the latest epsilon branch, but getting an error in ants.py when a game tries to run line 1550 for index out of range 2011-10-31T16:04:54 Did I break something, or is the current trunk not green? 2011-10-31T16:05:08 it was added back in tron because someone requested it, if I remember right previously it didn't compile with any optimization switch 2011-10-31T16:05:08 Zao: the next C release will certainly be C12. 2011-10-31T16:05:25 ejls: I could swear that someone said C11... odd. 2011-10-31T16:05:30 *** djr_ has joined #aichallenge 2011-10-31T16:05:45 are there any tests that I can run? 2011-10-31T16:06:14 *** okaaaan has joined #aichallenge 2011-10-31T16:06:18 NefariousZhen_: ants.py was last changed 3 days ago and that was just changing some default values 2011-10-31T16:06:56 and has been in use on the contest servers with that change 2011-10-31T16:07:13 Janzert: it's 1550: if self.killed[player] saying index out of bounds - quite odd 2011-10-31T16:07:34 *** UncleVasya has quit IRC (Ping timeout: 244 seconds) 2011-10-31T16:07:44 weird alright 2011-10-31T16:08:05 I guess I'd start with a debug print to see what it's getting 2011-10-31T16:08:24 hi guys , are these servers gone slow down or am i feeling like that , game per minute rate's are love i think ? 2011-10-31T16:08:25 maybe try an unchanged play_one_game 2011-10-31T16:08:27 NefariousZhen_, does this always happen or just once every so often? 2011-10-31T16:08:40 low 2011-10-31T16:08:54 okaaaan: they vary quite a bit 2011-10-31T16:09:00 from the looks of a quick internet search, it loosk like funroll-loops is usually harmful 2011-10-31T16:09:34 so can we get rid of it please? 2011-10-31T16:09:46 antimony: I'll go ahead and remove it for c++11 2011-10-31T16:09:47 aye 2011-10-31T16:09:56 it seems I've heard that several times 2011-10-31T16:10:09 Migi32: I couldn't get my previous data to migrate with the new mysql schema(s). So I completely reinstalled everything... it won't create games at all, but if I manually run generate_matchup from mysql the game that it creates results in this error. 2011-10-31T16:10:23 *** dvladim has quit IRC (Ping timeout: 248 seconds) 2011-10-31T16:10:41 janzert, I was actually serious about using .cpp for c++0x. I mean, why not? 2011-10-31T16:11:19 it seems to happen 100% of the time 2011-10-31T16:11:33 Migi32: Arbitrary choices tend to be about half correct. 2011-10-31T16:11:42 accidental confusion would be the reason, but I'm not sure it matters in this case? 2011-10-31T16:11:59 What reasons would there be to not always build in 0x mode? 2011-10-31T16:12:19 I mean, there's no tricky libraries involved that will get hung up on move ctors and all that jazz. 2011-10-31T16:12:19 the slight chance it will break a current submission 2011-10-31T16:12:47 janzert, yeah exactly. I think it would even do more good than harm. It doesn't break any existing bots and .cpp will be accepted (and in 99.9% of cases just work as expected) 2011-10-31T16:12:53 How about some kind of shebang (in comment form)? 2011-10-31T16:12:57 *** exezive has quit IRC (Remote host closed the connection) 2011-10-31T16:13:30 "if you want C++0x, begin your source file with //11" 2011-10-31T16:13:54 Zao: it would require much deeper changes to the compilation system that I'd rather not make at this stage 2011-10-31T16:14:03 Fair enough. 2011-10-31T16:14:12 the whole system should be thrown out and redone 2011-10-31T16:14:13 FWIW, my bot uses .cpp, and sure doesn't expect 0x. 2011-10-31T16:14:38 but your MyBot file has to be MyBot.cc currently or it wouldn't have been accepted 2011-10-31T16:14:49 janzert: Oh. 2011-10-31T16:14:57 Haven't used the site yet, heh. 2011-10-31T16:14:57 and that's the only file that matters for detection 2011-10-31T16:15:02 ah 2011-10-31T16:15:22 I assumed that the boilerplate source file I had here was sourced from some official source. 2011-10-31T16:15:57 *** cognificent has quit IRC (Quit: Page closed) 2011-10-31T16:15:59 *** okaaaan has quit IRC (Quit: Page closed) 2011-10-31T16:16:05 official uses .cc for all 2011-10-31T16:16:28 I think there's a lot of people that use MyBot.cpp and are surprised to see that the contest server won't compile their code. So really, it would do more good than harm imho 2011-10-31T16:18:08 actually, while we're at it, would it be a big effort to let it compile with gcc 4.6 instead of 4.5? 2011-10-31T16:18:32 yes, that will almost certainly not change 2011-10-31T16:18:38 ok 2011-10-31T16:18:40 hmm actually it looks like it's automatically generating a bunch of matchups with max_turns == 0... maybe I've misconfigured something somehow, any ideas? 2011-10-31T16:19:23 NefariousZhen_: ahh, the script that adds maps to the database did not set the turn limit for the map last I saw 2011-10-31T16:19:32 you need to do that manually in the database 2011-10-31T16:19:37 in the database those are all 1000 2011-10-31T16:19:50 hmm, ok that's not it then 2011-10-31T16:20:13 aichallenge: janzert epsilon * rc2afc71 / worker/compiler.py : Add support for C++11 - http://git.io/xnc6dQ 2011-10-31T16:20:13 aichallenge: janzert epsilon * rd204c73 / (20 files in 3 dirs): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/9BDo6A 2011-10-31T16:20:24 when I modify sql/2_generate_matchup.sql I don't have to restart for my changes to take effect, right? 2011-10-31T16:20:27 hurray! 2011-10-31T16:20:28 that won't be live until later tonight probably 2011-10-31T16:20:41 ah ok 2011-10-31T16:21:09 NefariousZhen_: you need to load the changes into the database 2011-10-31T16:21:37 something like "mysql -u contest aichallenge < sql/2_generate_matchup.sql" would do it 2011-10-31T16:21:44 excellent 2011-10-31T16:22:14 janzert: quickly looking at those changes, it looks like you've added -std=c++0x to the linker options and not the build options? 2011-10-31T16:22:32 oh no, sorry, nevermind 2011-10-31T16:22:39 the first line should be build... 2011-10-31T16:22:41 :) 2011-10-31T16:23:05 yeah I was confused, I thought -funroll-loops was a linker option for a second there 2011-10-31T16:23:37 but... any estimates on when I can resubmit my bot? 2011-10-31T16:23:59 probably 6-8 hours from now I would guess 2011-10-31T16:24:21 ok 2011-10-31T16:25:14 *** RicoT has joined #aichallenge 2011-10-31T16:33:02 oh c++ file extension needs to be .cc? 2011-10-31T16:34:10 Your main file has to be MyBot.cc other files can use .cpp, etc. 2011-10-31T16:34:24 *** xathis has quit IRC (Ping timeout: 240 seconds) 2011-10-31T16:34:52 .cpp or .c I guess 2011-10-31T16:34:59 ah ok 2011-10-31T16:35:06 need to refactor that then 2011-10-31T16:35:35 ported from lua to c++ but tried no submission so far.. 2011-10-31T16:35:55 later on tonight .cpp will be recognized as C++11 so will most likely just work as well 2011-10-31T16:36:16 MyBot.cpp that is 2011-10-31T16:36:49 What size is the smallest valid map in the contest? 2011-10-31T16:37:53 well i ignored c++11 cause i thought it wouldnt be allowed :) .. guess i wont refactor again 2011-10-31T16:38:05 antonh: there is no limit but I believe the smallest current one is around 70x70 2011-10-31T16:38:53 ikaros: have you tried to run your cpp bot locally from a subfolder? 2011-10-31T16:39:01 *** bearoff has joined #aichallenge 2011-10-31T16:39:43 there is a 63x63 http://aichallenge.org/map.php?map=random_walk/random_walk_02p_01.map 2011-10-31T16:39:43 what exactly do you mean? 2011-10-31T16:40:15 ugh... I renamed my .cc files to .cpp and "make clean" removed my .cpp files... :/ 2011-10-31T16:40:30 if you are testing your c++ bot 2011-10-31T16:40:33 janzert, ok, thanks. There is no rules about how small a map can be? 2011-10-31T16:40:45 *** djr_ has quit IRC (Ping timeout: 255 seconds) 2011-10-31T16:40:46 you are doing it through the playgame.py script right? 2011-10-31T16:40:49 yea 2011-10-31T16:40:53 guys, how can I change maps in my test files? 2011-10-31T16:40:57 antonh: not at this time at least 2011-10-31T16:41:07 when I change maps, it just does 1 round, and quits, with "extermination" 2011-10-31T16:41:09 what am I doing wrong? 2011-10-31T16:41:10 don't think the question has even come up before :) 2011-10-31T16:41:19 ikaros: and you can run your executables without any problem? 2011-10-31T16:41:28 *** djr_ has joined #aichallenge 2011-10-31T16:41:29 hm yes 2011-10-31T16:41:42 i can copy the sh script to pastebin 2011-10-31T16:41:51 guys? 2011-10-31T16:41:51 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-10-31T16:42:17 *** broodStar has joined #aichallenge 2011-10-31T16:42:29 BFC: take a look at the replay with the visualizer and see what is happening? 2011-10-31T16:42:36 nothing 2011-10-31T16:42:38 no rounds 2011-10-31T16:42:42 that's the problem 2011-10-31T16:42:51 --round 60 option is active... 2011-10-31T16:42:54 ikaros: could you do it? because when I try to run my cpp bot from another folder, it "fails to start" 2011-10-31T16:42:55 pedrosorio, http://pastebin.com/h1XW3Pe7 it looks like this and i invoke it with ./blabla -m mapname 2011-10-31T16:42:59 and you're sure you have a good map file? 2011-10-31T16:43:10 it's just one example for a 2 player game 2011-10-31T16:43:21 uh? 2011-10-31T16:43:39 --map_file tools/maps/maze/maze_02p_01.map 2011-10-31T16:43:43 that's the map I use 2011-10-31T16:44:04 do you have the --scenario option on by chance? 2011-10-31T16:44:06 can't I use other maps? 2011-10-31T16:44:11 *** capa has joined #aichallenge 2011-10-31T16:44:22 *** tmandry has joined #aichallenge 2011-10-31T16:44:22 *** tmandry has joined #aichallenge 2011-10-31T16:44:34 --scenario is in the list :)p 2011-10-31T16:44:37 * :) 2011-10-31T16:44:49 it's a standard map, that was in tools folder 2011-10-31T16:44:52 should be able to use any valid map but not as a scenario unless you preadd food and ants to it 2011-10-31T16:45:06 ow 2011-10-31T16:45:12 should I remove --scenario then? 2011-10-31T16:45:27 yes, then the engine will add initial food and ants on the hills 2011-10-31T16:45:43 is there a guide where all the options are explained? 2011-10-31T16:45:59 just --help I believe 2011-10-31T16:46:14 *** wombot_ has quit IRC (Read error: Connection timed out) 2011-10-31T16:46:19 if you really want to, you can look at playgame.py and engine.py to see what they do 2011-10-31T16:46:24 ikaros: and where is this ikaros_bot relative to the .sh? 2011-10-31T16:47:03 *** wombot_ has joined #aichallenge 2011-10-31T16:47:45 well you see it in the path: ../ is the parent folder of the .sh script 2011-10-31T16:47:46 Oh, just noticed we've surpassed planetwars for number of users 2011-10-31T16:48:03 *** broodStar has left #aichallenge 2011-10-31T16:51:30 *** capa has quit IRC (Quit: Page closed) 2011-10-31T16:51:59 *** capa has joined #aichallenge 2011-10-31T16:52:14 pedrosorio, look here http://pastebin.com/WeRKm9W4 2011-10-31T16:52:22 cant show it easier :) 2011-10-31T16:53:36 you could also tell your error or the folder structure and ill try to help 2011-10-31T16:55:15 *** RicoT has quit IRC (Quit: Page closed) 2011-10-31T16:57:07 *** capa has quit IRC () 2011-10-31T16:57:14 *** capa has joined #aichallenge 2011-10-31T16:57:19 *** bearoff has left #aichallenge 2011-10-31T16:58:23 *** pedrosorio has quit IRC (Ping timeout: 265 seconds) 2011-10-31T16:58:24 *** Fandekasp has quit IRC (Read error: Operation timed out) 2011-10-31T17:00:11 *** emef0 has quit IRC (Read error: Connection reset by peer) 2011-10-31T17:01:12 the current c++ makefile is actually quite dangerous. If you rename all your .cc files to .cpp and replace .cc by .cpp everywhere in that makefile, "make clean" deletes all your .cpp files 2011-10-31T17:01:37 luckily I had a recent backup, but not all people that want to switch from c++98 to c++0x do 2011-10-31T17:01:51 maybe we should include a warning somewhere, or something 2011-10-31T17:02:11 *** hawkbat05 has quit IRC (Quit: Page closed) 2011-10-31T17:03:13 *** antimony has quit IRC (Ping timeout: 265 seconds) 2011-10-31T17:06:10 *** Palmik has quit IRC (Remote host closed the connection) 2011-10-31T17:07:15 maybe it should be called the breakfile 2011-10-31T17:07:19 *rimshot* 2011-10-31T17:08:14 *crickets* :P 2011-10-31T17:10:28 http://instantrimshot.com/classic/?sound=rimshot http://instantrimshot.com/classic/?sound=crickets 2011-10-31T17:11:31 <_flag> ~ 2011-10-31T17:11:43 *** capa has quit IRC (Ping timeout: 248 seconds) 2011-10-31T17:12:14 *** capa has joined #aichallenge 2011-10-31T17:14:24 *** cutoff has joined #aichallenge 2011-10-31T17:16:17 *** djr_ has quit IRC (Ping timeout: 244 seconds) 2011-10-31T17:16:37 *** emef0 has joined #aichallenge 2011-10-31T17:16:45 *** aaaaaa has quit IRC (Ping timeout: 265 seconds) 2011-10-31T17:19:03 *** cutoff has quit IRC (Ping timeout: 256 seconds) 2011-10-31T17:21:50 *** djr_ has joined #aichallenge 2011-10-31T17:22:00 *** paulwal has joined #aichallenge 2011-10-31T17:22:42 *** ThatGuy_ has joined #aichallenge 2011-10-31T17:25:19 *** bhasker has joined #aichallenge 2011-10-31T17:29:07 how does your bot's battle logic work? 2011-10-31T17:29:25 currently mine is "don't let an ant step into a square where he can be killed without killing an enemy" 2011-10-31T17:29:39 it does ok, but it's not too great 2011-10-31T17:30:20 it mainly results in my ants running away like cowards :P 2011-10-31T17:34:00 *** cutoff has joined #aichallenge 2011-10-31T17:36:03 janzert, McLeopold, et al: any idea why this is happening for the Tcl starter bot? http://imgur.com/WKCq3 Tcl is listed in worker/compiler.py 2011-10-31T17:36:24 *** rabuf` has quit IRC (Quit: ERC Version 5.2 (IRC client for Emacs)) 2011-10-31T17:36:37 how do I set the timeout to a specific value on a local server? 2011-10-31T17:38:06 paulwal: I don't know if we ever updated the workers 2011-10-31T17:39:18 ah 2011-10-31T17:39:56 bobby! http://aichallenge.org/visualizer.php?game=40253&user=3646 2011-10-31T17:40:02 oh hes gone 2011-10-31T17:46:23 *** mleise has quit IRC (Ping timeout: 248 seconds) 2011-10-31T17:47:27 *** antimony has joined #aichallenge 2011-10-31T17:48:50 *** overburn has joined #aichallenge 2011-10-31T17:51:34 *** netantho has joined #aichallenge 2011-10-31T17:52:05 *** RobotCaleb has quit IRC (Ping timeout: 260 seconds) 2011-10-31T17:54:11 how many of you have a bot that would use infinite time if it could (alphabeta search etc)? 2011-10-31T17:54:11 *** emef0 has quit IRC (Ping timeout: 258 seconds) 2011-10-31T17:58:35 *** andycb has joined #aichallenge 2011-10-31T18:02:02 paulwal: planning on doing worker updates this evening 2011-10-31T18:02:13 ok 2011-10-31T18:02:23 cool 2011-10-31T18:03:18 *** cutoff has quit IRC (Ping timeout: 244 seconds) 2011-10-31T18:03:28 *** skippyclese has joined #aichallenge 2011-10-31T18:04:57 *** gcflymoto has joined #aichallenge 2011-10-31T18:05:07 if a starter package has 'hills not implemented' in a label, is that a patch that someone should offer to the repo, or is the point an exercise for the programmer to understand the starter package? 2011-10-31T18:05:44 we would gladly take a patch 2011-10-31T18:05:52 NefariousZhen_: both? 2011-10-31T18:06:37 http://aichallenge.org/visualizer.php?game=40029&user=2772 2011-10-31T18:06:42 well I won the first game 2011-10-31T18:06:45 just got to fix that timeout 2011-10-31T18:06:50 (I think I know what's causing it though) 2011-10-31T18:08:02 roflmao: you ants seem to get stuck on walls 2011-10-31T18:08:06 yes 2011-10-31T18:08:12 because the dir is just random so they cluster 2011-10-31T18:08:14 then get all stuck 2011-10-31T18:08:17 I'll be fixing that tonight 2011-10-31T18:08:19 easy fix 2011-10-31T18:08:25 roflmao: also.. you should keep a bunch of ants inside your area, don't just move them to your fov limit 2011-10-31T18:08:34 you need to continue eating food 2011-10-31T18:08:51 it timed out 2011-10-31T18:09:19 amstan: I've added 'hills' to the scala package, so you recommend that I fork the repo and do a merge request? 2011-10-31T18:09:26 NefariousZhen_: yep 2011-10-31T18:09:40 all good points, thanks :) 2011-10-31T18:10:00 *** earlz_work has quit IRC (Quit: Leaving.) 2011-10-31T18:10:02 I'm using a* and am not really limiting it so there is a lot of waste in my algorithm right now 2011-10-31T18:10:13 I want to fix the clustering/getting stuck problem and then doing my a* more selectively 2011-10-31T18:10:16 then it should be way better 2011-10-31T18:10:19 amstan: Should I do anything special like remember where the hills have been for just show the list of current hills? 2011-10-31T18:10:50 cause it's non obvious to me why they weren't included in the first place since they're so easy to add given the current structure of the starter package 2011-10-31T18:10:53 NefariousZhen_: it should be as simple as possible, the rest is left as an exercise 2011-10-31T18:11:05 excellent 2011-10-31T18:11:21 NefariousZhen_: try to keep it with the same functionality as the python one 2011-10-31T18:11:31 cool I'll head home and do that =) 2011-10-31T18:11:43 NefariousZhen_: https://github.com/aichallenge/aichallenge/wiki/Ants-Starter-Pack-Guide 2011-10-31T18:11:54 is basically the spec the starter bots are supposed to follow 2011-10-31T18:13:40 that's exactly what I have in my current version for hills, but have some extra features I want to not post on github =) - so I'll send it once I get home as long as those trick or treaters don't get in my way 2011-10-31T18:13:51 :) 2011-10-31T18:14:06 *** tmandry has quit IRC (Ping timeout: 260 seconds) 2011-10-31T18:14:06 god i love this game 2011-10-31T18:14:12 so much fun to program it 2011-10-31T18:14:12 *** NefariousZhen_ has quit IRC (Quit: Page closed) 2011-10-31T18:14:13 :D 2011-10-31T18:16:41 *** careyja has quit IRC (Ping timeout: 265 seconds) 2011-10-31T18:20:16 *** vladimirfol has joined #aichallenge 2011-10-31T18:21:06 :-) 2011-10-31T18:27:00 *** grom358 has joined #aichallenge 2011-10-31T18:27:18 @seen thestinger 2011-10-31T18:27:18 grom358: thestinger was last seen in #aichallenge 7 hours, 8 minutes, and 39 seconds ago: your ants still collide? 2011-10-31T18:30:13 *** ThatGuy_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T18:30:26 contestbot: seen j3camero 2011-10-31T18:30:26 amstan: j3camero was last seen in #aichallenge 1 week, 2 days, 2 hours, 16 minutes, and 50 seconds ago: If you are finding that some of the testing tools suck, please consider making better ones. We generally release whatever tools at the beginning, but the contestants always end up making better ones. 2011-10-31T18:37:34 how many defenders do you think need at a hill? 2011-10-31T18:37:38 12? 2011-10-31T18:37:56 *** MuTaLiSk has quit IRC (Read error: Connection reset by peer) 2011-10-31T18:39:44 depends 2011-10-31T18:40:01 none.. it depends on the map 2011-10-31T18:40:16 yeah how to figure that out though 2011-10-31T18:40:35 make the computer figure it out 2011-10-31T18:41:13 burny: using what method? 2011-10-31T18:41:41 based on probability of attack from any direction, and population of said attack, and how long it will take to create enough units, and/or get re-enforcements from other places 2011-10-31T18:42:22 *** overburn has quit IRC (Quit: Page closed) 2011-10-31T18:42:30 is it just me or are the bots on ants.fluxid.pl a lot harder then official 2011-10-31T18:42:52 eg. if you can only be attacked from the north or the south.. but from the north, you can see the attack coming 35turns in advance.. then you can probably get away with only 1unit on the north side, and the rest of army on south side 2011-10-31T18:43:40 burny: yeap.. i got so much work todo still 2011-10-31T18:44:35 don't really care about winning too much. Just trying learn how to make some AI that can actually think 2011-10-31T18:44:47 oh Fluxid tcp is down again? =) 2011-10-31T18:46:37 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-10-31T18:47:07 *** skippyclese has quit IRC (Quit: Page closed) 2011-10-31T18:47:18 *** wombot_ has quit IRC (Quit: ChatZilla 0.9.87 [SeaMonkey 2.4.1/20110928161145]) 2011-10-31T18:47:35 i see lot of ppl got nice combat code going 2011-10-31T18:47:51 all i got is A* at this point 2011-10-31T18:48:00 and avoid enemy ants 2011-10-31T18:48:13 *** janzert has quit IRC (Read error: Connection reset by peer) 2011-10-31T18:50:01 mine doesn't even avoid enemy ants yet 2011-10-31T18:50:34 you don't have to avoid enemy ants if you can DESTROY THEM 2011-10-31T18:51:15 cyphase: yeah I want to fight them.. just have no understanding on how todo that yet 2011-10-31T18:51:29 *** gnutella has joined #aichallenge 2011-10-31T18:51:44 *** paulwal has quit IRC (Quit: Page closed) 2011-10-31T18:52:12 yea, i haven't gotten there yet :P 2011-10-31T18:52:13 *** janzert has joined #aichallenge 2011-10-31T18:52:26 I'm still trying to get my ants to coordinate behavior nicely 2011-10-31T18:52:35 or least not crash into each other 2011-10-31T18:52:40 or block each other too much 2011-10-31T18:52:55 *** ztfw has quit IRC (Remote host closed the connection) 2011-10-31T18:52:55 but I got once I can get that done 2011-10-31T18:53:04 it can be extened to fighting 2011-10-31T18:53:50 I used to think exploration was the most important part of your bot, but I've changed my mind: it's map control. Standing your ground and chasing other ants whenever you can 2011-10-31T18:54:17 Migi32: i agree 2011-10-31T18:54:30 just wish I could get to that point 2011-10-31T18:54:53 I don't really know either 2011-10-31T18:55:07 battles can be pretty complex 2011-10-31T18:56:18 yeah cause enemy ants move at same time.. you have to predict where they might move 2011-10-31T18:57:03 *** djr_ has quit IRC (Ping timeout: 276 seconds) 2011-10-31T18:57:06 hell I will be happy if I just get my ants to move together with a wall in direction of attack 2011-10-31T18:57:16 *** bhasker has quit IRC (Read error: Connection reset by peer) 2011-10-31T18:57:46 *** antimony has quit IRC (Ping timeout: 265 seconds) 2011-10-31T18:58:38 but to predict where the enemy moves, you have take into account that he will take into account your ants positions. And that he will take into account that you take that into account, and so on :P 2011-10-31T18:58:55 antception 2011-10-31T18:59:23 :P 2011-10-31T18:59:32 lol 2011-10-31T19:00:42 you know that I know that you know that you don't know that I know 2011-10-31T19:00:47 *** aslvrstn has joined #aichallenge 2011-10-31T19:01:08 gnutella: i appropriately read that as "anticipation" at first 2011-10-31T19:01:31 haha that's awesome. unintentional mindgames 2011-10-31T19:02:00 *** balkemacho has quit IRC (Ping timeout: 240 seconds) 2011-10-31T19:02:32 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-31T19:02:37 Anyone have issues with the tcp servers right now? 2011-10-31T19:04:06 Fluxid's server seems like it hasn't played any games in the last half hour 2011-10-31T19:04:21 that happens sometimes 2011-10-31T19:04:52 let's hope Fluxid hasn't gone to bed yet 2011-10-31T19:05:17 what happens actually? 2011-10-31T19:05:21 the server crashes? 2011-10-31T19:05:49 something goed wrong anyway, I don't know what 2011-10-31T19:05:56 goes 2011-10-31T19:06:43 Shame, seems webfactional is down as well. 2011-10-31T19:07:02 I've been out of the loop for a few days. Any other decent servers that are likely to be up? 2011-10-31T19:07:05 how many TCP servers do we have atm? 2011-10-31T19:07:12 I know of 2 2011-10-31T19:07:29 *** tdubellz has quit IRC (Disconnected by services) 2011-10-31T19:07:46 *** rb_ has joined #aichallenge 2011-10-31T19:08:26 *** antimony has joined #aichallenge 2011-10-31T19:08:42 http://213.88.39.97:2080/ looks like it's running fine 2011-10-31T19:09:13 there's only like 2 players there atm but it's something :) 2011-10-31T19:09:20 *** tbone has joined #aichallenge 2011-10-31T19:10:04 *** olexs has quit IRC (Quit: Leaving.) 2011-10-31T19:11:11 *** tdubellz has joined #aichallenge 2011-10-31T19:13:19 *** tdubellz has quit IRC (Client Quit) 2011-10-31T19:14:15 *** tdubellz has joined #aichallenge 2011-10-31T19:15:31 *** svujic has joined #aichallenge 2011-10-31T19:16:12 *** Venom has joined #aichallenge 2011-10-31T19:17:39 Why is the view radius given squared (ViewRadius2)? 2011-10-31T19:18:01 so you don't have to round when sqrting 2011-10-31T19:18:33 *** tdubellz has quit IRC (Disconnected by services) 2011-10-31T19:18:55 *** ikaros has joined #aichallenge 2011-10-31T19:19:44 if using perl, does using sigalarm count as multiple threads according to the rules 2011-10-31T19:19:45 Okay, but given ViewRadius2==55, the radius would be 7.4162 .. why would the radius not be integer? say 7 or 8? 2011-10-31T19:20:04 my math are pretty weak .. so I feel I'm missing something here 2011-10-31T19:20:49 Venom: sure, you can 2011-10-31T19:21:03 I'm not saying the radius should be an integer, rather, I'm asking why it got decimals since where in a grid 2011-10-31T19:21:09 Venom: but what happens when you have to tell if the distance of (2,3) from the origin is less than 7 2011-10-31T19:21:23 Venom: you need the get euclidean on it, then sqrt, and you have a float again 2011-10-31T19:21:33 if you keep everything squared, you don't need to deal with floats 2011-10-31T19:22:09 *Tiny math brain Processing* :) 2011-10-31T19:24:08 Venom: let's say you have 4 points 2011-10-31T19:24:11 *** epicmonkey has quit IRC (Read error: Connection timed out) 2011-10-31T19:24:12 Venom: A,B C,D 2011-10-31T19:24:19 Venom: 16 bit ints 2011-10-31T19:24:40 Venom: the problem is to find out if the distance from A to B is smaller than B to C 2011-10-31T19:24:56 if you use floats, you'll fail some tests because of rounding errors 2011-10-31T19:24:59 *** choas has joined #aichallenge 2011-10-31T19:25:01 *** epicmonkey has joined #aichallenge 2011-10-31T19:25:07 try it 2011-10-31T19:25:53 I get what you're saying (at least the last bit) 2011-10-31T19:26:12 but let's say I want to trace a circle around an ant 2011-10-31T19:26:23 a circle representing the view radius of the ant 2011-10-31T19:26:26 *** epicmonkey has quit IRC (Remote host closed the connection) 2011-10-31T19:26:39 and I need to give the function a radius 2011-10-31T19:27:04 *** tdubellz has joined #aichallenge 2011-10-31T19:27:06 yes? 2011-10-31T19:27:08 won't it create errors because I'll give it 7.4162 ? 2011-10-31T19:27:29 will the circle be exactly representing what the ant see at that position? 2011-10-31T19:27:32 you just have to round appropriately 2011-10-31T19:27:43 *** epicmonkey has joined #aichallenge 2011-10-31T19:27:57 *** balkemacho has joined #aichallenge 2011-10-31T19:28:06 is the rounding always in the same direction? or is there something to eval to know? 2011-10-31T19:28:23 your function will probably look like for(y=0;y has quit IRC (Ping timeout: 260 seconds) 2011-10-31T19:28:45 instead of passing it a rounded radius that you just sqrted, pass it the squared radius 2011-10-31T19:28:51 indeed, I'm bruteforcing it exactly that way. 2011-10-31T19:28:53 and change the if to be *thinking...* 2011-10-31T19:29:33 this works because if you have any 2 numbers, if a has joined #aichallenge 2011-10-31T19:30:00 (assuming non-special numbers) 2011-10-31T19:30:14 (NaN, Inf, etc.) 2011-10-31T19:30:25 *** janzert has quit IRC (Read error: Connection reset by peer) 2011-10-31T19:30:26 makes sense. (!) but that what would be height and width? 2011-10-31T19:30:31 And of course, a*a and b*b being in range if it's integral. 2011-10-31T19:31:03 Zao: right 2011-10-31T19:31:25 *** tbone has quit IRC (Quit: Page closed) 2011-10-31T19:31:26 Venom: your map width and height 2011-10-31T19:31:40 *** onensora has quit IRC () 2011-10-31T19:31:52 Venom: or.. nvm, that will draw a circle in the top left corner 2011-10-31T19:31:58 you want to get some translation in there 2011-10-31T19:32:03 exact 2011-10-31T19:32:05 *** BFC has quit IRC (Ping timeout: 265 seconds) 2011-10-31T19:32:22 that's beyond the scope of convincing you why squared radiuses are better 2011-10-31T19:33:13 haha! :) thanks amstan. btw, it wasn't about if it was better, but what to do with it because the 7.4162 was confusing me. 2011-10-31T19:34:07 *** balkemacho has quit IRC (Ping timeout: 248 seconds) 2011-10-31T19:35:03 *** janzert has joined #aichallenge 2011-10-31T19:35:28 *** Misc_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T19:36:25 And of course, don't forget to take map wrapping into account :D 2011-10-31T19:37:36 (((xo+x)%mapsizex)**2+((yo+y)%mapsizey)**2) i'm not even making a bot guys! 2011-10-31T19:38:24 Zao: I was indeed forgetting about that... 2011-10-31T19:38:25 well, you want the difference 2011-10-31T19:38:27 yet i'm outputting all this code for a bot for some reason, lol 2011-10-31T19:38:28 not the sum 2011-10-31T19:38:38 *** Harpyon has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-10-31T19:38:53 (xo + x) % size_x != (xo + size_x - x) % size_x 2011-10-31T19:38:54 thanks amstan, I'll try that. 2011-10-31T19:39:25 Zannick: why not? 2011-10-31T19:39:58 Zannick: it is equal to (xo + size_x + x) % size_x 2011-10-31T19:39:59 *** bluegaspode has joined #aichallenge 2011-10-31T19:40:42 but you're measuring distance 2011-10-31T19:40:52 *** delt0r__ has joined #aichallenge 2011-10-31T19:40:53 distance is (x1-x2) not (x1+x2) 2011-10-31T19:41:08 Zannick: depends on how you define X to be 2011-10-31T19:41:19 Zannick: i'm thinking about drawing the circle, so i'll always add x 2011-10-31T19:41:26 you need to calc 2 distances and pick the shortest 2011-10-31T19:41:46 for each dimension 2011-10-31T19:42:14 *** antimony has quit IRC (Ping timeout: 265 seconds) 2011-10-31T19:42:17 *** djr_ has joined #aichallenge 2011-10-31T19:43:13 okay... time for 2 litters of Red Bull .. O-O 2011-10-31T19:43:33 *liters :D 2011-10-31T19:45:05 *** Seeker` has joined #aichallenge 2011-10-31T19:45:16 *** onion42 has quit IRC (Quit: Page closed) 2011-10-31T19:45:43 what about for (int x = -radius - 2; x < radius; x++) and same for y ? 2011-10-31T19:46:04 wouldn't need to parse the whole map just for 1 ant view .. 2011-10-31T19:47:16 could be -radius - 1 .. right? 2011-10-31T19:47:51 it just need to account for crazy decimals 2011-10-31T19:49:22 *** andycb has quit IRC (Quit: Page closed) 2011-10-31T19:49:45 *** epicmonkey has quit IRC (Remote host closed the connection) 2011-10-31T19:50:09 *** epicmonkey has joined #aichallenge 2011-10-31T19:50:19 *** BlipInTheData has quit IRC (Remote host closed the connection) 2011-10-31T19:50:30 *** choas has quit IRC (Ping timeout: 260 seconds) 2011-10-31T19:51:16 *** epicmonkey has quit IRC (Remote host closed the connection) 2011-10-31T19:51:34 *** epicmonkey has joined #aichallenge 2011-10-31T19:55:42 someone kill ants.fluxid.pl ? 2011-10-31T19:55:50 seems like a game hasn't played for like 30 mins there 2011-10-31T19:56:51 *** antimony has joined #aichallenge 2011-10-31T19:58:34 *** rogue780 has joined #aichallenge 2011-10-31T19:58:45 *** Larose has quit IRC (Quit: Leaving.) 2011-10-31T19:58:56 it's broken down yes 2011-10-31T19:59:04 it happens 2011-10-31T19:59:06 I should be able to just type ./test_bot.sh and the basic starter kit should work, right? 2011-10-31T19:59:41 I don't remember 2011-10-31T19:59:52 just read the source 2011-10-31T20:00:11 *** bluegaspode has quit IRC (Quit: Page closed) 2011-10-31T20:01:24 *** Cybsy has quit IRC (Ping timeout: 276 seconds) 2011-10-31T20:01:52 I'm just wondering if there's something else I'm supposed to run since doing that throws a butttonne of exceptions 2011-10-31T20:02:14 I didn't really want to have to spend time troubleshooting the default package tonight if I didn't have to 2011-10-31T20:03:27 *** jmcarthur has quit IRC (Quit: WeeChat 0.3.4) 2011-10-31T20:03:35 have you compiled the bot? 2011-10-31T20:03:36 *** amstan_ has joined #aichallenge 2011-10-31T20:03:36 *** ChanServ sets mode: +o amstan_ 2011-10-31T20:03:43 which language are you using? 2011-10-31T20:03:44 IIRC the test tools might need to be slightly modified to get them to work right 2011-10-31T20:03:49 things like locations of things etc 2011-10-31T20:04:16 and i thought u had to give test_bot the command to execute your bot 2011-10-31T20:04:20 like "python MyBot.py" or something 2011-10-31T20:04:36 yes 2011-10-31T20:04:56 and at least looking at the windows .cmd/batch file, the paths are wrong, and expect you to be in the same dir as the tools 2011-10-31T20:05:34 well, you open a terminal and you cd to the tools directory 2011-10-31T20:05:40 Minthos, I'm just using the tools one, which is in python 2011-10-31T20:06:25 well like I said, read the source for the script, maybe look at play_one_game.sh for clues 2011-10-31T20:06:31 Zannick: well... judging by play_one_game's use of the %~dp0 macro, it woudl seem you run it out of the bot directory 2011-10-31T20:06:38 it shouldn't take long to figure out how it all works 2011-10-31T20:06:50 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-10-31T20:07:11 rogue780: if everything is in the same directory ( tools + bot code ), then you can probably run it with python "python MyBot.py" 2011-10-31T20:07:36 and IIRC the tools need python 2.7, even if you are using the python 3 starter pack 2011-10-31T20:08:08 errr shit my bad 2011-10-31T20:08:14 ./test_bot.sh "python MyBot.py" 2011-10-31T20:08:26 I plan on using the C++ kit, but figured it would be good to get the tools kit to work first 2011-10-31T20:08:54 *** amstan has joined #aichallenge 2011-10-31T20:08:54 *** ChanServ sets mode: +o amstan 2011-10-31T20:09:02 try that last command i put, if that doesn't work, paste the first exception 2011-10-31T20:11:35 it worked 2011-10-31T20:12:09 now, if I could just get things to work with the visualizer 2011-10-31T20:18:13 *** analyst74 has joined #aichallenge 2011-10-31T20:18:31 *** coffey has joined #aichallenge 2011-10-31T20:18:57 *** coffey is now known as Guest92393 2011-10-31T20:19:56 What does the SpawnRadius2 represent since all the ants origin from the center of their ant hill? 2011-10-31T20:21:14 how near an ant has to be to food to pick it up 2011-10-31T20:21:14 i'm still trying to figure out how to get the visualizer to work 2011-10-31T20:21:58 *** replore has joined #aichallenge 2011-10-31T20:23:38 Zannick, oh, isn't that always 1 then? interesting 2011-10-31T20:23:55 Zannick: Really? English isn't my first language and I fail to see how the word Spawn could relates to pick up food. 2011-10-31T20:24:12 you have to be next to food to pick it up 2011-10-31T20:24:49 Venom, English is my first language and it doesn't make sense to me, either 2011-10-31T20:24:53 i didn't pick it :P 2011-10-31T20:25:01 grom358, not if SpawnRadius2 >= 2, apparently 2011-10-31T20:25:21 okay but its set to 1 atm 2011-10-31T20:25:36 *** tdubellz has quit IRC (Remote host closed the connection) 2011-10-31T20:25:40 up until a few weeks before the contest start food turned directly into ants there were no hills 2011-10-31T20:25:57 If I finish my test script, should I post it to the forums? 2011-10-31T20:26:00 rogue: yea.. and then the word could make sense when related to ants spawning from the ant hill .. 2011-10-31T20:26:16 I wrote a python script to replace playonegame.cmd and offer more options 2011-10-31T20:26:19 *** frosty has joined #aichallenge 2011-10-31T20:26:22 janzert: Ohhhhhh.. interesting 2011-10-31T20:27:18 janzert: so the ant could spawn (SpawnRadius=4) 4 tiles from the food eaten, correct? 2011-10-31T20:27:46 no, when you're ant got within spawn radius of the food became another ant 2011-10-31T20:27:51 eating food spawns an ant ant a hill 2011-10-31T20:28:00 *** epicmonkey has quit IRC (Ping timeout: 240 seconds) 2011-10-31T20:28:14 ant ant? :P 2011-10-31T20:28:16 janzert: makes more sense, okay. 2011-10-31T20:28:17 at* 2011-10-31T20:28:21 badger badger! 2011-10-31T20:28:28 shroom 2011-10-31T20:28:29 now when your ant is within spawn radius of food another ant is added to the queue to spawn at your hill(s) 2011-10-31T20:28:37 Venom: the spawnradius is like food radius, as soon as your ant gets within it you hill will spawn an extra ant 2011-10-31T20:28:56 hence the note in the specification about spawnradius2 # food gathering radius squared (name is an unfortunate historical artifact) 2011-10-31T20:29:17 *** kaemo has joined #aichallenge 2011-10-31T20:29:21 something like gatherradius2 would make more sense now 2011-10-31T20:29:23 janzert: Is there any reason to consider SpawnRadius when thinking our strategies regarding the finals? I don't mean to hardcode anything, but... Could you guys really change that one? 2011-10-31T20:29:36 does your bot automatically lose if it times out? 2011-10-31T20:29:44 Took a while to remember list comprehesions again 2011-10-31T20:29:49 theoretically of course it could change, but it is quite unlikely to 2011-10-31T20:30:12 ok, thanks. 2011-10-31T20:30:41 it doesn't even matter to take spawnradius seriously, if an ant is within it the food disappears anyway, why are you so concerned about it 2011-10-31T20:30:55 basically it's use is if you are considering how close to food you need to get an ant when trying to optimize ant pathing 2011-10-31T20:32:42 what is the sane method to not get timed-out? should i be using SIGALARM or something like that? any hints 2011-10-31T20:33:20 what happens if a food wants to spawn on a certain location, but an ant is there already? 2011-10-31T20:35:06 Migi32: i would think the engine won't spawn there 2011-10-31T20:35:13 free lunch happens 2011-10-31T20:35:38 yeah free lunch sounds good to me 2011-10-31T20:35:42 i'll take it 2011-10-31T20:36:51 I know the engine won't spawn, I think it gets added to a queue to spawn when the square is empty but I don't remember for sure 2011-10-31T20:36:52 i ask this because when it spawns next to an ant, it still takes 1 full turn to gather, and my bot tries to move an ant on top of that food but the engine complains that it can't do that 2011-10-31T20:37:08 ah ok 2011-10-31T20:37:31 right, moving onto food is blocked 2011-10-31T20:37:53 McLeopold: would be the one to ask about the details 2011-10-31T20:38:00 hmm, interesting, the food capture happens in the next turn 2011-10-31T20:38:28 i think the testing thing will reject your bot if it tries to move onto water 2011-10-31T20:38:36 yea 2011-10-31T20:38:44 it's a bit weird: if a food spawns 2 squares away or 1 square away, you get it at the same time 2011-10-31T20:39:00 and also (i think) if you try to move a non-existent or enemy ant 2011-10-31T20:39:12 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 258 seconds) 2011-10-31T20:39:32 *** echeese has quit IRC (Quit: Leaving) 2011-10-31T20:39:50 onto food* 2011-10-31T20:40:26 food spawning is basically the last step of the turn and moving is the first step after getting bot orders 2011-10-31T20:41:20 Migi32: with the current radius settings if a food spawns right next to you, you still have the option of moving away to stop from gathering it ;) 2011-10-31T20:41:47 janzert, ah yes, don't want our ants to get fat ;) 2011-10-31T20:42:05 janzert: on the topic of phases, when i give two of my ants move command, then the engine will do the move phase first for all the ants and then proceed to collision resolution phase right, and not do all phases for one ant first and proceed with second ant 2011-10-31T20:42:15 *** kaemo has quit IRC (Ping timeout: 260 seconds) 2011-10-31T20:42:20 ccc: right 2011-10-31T20:42:46 each phase is done globally for all ants and players at once 2011-10-31T20:42:50 then the next phase 2011-10-31T20:43:39 e.g. two ants side by side can swap places without colliding 2011-10-31T20:44:03 *** HaraKiri has quit IRC () 2011-10-31T20:44:18 *** NefariousZhen_ has joined #aichallenge 2011-10-31T20:46:11 *** Relax has joined #aichallenge 2011-10-31T20:46:50 I spent the whole afternoon and evening coding a new algorithm to coordinate ant movement and prevent collisions 2011-10-31T20:46:56 and now they refuse to explore 2011-10-31T20:47:11 They spend all their time row dancing 2011-10-31T20:48:47 antimony: use hashtables to store the ants, use its (x,y) as key and YES/NO as value 2011-10-31T20:49:34 that's what I was doing before, but it isn't optimal 2011-10-31T20:49:41 now I have a fancy constraint optmization algorithm 2011-10-31T20:49:49 but most of my extra ants clump up around the hill 2011-10-31T20:50:01 for some reason they aren't being assigned new goals 2011-10-31T20:51:05 when ants don't have 'new goal' to do then make them move randomly, otherwise all will accumulate at one place 2011-10-31T20:52:33 assigning a new goal randomly might actually be a good idea 2011-10-31T20:52:49 but I'm using bruteforce pathfinding so they should always find something if there's any possible goals on the map 2011-10-31T20:52:56 oh yea, my ants even raze hills in random motion ) 2011-10-31T20:53:22 is there any way to upload replays here? 2011-10-31T20:53:29 so I can show what I'm talking about> 2011-10-31T20:53:37 paste.aichallenge.org 2011-10-31T20:53:48 antimony, ^ 2011-10-31T20:57:15 Here http://paste.aichallenge.org/2aZeI/ 2011-10-31T20:57:20 my new bot is the oranage one 2011-10-31T20:58:19 ok it's definitely buggy 2011-10-31T20:58:24 it's completely ignoring food close by 2011-10-31T21:00:13 *** ccc_ has joined #aichallenge 2011-10-31T21:00:32 *** aslvrstn has quit IRC (Ping timeout: 265 seconds) 2011-10-31T21:01:15 why could it be doing that? 2011-10-31T21:01:33 *** NefariousZhen_ is now known as NefariousZhen 2011-10-31T21:02:15 has every map the same rate of food grow? 2011-10-31T21:03:40 And if so, what is this rate? 2011-10-31T21:04:02 *** antimony has quit IRC (Quit: Page closed) 2011-10-31T21:06:55 no one has an idea? 2011-10-31T21:07:33 I like big :-) 2011-10-31T21:09:05 big is useful, anyone else? :P 2011-10-31T21:09:25 small? :p 2011-10-31T21:10:32 Small is beautiful. I like it too advg. So rate > Small and < Big. Gonna code that right away ... 2011-10-31T21:11:35 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-10-31T21:13:27 hmm i have a cool idea 2011-10-31T21:13:47 *** rogue780 has quit IRC (Quit: Leaving) 2011-10-31T21:13:59 Venom: http://aichallenge.org/game_settings.php 2011-10-31T21:15:53 Thanks magiik. Do you happens to know what [food_rate: 5, 11] mean? 2011-10-31T21:16:15 it can have different options 2011-10-31T21:16:17 # of food per turn per player 2011-10-31T21:16:27 do a python playgame.py 2011-10-31T21:16:30 to see options and descriptions 2011-10-31T21:16:56 not sure of the specifics/exacts 2011-10-31T21:17:05 like wtf --food_turn is for 2011-10-31T21:17:19 Denominator of food per turn per player rate 2011-10-31T21:17:22 ??? 2011-10-31T21:17:53 ohhhhh 2011-10-31T21:17:57 numerator + denominator = food rate 2011-10-31T21:17:57 ok 2011-10-31T21:18:01 or rather over 2011-10-31T21:18:20 so food rate = food_rate/food_turn ( per player ) 2011-10-31T21:18:28 okay, thx. I'll go take a look at the options of playgame.py 2011-10-31T21:18:30 well actually wtf is "player reate" 2011-10-31T21:18:32 any idea when ants.fluxid.pl will be back? 2011-10-31T21:18:44 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-10-31T21:18:51 oh thats "food per turn per player" rate 2011-10-31T21:18:53 not player rate prolly 2011-10-31T21:19:54 ok, so 5/11 chances of food per player per turn? sounds too little to me 2011-10-31T21:20:14 *** ThatGuy_ has joined #aichallenge 2011-10-31T21:20:15 I am understanding correctly? 2011-10-31T21:21:59 Venom: i think it means 5 food per 11 turns per player 2011-10-31T21:22:16 so yeah what u said, 5/11th of a chance per turn 2011-10-31T21:22:36 you could always run it, and check the replay to see if it looks right 2011-10-31T21:22:41 right, ok 2011-10-31T21:22:51 yea 2011-10-31T21:25:30 *** NefariousZhen has quit IRC (Quit: Page closed) 2011-10-31T21:25:48 looking at the parameters, there's so much details of the "problem" that I wasn't aware when coding my first bot.. time to smart the fck up :D 2011-10-31T21:26:22 how much processing power are we getting for our bot? just wondering cause doing performance tests here and my bot runs in under 100ms 2011-10-31T21:26:31 locally that is 2011-10-31T21:27:32 "Attack method to use for engine. (closest, focus, support, damage)" Is those attack method documented somewhere? 2011-10-31T21:27:39 This is hard >_< 2011-10-31T21:27:41 *Are those attacks 2011-10-31T21:30:04 It's rather pertinent to know how the engine process attacks. I understand that the guesswork create some challenge for the gen algo people, but ... What's "Focus"? 2011-10-31T21:30:47 Venom: there is a whole page explaining it 2011-10-31T21:31:14 Venom: http://aichallenge.org/specification_battle.php 2011-10-31T21:31:24 *** NefariousZhen has joined #aichallenge 2011-10-31T21:31:28 *** ccc_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T21:31:30 Describes focus which is the one being used 2011-10-31T21:33:06 thanks grom. Just realized I missed out on about half the site; bugging everyone with lazy looking questions. -_- ouch. 2011-10-31T21:33:07 ants have their damage divided among all the ants in range 2011-10-31T21:33:45 in their range or the attacker range? 2011-10-31T21:34:06 if ant A is in B's range, B is in A's range 2011-10-31T21:34:18 Err 2011-10-31T21:34:28 ... 2011-10-31T21:34:29 *** ChrisH_ has joined #aichallenge 2011-10-31T21:34:35 well 2011-10-31T21:34:40 Well, the page explains it 2011-10-31T21:35:00 A ant could have a bunch of friends in his range that the attacker doesn't 2011-10-31T21:35:06 right, I'll take a look. thanks 2011-10-31T21:36:52 the page explains it fully.. and I can give you code that generates the diagrams if that makes it even clearer 2011-10-31T21:41:18 if u happen to know Java 2011-10-31T21:41:23 *** Migi32 has quit IRC (Remote host closed the connection) 2011-10-31T21:41:58 is there any functionality that verifies a map conforms to the rules? 2011-10-31T21:43:04 *** vladimirfol has quit IRC (Ping timeout: 265 seconds) 2011-10-31T21:44:29 I've created a custom map and I want to make sure that it conforms to the symmetric rules in particular 2011-10-31T21:44:32 Venom: I would like to point out their wall punch example isn't something that can actually happen AFAICT with attackradius2 at 5. And the first diagram is also incorrect for attackradius at 5 2011-10-31T21:54:05 err q: 2011-10-31T21:54:12 :-) 404 turns, food not being gathered 2011-10-31T21:54:21 do you know all water tiles beforehand? 2011-10-31T21:54:25 or is that only as you go discovering 2011-10-31T21:54:41 kinda funny 2011-10-31T21:55:01 roflmao: I'm afraid you have to figure that out yourself 2011-10-31T21:55:09 ah okay that explains why my a* is getting stuck 2011-10-31T21:55:13 it's ruynning right into water! 2011-10-31T21:55:31 maybe you configured your a* to love water? 2011-10-31T21:56:14 that I did 2011-10-31T21:57:24 *** Knekkebjoern has joined #aichallenge 2011-10-31T21:57:25 janzert, McLeopold I've been thinking about the dynamics of how the submission deactivation change works in the dynamic 2011-10-31T21:58:39 janzert, McLeopold sorry, early enter key, I've been thinking about the dynamics of the submission deactivation change, and I think that it will keep a little over 2000 starter bots playing games assuming there are ~400 new starter bot sumissions a day. 2011-10-31T22:00:39 *** capa has quit IRC () 2011-10-31T22:04:09 janzert, McLeopold actually it's worse than that, because that is 1200 active starter bots over a three day span, which could pull another 5000 deactivated starter bots in to games, for a total of 6200 starter bots still getting games. 2011-10-31T22:04:47 janzert: McLeopold approximately 2011-10-31T22:06:07 janzert: McLeopold which means there either needs to be a big drop in new starter bot submissions, or a lot of time goes by before the mechanism actually has the intended affect of reducing starter bot games 2011-10-31T22:06:35 McLeopold: janzert relative to more serious bots 2011-10-31T22:14:55 I'm almost in business 2011-10-31T22:15:09 just limited my a star computations per turn to 3 2011-10-31T22:15:18 everything seems to be honky dorry 2011-10-31T22:15:27 *** ThatGuy_ has quit IRC (Ping timeout: 265 seconds) 2011-10-31T22:15:30 3? those must be some long paths 2011-10-31T22:15:43 my bot runs like 100s of those a turn 2011-10-31T22:16:20 hrm... fluxid still down eh 2011-10-31T22:16:31 anone have a link to another tcp server? 2011-10-31T22:17:11 well 3 might be complete and total overkill 2011-10-31T22:17:15 what language you using? 2011-10-31T22:17:17 python 2011-10-31T22:17:21 roflmao: how I fixed that is.. I drop the path if the next tile is water.. and recalculate a new one 2011-10-31T22:17:32 grom358: no longer an issue :) 2011-10-31T22:17:35 I'm on java, which should be faster 2011-10-31T22:17:41 yeah Java here too 2011-10-31T22:17:42 Just finished informing my a* about water hazards, now I just need to finish .... all of it 2011-10-31T22:17:43 but I would experience timeouts once I hit like 150 ants 2011-10-31T22:17:50 http://aichallenge.org/visualizer.php?game=41361&user=2772 2011-10-31T22:18:05 ah yeah, i have dropouts and different heurestics for when to drop out of pathfinding based on # of total ants 2011-10-31T22:18:05 you shouldn't hard code how many to run per turn.. use a queue 2011-10-31T22:18:26 just keep popping off the queue while getAnts().getRemainingTime() says you have enough time left 2011-10-31T22:18:39 that's not a bad idea 2011-10-31T22:18:42 those freaking mazes those.... 2011-10-31T22:18:47 yes, that's a fantastic idea grom 2011-10-31T22:19:02 I don't need to queue them up because each turn i have a rather expensive but very useful loop taht takes care of that for me 2011-10-31T22:19:02 sorry getTimeRemaining() 2011-10-31T22:19:13 *** R has joined #aichallenge 2011-10-31T22:19:16 those maze maps i dont get paths so many times cuz of those "nearby" positions that are insanely far away on a path 2011-10-31T22:19:19 but I'll stop computing astar paths if only 50 ms left 2011-10-31T22:19:34 yeah i do something similar 2011-10-31T22:19:35 grom you are awesome 2011-10-31T22:19:39 *** R is now known as Guest39322 2011-10-31T22:19:48 How about you stop trying to calculate a path when it gets too long 2011-10-31T22:19:56 they are never too long 2011-10-31T22:19:56 i have a path cache too 2011-10-31T22:20:05 and a higher level path map 2011-10-31T22:20:05 well never mind they can get long cause i don't have wrapping 2011-10-31T22:20:12 that i use A* on to get really really long paths 2011-10-31T22:20:24 sounds like your bot is pretty pro magiik 2011-10-31T22:20:31 yeah its easy to add a distance cap 2011-10-31T22:20:36 from a technical position it could be considered pro 2011-10-31T22:20:40 playing on fluxid i get pwned 2011-10-31T22:20:50 distance cap is definitely very easy 2011-10-31T22:20:56 i need better goal logic, better exploration logic, and better combat logic 2011-10-31T22:21:20 still really working this out not near done 2011-10-31T22:21:28 magiik: me too 2011-10-31T22:21:31 when is the official submission date? 2011-10-31T22:21:36 same magiik ahhahaha 2011-10-31T22:21:41 magiik: I think its december 2011-10-31T22:21:43 18th 2011-10-31T22:21:49 don't quote me on that 2011-10-31T22:21:50 i've kind of just been hacking and hacking getting things to just work first haha 2011-10-31T22:22:00 i'm finally near a point where I can actually tune and implement some finer control of things 2011-10-31T22:22:06 getTimeREmaining is in ms right? 2011-10-31T22:22:10 that, and I think I still have a potential pathfinding bug to track down lol 2011-10-31T22:22:13 yeah in ms 2011-10-31T22:22:17 roflmao: yeah in ms 2011-10-31T22:22:30 aight lets try this cap baby! 2011-10-31T22:22:35 btw.. I am about to replace my A* with another method 2011-10-31T22:22:40 and I have absolutely 0 defence logic/code lol 2011-10-31T22:22:58 i just hope/plan on getting enough food to generate enough ants to constantly have a stream of ants coming from the hill lol 2011-10-31T22:23:02 i've seen some bots on fluxid 2011-10-31T22:23:07 yea grom? explain 2011-10-31T22:23:11 holding formations around the hive - thought that was pretty cool 2011-10-31T22:23:12 *** analyst74 has quit IRC (Ping timeout: 240 seconds) 2011-10-31T22:23:52 anyone know of any other tcp servers other than fluxid? 2011-10-31T22:23:57 i had one... somewhere.... 2011-10-31T22:24:24 well.. going to you BFS to mark each tile with distance to targets. The ant just moves to tile which results in it being closer to the target 2011-10-31T22:24:50 interesting idea 2011-10-31T22:24:56 oh so kind of keep a cache of the computed heuristics 2011-10-31T22:25:02 i've been trying to think of a better way than all of this pathfinding 2011-10-31T22:25:09 because ideally i want ants coming in a "line" 2011-10-31T22:25:11 well grom I can see a problem :P 2011-10-31T22:25:21 roflmao: yes? 2011-10-31T22:25:23 you can easily run into a dead end that way 2011-10-31T22:25:32 how? 2011-10-31T22:25:32 roflmao: how so? 2011-10-31T22:25:35 if you just move to tile that has a smaller estimate 2011-10-31T22:25:41 from target, grow increasing dist by 1 each square 2011-10-31T22:25:46 no.. not an estimate.. BFS 2011-10-31T22:25:57 then you cache the bfs? 2011-10-31T22:25:59 not using straight distance.. it based on actual distance 2011-10-31T22:26:09 I have no defence logic either 2011-10-31T22:26:25 i kind of like that idea 2011-10-31T22:26:30 yes I can cache the results.. thought needs to be updated as I discover new water tiles 2011-10-31T22:26:38 i've been trying to figure out a way to just kill memory but not cpu 2011-10-31T22:26:38 but its fast anyway 2011-10-31T22:26:39 guys, grom's idea will work, it's what my bot does, and I recompute the targets and BFS every turn too 2011-10-31T22:26:58 interesting 2011-10-31T22:27:00 even on a huge map? 2011-10-31T22:27:31 yes I tested on biggest map I could find 2011-10-31T22:27:37 its fast 2011-10-31T22:27:45 i might steal your idea ;) 2011-10-31T22:27:49 at least to test in a version or two 2011-10-31T22:27:52 yeah, I get a few timeouts, but they are not really because of the BFS, it's due to a more complicated interaction that keeps my ants dancing instead of making progress 2011-10-31T22:28:03 haha i have similar issues 2011-10-31T22:28:07 i think everyone does 2011-10-31T22:28:09 and you doing it for all ants at the same time.. 2011-10-31T22:28:20 no A* for each ant.. so it ends up faster 2011-10-31T22:28:21 try to move 100 ants on the same path - backwards and forwards - cause collisions + dump logic to re-path after sidestepping 2011-10-31T22:28:21 even the proest bots have huge clusters by end of game 2011-10-31T22:28:24 i get similar shit 2011-10-31T22:28:45 the advantage of BFS over A* is that you don't have to compute the heuristic function. I tried A* and it was slower than my BFS code, even when both were heavily tuned 2011-10-31T22:28:54 really? 2011-10-31T22:29:01 even with a dead simple heuristic like manhattan? 2011-10-31T22:29:07 i have problems with A* with huge numbers of ants, i kind of like BFS 2011-10-31T22:29:14 i thought just having to sort through bigger sets as BFS 2011-10-31T22:29:17 would cause more problems 2011-10-31T22:29:29 since bfs gives you waaaaaaay bigger open and closed sets 2011-10-31T22:29:50 yep, because of dealing with the wrap around affect, and also because I was trying to guide many ants to any one of many targets, the heuristic became O(n^2) 2011-10-31T22:30:13 still don't understand the O(N) stuff 2011-10-31T22:30:18 (I'm very new to all of this) 2011-10-31T22:30:22 it's a math thing 2011-10-31T22:30:29 trust me.. A* is only one small part. There so many problems to deal with.. BFS ends up being faster 2011-10-31T22:30:30 worst case operation time 2011-10-31T22:30:46 damn... kind of have to throw a lot of what i've already done out with that heh ;) 2011-10-31T22:30:56 but oh well, such is programming 2011-10-31T22:31:01 good times 2011-10-31T22:31:03 with BFS you can calculate paths for all ants to target at once 2011-10-31T22:31:07 I use a heap as a priority queue in the BFS, so no sorting through huge open or closed sets, just pop the next closes entry in O(log n), mark it done, then put the unfinished neighbors on the heap in O(log n) 2011-10-31T22:31:14 not even calculate paths - just the next step 2011-10-31T22:31:18 exactly grom 2011-10-31T22:31:39 more like a full map flow to the target drain 2011-10-31T22:31:47 just have the ants follow the flow direction 2011-10-31T22:31:54 with BFS you can calculate paths for all ants to target at once 2011-10-31T22:32:01 but how do you reuse paths? 2011-10-31T22:32:03 how many targets do you guys calculate with BFS in your bots? 2011-10-31T22:32:04 and you can choose different paths based on whatever logic you want 2011-10-31T22:32:05 but I also did some tricks like stopping the BFS early when it found a goal, then erasing that part of the map for that goal so I could continue searching for other goals without restarting the whole BFS 2011-10-31T22:32:12 given a huge 127x127 maze 2011-10-31T22:32:13 that's 2011-10-31T22:32:25 dynamic waypoints ftw 2011-10-31T22:32:27 16 thousand possibilities 2011-10-31T22:32:34 i don't possibly see how any of them would be reusable :p[ 2011-10-31T22:32:48 what.. well enemy hills don't move for starters 2011-10-31T22:32:57 yeah but for food 2011-10-31T22:32:58 *** jmcarthur has joined #aichallenge 2011-10-31T22:33:08 well a* for food ;) 2011-10-31T22:33:09 ergo the bfs from 15:3 to 19:6 is a one time thing only 2011-10-31T22:33:11 sinec food only needs 1 ant 2011-10-31T22:33:18 why do a pathfinding that benefits all ants? 2011-10-31T22:33:18 yeah I'm talking about food :P 2011-10-31T22:33:20 I have a goal for each enemy hill, each food I know about, each exploration target, and each defensive position. Then I have all my ants on the other end of the search. 2011-10-31T22:33:32 I haven't even gotten to combat yet 2011-10-31T22:33:35 *** xar0l has joined #aichallenge 2011-10-31T22:33:37 I'm timing out on food hahaha 2011-10-31T22:33:39 yeah limit food to vision radius 2011-10-31T22:33:44 given a path from x,y to x2,y2. if you want a path from x3,y3 to x4,y4: and x3,y3 has line of sight to x,y: and x4,y4 has line of sight to x2,y2: then it's trivial to find a path from x3,y3 to x4,y4 2011-10-31T22:33:45 I do 2011-10-31T22:33:46 funny thats almost exactly what I ended up with 2011-10-31T22:33:49 is one option 2011-10-31T22:33:54 yep, i do it 2011-10-31T22:34:02 although i have a problem where a lot of my a* computations are totally wasted 2011-10-31T22:34:07 burny: i have waypoints set up in my code now 2011-10-31T22:34:13 it's just so messy and feels bloated 2011-10-31T22:34:22 do it better then :P 2011-10-31T22:34:32 I also can support a goal that requires more than one ant to go there, so that is easy by just continuing the BFS without erasing the first part of the search until I've found all the needed ants (or run out of ants) 2011-10-31T22:34:35 or with food.. just stop at first ant 2011-10-31T22:34:37 but i'm having more problems with those "hardcoded" or saved paths 2011-10-31T22:34:50 all the ants on the same paths - doesn't work well for bi-directional motion 2011-10-31T22:35:00 the ants collide, and you end up pathfinding them again, or waypointing them again 2011-10-31T22:35:23 bi-directional motion is a waste of turns, and should be avoided. 2011-10-31T22:35:26 shouldn't need to use new waypoints 2011-10-31T22:35:32 unless trying to avoid an entire army 2011-10-31T22:35:52 yeah... i agree the bi-directional motion is more of a side effect of lazy goals ( random ) 2011-10-31T22:36:04 if you have two ants trying to cross paths they are going to the wrong goals because they are both closer to the other ant's goal 2011-10-31T22:36:05 but still, it's a problem 2011-10-31T22:36:35 solve the other problem and your bi-dir motion problem goes away 2011-10-31T22:36:48 yeah i havn't implemented any real goal logic yet, other than enemy hills 2011-10-31T22:36:53 and it's a lot of random motion 2011-10-31T22:37:05 yes.. so basically.. at the end I have a score assigned to each tile.. ants move to tiles with a better score 2011-10-31T22:37:13 so a star for food aint bad right? 2011-10-31T22:37:17 well, here is what I do to avoid ant collisions, it's pretty easy: 2011-10-31T22:37:18 that should be a piece of cake 2011-10-31T22:37:22 *** Guest39322 has quit IRC (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928134238]) 2011-10-31T22:37:24 grom358: do u do the whole map? or just as chris was saying - enough to get to the # of ants you want to assign to the target? 2011-10-31T22:37:39 i've found short A* on closeby food runs insanely fast 2011-10-31T22:37:59 *** Antimony has joined #aichallenge 2011-10-31T22:38:04 first, figure out what move each ant should make, then loop over the orders and if the ant isn't going to step on another ant let it move, otherwise just skip it, but keep track of how many you've skipped 2011-10-31T22:38:07 as chris was saying.. You can cap the search with whatever you got in mind.. mind you for 10 player map I was getting my BFS search map wide done in 20ms 2011-10-31T22:38:11 *** mikewest has joined #aichallenge 2011-10-31T22:38:17 it's when your heurestic goes against the "true" path that A* starts having problems 2011-10-31T22:38:23 keep looping until either all the ants have moved or you have skipped all the ants 2011-10-31T22:38:49 all the unmoved ants that is 2011-10-31T22:39:06 problem with A* too is you have to know which target you want to path too.. so how do you decide? 2011-10-31T22:39:07 yeah i think the problem magiik 2011-10-31T22:39:08 reset the skip count each time you move an ant 2011-10-31T22:39:12 is that i don't have wrapping implemented for my a* 2011-10-31T22:39:22 ok, so 3 ants in a line, 2 ants want to move east, 1 ant wants to move west 2011-10-31T22:39:23 so a "nearby" food is actually extremefuckingfaraway 2011-10-31T22:39:26 and since I don't have a distance limit 2011-10-31T22:40:05 fixed your get neighbours in A* to take the wrapping into account 2011-10-31T22:40:10 grom: yeah, how do you mach ants to goals if you don't know which are closes to each other, big problem with A* 2011-10-31T22:40:26 mach=match 2011-10-31T22:40:56 allright, enough discussion for me, time to vegge out, drink some booze, smoke a bowl, enjoy halloween 2011-10-31T22:40:59 peace out 2011-10-31T22:41:03 what needs fixing is the actual algo 2011-10-31T22:41:04 thanks for the ideas though guys 2011-10-31T22:41:07 i use manhattan 2011-10-31T22:41:13 i should use eucledian 2011-10-31T22:41:15 yeah.. I was using BFS for food anyway.. I just decided yesterday going use it for everything.. and thought about all the things I can do with it this way.. still coding it all up 2011-10-31T22:41:17 i use manhattan too - just quick and easy 2011-10-31T22:41:22 yeah but it doesn't use wrapping 2011-10-31T22:41:24 but the tests so far are going well 2011-10-31T22:41:36 0:0 is just one step away from 0:59 2011-10-31T22:41:36 *** chemuduguntar has joined #aichallenge 2011-10-31T22:41:39 wish there were some more advanced "starter" bots 2011-10-31T22:41:40 (assuming the map is 60 long) 2011-10-31T22:41:46 yet the manhattan for that is still 59 2011-10-31T22:41:55 hello, sorry if this is a faq, does any one here use scheme? 2011-10-31T22:41:59 roflmao: no that is just cause u doing it wrong 2011-10-31T22:42:01 grom358: I think you'll like the results, it has served me well, and I did BFS first, then thought I'd see if A* would be faster and it was the opposite. 2011-10-31T22:42:10 it's like either practice against stupid bots, practice against your own bots ( or older versions ), or practice on a tcp server ( which seems you get matched with really good players a lot) 2011-10-31T22:42:11 (i tried searching on forums but got links for 2010) 2011-10-31T22:42:33 return Math.abs(start.getRow() - goal.getRow()) + Math.abs(start.getCol() - goal.getCol()); 2011-10-31T22:42:39 that's my manhattan 2011-10-31T22:42:42 a* at heart, uses waypoints right? 2011-10-31T22:42:44 need a % in there 2011-10-31T22:42:49 getAnts.getDistance look at it 2011-10-31T22:42:53 Yeah, all you need is modulo 2011-10-31T22:43:05 …. fucking moron me 2011-10-31T22:43:08 burny: a* is just a network graph pathfinding - it doesn't matter what the network is 2011-10-31T22:43:30 k.. network of waypoints clearly(in the case of path finding) 2011-10-31T22:43:34 well, off to work on bot code, happy halloween to all 2011-10-31T22:43:40 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-10-31T22:43:50 burny: not sure what u define a waypoint as 2011-10-31T22:43:51 A* is just shortest path in a graph.. 2011-10-31T22:44:07 but i use A* on the ant tile map - each square is a node 2011-10-31T22:44:10 so.. one way is to make each tile a node in the graph 2011-10-31T22:44:15 and i also make ahigher level map of "waypoints" that dont inclue all tiles 2011-10-31T22:44:21 and i save cost info between nodes and directions 2011-10-31T22:44:22 *** Redgis has quit IRC (Ping timeout: 244 seconds) 2011-10-31T22:44:29 but you can make any sort of graph and apply A* to it 2011-10-31T22:44:31 that is why it's bad then magiik 2011-10-31T22:45:00 because? 2011-10-31T22:45:08 because your 'graph' is too big 2011-10-31T22:45:09 PROBLEM FUCKING FIXED 2011-10-31T22:45:17 when did i say it was bad? 2011-10-31T22:45:19 ^^ 2011-10-31T22:45:22 unless the graph doesn't tell you the distance? 2011-10-31T22:45:23 I'm left with about 400 ms now 2011-10-31T22:45:26 grom I love you 2011-10-31T22:45:27 I love you 2011-10-31T22:45:36 fucking astar with 200 bots left with tons of fucking time 2011-10-31T22:45:38 guess it was grom not you 2011-10-31T22:45:42 * avdg has 495ms left 2011-10-31T22:45:53 BUT YOU DONT PATHFIND :P 2011-10-31T22:45:58 the A* on my waypoint map is actually quite fast 2011-10-31T22:46:06 waypoint map? 2011-10-31T22:46:08 my problem is re-using of paths 2011-10-31T22:46:15 My ants just hump eachother 2011-10-31T22:46:23 lol 2011-10-31T22:46:26 and I don't want to use it on tiles as well 2011-10-31T22:46:30 break out the debugger 2011-10-31T22:46:44 when it boils down to it - there has to be some pathfinding 2011-10-31T22:46:53 Chris gave some good ideas though 2011-10-31T22:46:56 they're trying to reproduce pair :P 2011-10-31T22:47:07 reproduce pair? 2011-10-31T22:47:26 They're doing it wrong! 2011-10-31T22:47:33 oh pair is a person 2011-10-31T22:48:04 yeah chris' ideas gave me some new ideas to try out in my bot 2011-10-31T22:48:11 still not happy with my current solution, even though it works 2011-10-31T22:48:19 *** gnutella has quit IRC (Ping timeout: 265 seconds) 2011-10-31T22:48:20 *** auacm has joined #aichallenge 2011-10-31T22:48:35 last submission on aichallenge.org got me to rank 20 in 8 games 2011-10-31T22:48:40 rank 200 2011-10-31T22:48:46 but i feel those last couple hundred are the real bots to beat lol 2011-10-31T22:49:02 are the python and python3 starters supposed to be the exact same files? 2011-10-31T22:49:10 Yes 2011-10-31T22:49:21 good 2011-10-31T22:49:23 just making sure 2011-10-31T22:49:28 Well, I guess there's a / difference there somewhere 2011-10-31T22:49:32 Might be 2011-10-31T22:49:40 anyone know what cpu specs the official server is going to be running on? 2011-10-31T22:49:42 there's so much crap 2011-10-31T22:49:54 when I run my bot on my netbook, i have to give it like 1000ms cuz it's so slow 2011-10-31T22:50:12 also, does anyone know where "game" is implemented? 2011-10-31T22:50:35 playgame.py ? 2011-10-31T22:50:41 or mebe sandbox.py ? 2011-10-31T22:50:48 not too many files to dig through 2011-10-31T22:51:37 *** thestinger has joined #aichallenge 2011-10-31T22:52:03 *** tmandry has joined #aichallenge 2011-10-31T22:52:03 *** tmandry has joined #aichallenge 2011-10-31T22:53:59 *** frosty has quit IRC (Quit: Page closed) 2011-10-31T22:55:20 *** mikewest has quit IRC (Quit: Page closed) 2011-10-31T22:57:03 *** Relax has quit IRC (Quit: Page closed) 2011-10-31T22:57:15 magiik: they are c1.medium Amazon AWS instances I think. 2011-10-31T22:57:41 *** SharkMonkey has joined #aichallenge 2011-10-31T22:57:48 yeah i'm kind of interested to know what processing power the challenge is using 2011-10-31T22:58:03 http://aws.amazon.com/ec2/instance-types/ 2011-10-31T22:59:21 what instance type? 2011-10-31T23:00:05 *** tmandry has quit IRC (Ping timeout: 258 seconds) 2011-10-31T23:00:36 c1.medium - 2 virt cores with 2.5 cpu units each 2011-10-31T23:00:57 I think they run 2 bots per core but I could be wrong. 2011-10-31T23:01:56 cause locally my bot takes about 80ms per turn 2011-10-31T23:03:11 no combat logic.. just pathfinding and collecting food etc 2011-10-31T23:05:23 isn't more than 1 bot per core bad cause an opponents bot can be using the CPU up on u 2011-10-31T23:06:13 and you can use the cache hit/miss signature, to determine which bot you are playing against 2011-10-31T23:10:32 I think that's a stretch and in any case if your turn time is faster you can tell how slow the other player is.... 2011-10-31T23:11:41 by latency on the next turn. then maybe you can try a timeout attack by e.g. putting all your ants on the border of the map or going near the other players ants and seeing if it slows his turn time down 2011-10-31T23:12:46 wouldn't that be against the rules but 2011-10-31T23:14:57 *** iris1 has quit IRC (Ping timeout: 255 seconds) 2011-10-31T23:15:14 i feel like trying to timeout your enemies is probably allowed, but unlikely to work against a good bot 2011-10-31T23:15:19 I don't think so since you would be strictly conforming to the protocol and not trying to break your jail or anything. 2011-10-31T23:15:31 *** yoden1 is now known as yoden 2011-10-31T23:15:55 yeah and it especially would not work at higher levels since most people will timeslice if needed. 2011-10-31T23:17:57 *** auacm has quit IRC (Quit: Page closed) 2011-10-31T23:19:18 I would estimat ethat only 2 of the top100 bots, will ever use more than 50% of processing 2011-10-31T23:19:28 *** iris1 has joined #aichallenge 2011-10-31T23:20:30 yeah.. depending on language 2011-10-31T23:23:39 I want to know if anyone using neural networks etc yet 2011-10-31T23:27:04 I don't think neural networks will be effective here 2011-10-31T23:27:22 Neural networks are what you use when you have no idea how to do anything more effective 2011-10-31T23:27:25 or genetic algorithms 2011-10-31T23:27:43 Basically you're saying the problem is too complex for a human to understand 2011-10-31T23:27:56 so you can't figure out any good algorithms 2011-10-31T23:28:43 well.. by human to understand.. u mean for a human to describe as an algorithm. right? 2011-10-31T23:29:12 *** amstan_ has quit IRC (Ping timeout: 240 seconds) 2011-10-31T23:29:23 * avdg thinks he should go node (not to confuse with node.js) 2011-10-31T23:30:41 avdg? 2011-10-31T23:31:17 Yay! 2011-10-31T23:31:26 I finally managed to debug my new algorithm 2011-10-31T23:31:49 is anyone experiencing timeouts before anything runs? 2011-10-31T23:31:58 *** Relax has joined #aichallenge 2011-10-31T23:31:59 nope 2011-10-31T23:32:04 roflmao: you should specify the language 2011-10-31T23:32:13 java 2011-10-31T23:32:19 well I was just interested in having my ant evolve by itself.. 2011-10-31T23:32:21 my bot can bruteforce pathfind and coordinate dozens of ants in like 15ms 2011-10-31T23:32:26 ? 2011-10-31T23:39:31 *** bmh has joined #aichallenge 2011-10-31T23:39:31 *** bmh has joined #aichallenge 2011-10-31T23:39:36 good evening 2011-10-31T23:40:15 *** Antimony has quit IRC (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928134238]) 2011-10-31T23:40:19 a good day to you too 2011-10-31T23:41:24 *** bobbydroptable has joined #aichallenge 2011-10-31T23:41:47 *** cleverfragment has joined #aichallenge 2011-10-31T23:42:18 bobby did you see our match? 2011-10-31T23:42:24 haha 2011-10-31T23:43:06 *** ThatGuy_ has joined #aichallenge 2011-10-31T23:46:14 *** pairofdice has quit IRC (Quit: Just keep breathing) 2011-10-31T23:46:25 grom358: genetic algorithms/programming doesnt work, its just a buzz word 2011-10-31T23:47:08 bysin: http://www.youtube.com/watch?v=oCXzcPNsqGA 2011-10-31T23:48:13 what that video doesnt show is the contrast against an intelligent human creating a competing algorithm 2011-10-31T23:48:44 genetic algorithms are guess and check, instead of rational problem solving 2011-10-31T23:48:52 which is why you never see a genetic algorithm win an AI contest 2011-10-31T23:49:32 the highest i've seen was reddit's tron submittion i think, it got in 250th-ish place 2011-10-31T23:49:40 bysin i didn't. i gave up watching my bot it sucks lol 2011-10-31T23:49:50 i want to make a better one but i can't :( 2011-10-31T23:49:52 bobbydroptable: http://aichallenge.org/visualizer.php?game=40253&user=3646 2011-10-31T23:50:03 you're lucky the time ran out 2011-10-31T23:50:16 yeah i'm rewriting mine too, 3rd rewrite 2011-10-31T23:50:24 *** thebaron_ has joined #aichallenge 2011-10-31T23:50:48 theres no shame in failing, as long as you learn from your mistakes 2011-10-31T23:51:02 roflmao: you around? 2011-10-31T23:51:43 genetic algorithms and statistical machine learning are typically the worst way to solve any problem. 2011-10-31T23:51:52 They just work really well when there's no other solution. 2011-10-31T23:52:17 *** thebaron_ has quit IRC (Client Quit) 2011-10-31T23:52:22 *** cleverfragment has quit IRC (Quit: ERC Version 5.2 (IRC client for Emacs)) 2011-10-31T23:52:29 ginetic algo is good for learning, with unknown input 2011-10-31T23:52:32 woo i held off Bysin's 150ant onslaught 2011-10-31T23:53:23 oh well, if you only care about a solution, these formulas are fine 2011-10-31T23:53:31 :-) 2011-10-31T23:53:40 eg. learning ot walk.. travel speed, and how often you fall over are you metrics.. and each muscle has various input paramaters 2011-10-31T23:59:03 *** dvladim has joined #aichallenge