2011-11-03T00:00:05 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-03T00:00:25 Ohh, must be wrapping... 2011-11-03T00:00:41 But I thought I handled it... 2011-11-03T00:01:44 *** Antimony has joined #aichallenge 2011-11-03T00:03:01 This is giving me headache 2011-11-03T00:04:00 *** Extrarius has joined #aichallenge 2011-11-03T00:06:01 cost = costMap[(node[0],node[1])] + 1 KeyError: (35, 19) 2011-11-03T00:06:13 does that mean that node doesnt exist in the map? 2011-11-03T00:06:19 *** datachomper has quit IRC (Ping timeout: 265 seconds) 2011-11-03T00:06:30 Are there any better benchmark bots available? Those available in the starter pack are rather lacking as far as opponents go 2011-11-03T00:06:47 *** meatroaf_ has joined #aichallenge 2011-11-03T00:07:17 it means that either node is too short (length 0 or 1) or that the (node[0],node[1]) isn't in costmap 2011-11-03T00:07:49 ecarpenter84, At some point #python might be a better place to be asking all these questions 2011-11-03T00:07:59 *** bmh has joined #aichallenge 2011-11-03T00:08:02 *** Cyndre has joined #aichallenge 2011-11-03T00:08:05 *** bmh has quit IRC (Changing host) 2011-11-03T00:08:05 *** bmh has joined #aichallenge 2011-11-03T00:08:06 ok sorry :P 2011-11-03T00:09:46 *** JorgeB has joined #aichallenge 2011-11-03T00:10:48 *** Extrarius is now known as _Extrarius 2011-11-03T00:11:20 ...does ants.rows() actually return cols and vice versa to make me hit my head against the wall? 2011-11-03T00:13:12 <_Extrarius> pairofdice: are you indexing the map properly - row major eg map[row][col] (with row being essentially y, which makes index order opposite of common game conventions) 2011-11-03T00:13:30 oh, wait while I hit my head against the wall 2011-11-03T00:13:48 *** bmh has quit IRC (Quit: bmh) 2011-11-03T00:14:19 Everything makes sense again 2011-11-03T00:14:34 <_Extrarius> yeah, working with row/col instead of x/y takes a bit to get used to 2011-11-03T00:15:27 *** Zok_ has quit IRC (Quit: Page closed) 2011-11-03T00:16:06 *** dvladim has quit IRC (Read error: Operation timed out) 2011-11-03T00:16:49 *** _Extrarius is now known as Extrarius 2011-11-03T00:22:09 *** rmmh_ has joined #aichallenge 2011-11-03T00:24:58 *** rmmh has quit IRC (Ping timeout: 255 seconds) 2011-11-03T00:30:19 *** rmmh_ is now known as rmmh 2011-11-03T00:31:06 *** Fandekasp has joined #aichallenge 2011-11-03T00:32:47 awesome 2011-11-03T00:36:41 *** Antimony has quit IRC (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928134238]) 2011-11-03T00:44:23 Now I just need to add water :) 2011-11-03T00:46:09 Does the server run the bots with --serial? 2011-11-03T00:48:18 *** djr_ has quit IRC (Read error: Connection reset by peer) 2011-11-03T00:49:29 *** djr_ has joined #aichallenge 2011-11-03T00:49:44 *** matthewd has joined #aichallenge 2011-11-03T00:59:57 i have my bot seemily ready to use a costmap to just find food 2011-11-03T01:00:09 except my bot heads away from the food 2011-11-03T01:00:12 would anyone mind looking at the pastebin http://pastebin.com/STvutWBQ 2011-11-03T01:13:24 *** thestinger has quit IRC (Quit: WeeChat 0.3.6) 2011-11-03T01:17:49 Wee, it's been nearly 8 hours, but my bot got to play another game! 2011-11-03T01:20:52 *** cyphase has quit IRC (Read error: Connection reset by peer) 2011-11-03T01:21:03 Finally it works! BFS from unseen tiles + foods 2011-11-03T01:21:24 i think im accidently doing a DFS not a BFS 2011-11-03T01:22:02 i was using my list as a stack 2011-11-03T01:22:05 *** cyphase has joined #aichallenge 2011-11-03T01:23:00 :D 2011-11-03T01:23:31 Now I need to add enemy ants to the picture 2011-11-03T01:23:50 *** scribble has joined #aichallenge 2011-11-03T01:26:04 *** dsegonds has joined #aichallenge 2011-11-03T01:26:24 how does the idea of doing A* from food perspective sount like, anyone doing that already 2011-11-03T01:26:51 *** Areks has joined #aichallenge 2011-11-03T01:27:01 ccc_: even better you can do a* from all food sources simultaneously :) 2011-11-03T01:27:08 to find a shortest path from a food square to a ant 2011-11-03T01:27:56 antimatroid: what do you mean by simultaneously, can you explain a little more 2011-11-03T01:28:21 add all food locations to your search queue (instead of just one) then use the search queue to find a path to an ant 2011-11-03T01:28:39 i see 2011-11-03T01:28:57 your heuristic function wants to be something like hdist(loc) = min manhatten distance from loc to a target 2011-11-03T01:29:07 instead of hdist(loc) = mdist(loc, target) 2011-11-03T01:31:40 *** dsegonds has quit IRC (Quit: Page closed) 2011-11-03T01:32:15 *** dsegonds has joined #aichallenge 2011-11-03T01:33:12 Victory \o/ 2011-11-03T01:34:03 They ignore ants completely but gather food like pros 2011-11-03T01:34:18 ...sort of 2011-11-03T01:38:25 *** dsegonds has quit IRC (Quit: Page closed) 2011-11-03T01:39:32 *** zigner22 has quit IRC (Ping timeout: 258 seconds) 2011-11-03T01:40:29 *** Jak_o_Shadows has joined #aichallenge 2011-11-03T01:41:05 ... 2011-11-03T01:41:35 *** JorgeB has quit IRC (Ping timeout: 248 seconds) 2011-11-03T01:41:56 *** Overburn has quit IRC (Quit: Leaving) 2011-11-03T01:41:58 you guys programming nowe? 2011-11-03T01:42:05 Is quiet 2011-11-03T01:43:35 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 276 seconds) 2011-11-03T01:44:26 is there an data structure built into ants that is gives me the size of the current map 2011-11-03T01:44:32 *** JorgeB has joined #aichallenge 2011-11-03T01:44:45 ants.cols and ants.rows 2011-11-03T01:45:49 Hint: rows for x >_< 2011-11-03T01:47:20 *** simplex_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T01:50:29 built into ants? depends which starter you use 2011-11-03T01:52:23 .part 2011-11-03T01:52:27 *** svujic has left #aichallenge 2011-11-03T01:53:53 *** bonbondirac has joined #aichallenge 2011-11-03T01:54:14 The run results of tweaking your attacking code without first testing: http://ants.fluxid.pl/replay.18184 2011-11-03T01:55:07 All websites in the .pl TLD should be run on perl 2011-11-03T01:55:46 You're the oscillating orange ants? 2011-11-03T01:55:58 the blue ants that wont storm the hill :) 2011-11-03T01:56:13 Oh, I just saw that 2011-11-03T01:56:22 someone might "die" oh no! 2011-11-03T01:56:33 I was like attack ... c'mon attack.... goddamn 2011-11-03T01:56:49 No one would die 2011-11-03T01:56:49 *** ccc_ has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-11-03T01:56:58 the front blue have so many blue behind them 2011-11-03T01:57:11 user`: yah, well what I was saying about testing your attacking code... 2011-11-03T01:57:19 Pretty cool 2011-11-03T01:58:14 *** Migi32 has quit IRC (Remote host closed the connection) 2011-11-03T02:01:36 aichallenge: janzert epsilon * r8cc55a1 / worker/compiler.py : Fix Ada compilation - http://git.io/hQp7Cg 2011-11-03T02:03:00 *** bobbydroptable has quit IRC (Quit: This computer has gone to sleep) 2011-11-03T02:05:16 I'm not _too_ far from implementing a frankenstein'd collaborative diffusion. 2011-11-03T02:06:34 *** Palmik has joined #aichallenge 2011-11-03T02:06:38 Probably should have titled it "anti-object" as that is the part of the paper that was being shown off more than the collaborative diffusion 2011-11-03T02:06:39 oh well 2011-11-03T02:07:31 Well, that part I've got down pat 2011-11-03T02:09:13 Do the ants see in a circle? 2011-11-03T02:10:02 *** roflmao has left #aichallenge 2011-11-03T02:10:27 Hit one of the buttons on the left in the visualizer, show you their field of view 2011-11-03T02:10:51 *** ecarpenter84 has quit IRC (Quit: Page closed) 2011-11-03T02:10:52 Ok, so about 8 squares in from of it? 2011-11-03T02:11:11 in a circle, not a square.. 2011-11-03T02:15:13 *** Nakyuant has joined #aichallenge 2011-11-03T02:15:42 *** djr_ has quit IRC (Quit: Leaving) 2011-11-03T02:16:02 *** bobbydroptable has joined #aichallenge 2011-11-03T02:23:08 *** tmandry has joined #aichallenge 2011-11-03T02:23:08 *** tmandry has joined #aichallenge 2011-11-03T02:24:55 aichallenge: Ralph Versteegen epsilon * r878a6fa / worker/compiler.py : 2011-11-03T02:24:55 aichallenge: Support for compiling Python and Python3 extension modules. 2011-11-03T02:24:55 aichallenge: The modules should be described using a standard Setup file. Each line of the file describes an extension, eg. 2011-11-03T02:24:55 aichallenge: my_extension my_extension.c somelib.cpp - http://git.io/lDuiYQ 2011-11-03T02:24:55 aichallenge: Ralph Versteegen epsilon * r98d7033 / worker/compiler.py : Rename Setup to Setup_exts - http://git.io/HZCswA 2011-11-03T02:24:55 aichallenge: janzert epsilon * rb88f97f / worker/compiler.py : Lower case python extension setup filename (setup_exts) - http://git.io/dMSiFA 2011-11-03T02:26:24 oh shit, it's the CIA 2011-11-03T02:28:11 *** bonbondirac has quit IRC (Quit: Page closed) 2011-11-03T02:28:49 *** wombot_ has joined #aichallenge 2011-11-03T02:31:29 *** Harpyon has joined #aichallenge 2011-11-03T02:37:33 *** thestinger has joined #aichallenge 2011-11-03T02:38:15 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-03T02:39:02 * cyphase triggers security protocols 2011-11-03T02:39:14 they won't get anything 2011-11-03T02:41:10 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-03T02:41:21 wow BFS is turning out to be blistering fast 2011-11-03T02:42:06 interesting behaviour though 2011-11-03T02:42:27 *** ecarpenter84 has joined #aichallenge 2011-11-03T02:42:45 I'm getting all kinds of ideas of what to bolt on BFS 2011-11-03T02:42:50 is there a common bug that stops ants from wrapping aroudn the map. my ants treat it like a wall 2011-11-03T02:43:24 You need to use modulo or the ants.distance that wraps for you 2011-11-03T02:44:18 *** Jak_o_Shadows has quit IRC (Ping timeout: 256 seconds) 2011-11-03T02:45:06 im using only ants.destination 2011-11-03T02:45:15 does ants.destination have a bug with the walls 2011-11-03T02:45:18 borders* 2011-11-03T02:45:58 ants.destination doesn't tell you anything about walls 2011-11-03T02:46:20 oh borders 2011-11-03T02:46:23 if you give it a command south 2011-11-03T02:46:26 errr no problems in python 2011-11-03T02:46:30 will it return the warparound destination 2011-11-03T02:46:34 yes 2011-11-03T02:46:51 *** Harpyon has quit IRC (Quit: Computer has gone to sleep.) 2011-11-03T02:47:09 i wonder whats wrong then 2011-11-03T02:47:15 75%75 = 0 so it wraps around 2011-11-03T02:47:18 is it crashing or just not moving across? 2011-11-03T02:48:05 they stop at the edge 2011-11-03T02:48:16 and you're sure the command is being given? 2011-11-03T02:48:35 actually they only stop at the edge when im messing with the maps 2011-11-03T02:48:36 one sec 2011-11-03T02:49:04 *** ltriant has quit IRC (Quit: Computer has gone to sleep) 2011-11-03T02:49:46 OMG 2011-11-03T02:49:52 This is so AWESOME 2011-11-03T02:50:08 my ants explore the entire map in 200 turns WOOHOO 2011-11-03T02:50:25 so happy 2011-11-03T02:58:16 *** Nare_man has joined #aichallenge 2011-11-03T02:58:34 hey hey.. somebody in the channel? 2011-11-03T02:58:53 lots :) 2011-11-03T02:58:59 plenty 2011-11-03T02:59:05 hehe :) cool 2011-11-03T02:59:31 i have a question about the lack of documentation ^^ 2011-11-03T02:59:34 anyways 2011-11-03T02:59:40 i cant get the testbot running 2011-11-03T02:59:43 :( 2011-11-03T02:59:56 trying to use the php bot 2011-11-03T03:00:17 perhaps somebody can point me in the right direction? 2011-11-03T03:00:40 don't use php. \joke :) 2011-11-03T03:00:45 There's decent tutorials for Java and Python on the website 2011-11-03T03:01:33 python works ok 2011-11-03T03:01:53 the play one game.cmd does work 2011-11-03T03:02:07 but when I try to do a test_bot.cmd with a php file 2011-11-03T03:02:17 it either crashes.. or i get a Failed to start 2011-11-03T03:02:43 *** Nakyuant has quit IRC (Quit: Page closed) 2011-11-03T03:02:52 and saying that %1 is not a valid Win32 Application 2011-11-03T03:04:28 hmmm i'm not sure how the php bot works... does it need an apache server? 2011-11-03T03:04:59 no, you can run php as a commandline scripting language 2011-11-03T03:05:38 i've used it for e.g. a farmville bot since php is the only language which supports flash object protocols correctly 2011-11-03T03:06:11 hmmz.. will try some other stuff then :) 2011-11-03T03:06:13 thnx for the ideas 2011-11-03T03:06:15 (i am now banned from all zynga games as a result) 2011-11-03T03:06:22 lol, farmville bot XD 2011-11-03T03:07:08 i found out the server didn't check for overlapping farm plots, so i had over 9000 strawberries stacked up in one spot which caused their process to run out of memory 2011-11-03T03:07:12 a1k0n: wait... does that mean you also don't get invites to their shitty games? because if so, i am SO going to write a farmville bot to get banned! 2011-11-03T03:07:27 bqf: oh i still get those, it just shows me a 404 when i click on them 2011-11-03T03:08:31 well, too bad. :/ 2011-11-03T03:09:06 lol 2011-11-03T03:10:03 if i execute: ./test_bot.cmd sample_bots/php/RandomBot.php 2011-11-03T03:10:22 it throws a: %1 is not a valid Win32 application 2011-11-03T03:10:25 error 2011-11-03T03:10:33 (windows error 193) 2011-11-03T03:10:34 i was doing range (1,col) 2011-11-03T03:10:38 which was off by one error 2011-11-03T03:10:44 cuz its range 0, col 2011-11-03T03:10:52 they pass through the borders fine now 2011-11-03T03:11:08 Is that why they wouldn't wrap? 2011-11-03T03:11:13 Nare_man: you may need to run it as "php sample_bots/php/RandomBot.php" 2011-11-03T03:11:15 yes 2011-11-03T03:11:21 cuz the edge is 0 2011-11-03T03:11:22 provided php is in your path of course 2011-11-03T03:11:29 Nare_man do you have apache_mod and mod_php? 2011-11-03T03:11:30 and i was only considering 1,43 etc 2011-11-03T03:11:41 so it was treading the border like a wall 2011-11-03T03:11:42 user`: yes 2011-11-03T03:11:43 *** tmandry has quit IRC (Ping timeout: 260 seconds) 2011-11-03T03:11:46 a1k0n: will try 2011-11-03T03:12:09 you don't need apache to run php :\, you need php 2011-11-03T03:15:02 a1k0n: you were spot on! 2011-11-03T03:15:05 thnx for the help 2011-11-03T03:15:26 np 2011-11-03T03:15:30 .\test_bot.cmd "php sample_bots/php/RandomBot.php" 2011-11-03T03:15:33 works :D 2011-11-03T03:15:54 *** ikaros has joined #aichallenge 2011-11-03T03:16:34 for fluxid which # of rounds should i put 2011-11-03T03:16:43 *** wose has quit IRC (Read error: Connection reset by peer) 2011-11-03T03:17:03 how many do you want to play? :P 2011-11-03T03:17:25 ah ok 2011-11-03T03:18:42 hopefully now that i wrap correctly play_one_game.sh will actually work for me 2011-11-03T03:19:36 whats a good way besides the playonegame and tutorial.sh to test my bot locally 2011-11-03T03:19:41 aichallenge: janzert epsilon * reaff17d / (sql/2_generate_matchup.sql sql/opponent.sql): simplify user count query - http://git.io/H6--LA 2011-11-03T03:20:29 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-11-03T03:21:18 tutorial.cmd :p 2011-11-03T03:21:18 ecarpenter84: playgame lets you pick a map/enemy bots, you could also use the tcp server to play against other people without waiting 6 hours between battles 2011-11-03T03:21:48 *** Cali_ has joined #aichallenge 2011-11-03T03:22:01 the sample bots are pretty useless and basically just fill a game slot :P 2011-11-03T03:22:16 making your bot play against itself is useful 2011-11-03T03:22:52 is there a single line command for that 2011-11-03T03:23:16 just pass the command to start your bot more than once 2011-11-03T03:23:18 Is it a wise idea to create an Ant class to represent the ants rather than just using the locations 2011-11-03T03:23:21 instead of using a sample bot or w/e 2011-11-03T03:23:47 rounds is number of matches? 2011-11-03T03:23:53 or number of turns 2011-11-03T03:24:22 i was thinking turns and i set it to 200 and it went past 200. So i closed my terminal and now i cant reconnect 2011-11-03T03:24:42 As I want to be able to store a best path to a location for a specific ant 2011-11-03T03:25:39 ecarpenter84: number of matches to play 2011-11-03T03:25:53 closing my terminal doesnt undo that i guess? 2011-11-03T03:26:22 you caused your bot to time out in that game, you probably have to wait until it finishes before the server gives you another 2011-11-03T03:26:34 ok 2011-11-03T03:27:23 *** xar0l has quit IRC (Ping timeout: 265 seconds) 2011-11-03T03:27:38 *** delt0r__ has quit IRC (Read error: Operation timed out) 2011-11-03T03:27:49 Cali_: It's a perfectly sound design choice. 2011-11-03T03:28:34 ants.fluxid.pl isn't working for me now 2011-11-03T03:29:05 i may have odne the same thing 2011-11-03T03:29:15 Thank you. Also does the default ants from the starter package save water locations you discover, or is that knowledge forgotten once it isnt visible any more 2011-11-03T03:29:35 it saves it in the C++ one at least 2011-11-03T03:29:49 Cali_: Every start package should do that 2011-11-03T03:29:57 Since water is never sent to you again 2011-11-03T03:30:01 on the tutorial maps my bots do fine. on any other script in my tools dir they dont move 2011-11-03T03:30:04 tutorial map* 2011-11-03T03:30:06 a1k0n: Fluxid's server ran into the open file limit before due to a socket leak or something in the tcp server, so maybe it happened again 2011-11-03T03:30:15 doh 2011-11-03T03:30:36 so before you start your first turn you know all water locations? 2011-11-03T03:30:44 a1k0n: oh, it's working for me now 2011-11-03T03:30:46 thestinger: it certainly did it again 2011-11-03T03:30:56 restarted 2011-11-03T03:30:59 heh, thx 2011-11-03T03:34:30 Cali_: No, you only know where they are the first time you see them. Then they are never sent again. 2011-11-03T03:34:32 http://pastie.org/2803186 :P 2011-11-03T03:35:08 hopefully it works now... 2011-11-03T03:36:15 *** Cyb has joined #aichallenge 2011-11-03T03:37:09 Thanks a lot Krishna 2011-11-03T03:38:01 Sure 2011-11-03T03:38:45 *** Fandekasp has quit IRC (Ping timeout: 258 seconds) 2011-11-03T03:38:52 so combining heuristic scores together may actually lead to blackspots where ants just loop infinitely or can't decide what to do ==" 2011-11-03T03:39:08 hmmm 2011-11-03T03:39:20 *** Fandekasp has joined #aichallenge 2011-11-03T03:39:36 hm so in the options --food none is obviously wrong for any map but tutorial 2011-11-03T03:39:39 but what should i put there 2011-11-03T03:39:54 symmetric 2011-11-03T03:40:09 @settings 2011-11-03T03:40:10 bobbydroptable: settings could be http://aichallengebeta.hypertriangle.com/game_settings.php. 2011-11-03T03:40:23 http://aichallenge.org/game_settings.php 2011-11-03T03:40:24 there you go 2011-11-03T03:40:32 http://aichallengebeta.hypertriangle.com/game_settings.php. 2011-11-03T03:40:36 oops 2011-11-03T03:42:40 This is a bit more difficult to modify to to be able to handle different weights/falloffs for different goals than I first imagind. Very proper. 2011-11-03T03:42:45 *** delt0r__ has joined #aichallenge 2011-11-03T03:43:46 It's simple, what could go wrong. 2011-11-03T03:45:19 @rpn 200 4 ** 16 * 1000 / 1000 / 2011-11-03T03:45:19 thestinger: 25600 2011-11-03T03:45:28 more memory plox :( 2011-11-03T03:46:10 *** wombot_ has quit IRC (Quit: ChatZilla 0.9.87 [SeaMonkey 2.4.1/20110928161145]) 2011-11-03T03:47:28 on flux if im sending a whole list of comamdns each turn that means im not doing too bad right 2011-11-03T03:47:34 like those are my ants 2011-11-03T03:47:35 @settings 2011-11-03T03:47:36 janzert: settings could be http://aichallenge.org/game_settings.php. 2011-11-03T03:48:03 *** FastEddie_ has joined #aichallenge 2011-11-03T03:48:27 hm 2011-11-03T03:48:39 *** HaraKiri has joined #aichallenge 2011-11-03T03:48:45 so if you move onto an opponent's hill and he spawns an ant there the next turn your ant dies? 2011-11-03T03:48:46 sweet 2011-11-03T03:49:07 i didnt win or anything because i didnt implement defense 2011-11-03T03:49:13 a1k0n: yep 2011-11-03T03:49:13 but my bots explored and ate pretty well 2011-11-03T03:49:19 dammit 2011-11-03T03:49:41 http://ants.fluxid.pl/replay.18282 2011-11-03T03:49:43 a1k0n: a hill is perfectly defended if there are ants in the hive and the player leaves an ant sitting on the hill 2011-11-03T03:49:54 until the hive empties at least :) 2011-11-03T03:50:01 yeah 2011-11-03T03:50:08 now i see why the top bots wait for it to empty out 2011-11-03T03:50:18 hehe 2011-11-03T03:51:13 *** Nare_man has quit IRC (Quit: Page closed) 2011-11-03T03:51:53 *** Zaphus has joined #aichallenge 2011-11-03T03:51:59 *** ecarpenter84 has quit IRC (Quit: Page closed) 2011-11-03T03:55:26 *** Murashka has joined #aichallenge 2011-11-03T03:56:03 *** Cyb has quit IRC (Ping timeout: 252 seconds) 2011-11-03T03:58:48 *** meatroaf_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T03:59:16 my suicidal situation avoidance is occasionally resulting in something resembling combat :P 2011-11-03T03:59:43 *** ztfw has joined #aichallenge 2011-11-03T03:59:54 *** Cali_ has quit IRC (Quit: Page closed) 2011-11-03T04:00:07 http://ants.fluxid.pl/replay.18293 <- look at the little battle with pink here @ around turn 135 (I'm yellow) 2011-11-03T04:00:53 strcat_next has a less buggy version of the heuristic but it didn't help much in that game 2011-11-03T04:01:23 1.2 games per minute >_< 2011-11-03T04:03:59 looks good strcat 2011-11-03T04:05:04 yeah, it isn't really combat yet but it helps 2011-11-03T04:05:15 my ants just won't move into a location where they're just going to die 2011-11-03T04:05:23 unless it's a 1 to 1 battle 2011-11-03T04:05:50 how do you calculate the chance of survival? by looking at the number of enemy ants near the combat radisu and comparing it with your own amount of ants in the vicinity? 2011-11-03T04:06:35 yeah - it's a per ant heuristic right now though, so terrible things can still happen 2011-11-03T04:07:17 if you look in the top games there are many stalemates.. where you can actually see that one side has a larger force behind it and could push through 2011-11-03T04:07:36 so IMO there are sometimes playing it too safe 2011-11-03T04:07:39 *** scribble has left #aichallenge 2011-11-03T04:08:07 yeah, I intentionally left it so that they'll still go into a 2v2 or a 1v1 situation 2011-11-03T04:08:34 if I had game trees or something like that I might be more cautious but it would ruin my ability to attack a hill if I did it now 2011-11-03T04:09:36 i understand yeah 2011-11-03T04:10:03 right now I assume the enemies are all going to stay where they are, so it's not bad when facing off against cautious enemy ants 2011-11-03T04:10:34 if they have no combat code or they are aggressive, it doesn't really help but it doesn't hurt either 2011-11-03T04:12:53 I need to improve my movement a bit now - atm I only move to tiles that are closer to the target, I'll add some heuristics that allow moving to ones that are the same distance next 2011-11-03T04:13:01 *** tmandry has joined #aichallenge 2011-11-03T04:13:01 *** tmandry has joined #aichallenge 2011-11-03T04:13:13 there are probably not enough resources to simulate the outcome of multiple battles before attacking 2011-11-03T04:13:24 http://ants.fluxid.pl/replay.18305 <- around turn 90 in this game you can see that they won't fan out yet if they are blocked 2011-11-03T04:14:14 i see yes but they are surrounding the hill thats pretty nice already 2011-11-03T04:14:40 im thinking of letting my ants flock before attacking 2011-11-03T04:14:47 *** Zaphus has quit IRC (Quit: Page closed) 2011-11-03T04:22:18 *** cbad has quit IRC (Ping timeout: 260 seconds) 2011-11-03T04:23:58 oh well, I've at least defeated those hill defense formations 2011-11-03T04:24:15 http://ants.fluxid.pl/replay.18320 2011-11-03T04:25:47 thestinger i don't see any hill defense? 2011-11-03T04:25:48 lol 2011-11-03T04:26:10 orange puts 4 ants around his hill 2011-11-03T04:26:16 my ants used to line up and walk to their death :P 2011-11-03T04:26:17 that's hardly much of a defense 2011-11-03T04:26:22 ah i see 2011-11-03T04:26:37 well, the code would work on an elaborate 20 ant defense too, as long as it stays fairly static 2011-11-03T04:26:38 it does defend against random sneaky scouts 2011-11-03T04:27:00 nice 2011-11-03T04:27:11 my sneaky scouts will just find the hill and kill one of the corner ants or wait for reinforcements now 2011-11-03T04:27:30 *** Blkt has joined #aichallenge 2011-11-03T04:28:05 they're still too stupid to run away though :P 2011-11-03T04:29:38 *** cbad has joined #aichallenge 2011-11-03T04:29:38 *** cbad has joined #aichallenge 2011-11-03T04:31:55 *** AVAVT has joined #aichallenge 2011-11-03T04:32:02 I don't think I'm going to bother with defense yet because the bots I lose to are usually smart enough to kill it off from the weak points with 2 of their ants 2011-11-03T04:34:14 *** user` has left #aichallenge ("Killed buffer") 2011-11-03T04:34:31 *** aerique has joined #aichallenge 2011-11-03T04:34:58 well you're doing better then i am :D 2011-11-03T04:35:55 my current version on the official site actually got to rank 61 and it has no idea there are even enemy ants on the map :) 2011-11-03T04:36:37 sometimes I get lucky and find their hill before they find mine basically 2011-11-03T04:36:59 the bots that try to defend will have a disadvantage against me now unless they minimax it or something 2011-11-03T04:38:38 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-03T04:44:02 track all the informtion :D 2011-11-03T04:46:46 so i'm on this tcp server thing 2011-11-03T04:46:50 how do i know when my bot has played a game? 2011-11-03T04:47:28 you can watch here: http://ants.fluxid.pl/, or the page specific to your name (like http://ants.fluxid.pl/player/strcat) 2011-11-03T04:47:44 oh oh oh omg its playing! 2011-11-03T04:47:44 *** epicmonkey has joined #aichallenge 2011-11-03T04:48:06 and its not moving lol. yeh i kinda expected that 2011-11-03T04:48:29 Awesome, got my ants to decluster 2011-11-03T04:48:36 what I do now is use two bots on the tcp server - strcat and strcat_next, so I can test big changes overnight when I'm asleep 2011-11-03T04:48:50 cool 2011-11-03T04:49:44 how do you get them to fight eachother on the server? or is that just by chance? 2011-11-03T04:50:18 by chance - I mostly just check their rank and look at the games though 2011-11-03T04:50:30 I make them play against each other locally too 2011-11-03T04:50:38 I want to see how they do against other bots though 2011-11-03T04:51:51 for example, right now strcat is my current version and I'll test the new code I'm about to write on strcat_next 2011-11-03T04:53:16 lol i got wiped! 2011-11-03T04:53:23 nice yeah 2011-11-03T04:53:25 oh i think it crashed 2011-11-03T04:53:29 wonderful ==" 2011-11-03T04:53:34 on the official server you can't do that because you're only allowed one account 2011-11-03T04:54:23 I don't play enough games on the official server to get any meaningful data anyway :P 2011-11-03T04:55:31 *** sigh has joined #aichallenge 2011-11-03T04:56:29 *** epicmonkey has quit IRC (Ping timeout: 240 seconds) 2011-11-03T04:58:38 *** jezuz has joined #aichallenge 2011-11-03T05:00:10 good morning everyone 2011-11-03T05:00:30 Morning 2011-11-03T05:02:07 :D 2011-11-03T05:03:07 *** tmandry has quit IRC (Ping timeout: 260 seconds) 2011-11-03T05:03:08 *** jezuz` has quit IRC (Ping timeout: 276 seconds) 2011-11-03T05:05:31 *** sigh_ has joined #aichallenge 2011-11-03T05:08:26 *** theskumar has joined #aichallenge 2011-11-03T05:08:29 *** antimatroid1 has joined #aichallenge 2011-11-03T05:08:29 *** sigh has quit IRC (Ping timeout: 240 seconds) 2011-11-03T05:08:37 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 240 seconds) 2011-11-03T05:08:55 *** antimatroid has quit IRC (Read error: Connection reset by peer) 2011-11-03T05:11:24 *** mlmnl has joined #aichallenge 2011-11-03T05:13:00 *** marijnfs has joined #aichallenge 2011-11-03T05:14:08 question: does food spawn before or after ants move (ie, can an ant be blocked by food that it didn't know about)? if not, what happens to food that should be spawned when an ant is on top of it? 2011-11-03T05:14:50 mlmn1: if a food was supposed to spawn but an ant is blocking it, it waits until the space is clear, from memory. 2011-11-03T05:20:59 *** ikaros has joined #aichallenge 2011-11-03T05:22:38 is there anyway for me to "challenge" someone? There's a friend I know queuing and I want to try out my bot against his :) 2011-11-03T05:23:46 *** Fandekasp has quit IRC (Ping timeout: 255 seconds) 2011-11-03T05:23:46 send each other a compiled or obfuscated (as appropriate) version of your bot and run locally 2011-11-03T05:24:10 @tcp 2011-11-03T05:24:11 thestinger: tcp could be http://ants.fluxid.pl/howto. 2011-11-03T05:24:29 ^ if you both use that you'll end up fighting each other (and a few other bots) a lot 2011-11-03T05:24:47 Wasn't there another tcp server? 2011-11-03T05:25:02 yeah, and it's open source code so you could host one yourself for you and your friend(s) 2011-11-03T05:25:08 *** Fandekasp has joined #aichallenge 2011-11-03T05:25:22 My poor little vps would crash and burn. 2011-11-03T05:25:52 I thought there was another user who was sharing theirs to everyone like fluxid is 2011-11-03T05:26:15 sec, I have it in a Makefile 2011-11-03T05:26:37 http://ash.webfactional.com/ 2011-11-03T05:26:52 SharkMonkey: why wouldn't your vps handle it? the tcp server shouldn't require much resources? 2011-11-03T05:26:55 doesn't look active anymore 2011-11-03T05:26:56 thestinger, thanks 2011-11-03T05:27:35 @later tell ChrisH you're not allowed to ever resubmit, currently your user_id = 10 and submission_id = 10 :) 2011-11-03T05:27:35 janzert: Job's done. 2011-11-03T05:28:03 Minthos, I'm also running my bots from the server. My poor little netbook was melting :) 2011-11-03T05:29:00 And the fan won't shut up :( 2011-11-03T05:29:04 I'm running a constant stream of battles of my old version v my new version locally, and running both on the tcp server 2011-11-03T05:29:26 and also a constant test against 7 dumb sample bots with a really low turntime to test for timeouts :P 2011-11-03T05:29:32 my room is really hot :) 2011-11-03T05:30:13 Better than mining bitcoin :) 2011-11-03T05:30:16 when testing against the sample bots on a big map I sometimes reach 400+ ants 2011-11-03T05:30:59 Maybe that means your bot needs to be more aggressive though 2011-11-03T05:31:17 it's mostly b/c it swarms a hill as soon as it finds one 2011-11-03T05:31:22 and it's an 8 player multi-hill maze map 2011-11-03T05:31:31 the tcp server means I can play with other players without having to wait 4 hours for the next game right? cool :) 2011-11-03T05:32:06 AVAVT: exactly :) 2011-11-03T05:32:17 yeah, you pretty much get a new game as soon as the current one ends - and you can run as many bots on it (under different names) as you want (unlike the official server) 2011-11-03T05:32:20 AVAVT, People have been complaining about 6-8 hour delays 2011-11-03T05:32:43 how many games per minute does the tcp server run 2011-11-03T05:33:21 I don't think there's a limit on the number of threads for games 2011-11-03T05:33:31 pairofdice: it can handle a lot, but that's because it doesn't need to run the bots 2011-11-03T05:33:40 there's a reason the official server is so slow 2011-11-03T05:33:49 and since the bots aren't running on it, it basically runs as many as needed - all the bots are pretty much always in a game 2011-11-03T05:33:56 Hurray for distributed systems. 2011-11-03T05:34:01 ah, right, there's also a reason it's called a tcp server 2011-11-03T05:35:05 I actually drive the commands back and forth in my honda. 2011-11-03T05:35:18 < SharkMonkey> My poor little vps would crash and burn. ← tcp server is the least resource-hungry service on my server right now 2011-11-03T05:35:33 except for the file descriptor leak :P 2011-11-03T05:36:00 haha I just noticed that fluxid is the name of a bot on the main server xD 2011-11-03T05:36:36 So is avavt :) 2011-11-03T05:36:36 the TCP client also seems to leave hanging processes 2011-11-03T05:36:59 oh I mean fluxid, as in the tcp server name, not IRC :P 2011-11-03T05:38:50 yay for cleaning up my codebase, down from 1400 lines to 1000 from refactoring 2011-11-03T05:39:32 AVAVT: it never occurred to you that fluxid is hosting the tcp server /and/ participating in the tournament? 2011-11-03T05:39:39 I have lot of old commented out cruft in my bot code 2011-11-03T05:39:50 AVAVT: i could use other domain, but meh 2011-11-03T05:39:58 yeah, about 30% of those lines are #if 0'ed 2011-11-03T05:40:29 I could just delete them because I'm using git but it like switching the code on/off for debugging 2011-11-03T05:40:38 oops, hit enter while editing that line xD 2011-11-03T05:41:13 I'll try again: I could just delete them because I'm using git, but it's mostly debugging code I'm switching on/off* 2011-11-03T05:41:16 *** Da_Blitz has quit IRC (Read error: Connection reset by peer) 2011-11-03T05:41:16 AVAVT: but that would be great: having tcp server hosted and special AI which learns from replays on it, and then submit it as standalone fully learned ai bot to main server ;) 2011-11-03T05:41:41 *** Da_Blitz has joined #aichallenge 2011-11-03T05:41:43 *** Jak_o_Shadows has joined #aichallenge 2011-11-03T05:42:55 *** antimatroid1 has quit IRC (Ping timeout: 258 seconds) 2011-11-03T05:42:56 *** antimatroid has joined #aichallenge 2011-11-03T05:44:09 Fluxid : someone suggested me to check out this channel for good info, and seems like he was right. Your tcp is certainly a great idea :) 2011-11-03T05:44:33 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 245 seconds) 2011-11-03T05:44:50 *** theskumar has left #aichallenge 2011-11-03T05:46:00 AVAVT: i hosted it because the existing one was slow, and do it became popular. code is not mine nor is idea 2011-11-03T05:47:20 *** antimatroid has quit IRC (Ping timeout: 256 seconds) 2011-11-03T05:48:51 *** antimatroid has joined #aichallenge 2011-11-03T05:50:36 heading towards 5000 submissions 2011-11-03T05:52:15 i'm the 1% 2011-11-03T05:52:34 get 'im! 2011-11-03T05:52:35 Occupy AI-Challenge? 2011-11-03T05:52:52 :) 2011-11-03T05:53:25 people are doing the whole occupy thing in australia now which is retarded 2011-11-03T05:53:29 we have it so bloody good here 2011-11-03T05:54:24 enough space to live and if you're hungry you can drive your car into a kangaroo and put it on the barbie 2011-11-03T05:55:09 *** hexren has joined #aichallenge 2011-11-03T05:56:31 antimatroid oh gosh tell me about it 2011-11-03T05:57:23 they don't even have a clear message, i think most people are protesting or whatever just to protest 2011-11-03T05:57:24 the people at occupy (au) are barely representative of the local demographic at all. 2011-11-03T05:57:28 exactly! 2011-11-03T05:58:21 "give us more money!", "erm, from where?", "what?" /facepalm 2011-11-03T05:58:35 you've got the anti-israeli crowd, mixed in with the refugee sympathizers, the miners complaining about mining tax, some random people complaining about carbon tax, and people supporting the carbon tax 2011-11-03T05:59:30 disregard all the logic! 2011-11-03T05:59:34 i don't even think any of them are there regarding the fact that australia is signing away citizen privacy thanks to ACTA 2011-11-03T05:59:56 what's that? :P 2011-11-03T06:00:06 ACTA? anti-counterfeit trade agreement 2011-11-03T06:00:14 Let's not make this a politics channel 2011-11-03T06:00:16 i start to hate the world when i pay too much attention to politics 2011-11-03T06:00:23 yeh i do too :( 2011-11-03T06:00:23 SharkMonkey: sorry :P 2011-11-03T06:00:35 occupy(0,0) 2011-11-03T06:00:42 hehe 2011-11-03T06:00:50 Occupy enemy_hive[0] 2011-11-03T06:01:36 :) 2011-11-03T06:03:17 SIGKILL is the one that will cause a program to die no matter what right? 2011-11-03T06:03:29 I'm wondering why the tcp client isn't killing my bot, on end 2011-11-03T06:03:49 yeah, SIGTERM is the polite version iirc 2011-11-03T06:04:40 When I send a SIGTERM from the commandline my bot quietly goes away. 2011-11-03T06:04:55 SharkMonkey: "no matter what" is a bit of a simplification, as you can be wedged inside an uninterruptible syscall. 2011-11-03T06:04:58 Why won't it respond to the bot.kill() from tcpclient.. 2011-11-03T06:05:08 (borken hardware and drivers love to cause that) 2011-11-03T06:05:28 Well I don't that that's the issue here. 2011-11-03T06:05:33 Of course not. 2011-11-03T06:05:35 SharkMonkey: what state is your bots process after it supposed to have been killed? 2011-11-03T06:05:40 Tangents is my middle name :D 2011-11-03T06:05:53 Zao, I appreciate them :) 2011-11-03T06:06:02 janzert, Just reading from stdin 2011-11-03T06:06:32 if they are becoming zombies then most likely the tcpclient script isn't reading the result code so the OS can close the process completely 2011-11-03T06:06:47 Looks like it closes the socket before calling kill. Would that be the problem? 2011-11-03T06:07:42 *** olexs has joined #aichallenge 2011-11-03T06:07:50 No, that's the tcp socket 2011-11-03T06:08:13 *** smoke_carrot has quit IRC (Quit: leaving) 2011-11-03T06:09:42 *** mviel__ has joined #aichallenge 2011-11-03T06:10:01 does ps -Al | grep "botname" second column show S, Z or somethinge else? 2011-11-03T06:10:15 that's a small L btw 2011-11-03T06:10:34 I see an R 2011-11-03T06:11:25 hmm, that means your bot is actively running (consuming processor cycles) so it's not just waiting for input on stdin 2011-11-03T06:11:43 maybe looping on constant EOF from stdin? 2011-11-03T06:13:17 *** mviel_ has quit IRC (Ping timeout: 240 seconds) 2011-11-03T06:13:28 janzert, Yeah, must be. It's growing in ram usage 2011-11-03T06:13:43 Filling up the input buffer 2011-11-03T06:16:47 *** j1o1h1n has joined #aichallenge 2011-11-03T06:17:32 how do specify unlimited rounds on tcp again? 2011-11-03T06:17:33 janzert, Checking for EOF fixed it :) 2011-11-03T06:17:57 bobbydroptable: -1 2011-11-03T06:18:04 it just quits and doesn't run :( 2011-11-03T06:18:25 oh, I think the ability to do that was removed in a new commit 2011-11-03T06:18:28 python tcpclient.py ants.fluxid.pl 2081 "python MyBot.py3" username pass -1 2011-11-03T06:18:36 oh so i just specify a really big number then 2011-11-03T06:18:46 I actually tweaked it a bit so it makes a run.lock file when it starts and if it's removed it won't start new games 2011-11-03T06:19:02 why? 2011-11-03T06:19:25 to prevent fluxid's server from dying? 2011-11-03T06:19:28 if you just do ctrl-c after a game it has often already entered a new game, and it will timeout on the first turn 2011-11-03T06:19:45 *** FastEddie_ has quit IRC (Quit: WeeChat 0.2.6) 2011-11-03T06:19:45 oh. 2011-11-03T06:19:59 that's not really much of an issue though, right? you just need the data, not the rank :) 2011-11-03T06:20:06 yeah :) 2011-11-03T06:20:26 *** ikaros_ has joined #aichallenge 2011-11-03T06:22:05 well my really crappy bot is officially on the prowl 2011-11-03T06:22:06 lol 2011-11-03T06:23:27 I've just been cleaning up my code and I've added 50 more things to my todo list xD 2011-11-03T06:23:30 *** moises has joined #aichallenge 2011-11-03T06:23:59 haha nice 2011-11-03T06:24:04 i don't think i work too much more on this 2011-11-03T06:24:12 hope this will put up a decent fight 2011-11-03T06:24:14 top 100 maybe 2011-11-03T06:24:20 *** j1o1h1n has left #aichallenge 2011-11-03T06:24:21 then i got to go back to trying to make money 2011-11-03T06:24:44 *** j1o1h1n has joined #aichallenge 2011-11-03T06:25:07 *** j1o1h1n has left #aichallenge 2011-11-03T06:25:18 *** j1o1h1n has joined #aichallenge 2011-11-03T06:26:19 my pre-combat version is up to rank 53 now :D http://aichallenge.org/profile.php?user=2255 2011-11-03T06:26:48 nice 2011-11-03T06:28:11 it's doing a good job of not getting last place, which is somehow increasing the skill 2011-11-03T06:30:51 1000 lines and no combat? :) 2011-11-03T06:31:19 it's C++ 2011-11-03T06:31:29 anyway, the current version does have very primitive "combat" 2011-11-03T06:31:54 the version on the site is 2 days old, and I've done a lot of work since then 2011-11-03T06:34:54 *** j1o1h1n has quit IRC (Quit: Leaving.) 2011-11-03T06:36:02 I still haven't started writing any code relating to an actual bot... 2011-11-03T06:36:25 Except one which makes random moves to test the IO 2011-11-03T06:37:29 sloccount estimates my bot would take 26000 dollars to redevelop :), it's actually just 922 lines of C++ now that I refactored some more 2011-11-03T06:38:08 haha 2011-11-03T06:38:10 what so sloccount? 2011-11-03T06:38:18 i hate to think how much time i spent on my planet wars bot 2011-11-03T06:38:29 I guess that it vastly over-estimates the value of small programs 2011-11-03T06:38:45 my bot is doing surprisely ok 2011-11-03T06:38:54 *** AVAVT has quit IRC (Quit: Page closed) 2011-11-03T06:39:11 antimatroid: http://www.dwheeler.com/sloccount/, it's in my distro's repos so I just installed that 2011-11-03T06:39:46 wonder if i can boil my bot down to a couple of parameters, i could maybe implement some sort of learning to find the best parameters... 2011-11-03T06:39:47 you have to copy your files to a new directory though or it counts all the AI challenge tools and the engine 2011-11-03T06:40:27 i keep that stuff separate anyway :P 2011-11-03T06:40:41 it recursively looks through a directory though 2011-11-03T06:40:42 i need to be able to pull from and push to git and i'm not very good with it :P 2011-11-03T06:40:57 it says the ai challenge tools would take 200k to redevelop xD 2011-11-03T06:40:59 Mine is cheap, 500 lines of haskell code is only 13k of developer time 2011-11-03T06:41:21 i need to go get a job 2011-11-03T06:41:22 http://sprunge.us/dSHN 2011-11-03T06:41:26 i'm a poor uni student aha 2011-11-03T06:41:40 apparently sloccount doesn't support D so it just reports 0 for my bot 2011-11-03T06:41:40 I wish I got paid as much as sloccount thinks it's worth :) 2011-11-03T06:41:48 well, i wont be technically in a week 2011-11-03T06:42:08 i'll be a poor unemployed person ehe 2011-11-03T06:42:17 programmers should demand to be paid based on sloccount estimates 2011-11-03T06:42:41 I think it actually works well for huge projects though 2011-11-03T06:43:05 Since you typically write very little actual new code.. 2011-11-03T06:43:31 i have a game theory library written from scratch :) 2011-11-03T06:43:36 Or spend most of your time navigating an absurd undocumented maze 2011-11-03T06:44:07 *** grandiose has joined #aichallenge 2011-11-03T06:44:09 *** grandiose has left #aichallenge 2011-11-03T06:44:16 linux 3.0 to 3.1 had 720k line insertions and 600k deletions for example 2011-11-03T06:44:31 so sloccount would just consider the 120k that were added as additional work :P 2011-11-03T06:44:39 *** grandiose has joined #aichallenge 2011-11-03T06:44:44 antimatroid: apply for google 2011-11-03T06:45:02 i might do so in a month or so... pending some other rl stuff... 2011-11-03T06:45:17 bobbydroptable: i'll start a phd next year if i can, otherwise go look for a job 2011-11-03T06:45:27 i'm going to ride across tasmania starting monday week 2011-11-03T06:45:51 (get a bus to devonport and ride back along the tasmanian trail :D) 2011-11-03T06:45:57 you crazy person why would you go there 2011-11-03T06:46:02 lol 2011-11-03T06:46:09 *** Murashka has quit IRC (Quit: Page closed) 2011-11-03T06:46:25 the the project I'm doing at work these days is ~2 weeks old and already has slocs worth 7 man-months of programming effort 2011-11-03T06:46:39 go where? 2011-11-03T06:46:49 tasmania 2011-11-03T06:46:53 I don't think that's entirely realistic for such a small and new project 2011-11-03T06:47:10 or a project that never gets refactored 2011-11-03T06:47:24 I guess it's a fair assumption that it underestimates greatly the ease of writing entirely new code.. 2011-11-03T06:47:32 i have lived in tasmania my whole life :P 2011-11-03T06:47:57 *** savaron has joined #aichallenge 2011-11-03T06:48:00 tassie is awesome, i would live here my whole life if there were job options 2011-11-03T06:50:06 bring a laptop with internet and solar panels 2011-11-03T06:50:16 work as a programmer 2011-11-03T06:50:38 work anywhere! 2011-11-03T06:50:54 (well, anywhere with sun of course).. 2011-11-03T06:51:30 huh okay so i'm losing again 2011-11-03T06:51:31 lo 2011-11-03T06:52:05 i'm sick of being programmer ==" 2011-11-03T06:52:26 what's your bot's name on the tcp server? 2011-11-03T06:54:47 its horrid don't even look 2011-11-03T06:54:49 lol 2011-11-03T06:55:29 tcp always has stronger bots than main server 2011-11-03T06:55:44 on average 2011-11-03T06:56:02 yeh i figured 2011-11-03T06:56:08 i still have some pathfinding problems 2011-11-03T06:56:17 yeah and the rank is meaningless 2011-11-03T06:56:20 on the tcp server 2011-11-03T06:56:45 this will give me some good data, and i'll download the input files and figure out why my bots are doing the death shuffle 2011-11-03T06:58:27 *** mviel_ has joined #aichallenge 2011-11-03T06:58:44 oh, you're matthewd :P 2011-11-03T06:58:57 I bet you have some kind of bug with map wrapping, I had a similar problem before 2011-11-03T06:59:54 me? nope 2011-11-03T07:00:00 *** savaron has quit IRC (Quit: Page closed) 2011-11-03T07:00:07 my detective skills have failed me :( 2011-11-03T07:00:08 its a completely different name i just thought of. i thought it was rather clever 2011-11-03T07:00:32 i just played in the same game as you and matthewd :D 2011-11-03T07:01:19 lacking a defense heuristic lol 2011-11-03T07:01:51 I don't have any defense either, it turned out to be useless without game trees or something like that 2011-11-03T07:02:08 *** mviel__ has quit IRC (Ping timeout: 256 seconds) 2011-11-03T07:02:15 *** skunx has joined #aichallenge 2011-11-03T07:02:17 the better bots would just destroy my defenders with 2 ants 2011-11-03T07:04:46 yeh 2011-11-03T07:05:52 *** grandiose has quit IRC (Quit: Leaving.) 2011-11-03T07:06:00 *** conor_f has joined #aichallenge 2011-11-03T07:06:20 *** avdg1 has quit IRC (Quit: Leaving.) 2011-11-03T07:11:09 would someone mind explaining to me sets in C++? 2011-11-03T07:12:07 plain old is ordered, so the thing you're storing in it needs to implement < 2011-11-03T07:12:17 I want to use it like an associative array 2011-11-03T07:12:24 *** about_it has joined #aichallenge 2011-11-03T07:12:42 *** olexs has quit IRC (Quit: Leaving.) 2011-11-03T07:13:08 maybe I should be using a 2d vector... 2011-11-03T07:13:11 uses a hash (like python set()), so you need to implemented that for your class if it's not a built-in 2011-11-03T07:13:27 unordered sets have O(1) access 2011-11-03T07:13:51 ok, but afaik they're not standard and it'd mean I'd have to manually include it 2011-11-03T07:13:56 if you can use consecutive integers as keys, use a vector (so a 2d vector/array to represent the map) 2011-11-03T07:14:07 no, unordered_set is standard in C++11, which you can use 2011-11-03T07:14:17 oh :) 2011-11-03T07:14:18 maybe 2011-11-03T07:14:38 use -std=c++0x with g++/gcc and change the file extension of MyBot to .cpp instead of .cc (the server uses that to decide if it's C++11) 2011-11-03T07:14:54 http://aichallenge.org/language_profile.php?language=C%2B%2B11 :) 2011-11-03T07:15:14 *** hexren has quit IRC (Remote host closed the connection) 2011-11-03T07:15:15 hmm, an array of vectors? like int array[2][vector]; :P I somehow don't think my compiler would like that 2011-11-03T07:15:27 std::vector> map; 2011-11-03T07:15:42 ok, so it'd need to be a 2d vector 2011-11-03T07:15:56 and you need an extra space between the two '>' at the end if you don't have -std=c++0x turned on 2011-11-03T07:16:32 but this was the problem I was having, I want the first one to store ints and the second one Location structs 2011-11-03T07:16:50 so I'll need to use an unordered set? 2011-11-03T07:17:09 well, doesn't the location struct just have row/col? 2011-11-03T07:17:15 yeah 2011-11-03T07:17:33 you can just access the 2d vector like map[loc.row][loc.col] 2011-11-03T07:17:53 *** about_it has quit IRC (Quit: Page closed) 2011-11-03T07:18:01 ah, I think we're talking about different things. I never said what it was for 2011-11-03T07:18:25 I want it so I can store each ant as the key and it's destination location as the value 2011-11-03T07:18:41 not holding the entire board I've searched if thats what you were thinking 2011-11-03T07:18:45 ah 2011-11-03T07:19:43 sorry, should have said that in the beginning 2011-11-03T07:19:50 so unordered set it is? 2011-11-03T07:20:10 well, unordered set is just values (no keys/values) 2011-11-03T07:20:31 you want an unordered_map or map (those are key/value storage, like a python dict/ordered dict) 2011-11-03T07:20:42 thank you so much 2011-11-03T07:21:02 I was asking here yesterday what C++ data struct was most like a dict in py 2011-11-03T07:21:17 yeah, dict is a hash table so unordered_map is the same thing 2011-11-03T07:21:22 got set, should have been using maps :/ maybe I just picked it up wrong 2011-11-03T07:21:32 you need -std=c++0x for that, but you can use it now 2011-11-03T07:21:35 sweet, ok 2011-11-03T07:21:42 just modify the makefile 2011-11-03T07:21:57 yeah, that will let you use it locally, the server ignores the makefile though 2011-11-03T07:22:16 rename MyBot.cc to MyBot.cpp and the server will use -std=c++0x 2011-11-03T07:22:17 oh, so where do I change it on the server? Or just change it all to .cpp? 2011-11-03T07:22:24 cool, tyvm 2011-11-03T07:22:49 I guess you should change all of them, but I think it just checks MyBot's extension to see what to use 2011-11-03T07:23:00 *** retybok has quit IRC (Quit: leaving) 2011-11-03T07:23:20 ok, won't take long to change them all 2011-11-03T07:23:20 *** retybok has joined #aichallenge 2011-11-03T07:23:43 lol @myBot, once one ant sees some food, they all go for it :P 2011-11-03T07:23:54 conor_f mine has that problem too 2011-11-03T07:23:55 lol 2011-11-03T07:23:58 accidental swarming I suppose :P 2011-11-03T07:24:05 bobbydroptable: cool name :P 2011-11-03T07:24:12 hahaha thank you 2011-11-03T07:24:23 btw, I think you'll need to make your own hash function/functor thing for a non-primitive type as a key 2011-11-03T07:24:35 oh? 2011-11-03T07:24:50 you could just hash the row and append it to the hash of the col or something 2011-11-03T07:24:53 *** PeterS_ has joined #aichallenge 2011-11-03T07:24:55 can I not just declare it map 2011-11-03T07:24:56 ? 2011-11-03T07:25:28 thestinger: it's ok actually, I'd be using ints as the key and Location structs as the value 2011-11-03T07:25:33 Hello 2011-11-03T07:25:50 hi PeterS_ 2011-11-03T07:26:07 How much memory can my bot use? 2011-11-03T07:26:17 conor_f: you can get a unique integer value based on row and col 2011-11-03T07:26:19 Is there a limit 2011-11-03T07:26:19 ? 2011-11-03T07:26:36 1GB iirc 2011-11-03T07:27:04 You know if that is documented somewhere? I find it very hard to find things there... 2011-11-03T07:27:07 thestinger: in the starter kit for cpp, there's a for loop that iterates through all the ants 2011-11-03T07:27:17 I figured I could just use that value? 2011-11-03T07:27:32 I think the order will change every turn 2011-11-03T07:28:04 hmm, I could use (x_coord*10)+(y_coord) to give me a unique location 2011-11-03T07:28:20 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-03T07:28:31 row * map_width + col 2011-11-03T07:28:46 it's annoying that each ant isn't a class/struct :/ would have made things a lot easier (e.g. each ant have its own id) 2011-11-03T07:29:05 row * any_constant + col? :P 2011-11-03T07:29:32 any particular reason for using map_width? 2011-11-03T07:30:46 conor_f: i may be helpful with c++ questions 2011-11-03T07:30:59 i was doing an exam when you first started asking stuff yesterday so didn't respond :P 2011-11-03T07:31:10 antimatroid: heh, np :P 2011-11-03T07:31:31 I g2g dentist in a few so maybe I can annoy you later with questions :P 2011-11-03T07:31:33 conor_f: consider x=0, y=11 and x=1, y=1 for your c=10 proposal above. so no, not just any constant. (i have no idea what you're talking about since i didn't read the backlog, i just saw your "unique location" comment) 2011-11-03T07:31:44 *** pairofdice has quit IRC (Quit: Just keep breathing) 2011-11-03T07:31:58 bqf: damn, you're right :/ 2011-11-03T07:32:12 conor do you know how to use sets yet? googling "object c++" usually comes up with a good reference page for functions 2011-11-03T07:32:56 I spent a good while searching yesterday. was looking for some example code or something. the best I found was on cplusplus.com which wasn't too helpfuul 2011-11-03T07:32:59 *helpful 2011-11-03T07:33:10 i'll do an example int one give me a minue 2011-11-03T07:34:34 conor_f: row * map_width + col will get you a unique int 2011-11-03T07:34:39 ok :) tyvm I've got to get a bus in 10 mins so I'll hassle you on stuff I don't understand later 2011-11-03T07:35:27 thestinger: ok, so I'd use that as the key and then the Location as the value 2011-11-03T07:35:38 yeah, you could do that 2011-11-03T07:35:40 I don't see why they're not in the same order each time, unles one dies 2011-11-03T07:35:51 *** olexs has joined #aichallenge 2011-11-03T07:36:21 *unless 2011-11-03T07:36:33 conor_f: I think it reads it from the server each turn, and the order they're sent in will change 2011-11-03T07:37:52 kk, I just saw it reading from a vector, so thats where I got it from. Either way, I'd have to do something to change it as I couldn't have random bots going after food because the one before it died 2011-11-03T07:38:07 conor_f: http://codepad.org/DQLUz2j5 2011-11-03T07:38:23 if you're doing a set then you need to overload the < operator 2011-11-03T07:39:44 ok, yeah 2011-11-03T07:39:48 conor_f: one thing i find cleans stuff up is to add a vector of neighbour locations to each square, then remove the appropriate neighbours as you receive water information and you can use those when path finding (like a graph) rather than calculating neighbours and checking for water etc. 2011-11-03T07:40:00 I think I've done that, well, I've got code that does that :P 2011-11-03T07:40:46 yeah, just be something like "bool operator<(const myStruct &A, const myStruct &B)" 2011-11-03T07:40:48 maybe I'd implement that later antimatroid, but for now I just want to make a basic bot roughly along the guide of the tutorial 2011-11-03T07:41:10 static bool operator<(const Location &a, const Location &b) 2011-11-03T07:41:10 { return a.row == b.row ? a.col < b.col : a.row < b.row; 2011-11-03T07:41:10 }; 2011-11-03T07:41:34 btw that link is dead 2011-11-03T07:41:46 I'll check later, don't want to miss my bus :P 2011-11-03T07:41:52 tyvm antimatroid and thestinger 2011-11-03T07:41:55 bbl 2011-11-03T07:41:59 *** SharkMonkey has quit IRC (Quit: What?) 2011-11-03T07:42:00 cya 2011-11-03T07:42:12 link loads for me :\ 2011-11-03T07:42:13 see ya 2011-11-03T07:42:24 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-03T07:43:01 hmm... I thought I fixed something in my movement/combat stuff but apparently not >.< http://ants.fluxid.pl/replay.18505 2011-11-03T07:43:31 still not forming a horizontal line when "blocked" by overwhelming enemy ants 2011-11-03T07:43:50 you can see it fail @ turn 440+ 2011-11-03T07:44:06 yay for off-by-one errors 2011-11-03T07:45:13 *** Jak_o_Shadows has quit IRC (Ping timeout: 244 seconds) 2011-11-03T07:46:15 *** conor_f has quit IRC (Ping timeout: 244 seconds) 2011-11-03T07:49:59 *** Jak_o_Shadows1 has quit IRC (Remote host closed the connection) 2011-11-03T07:53:44 *** HaraKiri has quit IRC () 2011-11-03T08:00:45 *** Figz has joined #aichallenge 2011-11-03T08:04:22 *** Figz has quit IRC (Client Quit) 2011-11-03T08:06:27 *** Figz has joined #aichallenge 2011-11-03T08:07:14 *** the-mgt has joined #aichallenge 2011-11-03T08:09:11 *** Figz has quit IRC (Client Quit) 2011-11-03T08:09:31 *** Figz has joined #aichallenge 2011-11-03T08:21:37 *** the-mgt has quit IRC (Ping timeout: 258 seconds) 2011-11-03T08:25:42 *** the-mgt has joined #aichallenge 2011-11-03T08:30:00 yeh mine does that too 2011-11-03T08:30:04 it just goes by distance 2011-11-03T08:30:10 err closest path 2011-11-03T08:30:31 well, they are doing that b/c they see 2 enemy ants, so they aren't allowed to move there 2011-11-03T08:30:46 unless there are fellow friendly ants that can move too 2011-11-03T08:30:52 yeh but the rest of your ants don't make any effort to increase rank 2011-11-03T08:30:54 *** ikaros has joined #aichallenge 2011-11-03T08:31:14 yeah, I've somewhat fixed it now 2011-11-03T08:31:19 cool 2011-11-03T08:31:20 it's hackish though 2011-11-03T08:31:38 I go through phases of adding new fancy stuff -> fixing it -> making code pretty 2011-11-03T08:33:06 atm I'm at the breaking my code phase of that cycle :) 2011-11-03T08:34:09 meh... I'm getting timeouts due to flaky wifi 2011-11-03T08:36:18 night time for me 2011-11-03T08:36:20 *** bobbydroptable has quit IRC (Quit: Leaving) 2011-11-03T08:39:18 *** amstan has joined #aichallenge 2011-11-03T08:39:18 *** ChanServ sets mode: +o amstan 2011-11-03T08:42:30 *** yoden has joined #aichallenge 2011-11-03T08:42:45 *** bergmark has quit IRC (Ping timeout: 260 seconds) 2011-11-03T08:46:34 *** nek has quit IRC (Ping timeout: 258 seconds) 2011-11-03T08:51:48 *** ikaros_ has quit IRC (Quit: Ex-Chat) 2011-11-03T08:52:53 *** marijnfs has quit IRC (Quit: Lost terminal) 2011-11-03T08:55:00 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-11-03T08:55:47 *** pedrosorio has joined #aichallenge 2011-11-03T08:58:34 *** dwins has joined #aichallenge 2011-11-03T09:08:17 *** liberforce has joined #aichallenge 2011-11-03T09:14:45 *** AVAVT has joined #aichallenge 2011-11-03T09:18:14 *** mleise has joined #aichallenge 2011-11-03T09:23:03 *** HaraKiri has joined #aichallenge 2011-11-03T09:23:41 hi guys 2011-11-03T09:24:57 *** bergmark has joined #aichallenge 2011-11-03T09:25:02 could someonegive me a link to somewhere where the "skill" parameter on the ranking page is explained ? and the mu & sigma that go along ? 2011-11-03T09:25:33 http://en.wikipedia.org/wiki/TrueSkill 2011-11-03T09:27:00 dwins: nice, thank you! 2011-11-03T09:31:33 *** Palmik has joined #aichallenge 2011-11-03T09:32:47 *** PeterS_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T09:36:19 *** grandiose has joined #aichallenge 2011-11-03T09:38:24 *** grandiose has quit IRC (Client Quit) 2011-11-03T09:45:01 *** conor_f has joined #aichallenge 2011-11-03T09:48:11 *** grandiose has joined #aichallenge 2011-11-03T09:49:21 antimatroid: I got that codepad code actually. tyvm 2011-11-03T09:49:48 *** grandiose has quit IRC (Client Quit) 2011-11-03T09:53:36 liberforce: this is a nice article: http://www.moserware.com/2010/03/computing-your-skill.html 2011-11-03T09:54:05 explains elo, trueskill and differences between them, and some of statistics as well, so not much of background is needed 2011-11-03T09:55:56 Fluxid: thanks for the link, look nicely documented 2011-11-03T09:58:24 *** muha has quit IRC (Ping timeout: 265 seconds) 2011-11-03T10:02:53 *** grandiose has joined #aichallenge 2011-11-03T10:11:40 *** sigh_ has quit IRC (Remote host closed the connection) 2011-11-03T10:14:58 *** AVAVT has quit IRC (Quit: Page closed) 2011-11-03T10:21:08 *** mceier has joined #aichallenge 2011-11-03T10:23:18 *** conor_f has quit IRC (Ping timeout: 252 seconds) 2011-11-03T10:29:55 *** grandiose has quit IRC (Quit: Leaving.) 2011-11-03T10:31:51 *** QuirionPT has joined #aichallenge 2011-11-03T10:34:46 hello. I am trying to compile and run the cpp starter pack on linux. inside tools/ I created a folder called mybot/ with the executable MyBot. Running the bot from the folder tools is simple: ./mybot/MyBot What should I add to play_one_game.sh to make it run the bot? 2011-11-03T10:38:09 *** tmandry has joined #aichallenge 2011-11-03T10:38:09 *** tmandry has joined #aichallenge 2011-11-03T10:38:36 path to the bot 2011-11-03T10:38:51 play_one_game.sh /whereever/my/bot/is/MyBot 2011-11-03T10:39:41 *** foRei has joined #aichallenge 2011-11-03T10:40:21 *** Venom has joined #aichallenge 2011-11-03T10:41:28 Is always 500 ms? 2011-11-03T10:41:51 no, sort of 2011-11-03T10:42:05 your bot gets told the value by the server when the game starts 2011-11-03T10:43:17 Garf: sh play_one_game.sh /mybot/MyBot does not work , even though ./mybot/Mybot executes the bot. What am I missing? 2011-11-03T10:43:30 Yes, but as far as we know, as this value been dynamic as of now? 2011-11-03T10:44:09 QuirionPT: what happens? 2011-11-03T10:44:41 *** lsz has joined #aichallenge 2011-11-03T10:44:57 Garf, it doesn't find the bot 2011-11-03T10:45:06 *** mceier has quit IRC (Read error: Operation timed out) 2011-11-03T10:45:19 *** lsz has quit IRC (Client Quit) 2011-11-03T10:45:42 *** olexs has quit IRC (Read error: Connection reset by peer) 2011-11-03T10:45:45 Venom: tcp servers use different values than 500 2011-11-03T10:45:47 *** olexs has joined #aichallenge 2011-11-03T10:46:12 Garf, oh wait, is it supposed to be the full path? 2011-11-03T10:46:16 Venom: and I'm not sure the official servers will always use 500 2011-11-03T10:46:30 QuirionPT: that could help 2011-11-03T10:46:51 I think it's 500 now because of the number of bots compared to the number of servers 2011-11-03T10:46:53 to keep games fast 2011-11-03T10:47:09 *** marijnfs has joined #aichallenge 2011-11-03T10:48:07 Garf, full path solved the problem... that was strange 2011-11-03T10:48:58 *** mceier has joined #aichallenge 2011-11-03T10:49:00 *** treeform has joined #aichallenge 2011-11-03T10:52:17 hello 2011-11-03T10:52:32 i am trying to figure out some good local fighting algorithm 2011-11-03T10:52:35 what do you guys use 2011-11-03T10:53:42 *** aerique has quit IRC (Quit: ...) 2011-11-03T10:59:14 *** amstan has joined #aichallenge 2011-11-03T10:59:14 *** ChanServ sets mode: +o amstan 2011-11-03T11:00:42 *** mceier has quit IRC (Ping timeout: 258 seconds) 2011-11-03T11:00:54 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-03T11:02:24 *** mceier has joined #aichallenge 2011-11-03T11:04:57 *** avdg has joined #aichallenge 2011-11-03T11:06:52 *** mcstar has joined #aichallenge 2011-11-03T11:10:37 *** Areks has quit IRC (Ping timeout: 240 seconds) 2011-11-03T11:11:14 *** AVAVT has joined #aichallenge 2011-11-03T11:13:49 marijnfs: to be honest, I don't use anything :P 2011-11-03T11:14:00 marijnfs: my ants just ignore the enemies lol 2011-11-03T11:14:36 I've been having somewhat good results lately, though. 2011-11-03T11:16:35 *** tmandry has quit IRC (Read error: Connection reset by peer) 2011-11-03T11:16:59 *** tmandry has joined #aichallenge 2011-11-03T11:16:59 *** tmandry has joined #aichallenge 2011-11-03T11:18:15 *** JorgeB has quit IRC (Ping timeout: 256 seconds) 2011-11-03T11:19:48 *** Relax has joined #aichallenge 2011-11-03T11:21:36 hey guys is there a sample bot thats better then greedy/lefty bot? That i can play locally? 2011-11-03T11:22:42 treeform: there is also hunterbot 2011-11-03T11:22:54 eventually you can play with yourself ;) 2011-11-03T11:25:03 Fluxid: playing with oneself may not help the development of the bot too much, if you know what I mean 2011-11-03T11:25:34 Fluxid: hunter bot just sits in the cave for me? 2011-11-03T11:25:48 you mean old versions of myself? 2011-11-03T11:25:56 pedrosorio: if your bot is better than default then what else? 2011-11-03T11:26:17 treeform: yup, i did this to check if there is improvement 2011-11-03T11:26:18 also 2011-11-03T11:26:23 @tcp 2011-11-03T11:26:24 Fluxid: tcp could be http://ants.fluxid.pl/howto. 2011-11-03T11:26:34 you can play with real bots via network 2011-11-03T11:26:37 fluxid: I guess you're not reading "you can play with yourself" in the same way I am :P 2011-11-03T11:26:50 pedrosorio: ah, damn 2011-11-03T11:26:59 i didn't mean THAT meaning 2011-11-03T11:27:02 xD 2011-11-03T11:27:27 Fluxid: wow... you're up to rank 6 2011-11-03T11:27:43 thestinger: i was 5th yesterday for a while 2011-11-03T11:27:59 but all that is because greentea and one french bot were reuploaded 2011-11-03T11:28:00 !! 2011-11-03T11:28:03 @tcp 2011-11-03T11:28:04 AVAVT: tcp could be http://ants.fluxid.pl/howto. 2011-11-03T11:28:07 luizribeiro: yeah my ants just run into the enemy 2011-11-03T11:28:40 lol I thought that contestbot was some constructive dude the last time it show the link xD 2011-11-03T11:28:45 but you use something more sofisticated now? 2011-11-03T11:29:20 marijnfs: not really. they just run into the enemy too. I think I'm lucky that I have lots of ants by then 2011-11-03T11:29:22 I started on some stupid heuristics for combat but I appear to have broken them... 2011-11-03T11:29:32 I still have to think more about combat, though 2011-11-03T11:29:49 *** mviel__ has joined #aichallenge 2011-11-03T11:29:49 strcat_next is doing a lot better than strcat so they must be doing something... 2011-11-03T11:29:56 I tried keeping my ants' movements within a safe distance from enemies' crowds, but that didn't work too weel 2011-11-03T11:30:00 *well 2011-11-03T11:30:13 *** delt0r__ has quit IRC (Ping timeout: 240 seconds) 2011-11-03T11:30:34 yeah my ants are too explorative 2011-11-03T11:30:36 if too weel didn't work you can try 3 wheels 2011-11-03T11:30:37 they leave the nest open 2011-11-03T11:30:49 and they cant fight either 2011-11-03T11:31:38 will give @tcp a try 2011-11-03T11:31:39 but i think just enough repellent force from enemies would cause my ants to form a front 2011-11-03T11:31:48 maybe ill go for that 2011-11-03T11:32:53 *** mviel_ has quit IRC (Ping timeout: 245 seconds) 2011-11-03T11:33:06 *** JorgeB has joined #aichallenge 2011-11-03T11:33:47 *** Tman_mac has joined #aichallenge 2011-11-03T11:34:00 my ants are just rushing head on into the enemy hill once they find one, but since it's their base there should be several of them there I'm losing so many ants just to down a hill. Can't really figure out how the other guys make the ants move like some RTS like that ~.~ 2011-11-03T11:35:05 *** tmandry has quit IRC (Ping timeout: 276 seconds) 2011-11-03T11:35:33 AVAVT: simple algo will be to slow down head ants? 2011-11-03T11:37:39 yeah im thinking of some automatic grouping 2011-11-03T11:38:32 hm... I just got out of the timeout bs last night, and that alone is costing me too much calculation time :( Maybe I should spend some day studying/optimizing my pathfinding algorithm :( 2011-11-03T11:38:51 what do you use 2011-11-03T11:38:59 a*? 2011-11-03T11:39:08 Someone told me that A* is good only for 1-1 path finding, and the ant game is a N to M problem. 2011-11-03T11:39:15 thats right 2011-11-03T11:39:23 Yeah I'm using A* with some.. tweak 2011-11-03T11:39:27 but if you give your ants goals 2011-11-03T11:39:30 heh tcp bots are much harder 2011-11-03T11:39:37 treeform: yeah, they are 2011-11-03T11:39:48 but then you already need to know the closest distances 2011-11-03T11:39:50 *** Tman_mac has quit IRC (Ping timeout: 258 seconds) 2011-11-03T11:39:52 putting all food into the openSet and scan from all of them to the current ant 2011-11-03T11:40:17 *** ikaros has joined #aichallenge 2011-11-03T11:40:26 I think it's, like N to 1 algorithm? I'm so inexperienced at this xD 2011-11-03T11:40:43 *** mcstar has left #aichallenge ("WeeChat 0.3.6") 2011-11-03T11:40:59 alright, I really can't figure out how my last few commits broke my crappy combat stuff >.< 2011-11-03T11:41:11 it doesn't even appear to be fully broken because strcat_next is still doing well 2011-11-03T11:41:28 well if you have 2 foods and 2 ants you have to figure out the closest ant-food pair 2011-11-03T11:41:33 and then calculate the second one 2011-11-03T11:41:38 definitely not always working though 2011-11-03T11:41:44 these things cost time 2011-11-03T11:42:02 but i think it is linear in the number of min(food,ant) 2011-11-03T11:42:19 * time needed for calculation 2011-11-03T11:42:22 and some times getting the closts food is not a good choice too 2011-11-03T11:42:30 which is number of squares on the map in worst case 2011-11-03T11:42:38 not too big actually for a computer 2011-11-03T11:42:50 if your far bot goes for far food and the bot behind him gets the closest food you get 2 food in time it would take one? 2011-11-03T11:42:57 *** datachomper has joined #aichallenge 2011-11-03T11:43:02 *** delt0r__ has joined #aichallenge 2011-11-03T11:43:05 yeah 2011-11-03T11:43:19 so i just let my ants be attracted by the closest food 2011-11-03T11:43:37 then they move together in that directions which is not always bad 2011-11-03T11:43:42 if there is more food after that 2011-11-03T11:44:05 but with that idea how do your ant navigate through mazes? 2011-11-03T11:44:20 measure distance with BFS, not manhattan distance 2011-11-03T11:44:32 well the are attracted by unexplored fronts with my ants 2011-11-03T11:44:57 Are land patches on the map guaranteed to be connected? i.e. are there land patches where it is impossible to go to? 2011-11-03T11:45:07 I was trying the suggestion from a site and try a p*mahattan distance heuristic 2011-11-03T11:45:20 why use real distances when every this is manhattan distance a way? 2011-11-03T11:45:35 QuirionPT: there are no islands, you can get to all the land on the map 2011-11-03T11:45:43 does it matter? bfs doesnt traverse to those parts of the map 2011-11-03T11:46:16 if you just pick a spot at random it matters 2011-11-03T11:46:26 but real distance are always smaller than the actual manhattan distance, doesn't it slow down your search speed? 2011-11-03T11:46:34 *** nylith has joined #aichallenge 2011-11-03T11:46:44 *** Baus has quit IRC (Read error: Operation timed out) 2011-11-03T11:46:49 marijnfs, also matters if you're trying to get to some food spawned in an island 2011-11-03T11:46:55 AVAVT: BFS from a target across the map gets you all the distance measurements and shortest paths for anywhere on the map 2011-11-03T11:47:53 yeah ok 2011-11-03T11:48:05 but the result would be 'unreachable' which is true 2011-11-03T11:48:12 but there are no islands anyway 2011-11-03T11:49:16 http://aichallenge.org/specification.php#map_generators 2011-11-03T11:49:32 thestinger : yeah BFS is breadth first search right? I tried it at the beginning but my bot would time out whenever I reach about 20 ants. Was I not applying it the right way? 2011-11-03T11:50:23 haha just got a new game, somehow ended up 3rd although the other bots seem so much better than mine xD 2011-11-03T11:51:50 AVAVT: you don't do it for every ant 2011-11-03T11:52:00 lets say there are 2 hills you want to attack with all your idle ants 2011-11-03T11:52:19 you do a BFS from the first hill, marking off all the distances from the target in a 2d array or whatever 2011-11-03T11:52:45 then you can do the second hill with that same array if you want, which gives you what's basically a height map with 2 "drains" 2011-11-03T11:53:01 *** conor_f has joined #aichallenge 2011-11-03T11:53:24 you can check the value at any [row][col] to get the distance from a target, and check the neighbouring squares to see which will bring you closer 2011-11-03T11:53:50 anyway, if you were timing out @ 20 BFS searches, you were probably doing it wrong :P 2011-11-03T11:54:04 *** treeform has quit IRC (Quit: Leaving.) 2011-11-03T11:54:22 I can do 100+ in under 10ms, but I don't have a reason to do that 2011-11-03T11:54:59 >.> that's pretty awesome 2011-11-03T11:55:13 but I didn't get your idea of the 2 hills though 2011-11-03T11:55:40 so, instead of keeping track of visited nodes that you don't want to revisit, you just make sure the new distance you would be giving a node is smaller than the old one 2011-11-03T11:56:04 that also lets you add multiple targets to one of the 2d distance map arrays 2011-11-03T11:56:18 I use that for hills/exploration (not food) 2011-11-03T11:56:35 I... see 2011-11-03T11:56:55 there are breadth-first searches in a lot of the starter bots, so you can use that as a starting point 2011-11-03T11:57:03 they use it for updating which squares are visible 2011-11-03T11:57:05 and for exploration you scan from your hills to unexplored areas right? 2011-11-03T11:57:31 for exploration I do a BFS from each unexplored area 2011-11-03T11:58:17 on the first turn that's almost the whole map, but it's still just 7ms on a 200x200 map, because most of the searches end after 4 iterations (the squares next to them are also 0 distance from an unexplored loc) 2011-11-03T11:58:31 Is viewradius2 77 now ? 2011-11-03T11:59:41 why weren't all starter bots made the same> 2011-11-03T11:59:42 yeah thats the way to do it 2011-11-03T11:59:42 *? 2011-11-03T11:59:46 oh, you only save path distance for explored location right? 2011-11-03T12:00:15 I just end up with a 2d vector of distances 2011-11-03T12:00:26 I don't save any of it after I use it to order my ants around 2011-11-03T12:00:38 marijnfs: http://ants.fluxid.pl/replay.18791 great match :) 2011-11-03T12:01:11 your ants look like mine. except that now I'm trying to defend my hills with that cross thing 2011-11-03T12:01:14 *** Baus has joined #aichallenge 2011-11-03T12:01:27 (and I'm failing miserably, looks like those 4 ants are important for food harvesting) 2011-11-03T12:02:16 well now, this was embarassing: http://aichallenge.org/visualizer.php?game=51899&user=432 2011-11-03T12:02:37 holy shit marijnfs 2011-11-03T12:02:54 your bot is amazing, they explore in packs :P 2011-11-03T12:03:04 yeah you have bad luck that your first ants get killed of quickly 2011-11-03T12:03:19 and did you timeout? 2011-11-03T12:03:27 no, I didn't 2011-11-03T12:03:45 the ants that guard the hills never stop guarding, lol 2011-11-03T12:03:51 I'm still testing this feature 2011-11-03T12:04:25 a1k0n: sorry! 2011-11-03T12:04:34 yeah he holds of a complete army;) 2011-11-03T12:04:39 the yellow ants are afraid 2011-11-03T12:05:00 my bot has a problem when there's a bunch of nearly-equidistant food 2011-11-03T12:05:20 and it's pretty rare, but it happened right off the bat with a game with the top five players or whatever 2011-11-03T12:05:40 *** Antimony has joined #aichallenge 2011-11-03T12:06:00 but that thing with four guarding ants looks simple 2011-11-03T12:06:17 maybe it would save my ass often enough 2011-11-03T12:06:53 a1k0n: i can sympathize with your bot. when i have to choose between, say, pizza and burgers, that is pretty much how i end up behaving. 2011-11-03T12:08:41 it's more like pizza vs. burgers and fries. it wants pizza more but it doesn't want to give up burgers *and* fries 2011-11-03T12:08:58 in a C++ map, can I find() by value instead of by key? 2011-11-03T12:10:04 well.. you cam iterate from begin() to end() 2011-11-03T12:10:23 and use the global find() to do it 2011-11-03T12:10:45 a1k0n: so what exactly goes wrong there? does it fail to schedule the priorities and thus not move at all? 2011-11-03T12:10:50 find() takes a key as a parameter, no version of find with value as a parameter? 2011-11-03T12:10:52 lol, I have a really weird bug 2011-11-03T12:11:17 btw anyone what's the skill rating of the game called? I remember someone it's call true rating or something... 2011-11-03T12:11:20 sometimes my count of enemies that can attack a square is something like 18 o_o 2011-11-03T12:11:33 bqf: it assumes "value" from each food is additive so moving closer to one moves it further away from two others 2011-11-03T12:11:41 it's exponentially weighted so normally this works 2011-11-03T12:11:50 AVAVT: trueskill 2011-11-03T12:12:14 right, thanks :) 2011-11-03T12:12:16 it just needs to know the value of not moving is worse 2011-11-03T12:13:43 conor_f: find should take a value 2011-11-03T12:13:57 to get element by key you use [] 2011-11-03T12:14:00 thats why it is a map 2011-11-03T12:14:21 http://www.cplusplus.com/reference/stl/map/find/ 2011-11-03T12:14:22 iterator find ( const key_type& x ); 2011-11-03T12:14:25 KEY_TYPE 2011-11-03T12:14:32 looking at the code example it's a key 2011-11-03T12:14:45 I think I've found an ok workaround though, ty 2011-11-03T12:14:46 thenn 2011-11-03T12:15:05 yeah, just a for loop with an iter.begin() to end() 2011-11-03T12:15:06 yeah i dont know 2011-11-03T12:15:19 np 2011-11-03T12:15:22 http://www.sgi.com/tech/stl/find.html 2011-11-03T12:15:34 btw, does your bot do some sort of swarming marijnfs? 2011-11-03T12:15:55 i meant you can shoehorn a map iterator in there but it's easier to just write a for loop 2011-11-03T12:16:07 ty a1k0n, I'm going with the for loop :) 2011-11-03T12:16:15 plus the value is a pair 2011-11-03T12:16:34 yeah 2011-11-03T12:16:35 true 2011-11-03T12:16:39 *** mememe has joined #aichallenge 2011-11-03T12:17:05 no swarming really 2011-11-03T12:17:21 no relative logic from ants perspective 2011-11-03T12:17:40 I'm well impressed :P 2011-11-03T12:17:45 their behaviour is emergent 2011-11-03T12:18:21 can't wait until I've gotten more into this and can really start doing cool stuffs like exploring in groups and stuff :P 2011-11-03T12:19:37 lol, I'm on the 920th turn of a match and there's this entire army of ants waiting for my last 3 guarding ants go away from my hill 2011-11-03T12:19:45 :P 2011-11-03T12:20:32 is there anyway for me to debug the bot at runtime? I never coded in a system using 2 different languages so I don't know about it. There should be a way right? 2011-11-03T12:20:47 luizribeiro: what's your name on the tcp server? 2011-11-03T12:20:53 thestinger: luizribeiro :) 2011-11-03T12:21:10 ah, I see you now 2011-11-03T12:21:27 I made a typo in my search 2011-11-03T12:22:15 thestinger: what's yours? 2011-11-03T12:22:30 *** Harpyon has joined #aichallenge 2011-11-03T12:23:06 luizribeiro: strcat (and strcat_next too on the tcp server) 2011-11-03T12:23:12 *** meme_ has joined #aichallenge 2011-11-03T12:23:24 *** userjjb has quit IRC (Ping timeout: 265 seconds) 2011-11-03T12:23:24 *** lavalamp has quit IRC (Ping timeout: 265 seconds) 2011-11-03T12:23:53 *** mememe has quit IRC (Ping timeout: 265 seconds) 2011-11-03T12:24:00 *** Harpyon_ has joined #aichallenge 2011-11-03T12:24:22 *** ccc has quit IRC (Ping timeout: 265 seconds) 2011-11-03T12:25:28 marijnfs: check this out http://ants.fluxid.pl/replay.18807 2011-11-03T12:25:36 by the end :P 2011-11-03T12:26:57 hehe i see 2011-11-03T12:27:04 those ants are not really confident 2011-11-03T12:27:08 its like sparta 2011-11-03T12:27:35 gtg 2011-11-03T12:27:36 see ya 2011-11-03T12:27:37 *** marijnfs has quit IRC (Quit: leaving) 2011-11-03T12:28:19 is there any way I can continue; to an outer for loop? 2011-11-03T12:28:32 yeah it's called goto 2011-11-03T12:28:41 so like for(...){ for(...){ continue; } } 2011-11-03T12:28:42 conor_f: depends. which language are you using? 2011-11-03T12:28:45 C++ 2011-11-03T12:28:54 Minthos: I thought goto; was bad to use? 2011-11-03T12:28:57 yeah, then use goto 2011-11-03T12:29:03 ok 2011-11-03T12:29:17 conor_f: it's only bad when something else is more suitable, and in this case there isn't 2011-11-03T12:29:19 conor_f: it is, but I'm sure your ants won't complain about it 2011-11-03T12:29:21 goto is fine as long as you're going "down" in the code, and not introducing any new variables between goto and the label 2011-11-03T12:29:58 ok, thanks guys 2011-11-03T12:30:05 *** Harpyon_ has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-11-03T12:30:08 *** maysam has joined #aichallenge 2011-11-03T12:30:15 hi 2011-11-03T12:30:40 does the bots have memory? or are they recreated every time? 2011-11-03T12:30:55 you can't save any persistent state between matches 2011-11-03T12:31:08 between turns u mean? 2011-11-03T12:31:20 if you want to keep track of ants between turns, you must write the code to do so yourself 2011-11-03T12:31:23 no, your bot is running for a whole game 2011-11-03T12:31:31 you can save whatever you want between turns 2011-11-03T12:31:38 so i can store stuff in class variables 2011-11-03T12:31:43 alright 2011-11-03T12:31:50 thanks 2011-11-03T12:32:19 what is the ant's vision radius? 2011-11-03T12:32:48 it's variable, you're passed the value on turn 0 2011-11-03T12:33:09 http://aichallenge.org/game_settings.php <- these are the current values, but they can change 2011-11-03T12:33:44 I have no idea what spawnradius is... I guess the distance you can spawn from a hill? :\ 2011-11-03T12:34:04 what about the online game? is it random parameter? 2011-11-03T12:34:26 *** dvladim has joined #aichallenge 2011-11-03T12:34:51 the link I posted above has the current values, but it can be changed 2011-11-03T12:34:56 you can set whatever you want locally 2011-11-03T12:40:29 thestinger: spawnradius is the radius for food gathering. that name is pretty stupid though ;) 2011-11-03T12:40:59 how much time do your bots usually take for each turn? 2011-11-03T12:41:24 http://pastebin.com/KCZEBBhK 2011-11-03T12:41:36 someone mind telling me whats wrong with line 4 there? 2011-11-03T12:42:05 foodOwnership is defined as map 2011-11-03T12:42:57 which OS/compiler are you using? 2011-11-03T12:43:02 *** ecarpenter84 has joined #aichallenge 2011-11-03T12:43:10 g++ sometimes gives really terrible error messages and clang++ is a lot clearer 2011-11-03T12:43:22 Fedora 15 (i686) and g++ 2011-11-03T12:43:22 conor_f: Have you defined Location::operator== ? 2011-11-03T12:43:30 matthewd: 2011-11-03T12:43:33 no 2011-11-03T12:43:33 *** cherio has joined #aichallenge 2011-11-03T12:43:46 would I need to? 2011-11-03T12:44:14 yeah 2011-11-03T12:44:16 why wouldn't it just compare the value in state.food[i] and foodOwnershipIter->second? :/ 2011-11-03T12:44:28 *** olexs has quit IRC (Quit: Leaving.) 2011-11-03T12:45:47 so what do I need to do? thestinger/matthewd 2011-11-03T12:45:59 overload operator== for the struct/class 2011-11-03T12:46:22 does anyone have a useful test script that exactly is the same as the one they use on the official website for game rules 2011-11-03T12:46:26 sec 2011-11-03T12:46:28 *** g0llum has joined #aichallenge 2011-11-03T12:46:32 conor_f: bool operator==(const Location &other) { return row == other.row && col == other.col; } 2011-11-03T12:46:57 add that to Location struct? 2011-11-03T12:47:13 Yeah 2011-11-03T12:47:57 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-03T12:49:01 error: ‘bool operator==(const Location&)’ must take exactly two arguments 2011-11-03T12:49:04 ? 2011-11-03T12:49:17 you need to name the argument 2011-11-03T12:49:31 const Location &other 2011-11-03T12:49:50 so == is now a function that takes a pointer to a Location? 2011-11-03T12:50:13 no 2011-11-03T12:50:28 const Location& is not a pointer, it's a reference 2011-11-03T12:50:53 ok, so I just have to pass it the address of the Location? 2011-11-03T12:51:11 *** g0llum has joined #aichallenge 2011-11-03T12:51:26 conor_f: no, you just pass it a variable 2011-11-03T12:51:35 you should make your operators free functions 2011-11-03T12:51:48 inline bool operator == (const Location& a, const Location& b) {return a.row == b.row && a.col == b.col;} 2011-11-03T12:53:05 Antimony: works perfectly 2011-11-03T12:53:25 as does my bot now XD 2011-11-03T12:53:50 im having a lot of trouble getting ants to work in local games. the ants only perform correctly in tutorial.sh 2011-11-03T12:55:06 *works better :/ 2011-11-03T12:57:41 *** moises has quit IRC (Remote host closed the connection) 2011-11-03T12:58:14 does anyone have any good ideas for fighting tactics? 2011-11-03T13:04:47 *** maysam has quit IRC (Ping timeout: 276 seconds) 2011-11-03T13:04:54 *** nylith has quit IRC (Quit: Page closed) 2011-11-03T13:06:08 Antimony: I'm just stopping my ants from doing obviously suicidal stuff atm 2011-11-03T13:06:44 I'm allowing 1 on 1, 2 on 2, etc. though so they aren't at all cautious 2011-11-03T13:09:25 *** lorill has joined #aichallenge 2011-11-03T13:09:45 Antimony: http://ants.fluxid.pl/replay.18858 <- here's an example (I'm strcat - my hill dies early but my bot is able to defeat 2 defended hills due to the crappy combat heuristic) 2011-11-03T13:10:44 *** Blkt has quit IRC (Quit: gogogo!) 2011-11-03T13:10:53 it's 90% useless against ants that have real combat though unless they are super cautious 2011-11-03T13:11:32 *** JorgeB has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-11-03T13:12:16 *** JorgeB has joined #aichallenge 2011-11-03T13:12:55 it makes the static hill defense basically useless though - unless the defenders are moving around I can deal with them easily 2011-11-03T13:13:01 *** Frank_ has joined #aichallenge 2011-11-03T13:13:22 hi 2011-11-03T13:13:43 I've got a problem signing in... 2011-11-03T13:13:48 someone can help me? 2011-11-03T13:14:03 thestinger: how do you predict the enemy ants' moves? 2011-11-03T13:14:18 *** lorill has quit IRC (Client Quit) 2011-11-03T13:14:30 luizribeiro: I don't (yet) 2011-11-03T13:14:47 so you just guess it will be the worst case? 2011-11-03T13:14:48 that's why it's useless against bots with real combat stuff (like game trees/minimax or whatever they use) 2011-11-03T13:14:55 no, I assume best case atm :P 2011-11-03T13:15:11 heh, cool 2011-11-03T13:15:13 it's just a crappy heuristic right now - not really a competitive way to do combat 2011-11-03T13:15:29 it takes care of hill defense or enemies that aren't moving 2011-11-03T13:15:56 I decided just to take an iterative approach to combat and just keep improving it rather than trying to use game trees/minimax or whatever right away 2011-11-03T13:17:09 none? 2011-11-03T13:17:47 *** Saulzar has quit IRC (Ping timeout: 276 seconds) 2011-11-03T13:18:24 minimax seems to be the way to go for individual combat 2011-11-03T13:19:11 *** roflmao has joined #aichallenge 2011-11-03T13:19:46 yo! 2011-11-03T13:19:54 *** amstan_ has joined #aichallenge 2011-11-03T13:19:55 *** ChanServ sets mode: +o amstan_ 2011-11-03T13:22:09 *** tobym has joined #aichallenge 2011-11-03T13:23:08 *** Frank_ has quit IRC (Quit: Page closed) 2011-11-03T13:23:09 with the tcp server, how do you view the game? 2011-11-03T13:23:24 nvm >_< 2011-11-03T13:26:07 *** AVAVT has quit IRC (Quit: Page closed) 2011-11-03T13:26:15 *** artart78 has joined #aichallenge 2011-11-03T13:27:04 *** LAMMM_Five has joined #aichallenge 2011-11-03T13:27:17 is there an admin? 2011-11-03T13:29:49 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-03T13:31:28 *** treeform has joined #aichallenge 2011-11-03T13:32:02 *** LAMMM_Five has quit IRC (Ping timeout: 265 seconds) 2011-11-03T13:33:50 *** olexs has joined #aichallenge 2011-11-03T13:34:15 ont the tcp server what does the number mean after your name? 2011-11-03T13:34:33 e.g name (4) 2011-11-03T13:34:38 *on 2011-11-03T13:34:48 *** Larose has joined #aichallenge 2011-11-03T13:36:21 *** LAMM_Five has joined #aichallenge 2011-11-03T13:37:27 *** xathis has joined #aichallenge 2011-11-03T13:37:35 *** randomQuestioner has joined #aichallenge 2011-11-03T13:38:51 *** Antimony has joined #aichallenge 2011-11-03T13:39:30 *** mviel_ has joined #aichallenge 2011-11-03T13:41:40 *** imp5imp5 has joined #aichallenge 2011-11-03T13:42:27 if no action is sent for an ant, the ant stays in the same location, right? 2011-11-03T13:42:49 *** ecarpenter84 has quit IRC (Quit: Page closed) 2011-11-03T13:42:52 *** luizribeiro has quit IRC (Read error: Operation timed out) 2011-11-03T13:42:53 *** mviel__ has quit IRC (Ping timeout: 240 seconds) 2011-11-03T13:43:00 unless killed 2011-11-03T13:43:29 Minthos, thanks 2011-11-03T13:45:23 yep 2011-11-03T13:45:37 I consider ants to have 5 possible moves 2011-11-03T13:46:03 *** imp5imp5 has quit IRC (Ping timeout: 265 seconds) 2011-11-03T13:46:43 *** HeyChillOut has joined #aichallenge 2011-11-03T13:46:58 fml 2011-11-03T13:47:32 just realised that the state.food vector is going to contain values even if they're out of range for the particular ant I'm dealing with :@ 2011-11-03T13:47:41 that explains a _lot_ 2011-11-03T13:47:50 How do I spawn an ant in c# 2011-11-03T13:48:37 *** Murashka has joined #aichallenge 2011-11-03T13:49:02 randomQuestioner: you don't have to send any command to spawn ants - if you have gathered food ants will automatically spawn at your anthills 2011-11-03T13:49:28 *** skunx has quit IRC (Quit: :-)) 2011-11-03T13:50:16 Thanks. 2011-11-03T13:51:20 *** Rinum has joined #aichallenge 2011-11-03T13:53:37 *** Antimony has quit IRC (Ping timeout: 255 seconds) 2011-11-03T13:55:03 *** olexs has quit IRC (Quit: Leaving.) 2011-11-03T13:55:52 my pre-combat version on the official site got to rank 41 :D 2011-11-03T13:56:32 http://aichallenge.org/visualizer.php?game=53180 2011-11-03T13:56:52 who are you? 2011-11-03T13:56:52 congrats thestinger 2011-11-03T13:56:53 strcat? 2011-11-03T13:56:55 yeah 2011-11-03T13:57:02 do you play on fluxid 2011-11-03T13:57:13 yeah, strcat and strcat_next on fluxid 2011-11-03T13:57:21 oh so you are the jerk that I can never bet hahahaha 2011-11-03T13:57:26 you've got a pro bot man 2011-11-03T13:57:40 it's got a long way to go still :) 2011-11-03T13:57:48 beat* 2011-11-03T13:58:12 I've switched my strategy to a hivemind 2011-11-03T13:58:20 using combined bfs maps for moving ants 2011-11-03T13:58:35 yeah, I do that for hill attack/exploration 2011-11-03T13:58:35 just needs a lot of fine tuning 2011-11-03T13:59:34 do you use anything like minimax 2011-11-03T13:59:40 nope, not yet 2011-11-03T13:59:46 :) 2011-11-03T13:59:48 I just have a single crappy combat heuristic that I added today 2011-11-03T14:00:05 it prevents my ants from suiciding to immobile enemy ants 2011-11-03T14:00:41 What is the Team property in the ants class? It looks interesting 2011-11-03T14:01:33 randomQuestioner: which player the ants belongs to 2011-11-03T14:01:43 *** JorgeB has quit IRC (Ping timeout: 255 seconds) 2011-11-03T14:02:01 *** smremde has joined #aichallenge 2011-11-03T14:02:23 i wander if any one is using a huge server farm competing on the TCP server... 2011-11-03T14:02:33 treeform: nothing stopping them 2011-11-03T14:02:41 *** Cyb has joined #aichallenge 2011-11-03T14:02:43 where is info on the tcp server? 2011-11-03T14:02:48 like computing every possible move and picking the best one 2011-11-03T14:02:59 @tcp 2011-11-03T14:03:00 amstan_: tcp could be http://ants.fluxid.pl/howto. 2011-11-03T14:03:00 http://ants.fluxid.pl/howto 2011-11-03T14:03:35 *** conor_f has quit IRC (Ping timeout: 258 seconds) 2011-11-03T14:04:48 *** marijnfs has joined #aichallenge 2011-11-03T14:05:31 where do i get a username and password from? 2011-11-03T14:05:42 make one up 2011-11-03T14:05:49 it makes you an account with whatever you use the first time 2011-11-03T14:05:55 thanks 2011-11-03T14:08:15 *** amstan_ has quit IRC (Ping timeout: 248 seconds) 2011-11-03T14:09:15 *** Creuzerm has joined #aichallenge 2011-11-03T14:11:00 *** Creuzerm has quit IRC (Client Quit) 2011-11-03T14:12:54 *** retybok_ has joined #aichallenge 2011-11-03T14:12:59 thestinger 2011-11-03T14:14:45 Is it possible to get a list of all enemys/squares that a given ant can see? 2011-11-03T14:14:52 enemies 2011-11-03T14:16:30 *** meme_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T14:16:35 i think you have to write that algo 2011-11-03T14:17:12 and you will never be 100% sure, both of you can see a square but not see each otehr 2011-11-03T14:17:49 roflmao: btw, I implemented BFS... saw a HUGE improvement! Thanks 2011-11-03T14:17:54 *** epicmonkey has joined #aichallenge 2011-11-03T14:20:43 Rinum: nice :) 2011-11-03T14:20:56 now try combining them 2011-11-03T14:20:58 roflmao: ? 2011-11-03T14:21:21 I was going to ask you for your darkest AI success secrets but I decided to abstain so nevermind 2011-11-03T14:21:44 Rinum: Combine two bfs maps into one and use that 2011-11-03T14:21:45 *** conor_f has joined #aichallenge 2011-11-03T14:21:52 can lead to some interesting behavior 2011-11-03T14:22:23 roflmao: what do you mean? 2011-11-03T14:22:44 *** retybok_ has quit IRC (Read error: Operation timed out) 2011-11-03T14:23:12 so you have a costmap right? 2011-11-03T14:23:17 that your bfs function returns 2011-11-03T14:23:24 right 2011-11-03T14:23:25 create two of them 2011-11-03T14:23:31 one of them for food for example 2011-11-03T14:23:33 and another for enemy hills 2011-11-03T14:23:36 ahhhh 2011-11-03T14:23:41 add them together 2011-11-03T14:23:46 and you get a combined cost map 2011-11-03T14:24:07 *** retybok_ has joined #aichallenge 2011-11-03T14:24:11 which you can add weights to 2011-11-03T14:24:29 roflmao: pretty much all my bot's behavior is emergent based on like 100 little things I noticed ant tweaked/adjusted, I don't really know what I'm doing :P 2011-11-03T14:24:42 haha nice :P 2011-11-03T14:25:21 *** Antimony has joined #aichallenge 2011-11-03T14:25:36 you can do those bfs's at the same time btw 2011-11-03T14:25:41 *** pedrosorio has quit IRC (Ping timeout: 265 seconds) 2011-11-03T14:26:21 yes but if you do them at the same time 2011-11-03T14:26:23 you can't weight them 2011-11-03T14:26:34 if you do them seperately and combine you can assign weights 2011-11-03T14:27:16 ah ok 2011-11-03T14:27:30 yeah i use different weights but combine them using max basically 2011-11-03T14:27:37 so then you can do them at the same time 2011-11-03T14:27:42 using max? 2011-11-03T14:28:17 yeah i use inverse distance 2011-11-03T14:28:33 but is you use distance, i use the minimal distance basically 2011-11-03T14:29:10 with some weight 2011-11-03T14:29:18 well hard to explain 2011-11-03T14:29:20 ah, so you start something at 10 if you want ants within a range of 10 distance to come to it? 2011-11-03T14:30:29 *** retybok_ has quit IRC (Ping timeout: 240 seconds) 2011-11-03T14:30:57 bahaha http://aichallenge.org/visualizer.php?game=53179&user=432 2011-11-03T14:30:59 what a bloodbath 2011-11-03T14:31:00 well something like that 2011-11-03T14:31:16 i use more of an attraction and decay parameter 2011-11-03T14:31:22 but its something of the same 2011-11-03T14:31:23 a1k0n: lol, I hate those maps 2011-11-03T14:31:36 produces a kind of FFA effect 2011-11-03T14:31:51 *** eskymaci has joined #aichallenge 2011-11-03T14:31:52 well the game is FFA but on bigger maps you tend to fight more with those next to you 2011-11-03T14:32:01 on those maps where everyone is practically at an equal distance from one another 2011-11-03T14:33:41 i have more of a problem with random walk maps 2011-11-03T14:33:45 a1k0n: I think you did well b/c your ants aren't complete cowards like your enemies :P 2011-11-03T14:33:46 where everything is open 2011-11-03T14:34:08 yeah, sometimes it helps to ignore enemy ants 2011-11-03T14:34:23 *** cherio has quit IRC (Ping timeout: 265 seconds) 2011-11-03T14:34:34 I've found that 2011-11-03T14:34:49 adding a negative cost map from enemy ants 2011-11-03T14:34:51 for collector ants is best 2011-11-03T14:34:57 but you DO NOT want to do that for your battle ants 2011-11-03T14:35:24 http://ants.fluxid.pl/replay.18928 lol 2011-11-03T14:35:27 that's the worst map ever 2011-11-03T14:35:31 i don't even make the distinction though i guess in practice i do 2011-11-03T14:35:50 you don't have any defendors stinger? 2011-11-03T14:36:20 not atm, I added defense but it was useless 2011-11-03T14:36:26 just park 4 ants on the diagonal corners of your hills 2011-11-03T14:36:32 it helps against those one-ant-razes 2011-11-03T14:36:47 yeah, but the bots that are better than mine will just pick them all off with 2 ants 2011-11-03T14:36:49 not a super robust system but eh 2011-11-03T14:36:55 ah 2011-11-03T14:37:07 I tried doing it but it made my bot worse 2011-11-03T14:37:20 if I had real combat code it would probably work well 2011-11-03T14:38:39 I guess I could just leave one or two ants at my hill early on 2011-11-03T14:38:59 when I have lots of ants I should definitely use some for defense 2011-11-03T14:41:09 i just have 15% defendors 2011-11-03T14:41:11 max cap of 4 2011-11-03T14:41:15 park them on the diagonals 2011-11-03T14:41:23 when one dies it is auto replaces by the nearest ant 2011-11-03T14:41:26 replaced* 2011-11-03T14:42:07 *** smremde has quit IRC (Ping timeout: 265 seconds) 2011-11-03T14:42:33 ants on diagonals will definitely kill a lot of my ants 2011-11-03T14:43:20 sounds like a good start strategy 2011-11-03T14:43:29 my hill gets razed way to easily 2011-11-03T14:43:41 yeah 2011-11-03T14:43:45 it's not an ultimate defense strategy 2011-11-03T14:43:56 but it does help a lot and eliminates the depressing razes by 2-3 ants 2011-11-03T14:44:52 the only combat my ants can really well do is destroy those + or x defense formations xD 2011-11-03T14:45:08 should've won this one x.x http://ants.fluxid.pl/replay.18945 damn timeout 2011-11-03T14:45:10 s/well do/do well/ 2011-11-03T14:45:30 what you programming in rinum? 2011-11-03T14:45:50 i get occasional random timeouts from ants.fluxid.pl too 2011-11-03T14:46:02 roflmao: python 2011-11-03T14:46:16 I'll switch to C++ soon 2011-11-03T14:46:38 after I get a decent offense strategy working 2011-11-03T14:46:48 a1k0n: yeah, I get those too - I think it's b/c I'm using wifi on a laptop atm 2011-11-03T14:46:59 me too 2011-11-03T14:47:12 plus poland is at least 180ms away from me and packet-lossy 2011-11-03T14:47:38 yeah my ping to the server is ~110-130ms 2011-11-03T14:47:44 a1k0n: why poland? 2011-11-03T14:47:47 should really host one of these on EC2 or something 2011-11-03T14:47:49 server is in germany 2011-11-03T14:47:57 oh, heh. i didn't traceroute, just assumed from the dns 2011-11-03T14:48:08 and it's hetzner, with 90Mbit pipe to world 2011-11-03T14:48:13 well, either way it's a transatlantic link and i'm on the wrong side of the USA for it 2011-11-03T14:48:47 *** conor_f has quit IRC (Ping timeout: 276 seconds) 2011-11-03T14:48:54 Rinum: why would you switch to c++? :) 2011-11-03T14:49:38 *** cherio has joined #aichallenge 2011-11-03T14:49:40 Fluxid: slight speed boost 2011-11-03T14:49:48 *** marijnfs_ has joined #aichallenge 2011-11-03T14:50:10 more than just a slight boost 2011-11-03T14:50:15 lol 2011-11-03T14:50:38 Rinum: write in C... with asm includes 2011-11-03T14:50:49 *** eskymaci has quit IRC (Ping timeout: 265 seconds) 2011-11-03T14:51:20 I thought C wasn't fully supported? 2011-11-03T14:51:38 you can precompile stuff and include it in the package.zip 2011-11-03T14:51:50 theoretically there isn't even a standard asm syntax for C(++) 2011-11-03T14:53:56 being able to use numpy+scipy is a pretty big advantage for python 2011-11-03T14:55:04 so... it takes 140ms for a round-trip to fluxid... hmmm 2011-11-03T14:55:24 how long is a turn? 2011-11-03T14:55:40 *** Redgis has joined #aichallenge 2011-11-03T14:55:52 5000ms 2011-11-03T14:56:35 500ms* 2011-11-03T14:56:39 oh, sorry 2011-11-03T14:56:41 fluxid 2011-11-03T14:56:52 i think he's running his server with like 2000ms turns or something 2011-11-03T14:56:55 Fluxid: ? 2011-11-03T14:57:18 *** marijnfs has quit IRC (Quit: Lost terminal) 2011-11-03T14:57:29 PING fluxid.pl (78.46.44.9) 56(84) bytes of data. 2011-11-03T14:57:29 64 bytes from schranz.io (78.46.44.9): icmp_req=1 ttl=58 time=13.8 ms 2011-11-03T14:57:33 :D 2011-11-03T14:57:54 from my server in amsterdam which I use to run my bots against fluxid 2011-11-03T14:57:59 64 bytes from schranz.io (78.46.44.9): icmp_seq=1 ttl=61 time=0.270 ms 2011-11-03T14:58:11 i should really get a bot running on my hetzner vps i guess ;) 2011-11-03T14:58:17 lol nice 2011-11-03T14:58:43 thestinger, Rinum, cython is also awesome. it takes python code and translates it to C 2011-11-03T14:59:02 cyphase: of course! I forgot about that! 2011-11-03T14:59:12 you can get massive speed boosts 2011-11-03T14:59:18 yup! 2011-11-03T14:59:48 *** NefariousZhen has joined #aichallenge 2011-11-03T15:00:51 bqf: ;) 2011-11-03T15:01:15 http://speed.pypy.org/ :P, it would be awesome if it was on the server 2011-11-03T15:01:26 Rinum: but is cython on aichallenge? 2011-11-03T15:01:38 if you have something that performs faster in cpython you can actually report a bug on the pypy tracker and they'll fix it 2011-11-03T15:02:14 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-03T15:02:19 when they get py3 support I'll end up using it for all my python stuff 2011-11-03T15:02:59 Fluxid: I think you can use cython so make cpython extensions, so you could precompile them 2011-11-03T15:03:11 Fluxid: it'll compile to C 2011-11-03T15:04:15 *** jacob_strauss has joined #aichallenge 2011-11-03T15:05:56 *** dvladim has quit IRC (Ping timeout: 244 seconds) 2011-11-03T15:06:10 *** pairofdice has joined #aichallenge 2011-11-03T15:08:00 thestinger: ah~ right 2011-11-03T15:08:45 Rinum, i'm not sure how to compile it into an independent binary, but you can compile it into a .so and include that in your package, and call it from MyBot.py 2011-11-03T15:09:26 Oh, my rank 4500 or so bot was paired with all around rankl 380 :) 2011-11-03T15:10:36 *** Antimony has joined #aichallenge 2011-11-03T15:10:49 Haha, my ants went straight past an undefended hill 2011-11-03T15:10:50 *** svujic has joined #aichallenge 2011-11-03T15:10:59 I guess that's something to fix 2011-11-03T15:11:11 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-11-03T15:21:00 Fluxid: I noticed you've been moving up in rank quite a bit! Congrats! 2011-11-03T15:24:29 *** Parsley_ has joined #aichallenge 2011-11-03T15:26:23 *** clone1018 has quit IRC (Read error: Connection reset by peer) 2011-11-03T15:26:44 *** clone1018 has joined #aichallenge 2011-11-03T15:27:13 *** liberforce has left #aichallenge 2011-11-03T15:27:59 *** clone1018 has quit IRC (Remote host closed the connection) 2011-11-03T15:28:05 *** Strepto has joined #aichallenge 2011-11-03T15:29:10 *** olexs has joined #aichallenge 2011-11-03T15:29:32 hello, it's my first time using python (linux + gedit), and I am wondering if anyone has any tips for debugging bot crashes 2011-11-03T15:31:02 it doesnt tell you what went wrong? 2011-11-03T15:31:08 if you run it locally? 2011-11-03T15:31:59 don't really get anything besides "status survived crashed" 2011-11-03T15:32:00 *** clone1018 has joined #aichallenge 2011-11-03T15:32:05 when running my bot against another 2011-11-03T15:32:09 using play_one- 2011-11-03T15:32:15 play_one_game.sh * 2011-11-03T15:32:26 Strepto: modify the script to log the input to the bot and you can re-run it manually. atleast that's what i do 2011-11-03T15:32:28 Strepto: if an exception is thrown you'll get a nice traceback printed to stderr 2011-11-03T15:32:38 whoa, check reddit.com 2011-11-03T15:32:42 *** Figz has quit IRC () 2011-11-03T15:33:19 must be mostly invalid orders and stuff then, no exceptions thrown 2011-11-03T15:33:27 ruser: I'll look into it 2011-11-03T15:33:29 thansk 2011-11-03T15:33:33 thanks* 2011-11-03T15:33:48 Rinum: oh, i'm 5th again, cool! thanks 2011-11-03T15:34:02 Strepto, first use the -e option when running locally 2011-11-03T15:34:12 and see if it prints the stacktrace then 2011-11-03T15:34:14 noo! reddit is down 2011-11-03T15:34:25 amstan: it's not for me 2011-11-03T15:34:27 *** dauryg has joined #aichallenge 2011-11-03T15:34:37 ruser: check again 2011-11-03T15:34:40 aah, I see what you mean about the stack trace 2011-11-03T15:34:43 lovely 2011-11-03T15:34:50 :) 2011-11-03T15:35:09 amstan: worky :) 2011-11-03T15:35:16 thanks you guys, gonna dig back in :) 2011-11-03T15:35:18 amstan: says it's for urgent maintenance :O never seen that before 2011-11-03T15:37:00 Strepto: btw, having python open in a terminal while coding is really productive - you can import your code into the interpreter and run functions etc. 2011-11-03T15:37:26 REPLs ftw 2011-11-03T15:37:57 and use ipython 2011-11-03T15:39:17 euh fluxid what is going on hee 2011-11-03T15:39:18 r 2011-11-03T15:39:22 http://ants.fluxid.pl/player/marijnfs 2011-11-03T15:39:25 *** conor_f has joined #aichallenge 2011-11-03T15:39:27 why do I win that? 2011-11-03T15:39:57 how wait 2011-11-03T15:40:00 I like bpython more since I don't really use scipy/matplotlib 2011-11-03T15:40:09 http://ants.fluxid.pl/replay.19014 2011-11-03T15:40:11 what one 2011-11-03T15:40:12 t 2011-11-03T15:41:14 all my ants get killed but somehow i get the points 2011-11-03T15:41:56 can I have someones opinion? 2011-11-03T15:42:05 You can have mine, no! 2011-11-03T15:42:14 marijnfs_: killing ants does not matter 2011-11-03T15:42:24 you get points from razing enemy's hills 2011-11-03T15:42:24 conor_f: you really shouldn't ask to ask a question 2011-11-03T15:42:57 is it a good idea to start this over again and have an ant class and mess around with the bits not done in the starter packages? 2011-11-03T15:43:11 or should I just stick to the starter packages + tutorial forumlas? 2011-11-03T15:43:17 marijnfs_: and you lose points from your hills being razed 2011-11-03T15:43:22 Do mess around 2011-11-03T15:43:28 amstan: yeah, I know :/ maybe I'm sensationalising things :P 2011-11-03T15:43:41 but still you did more, so you got more points 2011-11-03T15:44:13 conor_f:, tailor to your needs 2011-11-03T15:44:14 conor_f: you can even start from scratch, ignoring starter package and doing your own stuff 2011-11-03T15:44:23 conor_f: I've built upon the starting pack quite extensively, but I still use most of its code 2011-11-03T15:44:25 pairofdice: yeah, but I wrote down on paper what I want the bot to do and how I want it to do it, but it seems pretty technical and I don't know if it's out of my league 2011-11-03T15:44:49 Only way to find out is to try 2011-11-03T15:44:49 the best way to find out is to try 2011-11-03T15:45:00 ok, fair enough 2011-11-03T15:45:12 *** Antimony has quit IRC (Ping timeout: 244 seconds) 2011-11-03T15:45:13 I'll go for it, I have enough time I suppose 2011-11-03T15:45:27 that guy really needs a proper IRC client... 2011-11-03T15:45:35 ^^ Antimony 2011-11-03T15:45:36 even if you fail, you'll still learn something 2011-11-03T15:45:44 *** Antimony has joined #aichallenge 2011-11-03T15:46:15 Minthos: yeah, suppose. But I'd prefer to have an alright bot competing then a good bot thats only half done and will never get finished :/ 2011-11-03T15:46:41 *** wilsone has joined #aichallenge 2011-11-03T15:47:04 you don't have to do everything at once, you can gradually replace/improve the code and see what works and what doesn't 2011-11-03T15:47:12 yeah 2011-11-03T15:47:13 suppose 2011-11-03T15:47:19 I'll go for it :) 2011-11-03T15:47:23 if you use vcs and commit often you can easily go back if you change your mind about something 2011-11-03T15:48:32 *** retybok_ has joined #aichallenge 2011-11-03T15:48:43 *** Mateos has joined #aichallenge 2011-11-03T15:48:52 HIIII 2011-11-03T15:48:53 *** Mateos has quit IRC (Client Quit) 2011-11-03T15:49:58 Mmm, version control... 2011-11-03T15:50:47 How simple is, for example, git to use. For a total newbie at programming 2011-11-03T15:51:09 very easy 2011-11-03T15:51:11 pretty simple 2011-11-03T15:51:39 you don't need to use any advanced features to keep track of your own code 2011-11-03T15:51:44 *** clone1018 has left #aichallenge ("http://quassel-irc.org - Chat comfortably. Anywhere.") 2011-11-03T15:51:57 Minthos: I tried using it before. found it pretty hard :/ 2011-11-03T15:52:18 well I don't use git myself, I use mercurial 2011-11-03T15:52:22 I couldn't get a handle on commits and pulling the code from the repo 2011-11-03T15:52:45 you don't need to push/pull anything if it's a local project 2011-11-03T15:52:45 dont even use pulling 2011-11-03T15:52:50 just commit locally 2011-11-03T15:53:02 the only commands you'll need is add and commit 2011-11-03T15:53:08 if you don't do mistakes 2011-11-03T15:53:15 and status 2011-11-03T15:53:15 but basically it goes like this: "hg init" to create a repo, hg add * to track all the files, then hg ci -m "blablabla" to commit 2011-11-03T15:53:28 then hg status, hg addremove, hg ci 2011-11-03T15:53:28 sure.. then you get status and log, so you can see what's happening 2011-11-03T15:53:46 hmm, I was doing it for a pretty big project that I joined halfway through 2011-11-03T15:54:04 Awesome 2011-11-03T15:54:06 maybe if I learned it from the start I might get it 2011-11-03T15:54:14 you don't have to 2011-11-03T15:54:27 pairofdice: don't listen to me, I only used it once or twice. no experience with it 2011-11-03T15:55:27 *** marijnfs_ has quit IRC (Quit: leaving) 2011-11-03T15:55:55 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-03T15:56:03 if you don't do mistakes you don't need source control 2011-11-03T15:56:17 *** retybok_ has quit IRC (Ping timeout: 258 seconds) 2011-11-03T15:56:24 *** Accoun has quit IRC () 2011-11-03T15:56:25 true 2011-11-03T15:56:35 if you aren't using vcs you have to leave your code cluttered with stuff you might need in the future but don't currently use 2011-11-03T15:56:38 I try to maximize my mistakes per hour 2011-11-03T15:56:58 good idea 2011-11-03T15:58:26 stuff like git stash is a big productivity boost 2011-11-03T15:58:42 *** lorill has joined #aichallenge 2011-11-03T16:00:34 *** caution has joined #aichallenge 2011-11-03T16:01:14 I guess you can get the same thing from undo trees, but if you aren't using vim/emacs you probably don't have fancy features like that 2011-11-03T16:14:00 *** retybok_ has joined #aichallenge 2011-11-03T16:16:20 *** exezive has joined #aichallenge 2011-11-03T16:17:13 *** Accoun has joined #aichallenge 2011-11-03T16:18:46 *** TTE has joined #aichallenge 2011-11-03T16:20:28 *** Xenoamor has joined #aichallenge 2011-11-03T16:21:27 Anyone came across the error: Non-UTF-8 code, when they parse their compiled C program to playgame.py? 2011-11-03T16:23:38 *** ianozia has joined #aichallenge 2011-11-03T16:25:46 Perhaps a way to get Gcc to compile the code in UTF-8? 2011-11-03T16:26:05 *** NefariousZhen_ has joined #aichallenge 2011-11-03T16:28:15 I'm running a local server, and for some reason the games it tries to send to the worker now contain the field map_filename=None ... any ideas what might cause this? 2011-11-03T16:29:00 *** TTE has quit IRC (Quit: Page closed) 2011-11-03T16:30:17 *** Relax has quit IRC (Quit: Leaving) 2011-11-03T16:30:33 *** lorill has quit IRC (Quit: Page closed) 2011-11-03T16:31:23 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-03T16:32:56 *** dwins has joined #aichallenge 2011-11-03T16:33:08 *** datachomper has quit IRC (Read error: Connection reset by peer) 2011-11-03T16:33:33 *** datachomper has joined #aichallenge 2011-11-03T16:34:47 Xenoamor: sounds like you're trying to run the binary with python instead of running it 2011-11-03T16:35:19 NefariousZhen: check your map table for bad entry? 2011-11-03T16:35:25 *** ccc_ has joined #aichallenge 2011-11-03T16:36:52 *** ecarpenter84 has joined #aichallenge 2011-11-03T16:37:03 *** xathis has quit IRC (Ping timeout: 248 seconds) 2011-11-03T16:37:19 can I use a replay from the site to work out why my bot crashed? 2011-11-03T16:37:38 my bot is timing out on the site but works fine locally and on fluxid 2011-11-03T16:37:54 thestinger: Yurp that's exactly what I was doing, cheers (Y) 2011-11-03T16:37:56 it doesnt even leave the base 2011-11-03T16:38:44 if a file compiles that includes another file does it imply that the other file compiles successfully too? 2011-11-03T16:39:13 ecarpenter84: fluxid gives you a huge amount of time since it has to pipe stuff over a tcp connection 2011-11-03T16:39:21 *** Xenoamor has quit IRC (Quit: Page closed) 2011-11-03T16:39:34 how long is your first turn taking on localhost? 2011-11-03T16:39:59 the server is probably slower than your computer 2011-11-03T16:40:09 janzert: it looks normal to me - I count 36 maps in both places. Every entry has the original timestamp. 2011-11-03T16:40:19 im running a 3.99 ghz quard core so im sure it is 2011-11-03T16:40:36 so i just need to do less things per turn? 2011-11-03T16:40:43 set turntime to 100ms and test on big maps 2011-11-03T16:40:53 *** Garf has quit IRC (Quit: Make a new plan, Stan!) 2011-11-03T16:41:20 you're told the turntime on turn 0, so you can take a time measurement at the start of your turn and bail out when you're running out of time 2011-11-03T16:41:25 janzert: in the matchup table all maps are for map id 0 which doesn't exist in my map table 2011-11-03T16:41:42 ok ill look 2011-11-03T16:41:50 do you have a good playgame.py line for me to use 2011-11-03T16:41:56 i have the worst time getting it working right 2011-11-03T16:42:09 janzert: Should I be debugging within the 2_generateMatchup.sql file? 2011-11-03T16:43:38 *** mccambrm has joined #aichallenge 2011-11-03T16:45:36 *** mccambrm has quit IRC (Client Quit) 2011-11-03T16:48:05 thestinger: every language will have different api's for quering time, how exactly should one go about quering time 2011-11-03T16:48:32 is there a standard in each language to get the time 2011-11-03T16:50:23 ccc_: there is a standard way for the server to communicate your bot that info. If you can't find how your starter package uses it, you can always reimplement it. 2011-11-03T16:50:51 ccc_, yes, there is one. for each lang. that's kind of a problem.. 2011-11-03T16:50:53 *** Fandekasp has quit IRC (Ping timeout: 240 seconds) 2011-11-03T16:50:59 janzert: it seems to me that the map selection portion is coming back with an empty set of possible maps 2011-11-03T16:53:16 :@ 2011-11-03T16:53:48 I need to include my ant.h in state.h and I need to include state.h in ant.h 2011-11-03T16:53:52 how can this work? 2011-11-03T16:54:40 put all the functions for a class in one file? 2011-11-03T16:54:48 *** ltriant has joined #aichallenge 2011-11-03T16:54:58 *** Stivo has joined #aichallenge 2011-11-03T16:55:59 conor_f: Look into forward declarations. 2011-11-03T16:55:59 conor_f: you need a couple ifdefs. Google it, it's a common problem. 2011-11-03T16:56:15 retybok_: ifdefs will only save you from multiple definitions. 2011-11-03T16:56:41 conor_f: Find out which one of your types you can handle by pointer or reference, forward declare that one in the header of its user. 2011-11-03T16:56:57 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-03T16:56:59 Zao: yeah, I agree, sometimes you need both. 2011-11-03T16:57:07 conor_f: And define all your member functions inside the corresponding source file instead of the header, as at that point, you can include the full header without harm. 2011-11-03T16:57:13 ok 2011-11-03T16:57:27 I'll copy the format from State.h/.cc 2011-11-03T16:57:31 One shall never really have a header intended for non-special public consumption without guards. 2011-11-03T16:57:59 so class + function declarations in .h and actual functions in .cpp 2011-11-03T16:58:58 Assuming you're not talking about non-fully specialized class templates or function templates, yeah. :D 2011-11-03T16:59:02 (you're not) 2011-11-03T16:59:30 *** Rinum has quit IRC (Quit: Page closed) 2011-11-03T16:59:38 *** Tman_mac has joined #aichallenge 2011-11-03T17:00:14 :P don't be worrying my Zao :P I'm in the deep end as it is lol 2011-11-03T17:00:22 *** bergmark has quit IRC (Ping timeout: 255 seconds) 2011-11-03T17:00:44 win :) thanks guys 2011-11-03T17:01:21 I'm right in thinking that if I #include a file (file 2) from another file (file 1) and compile file 1 that file 2 compiles successfully too? 2011-11-03T17:01:47 conor_f: Includes are pretty much textual substitution of the contents into the place where the directive is. 2011-11-03T17:02:07 conor_f: When you compile a source file, all that matters is the final text of the postprocessed source file. 2011-11-03T17:02:08 *** Fandekasp has joined #aichallenge 2011-11-03T17:02:11 ok, so like php includes 2011-11-03T17:02:18 Other source files cannot influence the result until at linking time. 2011-11-03T17:02:50 conor_f: The C++ (and C) compilation model is that each source file is individually preprocessed and compiled in isolation, and the resulting object files later on linked together into a single executable/library. 2011-11-03T17:03:04 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-03T17:03:10 wait, so state.h might compile fine even though it's including a non-compilable file? that can't be right... 2011-11-03T17:03:18 In your case, one of the headers will be included before the other one, and you will then end up with one of the classes defined before the other one. 2011-11-03T17:03:22 Eh? 2011-11-03T17:03:25 You don't compile headers. 2011-11-03T17:03:28 You compile source files. 2011-11-03T17:03:32 (.cc, .c, .cpp) 2011-11-03T17:03:42 I compile them to see if they've got any stupid errors in them? 2011-11-03T17:04:03 janzert: looks like the filtering on time for a specific set of players playing on the same map isn't allowed to happen within a 24 hour period, or something like that -- so it looks like I've exhaustively played all of my bots at this time 2011-11-03T17:04:22 You _can_ treat them as a source file if you tickle your compiler the right way and try to compile it as-is, but it's not anything one does in a normal build. 2011-11-03T17:04:31 ok 2011-11-03T17:05:01 21:03 < Zao> You don't compile headers. 2011-11-03T17:05:05 conor_f: A good guideline is though: "a header should include/define anything needed to compile if it's the only thing included in an empty source file" 2011-11-03T17:05:09 well I'm not really sure what that is doing, but it's causing the request to come back with zero maps 2011-11-03T17:05:10 u do if you #include them :) 2011-11-03T17:05:36 rb_: Please do not attempt to confuse by trying to be funny. 2011-11-03T17:05:39 ahhh confusion 2011-11-03T17:05:51 sorry i just started paying attention at the wrong time 2011-11-03T17:05:53 *** epicmonkey has quit IRC (Read error: Connection reset by peer) 2011-11-03T17:06:10 *** epicmonkey has joined #aichallenge 2011-11-03T17:06:14 * rb_ reads through buffer before any more comments :) 2011-11-03T17:06:26 shit, so I have lots of errors if I'm compiling the .cpp and none if I'm compiling the .h 2011-11-03T17:06:27 *** Murashka has quit IRC (Quit: Page closed) 2011-11-03T17:06:28 *** jacob_strauss has quit IRC (Quit: Page closed) 2011-11-03T17:06:35 conor_f: That is, if you have a Foo.cc containing only « #include "Foo.h" », it ought to compile cleanly. 2011-11-03T17:07:00 conor_f: Unless you provide the right flag to your compiler, you can't "compile" a .h as a source file. 2011-11-03T17:07:10 ok 2011-11-03T17:07:14 Unless you're using one of the silly toolchains :D 2011-11-03T17:07:20 heh 2011-11-03T17:07:27 this is strange 2011-11-03T17:07:37 first line of Ant.cpp is #include "Ant.h" 2011-11-03T17:07:47 where the Ant class is defined 2011-11-03T17:07:57 so that will replace that #include line with the contents of Ant.h 2011-11-03T17:07:58 *** marijnfs has joined #aichallenge 2011-11-03T17:07:59 In file included from Ant.h:5:0, from Ant.cpp:1: 2011-11-03T17:07:59 State.h:46:17: error: ‘Ant’ was not declared in this scope 2011-11-03T17:08:09 and yet that's one of the errors... 2011-11-03T17:08:20 conor_f: On line 5 of your header, you include State.h, which expects a definition of Ant. 2011-11-03T17:08:27 Which doesn't exist yet, as it's before you define Ant. 2011-11-03T17:08:41 ok 2011-11-03T17:08:53 *** Larose has quit IRC (Quit: Leaving.) 2011-11-03T17:09:13 so if I define State.cpp, it includes State.h which includes Ant.h which includes Ant.cpp? 2011-11-03T17:09:23 s/define/compile 2011-11-03T17:09:41 no 2011-11-03T17:09:49 *** Da_Blitz has quit IRC (Ping timeout: 240 seconds) 2011-11-03T17:09:54 State.h includes Ant.cpp which includes Ant.h 2011-11-03T17:10:02 You shouldn't include source files, just headers. 2011-11-03T17:10:09 (unless very special, which you're not) 2011-11-03T17:10:20 so Ant.h should include Ant.cpp 2011-11-03T17:10:27 no. 2011-11-03T17:10:29 22:10 < Zao> You shouldn't include source files, just headers. 2011-11-03T17:10:37 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-03T17:11:09 this is what my problem is :| I need to include Ant.cpp, Ant.h, State.h and State.cpp 2011-11-03T17:11:17 No you don't. 2011-11-03T17:11:23 http://ideone.com/an2qL 2011-11-03T17:11:27 Consider this. 2011-11-03T17:11:33 *** Pisarik has joined #aichallenge 2011-11-03T17:11:41 Hi to all:)) 2011-11-03T17:11:42 you tell the compiler to compile ant.cpp and state.cpp 2011-11-03T17:11:47 then they include het .h files 2011-11-03T17:11:49 *** Da_Blitz has joined #aichallenge 2011-11-03T17:12:04 never include .cpp files 2011-11-03T17:12:23 Zao: that code explained it for me :) 2011-11-03T17:12:23 Err, reload the link. 2011-11-03T17:12:34 yeah, ok, header guards 2011-11-03T17:12:39 the idea though 2011-11-03T17:12:49 tyvm 2011-11-03T17:12:51 Bar.cc includes Bar.h, which includes Foo.h, which tries to include Bar.h but skips it as it's guarded, and ends up using Bar before it's defined. 2011-11-03T17:13:18 anybody know what limit values of columns and rows? 2011-11-03T17:13:24 conor_f: http://ideone.com/Ow3aP 2011-11-03T17:13:25 ach, I thought that's how it was supposed to be done 2011-11-03T17:13:29 This would be one possible solution. 2011-11-03T17:13:33 *** retybok_ has quit IRC (Ping timeout: 244 seconds) 2011-11-03T17:13:42 Whaere can I see limits? 2011-11-03T17:13:45 Instead of trying to include Bar.h, we just _forward-declare_ Bar. 2011-11-03T17:14:01 As we only use a pointer-to-Bar, that's fine, we can do with an incomplete type. 2011-11-03T17:14:26 ach, I knew how to forward declare functions but not classes 2011-11-03T17:14:39 ok 2011-11-03T17:14:48 let me try to apply it to my code and see how it goes 2011-11-03T17:15:19 janzert: This line, and (g.timestamp is null or g.timestamp > timestampadd(hour, -24, current_timestamp)), seems to suggest that once a set of players haven't played on a map they will no longer be given the opportunity to do so 2011-11-03T17:15:31 forward declarations and how to write header files isn't part of the most basic C++ tutorials.. it should be. 2011-11-03T17:15:46 can anybody help me? 2011-11-03T17:16:02 please:) 2011-11-03T17:16:09 Minthos: You'd be surprised at how often people come up without the bleakest idea of the compilation model. 2011-11-03T17:16:11 Pisarik: your starting kit should have functions/properties for it 2011-11-03T17:16:30 Minthos: Like the one yesterday that thought that templates were just macro-like textual substitution :D 2011-11-03T17:16:48 Pisarik: 200x200 2011-11-03T17:16:54 Pisarik: It's on the site somewhere. 2011-11-03T17:16:55 Zao: took me a few years to get comfortable with linking object-oriented spaghetti in C++ 2011-11-03T17:17:27 heh, jumped from 3500 to 1500 in one game 2011-11-03T17:17:28 *** pedrosorio has joined #aichallenge 2011-11-03T17:17:31 Zao: I understand the compilation model (like when they're compiled they create object files which are linked, etc) 2011-11-03T17:17:40 I just never have used headers myself before 2011-11-03T17:17:42 *** Antimony has joined #aichallenge 2011-11-03T17:19:06 Pisarik: http://aichallenge.org/forums/viewtopic.php?f=25&t=1583 to confirm what Zao says 2011-11-03T17:19:15 conor_f: i'm partially awake again :P 2011-11-03T17:19:46 antimatroid: :P I'm now going at this fully. going to try and implement a full bot instead of following the tutorials word-for-word :P 2011-11-03T17:20:07 that's the spirit 2011-11-03T17:20:17 expect to get annoyed at me plenty for being a n00b over the next while lol, thats a warning to everybody ;) 2011-11-03T17:21:04 i might go back for a third round of sleep at some point 2011-11-03T17:21:13 i didn't sleep much earlier week, so i'm catching up aha 2011-11-03T17:21:15 gl :P 2011-11-03T17:21:33 can I forward declare an instance of a struct/class? 2011-11-03T17:22:11 depends what you mean? 2011-11-03T17:22:25 you can just chuck struct whatever; somewhere then actuallly define it later 2011-11-03T17:22:42 I need to use state, an instance of the State struct 2011-11-03T17:22:47 Does anyone know why the game rate is broken now? 2011-11-03T17:23:16 in my Ant.cpp file. can I forward declare an instance of State? 2011-11-03T17:23:29 what do you mean for forward declare? 2011-11-03T17:23:55 actually, no. I wouldn't be able to do that. doesn't make sense 2011-11-03T17:24:01 go back to sleep, it's ok :P 2011-11-03T17:24:12 class State; State *statePtr; 2011-11-03T17:24:18 heh, i'm awake for the moment 2011-11-03T17:24:21 like that? 2011-11-03T17:24:28 Ant.cpp:72:33: error: ‘state’ was not declared in this scope 2011-11-03T17:24:44 gross 2011-11-03T17:24:53 just have State myState; 2011-11-03T17:24:53 state is declared in State.cpp 2011-11-03T17:25:23 or now that I think of it, I could pass it as an argument... 2011-11-03T17:25:56 *** exezive has quit IRC (Remote host closed the connection) 2011-11-03T17:26:45 you just want a state object yeah? just use "State state;" eg. https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/cpp/Bot.h 2011-11-03T17:26:53 although you need to include the state header file 2011-11-03T17:27:09 i use states because i'm a communit programmer, everything is public 2011-11-03T17:27:21 that way i don't need to make all class stuff public myself :P 2011-11-03T17:27:58 heh, scroll back and find that header files are being included all over the place 2011-11-03T17:28:28 *** NefariousZhen has quit IRC (Quit: Page closed) 2011-11-03T17:29:36 What are my ants doing 2011-11-03T17:30:22 What you told them to. :) 2011-11-03T17:31:06 I tried to make them not cluster, guess what they are doing 2011-11-03T17:31:22 Super cluster! 2011-11-03T17:31:39 In-deed- 2011-11-03T17:32:16 *** dauryg has quit IRC (Quit: Page closed) 2011-11-03T17:32:27 http://pastebin.com/Wnzx6ZSh 2011-11-03T17:32:36 could someone explain that to me :/ 2011-11-03T17:32:45 *** Vivitron has joined #aichallenge 2011-11-03T17:34:25 *** jix has joined #aichallenge 2011-11-03T17:34:41 Ah beautiful C++ template vomit. :) 2011-11-03T17:35:23 conor_f: The actual error is the last line there, I think 2011-11-03T17:35:39 it'd be ok if they actually said where the error was. but all I can see is a load of nested includes 2011-11-03T17:35:46 gross 2011-11-03T17:35:55 conor_f: are you on windows? 2011-11-03T17:35:58 conor_f: You're trying to copy a stream. 2011-11-03T17:36:06 conor_f: They are not copyable. 2011-11-03T17:36:07 i always loved mingw, they have somewhat sane errors 2011-11-03T17:36:07 *** Strepto has quit IRC (Ping timeout: 265 seconds) 2011-11-03T17:36:23 antimatroid: no, fedora 2011-11-03T17:36:30 antimatroid: "redhat" pretty much seals his fate :) 2011-11-03T17:36:40 conor_f: The error is pretty clear. 2011-11-03T17:36:40 I thought I was copying a struct? 2011-11-03T17:37:06 conor_f: In the synthesised copy constructor of your type, it's trying to copy one of your fstream members. 2011-11-03T17:37:18 Is that a struct of your global state? 2011-11-03T17:37:24 You probably want to pass it by reference 2011-11-03T17:37:34 They're not copyable, thus the light amount of vomit, talking about a private cctor of basic_ios. 2011-11-03T17:37:37 bool Ant::is_legal(Location, State) 2011-11-03T17:37:42 pass it by reference indeed 2011-11-03T17:37:52 you dont want to copy there 2011-11-03T17:38:02 bool Ant::is_legal(Location&, State&) 2011-11-03T17:38:18 whew 2011-11-03T17:38:19 ok 2011-11-03T17:38:32 so pass by reference, I don't know why, but I'll do it :P 2011-11-03T17:40:14 *** hjax has joined #aichallenge 2011-11-03T17:40:28 *** Stivo has quit IRC (Ping timeout: 265 seconds) 2011-11-03T17:40:57 i may have found a good way to pathfind 2011-11-03T17:40:59 *** NefariousZhen has joined #aichallenge 2011-11-03T17:41:08 but it might talk too much processing 2011-11-03T17:41:11 take* 2011-11-03T17:41:14 brb 2011-11-03T17:41:38 *** randomQuestioner has quit IRC (Quit: Page closed) 2011-11-03T17:41:39 I hope its s/processing/preprocessing/ ;-) 2011-11-03T17:42:25 conor_f: Two reasons. Like Zao said, it's making a copy of your State object when you pass it by value, and therefor copying all its members. One of your struct's members is an fstream. It doesn't know how to copy an fstream. 2011-11-03T17:42:50 conor_f: The second reason is that coping a large object like that isn't cheap. 2011-11-03T17:43:13 *** sigh has joined #aichallenge 2011-11-03T17:44:05 Ant.cpp:72:44: error: base operand of ‘->’ has non-pointer type ‘State’ 2011-11-03T17:44:31 Ant.cpp: In member function ‘int Ant::get_next_move(State&)’: 2011-11-03T17:44:59 it's a reference not a pointer :P 2011-11-03T17:45:03 just treat it like the normal object 2011-11-03T17:45:29 you can also make a parameter const which is like a promise to the compiler that you wont alter the object in the function being passed too 2011-11-03T17:46:02 (I have a really poor understanding of proper terminology etc. for programming, you're better learning that off the others in here :P) 2011-11-03T17:47:01 yeah, I know about const arguments 2011-11-03T17:48:27 fantastic, now linker errors :O 2011-11-03T17:48:47 thats how I know I've bitten off more then I can chew already :P 2011-11-03T17:51:06 *** mlmnl has quit IRC () 2011-11-03T17:54:48 *** asdasd has joined #aichallenge 2011-11-03T17:55:43 *** Fandekasp has quit IRC (Ping timeout: 252 seconds) 2011-11-03T17:56:54 if you're a beginner, you really should be using Python instead 2011-11-03T17:57:31 *** iris1 has quit IRC (Ping timeout: 255 seconds) 2011-11-03T17:59:16 Antimony: I've used C++ for everything I've programmed so far. just getting to know the STL and using headers and stuff. I've never programmed anything big before. I won't use here for asking for help with errors again, my bad 2011-11-03T18:01:32 *** jashar86 has joined #aichallenge 2011-11-03T18:01:57 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-03T18:02:19 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-03T18:02:36 * antimatroid much prefers c++ to python :P 2011-11-03T18:02:58 * conor_f never learned python 2011-11-03T18:03:25 i have a very very basic understanding from writing map generators 2011-11-03T18:03:30 otherwise i've never used it either 2011-11-03T18:03:30 *** Pisarik has quit IRC (Quit: Page closed) 2011-11-03T18:03:38 i think i have a good pathfinding plan now 2011-11-03T18:03:45 hjax: spill :P 2011-11-03T18:04:02 tell me if you think it is too time consuming 2011-11-03T18:04:35 *** goants has joined #aichallenge 2011-11-03T18:05:50 starting from the target location, mark it as 0, make all adjacent squares 1, and all squares adjacent to them 2 etc. Keep going until you reach the starting ant, then have the ant jsut count down, moving from square 15, to 14, to 13, all the way to 0, perfect pathfinding if i dont timeout doing it 2011-11-03T18:06:08 thoughts? 2011-11-03T18:06:12 :) 2011-11-03T18:06:17 that sounds cool lol 2011-11-03T18:06:24 that's a bfs and a good start :) 2011-11-03T18:06:25 i think it will work 2011-11-03T18:06:38 srsly, if that doesn't timeout it'd be good 2011-11-03T18:07:10 antimatroid: sort of a reverse bfs? Normally it'd work from ant to destination, no? 2011-11-03T18:07:17 *** ztfw has quit IRC (Remote host closed the connection) 2011-11-03T18:07:28 if you start from the goal then you cant use the same graph for any ant 2011-11-03T18:07:43 antimatroid, ive never read about pathfinding before, so i decided that before i cheat and look anything up id make my own, looks like i came up with an existing one 2011-11-03T18:07:44 hjax: you can mark all target locations as 0 at once and add them to a "search queue", then while the queue is not-empty take a location off and update informations for adjacent locations that have not been added to the search queue yet 2011-11-03T18:08:03 hjax: my friend and i came up with that for our tron bot too :) 2011-11-03T18:08:09 hjax: http://realtimecollisiondetection.net/blog/?p=83 2011-11-03T18:08:10 i didn't realise it was bfs until the start of this contest 2011-11-03T18:08:12 Lovely optimization. 2011-11-03T18:08:35 antimatroid, seems very effective too 2011-11-03T18:09:02 then a* search is basically just bfs with a heuristic to try and search the squares which are closest to a target first 2011-11-03T18:09:43 whats a good way to use bfs to spread out mya nts 2011-11-03T18:09:47 antimatroid, how many ants can my bot process with bfs though? Ill need to optimize it in favor of being able to work for as many ants as possible per second 2011-11-03T18:10:05 *** goants has quit IRC (Quit: Leaving.) 2011-11-03T18:10:28 i haven't done much testing with that, you should be able to do a fair bit though 2011-11-03T18:11:44 ok, now i need to implement it >.> 2011-11-03T18:12:07 *** sigh has quit IRC (Remote host closed the connection) 2011-11-03T18:12:17 my food collection is a little more complicated, i'll iteratively search from all uncollected food items to unused ants and in each iteration move an ant on a shortest path towards one of hte food items and mark that food as collected 2011-11-03T18:12:36 i'll even re use ants where I expect them to be in the future adjacent to collected food 2011-11-03T18:12:39 i could just replace ants.direction() with it, as i won't need that crude pathfinding anymore (if it could even be called pathfinding) 2011-11-03T18:12:46 and work out when they'll be available to be used again 2011-11-03T18:13:08 antimatroid: my bot is so basic right now, want to read it? its in python 2011-11-03T18:13:19 i don't like getting neighbours and throwing out water etc. just turn your grid into a graph :) 2011-11-03T18:13:26 keep ants direction for collision detection 2011-11-03T18:13:32 hjax: please don't share your actual source files with people :) 2011-11-03T18:13:52 antimatroid: all it does is look for food, badly, its 30 lines long 2011-11-03T18:14:16 i still think it's nicer when everyone keeps their code to themselves 2011-11-03T18:14:22 eh true 2011-11-03T18:14:37 sharing happens once the final contest is done :P 2011-11-03T18:15:10 is the best way of doing my pathfinding just using ants.passable() over and over? 2011-11-03T18:15:25 i cant seem to get my ants out of my hive fast enough 2011-11-03T18:16:19 what happens if i gather more than one food in a turn? 2011-11-03T18:17:02 *** yo has joined #aichallenge 2011-11-03T18:17:11 *** dwins has joined #aichallenge 2011-11-03T18:18:14 antimatroid: as you will soon see im a 15 year old python noob, lets see if i can implement exponential expansion by moving away from the hill for more food 2011-11-03T18:18:31 your ants wait in the hill to come out 2011-11-03T18:18:34 until there is room 2011-11-03T18:18:53 hjax: i never touched a program until uni :P 2011-11-03T18:19:22 antimatroid: well im still no good :P 2011-11-03T18:19:38 haha, you sound like you're doing fine 2011-11-03T18:19:48 *** Antimony has joined #aichallenge 2011-11-03T18:19:53 *** yo has quit IRC (Client Quit) 2011-11-03T18:19:58 when i started out with tron i had pretty much no idea, just read the minimax tutorial and based my bot around that 2011-11-03T18:20:45 *** ianozia has left #aichallenge 2011-11-03T18:20:49 i cant figure out how to apply minimax, im just giving mine a strategy 2011-11-03T18:22:50 http://www.sifflez.org/misc/tronbot/index.html 2011-11-03T18:23:02 i learnt how to write minimax trees for ai bots with that 2011-11-03T18:23:17 *** HeyChillOut has quit IRC (Ping timeout: 276 seconds) 2011-11-03T18:23:37 *** Rinum has joined #aichallenge 2011-11-03T18:23:46 is there a way to get the coordinates of the nearest hill to an ant? 2011-11-03T18:24:02 there are many 2011-11-03T18:24:07 or even the coordinates of all of your hills? 2011-11-03T18:24:11 lots of ways to do that 2011-11-03T18:24:40 your starting kit should tell you where your hills are, as long as your ants can see them 2011-11-03T18:25:08 wait, found a my_hills function, nvm 2011-11-03T18:29:46 anyone have a good function that upon collision detection tries each other option to get the ant moved 2011-11-03T18:35:01 *** halligalli has joined #aichallenge 2011-11-03T18:38:46 *** hjax has quit IRC (Quit: Page closed) 2011-11-03T18:39:35 *** datachomper has left #aichallenge 2011-11-03T18:39:49 *** Tman_mac has quit IRC (Ping timeout: 240 seconds) 2011-11-03T18:39:55 *** Parsley_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T18:41:38 *** asdasd has quit IRC (Quit: Page closed) 2011-11-03T18:42:25 *** Vivitron has quit IRC (Remote host closed the connection) 2011-11-03T18:49:33 *** halligalli has quit IRC (Quit: Page closed) 2011-11-03T18:53:37 yes 2011-11-03T18:55:01 http://aichallenge.org/visualizer.php?game=48944&user=3845 2011-11-03T18:59:24 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-03T19:02:51 *** mleise has quit IRC (Ping timeout: 260 seconds) 2011-11-03T19:03:18 *** Vivitron has joined #aichallenge 2011-11-03T19:06:11 *** cyphase has joined #aichallenge 2011-11-03T19:08:30 whoa... I'm liking what that Parasprites guy is doing 2011-11-03T19:09:01 Is that you Antimony? 2011-11-03T19:09:26 hot damn 2011-11-03T19:09:30 how do you coordinate that collision 2011-11-03T19:09:32 detection 2011-11-03T19:09:40 lol 2011-11-03T19:09:49 that is pure genius right there 2011-11-03T19:11:07 *** foRei has quit IRC (Read error: Connection reset by peer) 2011-11-03T19:11:13 *** luizribeiro has joined #aichallenge 2011-11-03T19:11:19 hey thestinger, you there? 2011-11-03T19:11:26 *** mceier has quit IRC (Quit: leaving) 2011-11-03T19:11:37 *** Harpyon has quit IRC (Ping timeout: 252 seconds) 2011-11-03T19:12:19 omg... that defense strategy 2011-11-03T19:12:23 reminds me of something 2011-11-03T19:12:36 roflmao: yeah 2011-11-03T19:12:42 i actually beat you 2011-11-03T19:12:43 :P 2011-11-03T19:12:49 by some miracle 2011-11-03T19:12:49 http://www.youtube.com/watch?v=prjhQcqiGQc 2011-11-03T19:12:52 I like his defends :-) 2011-11-03T19:12:58 after losing to you, oh, like what, 15 times? :) 2011-11-03T19:13:04 my bot isn't very good xD 2011-11-03T19:13:17 now that A is back it's losing all the games again :P 2011-11-03T19:13:17 sometimes it looked a bit like snake 2011-11-03T19:14:18 *** goants has joined #aichallenge 2011-11-03T19:14:18 anyway, g2g 2011-11-03T19:14:48 *** thestinger has quit IRC (Quit: WeeChat 0.3.6) 2011-11-03T19:14:49 my best achievement... not being killed by A x.x http://ants.fluxid.pl/replay.19295 2011-11-03T19:15:27 he's really that good? 2011-11-03T19:15:38 http://ants.fluxid.pl/replay.19311 — easily my best game of all time 2011-11-03T19:16:05 lol very nice! 2011-11-03T19:16:23 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-03T19:24:13 *** datachomper_ has joined #aichallenge 2011-11-03T19:24:13 *** goants has quit IRC (Read error: Connection reset by peer) 2011-11-03T19:24:24 *** goants has joined #aichallenge 2011-11-03T19:25:43 *** marijnfs has quit IRC (Quit: leaving) 2011-11-03T19:28:59 *** lericson has quit IRC (Ping timeout: 256 seconds) 2011-11-03T19:29:09 which is the best data struct to keep a graph in for bfs speedwise 2011-11-03T19:30:23 *** delt0r__ has quit IRC (Ping timeout: 245 seconds) 2011-11-03T19:30:47 i just add a vector of neighbour locations to each square in my grid 2011-11-03T19:30:49 and use that information 2011-11-03T19:31:02 and remove relevent neighbour information as you find out about water 2011-11-03T19:31:06 relevant* 2011-11-03T19:31:13 *** Antimony has joined #aichallenge 2011-11-03T19:33:54 seriously, get a proper IRC client :P 2011-11-03T19:34:33 *** HaraKiri has quit IRC () 2011-11-03T19:34:37 *** lericson has joined #aichallenge 2011-11-03T19:35:49 im trying to do FIFO in python. whats the fastest data struct 2011-11-03T19:35:57 roflmao: what happened here? http://ants.fluxid.pl/replay.19346 2011-11-03T19:36:15 *** epicmonkey has quit IRC (Ping timeout: 248 seconds) 2011-11-03T19:37:44 ecarpenter84: depends on what you want to do exactly 2011-11-03T19:38:15 I've been using deque from the collections module 2011-11-03T19:38:33 *** ecarpenter84 has quit IRC (Quit: Page closed) 2011-11-03T19:39:21 *** ecarpenter84 has joined #aichallenge 2011-11-03T19:39:37 i was using a custom MYQUEUE class if ound on the web cuz i had trouble getting deque to work 2011-11-03T19:40:29 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-03T19:40:44 *** trcjr has joined #aichallenge 2011-11-03T19:42:41 wow 2011-11-03T19:42:53 using deque dropped by time cost by half 2011-11-03T19:43:17 *** delt0r__ has joined #aichallenge 2011-11-03T19:45:07 so, how many bots do you think will be ranked 90+, by the end of contest? 2011-11-03T19:46:45 < 10%? 2011-11-03T19:46:49 *** bergmark has joined #aichallenge 2011-11-03T19:46:59 :O 2011-11-03T19:46:59 maybe even less than 5 2011-11-03T19:47:05 *** olexs has quit IRC (Quit: Leaving.) 2011-11-03T19:47:07 dunno 2011-11-03T19:47:09 please say someone knows how to recover a file? 2011-11-03T19:47:17 I accidentally did make clean 2011-11-03T19:47:25 and my src file is gone 2011-11-03T19:47:33 did you use vcs? 2011-11-03T19:47:38 no 2011-11-03T19:47:44 or any backup? 2011-11-03T19:47:47 no 2011-11-03T19:47:58 would it be in /tmp or anything? 2011-11-03T19:48:05 trash? 2011-11-03T19:48:18 rm -rf? 2011-11-03T19:48:51 ecarpenter84: good to hear :) 2011-11-03T19:48:59 fuck 2011-11-03T19:49:02 :@ :@ :@ 2011-11-03T19:50:56 You cannot trivially recover deleted files. 2011-11-03T19:51:00 conor_f: if on linux (more specifically ext3) http://carlo17.home.xs4all.nl/howto/undelete_ext3.html might help 2011-11-03T19:51:11 And if the system is not immediately frozen, you're pretty out of luck. 2011-11-03T19:51:44 Reminds me of a pleading scream in the computer labs the day before deadline... 2011-11-03T19:51:51 ... 2011-11-03T19:51:52 "IS THERE ANY UNDO IN UNIX!?" 2011-11-03T19:51:54 helpful 2011-11-03T19:52:06 clean:\n\trm *.java :D 2011-11-03T19:52:06 *** hjax has joined #aichallenge 2011-11-03T19:52:18 to be fair I found a file from about 6 weeks ago in /tmp/ 2011-11-03T19:52:23 so... 2011-11-03T19:52:32 conor_f: /tmp contains files actively put/created there. 2011-11-03T19:52:44 yes 2011-11-03T19:52:55 Things will not magically be moved there unless some tool did so as part of their operation. 2011-11-03T19:52:55 But all I used for that file was vim/gedit 2011-11-03T19:53:03 and all I used for this was vim/gedit 2011-11-03T19:53:14 *** ecarpenter84 has quit IRC (Quit: Page closed) 2011-11-03T19:53:37 type `ls -al` to look for backup files 2011-11-03T19:53:41 maybe vim made some 2011-11-03T19:53:56 vim has a .swp file for when it crashes 2011-11-03T19:54:09 but I exited cleanly and then make clean rm -rf d it 2011-11-03T19:54:32 better start using vcs then 2011-11-03T19:54:44 and preferably remote backup too 2011-11-03T19:54:51 sometimes if you rub a couple magnets on your HD, it can bring files back 2011-11-03T19:54:56 seems a bit excessive for this 2011-11-03T19:54:57 lol 2011-11-03T19:55:01 shut up burny 2011-11-03T19:55:18 ffs, I spent all of today working on that code 2011-11-03T19:55:21 if it's worth your time, it should be worth the little extra time it takes to back it up properly 2011-11-03T19:55:29 conor_f: Not that it matters for what you achieved, but why the -r? 2011-11-03T19:55:46 make clean just did it 2011-11-03T19:56:00 sorry 2011-11-03T19:56:04 no it didn't 2011-11-03T19:56:04 Someone must have written the makefile. 2011-11-03T19:56:07 just -f 2011-11-03T19:56:32 People who habitually use -r needs to accidentally their whole filesystem. 2011-11-03T19:56:35 * Zao eyes self 2011-11-03T19:56:45 happened to me twice too :P 2011-11-03T19:57:51 man 2011-11-03T19:57:59 this is annoying 2011-11-03T19:58:33 I'm leaving 2011-11-03T19:58:43 thanks for all your help today, but now it's all gone :@ 2011-11-03T19:58:45 *** conor_f has quit IRC (Quit: leaving) 2011-11-03T19:58:54 *** Cyb has quit IRC (Ping timeout: 258 seconds) 2011-11-03T19:59:34 *** jcdjcd is now known as bugnuts 2011-11-03T19:59:58 that makefile is evil 2011-11-03T20:00:07 *** ikaros has joined #aichallenge 2011-11-03T20:05:28 why? 2011-11-03T20:09:32 *** goants has quit IRC (Quit: Leaving.) 2011-11-03T20:10:20 *** eashoka has joined #aichallenge 2011-11-03T20:11:19 it deletes so much code 2011-11-03T20:11:26 people whine about it every day 2011-11-03T20:11:31 wati .. .WHAT? 2011-11-03T20:11:37 you mean my bot is stupider because of it? 2011-11-03T20:12:06 no, it deletes entire projects 2011-11-03T20:12:15 Minthos: is this a specific contest makefile or just general makefile? 2011-11-03T20:12:15 it doesn't randomly remove a few lines from your code 2011-11-03T20:12:35 janzert: I think it's one of the makefiles that come with the starter packages 2011-11-03T20:12:42 C++ I think 2011-11-03T20:13:42 this is a cool blog post: http://singularityhub.com/2011/10/26/googles-ai-challenge-who-can-build-the-smartest-ant-colony/ 2011-11-03T20:14:13 janzert : have we decided against using multi hill maps? I havn't seen one in ages. 2011-11-03T20:14:31 hmm, the only thing I see weird in there is that it is deleting *.d and debug.txt but those shouldn't be source files at least 2011-11-03T20:14:37 eashoka: same set of maps is still active 2011-11-03T20:15:10 what is a .d file in a cpp context though and why is make clean deleting debug.txt I wonder 2011-11-03T20:16:14 ahh, apparently .d is a gcc object file of some sort 2011-11-03T20:16:24 *** QuirionPT has quit IRC (Quit: Leaving) 2011-11-03T20:17:33 *** Rinum has quit IRC (Ping timeout: 265 seconds) 2011-11-03T20:17:34 janzert: the issue is that people rename the .cc files to .cpp because that is the usual extension for C++ 2011-11-03T20:17:59 that's fine the make file should just not touch them then 2011-11-03T20:18:16 janzert: then they change the sources in the makefile, but not the line that defines objects 2011-11-03T20:18:29 causing make clean to specifically delete all their .cpp sources 2011-11-03T20:19:16 ahh, I see :( 2011-11-03T20:19:26 ouch 2011-11-03T20:19:32 amstan : a very good read! 2011-11-03T20:19:37 yes, ouch :p 2011-11-03T20:20:14 better to have the makefile just delete *.o instead 2011-11-03T20:20:35 By the way, does anyone know why teh game rate is broken? 2011-11-03T20:20:45 *** replore has joined #aichallenge 2011-11-03T20:22:46 *** Munjaros has joined #aichallenge 2011-11-03T20:23:13 *** AxVapor has joined #aichallenge 2011-11-03T20:23:31 *** tmandry has joined #aichallenge 2011-11-03T20:23:31 *** tmandry has joined #aichallenge 2011-11-03T20:23:50 lol: "Your request " http://aichallenge.org/ " was rejected because of its content categorization: "Games"." 2011-11-03T20:24:04 looks like we got on a webfilter 2011-11-03T20:24:34 being only casually familiar with makefiles myself, how about changing the OBJECTS line to "OBJECTS=$(addsuffix .o, $(basename ${SOURCES}))" 2011-11-03T20:25:09 janzert: what's going on with the makefiles? 2011-11-03T20:25:20 deleting people's source code :( 2011-11-03T20:25:24 how so? 2011-11-03T20:25:42 add a test.cpp file to the sources list for example 2011-11-03T20:26:14 since it doesn't have a .cc extension the objects currently feeds it directly to the rm command unchanged 2011-11-03T20:26:25 oh dear 2011-11-03T20:26:34 yes, not good at all 2011-11-03T20:27:34 im writing a new piece of code for my bot to handle exponential expansion, which is needed so badly for good functioning of my bot, lets hope it works :) 2011-11-03T20:27:36 I'm also not sure why it's deleting debug.txt 2011-11-03T20:28:01 shouldn't wipe out people's source but still seems wrong 2011-11-03T20:28:08 janzert: it's an entry in the clean dep, i assume you want only code when cleaning 2011-11-03T20:28:17 janzert: no.. wiping sources is definatelly a bug, i'll fix it 2011-11-03T20:28:29 cleaning should only remove auto generated files though 2011-11-03T20:28:43 debug is technically autogenerated 2011-11-03T20:28:53 normally only files that another of the make commands generated 2011-11-03T20:29:05 fluxid seems to be frozen 2011-11-03T20:30:02 yeap, I'm queued for game 19407 for a few minutes 2011-11-03T20:30:19 aichallenge: Alexandru Stan epsilon * rf95ce89 / ants/dist/starter_bots/cpp/Makefile : Fixed makefile to stop erasing source files with different extensions - http://git.io/u5RmYA 2011-11-03T20:31:23 starter packages regenerated 2011-11-03T20:31:38 amstan, how many of the 1000 bots that are in queue right now are starter bots? 2011-11-03T20:31:54 hjax: not sure, mcleopold was playing with scripts for detecting that 2011-11-03T20:33:09 amstan: starter bots should really be limited to two games, and if a bot that crashes/doesnt gather any food, for five games in a row should also be deactivated, one game every three hours is so slow :/ 2011-11-03T20:33:25 janzert: c, java and pascal are also using the same makefile constructs. 2011-11-03T20:34:07 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-03T20:34:26 probably less likely to cause a problem there since I think they all use a standard single extension for source files but it'd be best to change them anyway 2011-11-03T20:34:59 contestbot: seen flag 2011-11-03T20:34:59 amstan: flag was last seen in #aichallenge 35 weeks, 3 days, 21 hours, 41 minutes, and 34 seconds ago: BTW, you might want to add a random seed to your engine so food spawns are consistent for debuging, just a suggestion 2011-11-03T20:35:13 @seen _flag 2011-11-03T20:35:13 janzert: _flag was last seen in #aichallenge 1 day, 18 hours, 29 minutes, and 19 seconds ago: <_flag> So the player pool is really shallow 2011-11-03T20:35:13 was he in here with another name before? 2011-11-03T20:35:32 he kinda abandoned his starter package, and it's a submodule 2011-11-03T20:35:58 in order to change them we have to fork it 2011-11-03T20:36:00 thought _flag is the same person? 2011-11-03T20:36:08 idk, probably 2011-11-03T20:36:09 Does a hill become land after it's captured or does it remain a hill? 2011-11-03T20:36:21 but pulling in it in as a regular directory like the rest wouldn't be bad anyway 2011-11-03T20:36:26 yeah 2011-11-03T20:36:36 i'll do that 2011-11-03T20:37:03 what's with make.cmd in the java starter? 2011-11-03T20:37:03 *** gnutella has joined #aichallenge 2011-11-03T20:37:04 datachomper_: it is regular land so far as a bot can see 2011-11-03T20:37:12 <_flag> Hey 2011-11-03T20:37:21 <_flag> I see you requested me 2011-11-03T20:37:22 amstan: no idea 2011-11-03T20:37:22 someone rewrote the makefile in a bash script 2011-11-03T20:37:26 *** AxVapor has quit IRC (Read error: Connection reset by peer) 2011-11-03T20:37:29 *** jmcarthur has quit IRC (Quit: WeeChat 0.3.4) 2011-11-03T20:37:39 *** AxVapor has joined #aichallenge 2011-11-03T20:37:44 windows batch file so they don't have to install make probably 2011-11-03T20:37:49 janzert: thanks 2011-11-03T20:38:04 yeah, but like.. why is it java only and not others then? 2011-11-03T20:38:13 janzert: Isn't there some corner case if an ant moves onto it immediately or something? 2011-11-03T20:38:18 _flag: the Makefile as used in the current starter bots has a bit of a nasty bug 2011-11-03T20:38:41 i.e. it can delete people's source files when running make clean 2011-11-03T20:39:12 Zao: ? not sure what you mean 2011-11-03T20:39:12 *** AxVapor has quit IRC (Read error: Connection reset by peer) 2011-11-03T20:39:19 once it is razed it's just normal land 2011-11-03T20:39:42 *** AxVapor has joined #aichallenge 2011-11-03T20:39:57 the visualizer leaves a small visual there so you can tell where it was, but the engine doesn't tell a bot anything special about the square 2011-11-03T20:40:45 <_flag> I'm pretty sure I was just asked to copy the C++ one 2011-11-03T20:40:58 can food spawn on a dead hill? 2011-11-03T20:41:00 _flag: yes, but the c++ one had that bug too 2011-11-03T20:41:02 _flag: yeah, that seems to be where they all originate from 2011-11-03T20:41:05 janzert: I've got a vague memory of someone talking about it a few days ago, where they didn't get the right sort of notification in some cases. 2011-11-03T20:41:05 *** the-mgt has quit IRC (Quit: the-mgt) 2011-11-03T20:41:15 janzert: Might be someone misinterpreting things though. 2011-11-03T20:41:30 (it's not like I track this channel horribly closely, just in passing on activity) 2011-11-03T20:41:40 Zao: there is no notification when a hill is razed the bot just stop getting updates that a hill is there 2011-11-03T20:41:49 <_flag> Well anyway, it seems to be just because only 3 source files are listed in the "SOURCES" section and if someone adds additional ones it will assume they're not part of the project 2011-11-03T20:41:58 <_flag> Do you guys have a fix you want me to push to git? 2011-11-03T20:42:33 _flag: the problem is if someone adds a file to sources that has a different extension 2011-11-03T20:42:54 the OBJECTS line as written won't modify the extension but feed it directly to rm 2011-11-03T20:43:01 and boom the source file is gone 2011-11-03T20:43:08 on make clean that is 2011-11-03T20:43:30 you can see the change amstan just checked into the cpp Makefile if you want 2011-11-03T20:43:48 <_flag> Sure, I'll update it 2011-11-03T20:44:00 <_flag> Are you guys linking to my git or hosting the starter pack yourself? 2011-11-03T20:44:11 aichallenge: Alexandru Stan epsilon * r43ca426 / ants/dist/starter_bots/java/Makefile : Fixed makefile to stop erasing source files with different extensions - http://git.io/1fK5SA 2011-11-03T20:44:16 depends on what you mean by that ;) 2011-11-03T20:44:23 *** jmcarthur has joined #aichallenge 2011-11-03T20:44:24 _flag: we're still linking 2011-11-03T20:44:25 it is currently a git submodule of the main repo 2011-11-03T20:44:32 <_flag> Okay 2011-11-03T20:44:34 _flag: it would also be nice if you had hills support 2011-11-03T20:44:36 *** gnutella has quit IRC (Quit: Page closed) 2011-11-03T20:44:41 I think we may change it to match the rest of the starter bots at some point 2011-11-03T20:45:05 <_flag> It would, the problem is the hills support I added to my bot is partially integrated with some logic 2011-11-03T20:45:28 it doesn't have to match your bot 2011-11-03T20:45:31 <_flag> And I haven't had the time to really work on my bot, let alone release a new starter pack 2011-11-03T20:45:31 *** Munjaros has quit IRC (Quit: Page closed) 2011-11-03T20:45:34 <_flag> I know 2011-11-03T20:45:41 oh, ok 2011-11-03T20:46:25 <_flag> Just the OBJECTS line was changed, correct? 2011-11-03T20:46:31 _flag: yes 2011-11-03T20:46:41 _flag: your line should look the same actually 2011-11-03T20:46:45 since you still output .o files 2011-11-03T20:47:11 lol, a 4chan like site also linked to us: http://2ch.so/pr/res/76337.html 2011-11-03T20:48:01 *** pedrosorio has quit IRC (Quit: Page closed) 2011-11-03T20:49:06 aichallenge: Janzert epsilon * rd0688d3 / ants/dist/starter_bots/javascript/Ants.js : 2011-11-03T20:49:07 aichallenge: Merge pull request #351 from kruffin/patch-1 2011-11-03T20:49:07 aichallenge: Replaced the calls to console.log() with writeSync() - http://git.io/C-6fTw 2011-11-03T20:50:00 *** tmandry has quit IRC (Ping timeout: 260 seconds) 2011-11-03T20:50:07 aichallenge: Alexandru Stan epsilon * r14e2a93 / ants/dist/starter_bots/pascal/Makefile : Fixed makefile to stop erasing source files with different extensions - http://git.io/_zDjNw 2011-11-03T20:50:08 aichallenge: Alexandru Stan epsilon * r34e0552 / ants/dist/starter_bots/javascript/Ants.js : Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/2pGUVw 2011-11-03T20:50:13 janzert: btw, git push --rebase is useful 2011-11-03T20:50:32 and dangerous in various ways :} 2011-11-03T20:50:34 janzert: it makes the git commit graph look better since it has less branches 2011-11-03T20:50:38 sorry 2011-11-03T20:50:41 pull --rebase 2011-11-03T20:50:45 deceitful in other ways :) 2011-11-03T20:51:21 but does make history prettier 2011-11-03T20:51:34 yes, but most of the stuff we're doing is in separate places, so it shouldn't really be called a merge 2011-11-03T20:52:09 yeah, and the default way git displays the resulting history is poor 2011-11-03T20:52:16 * janzert misses bzr 2011-11-03T20:52:51 *** iris1 has joined #aichallenge 2011-11-03T20:52:59 <_flag> Okay, I updated it 2011-11-03T20:54:05 hmm, need to find someone who feels like reviewing the correctness of a php visible function :/ 2011-11-03T20:54:06 https://github.com/aichallenge/aichallenge/pull/296 2011-11-03T20:54:47 they would just need to make sure it is doing the same thing as the python version 2011-11-03T20:55:03 hey guys, just want to let you know what you're doing is great. No matter my rank or anything else; It's just great.. so thanks! 2011-11-03T20:55:18 looks like venom is having fun 2011-11-03T20:55:36 Venom: thanks 2011-11-03T20:55:52 anyone else having problems with the haskell submodule? 2011-11-03T20:55:55 hjax: :) very much indeed 2011-11-03T20:56:02 it seems like it can't find the hash 2011-11-03T20:56:41 git submodule update doesn't complain about anything 2011-11-03T20:56:48 mine says fatal: reference is not a tree: ec138b8ccb44d885858214fcdb7cbf820cdaa1a3 2011-11-03T20:56:52 but I don't know if that means anything either 2011-11-03T20:57:07 Venom: me too, my bot isnt done yet though, in fact i think the starter package is currently keeping me at rank 4000 until my nice bot is in working conditon 2011-11-03T20:57:35 oops I didn't have it init'ed yet 2011-11-03T20:58:03 but that seems to have pulled it in fine "git submodule init" 2011-11-03T20:58:52 hjax: cool. don't wait too long before sending what you have: even with simple food searching algo you can go in the top 1000 2011-11-03T20:59:15 Venom: um im a noob so that isnt simple, and its almost done :P 2011-11-03T20:59:48 janzert: it seems like it doesn't want to update the remote in the submodule, even though i deleted the whole folder a few times 2011-11-03T20:59:56 hehe alright. in which language are you coding your bot? 2011-11-03T21:00:03 python 2011-11-03T21:00:04 I think just plain random movement will boost you above the starter bots 2011-11-03T21:00:21 yes hahaha 2011-11-03T21:00:28 *** anty_m has joined #aichallenge 2011-11-03T21:00:32 janzert, i was tempted to test that, at least random movement wont get hung up on dead ends 2011-11-03T21:00:40 * avdg isn't doing food search and reaches almost rank 1000 2011-11-03T21:00:45 hjax: they do 2011-11-03T21:00:50 How can adding the values of two dictionaries be this difficult 2011-11-03T21:00:55 amstan: bleh, probably a bad reference somewhere in the main repo .git 2011-11-03T21:01:09 roflmao: not going up down up down like that starter bots do 2011-11-03T21:01:11 hjax: cool. I'm in C#. Python seems nice. 2011-11-03T21:01:43 janzert: yeah, my .git/config 2011-11-03T21:01:50 for some reason it didn't change 2011-11-03T21:02:12 ya 2011-11-03T21:02:14 is there a way to debug my bot with the play one game.cmd? since theres no terminal output idk how to see what caused my bot to crash 2011-11-03T21:02:17 tru 2011-11-03T21:02:30 I've thought about adding purposeful "starter bot catch" for the map generator to put in every map :P 2011-11-03T21:02:31 *** steaky has joined #aichallenge 2011-11-03T21:02:43 finally! 2011-11-03T21:03:28 hey - so does anyone know what is going on with the game rate - im sitting at 322 (over 5 hrs between games) 2011-11-03T21:03:39 steaky, do you know of fluxid? 2011-11-03T21:03:39 it's slow 2011-11-03T21:04:14 and slowing in the last days as more bots are taking advantage of turntime 2011-11-03T21:04:22 @rofl - I know of him - but never faced him 2011-11-03T21:04:23 steaky: An error occured while trying to show the previous error. 2011-11-03T21:04:35 rofl - I know of him - but never faced him 2011-11-03T21:04:39 steaky: 2011-11-03T21:04:40 @tcp 2011-11-03T21:04:41 amstan: tcp could be http://ants.fluxid.pl/howto. 2011-11-03T21:05:04 oh right, you mean the alternative tcp site. gotya 2011-11-03T21:05:15 its way faster 2011-11-03T21:05:17 and bots are harder 2011-11-03T21:05:18 play there 2011-11-03T21:05:21 although it is stuck right now 2011-11-03T21:05:38 janzert: have you tried the realtime analytics? 2011-11-03T21:05:43 ha, well cheers for that - i might have a look. 2011-11-03T21:05:50 apparently we have 64 visiors on the site right now 2011-11-03T21:05:57 none of the tcp servers are working... 2011-11-03T21:06:19 hjax, try -e parameter 2011-11-03T21:06:26 amstan: no, I haven't 2011-11-03T21:06:54 the gme rate thing is strange as I checked the rates of my opponents in my last match, and they were all sub-100.... and all inactive 2011-11-03T21:07:16 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-03T21:07:25 woah! i can spy on the visiors, because a few of them are starting at their profile page 2011-11-03T21:07:42 :P 2011-11-03T21:07:46 ikaros: no difference 2011-11-03T21:08:02 im one of them amstan 2011-11-03T21:08:15 hjax: refresh it a few times so you get bunped up 2011-11-03T21:08:36 see me now? 2011-11-03T21:08:41 not yet 2011-11-03T21:08:47 5133? 2011-11-03T21:08:54 7816 2011-11-03T21:09:08 nope, you're not on the list yet 2011-11-03T21:09:16 there's probably a delay 2011-11-03T21:09:27 i just refreashed it liek 10 times, ill be there soon lol 2011-11-03T21:09:30 like* 2011-11-03T21:09:30 rofl - with fluxid do I just change "python MyBot.py" to "java -jar MyBot.jar" to get it to work for java stuff - or is it python only? 2011-11-03T21:10:18 hjax: nope 2011-11-03T21:10:20 steaky: it'll work for any language but I'm not sure of the correct command 2011-11-03T21:10:35 what you have above looks like a good place to start ;) 2011-11-03T21:10:37 hjax: also, it's based on visitors, so you would only appear once then 2011-11-03T21:11:12 how does the server tell whether an entry is python 2 or 3? 2011-11-03T21:11:43 caution: python3 stuff should be submitted with a py3 extension 2011-11-03T21:12:10 can you add pypy support please? 2011-11-03T21:12:26 caution: talk to janzert 2011-11-03T21:13:02 caution: there's a possibility but I haven't had time to try it again recently 2011-11-03T21:13:48 The bot version number correspond to the number of times you uploaded your bot code, correct? 2011-11-03T21:13:52 yes 2011-11-03T21:14:02 The first rank is currently Xathis 2011-11-03T21:14:10 and he's version 1 2011-11-03T21:14:31 version 1, except for all the versions during the beta 2011-11-03T21:14:31 the guy's a genius? 2011-11-03T21:14:34 nothing stops you from making a new username for each upload 2011-11-03T21:14:47 anty_m the ban hammer does 2011-11-03T21:14:48 he must have been experimenting in the demo period before the live launch 2011-11-03T21:14:50 the top users started this months ago 2011-11-03T21:14:52 sure, but only if you don't care about getting the ban hammer 2011-11-03T21:15:01 I thought we were still talking about the tcp site 2011-11-03T21:15:04 which is kind of unfair but it's not like the beta was secret 2011-11-03T21:15:05 whoops 2011-11-03T21:15:06 ccc_ , that's what I thought. 2011-11-03T21:15:55 Venom: and yeah, he might be a genius 2011-11-03T21:16:24 meh any other better way to debug in c++ than attaching to the process... 2011-11-03T21:16:38 there's gotta be some way with MSVC to automate attaching 2011-11-03T21:16:43 a1kon: oh well. so many things could be considered unfair if you really want to find things. :) I'll take a month off from my job to concentrate on the contest. Is that unfair? :P 2011-11-03T21:16:45 how can i see what caused my bot to crash? from the play_one_game.bat 2011-11-03T21:16:45 printf all the lines 2011-11-03T21:16:47 I thought switching languages would be a good way to learn a new language, but it's just sapping my will to participate 2011-11-03T21:17:10 ccc_: yes, he might. 2011-11-03T21:17:18 Venom: people have done that before 2011-11-03T21:17:42 then it takes you forever to parse through your debug logs lol 2011-11-03T21:17:44 Venom: I totally see why. This is pretty addictive. 2011-11-03T21:17:51 talking to urself? 2011-11-03T21:18:01 and yes this damn contest is addictive 2011-11-03T21:18:10 it's successfully weaned my work hours off of reddit though 2011-11-03T21:18:14 and onto this lol 2011-11-03T21:18:17 Venom: technically i have a month off from my job 2011-11-03T21:18:17 haha, awesome. missclicked :P 2011-11-03T21:18:24 (but that's because we just had a baby) 2011-11-03T21:18:42 god that reminds me... i really should do some work 2011-11-03T21:18:42 magiik: killed my reddit time too. 2011-11-03T21:18:51 a1kon: congrats :) 2011-11-03T21:19:06 yeah it's amazing, i havn't been to reddit in like 3 days now ( cept on my phone ) 2011-11-03T21:19:25 a1kon: lol, now I'm picturing a crying baby and frustrated new mother in the background as you tweak ants 2011-11-03T21:19:45 a1kon: also, congrats :) 2011-11-03T21:19:59 *** Redgis has quit IRC (Quit: ... mains libres) 2011-11-03T21:20:07 when you receive input and put all the data in your datastructures, in the next turn when you get input again, do you loop through your datastructres again to see which ones to remove? 2011-11-03T21:20:22 anty_m: heh, pretty much. don't forget the bored 3 year old running around the house 2011-11-03T21:20:25 I mean you have to remove dead ants if any right 2011-11-03T21:20:27 can anyone help me? idk how to get output from python crashing on my machine when testing 2011-11-03T21:20:48 hjax: the python logging module is awesome 2011-11-03T21:20:58 just pipe the logging output to a file 2011-11-03T21:21:24 anty_m: ummm, what about when python crashes? im just looking for the traceback 2011-11-03T21:21:29 or just open a file and print to it if you don't want to learn/use the logging module 2011-11-03T21:22:05 hjax: I think everything in stdout and stderr is suppressed by the game engine, so you've gotta use a file 2011-11-03T21:22:11 python crashes it should dump a traceback right there 2011-11-03T21:22:20 no it isn't 2011-11-03T21:22:22 use --capture-errors 2011-11-03T21:22:24 singularity hub did a really nice and in depth write up http://singularityhub.com/2011/10/26/googles-ai-challenge-who-can-build-the-smartest-ant-colony/ 2011-11-03T21:22:36 --capture_errors 2011-11-03T21:22:39 as a param to playgame.py 2011-11-03T21:22:46 magiik: well whaddaya know. I should come here more often. 2011-11-03T21:22:46 and it will print stderr from ur bots on the screen 2011-11-03T21:22:54 *** Rinum has joined #aichallenge 2011-11-03T21:22:54 just like the test_bot.py command 2011-11-03T21:23:27 is there something wrong on Fluxid? Games aren't being played? 2011-11-03T21:23:28 but yeah, i do my debuging output to a file anyways - it's easier to handle than on the screen 2011-11-03T21:23:37 but the stderr to the screen is nice for when u crash ur bot 2011-11-03T21:23:46 *** datachomper_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T21:23:57 the problem with debugging output to a file, is disk i/o acess 2011-11-03T21:24:02 it kills performance on my netbook 2011-11-03T21:24:17 but i guess that's what i get for programming on a netbook 2011-11-03T21:24:20 fucking atom 2011-11-03T21:24:35 all 7 square inches of coding space 2011-11-03T21:24:46 mmmmm tasty 2011-11-03T21:24:50 it works fine for web development heh 2011-11-03T21:25:00 and 1/2 of my coding so far has been on that thing, in python 2011-11-03T21:25:13 i'm just afraid to load visual studio on there 2011-11-03T21:25:17 and i like the GUI debugger 2011-11-03T21:25:39 *** bobbydroptable has joined #aichallenge 2011-11-03T21:27:12 *** sementry has joined #aichallenge 2011-11-03T21:27:25 eclipse on that netbook is so slow too 2011-11-03T21:27:31 when i was last playing with some minecraft plugins 2011-11-03T21:27:36 man i should invest in a decent laptop meh 2011-11-03T21:27:39 from the site: "for every ant: for each enemy in range of ant (using spawnradius2):" Should read as AttackRadius2? 2011-11-03T21:27:49 yeah 2011-11-03T21:28:01 ur looking at battle resolution right? 2011-11-03T21:28:05 yes 2011-11-03T21:28:07 *** Rinum has quit IRC (Ping timeout: 265 seconds) 2011-11-03T21:28:16 thanks 2011-11-03T21:29:02 so has ants.fluxid.pl been down for 10 minutes too then? 2011-11-03T21:29:03 --capture_errors just spits out an error message saying that thats not a perimeter for playgame.py 2011-11-03T21:29:14 hey magiik, would your name be Simon? nvm if it isn't. just having some weird intuition here. 2011-11-03T21:29:43 nah, not simon heh 2011-11-03T21:29:52 hjax: run python playgame.py w/o any parms 2011-11-03T21:29:56 it will tell u all the CLI opts 2011-11-03T21:30:26 oh hjax where did u put the --capture_errors 2011-11-03T21:30:31 yea 2011-11-03T21:30:33 maggik: whatever your say, Simon. XD .. alright. I had a friend with this nickname a few years back and he was into coding. 2011-11-03T21:30:34 it has to be before the bot params 2011-11-03T21:30:36 steaky it's usually up and running really fast 2011-11-03T21:30:38 but its down 2011-11-03T21:30:41 *** TheLinker has joined #aichallenge 2011-11-03T21:30:44 magiik i did 2011-11-03T21:30:45 *** Rinum has joined #aichallenge 2011-11-03T21:30:48 magik is my usual nickname, but it's been reg'd on freenode forever 2011-11-03T21:30:51 i played like 30 games on it today] 2011-11-03T21:31:06 ok 2011-11-03T21:31:14 hjax: try putting it after the bot params heh 2011-11-03T21:31:22 hjax: look at test_bot.cmd for an example 2011-11-03T21:32:03 roflmao: well i typed in those commands and it eventually came back saying i was in the queue for game 19407 - does this mean i can switch my PC off? 2011-11-03T21:32:10 no 2011-11-03T21:32:15 the bot runs on your pc 2011-11-03T21:32:18 you quit and you wont play 2011-11-03T21:32:21 but its no biggie dude 2011-11-03T21:32:26 fluxid is prolly down for now 2011-11-03T21:32:28 you get games so fast usually 2011-11-03T21:32:37 every once in a while it breaks down 2011-11-03T21:32:38 *** user` has joined #aichallenge 2011-11-03T21:32:50 just look at the recent games list, at the last timestamp 2011-11-03T21:32:54 man xathis is a beast 2011-11-03T21:32:55 *** Dim_ has joined #aichallenge 2011-11-03T21:32:56 *** user` is now known as scombinator 2011-11-03T21:33:01 he has some minimax something going on 2011-11-03T21:33:08 *** Dim_ is now known as Dimentox 2011-11-03T21:33:18 Xathis? 2011-11-03T21:33:19 minimax for battling? 2011-11-03T21:33:24 Where's his source? 2011-11-03T21:33:25 yea 2011-11-03T21:33:31 http://aichallenge.org/visualizer.php?game=51899&user=4513 2011-11-03T21:33:38 every time something types something to roflmao I expect it to be funny :( 2011-11-03T21:33:43 well, im off no as its half1 in the morning here. thanks for all the help - looks like i'l be on here more often 2011-11-03T21:33:46 wait wrong match 2011-11-03T21:33:54 http://aichallenge.org/visualizer.php?game=53197&user=4513 2011-11-03T21:33:59 look at the momo and xathis battles 2011-11-03T21:34:09 they run away — wait until they can overpower each other 2011-11-03T21:34:13 they have some predictive stuff going on 2011-11-03T21:34:19 my guess is minimax but it could obviously be something else 2011-11-03T21:34:19 Wow, a1kon isn't really doing so well there 2011-11-03T21:34:35 *** steaky has quit IRC (Quit: Page closed) 2011-11-03T21:34:39 I don't see any momo 2011-11-03T21:34:45 http://aichallenge.org/visualizer.php?game=53197&user=4513 2011-11-03T21:34:47 MomoBot 2011-11-03T21:34:54 man that game is epic 2011-11-03T21:35:04 lots of micromanaged battles on that first link rofl 2011-11-03T21:35:13 My bot needs to get better at combat 2011-11-03T21:35:21 yeah they have some insanely amazing combat goin on 2011-11-03T21:35:57 http://snipd.net/wp-content/uploads/2011/07/minimax-illustration.jpg 2011-11-03T21:35:57 it wasn't just him either 2011-11-03T21:35:59 still trying to figure out how momobot does such a nice spread of ants :( 2011-11-03T21:36:03 there were at least like 2 or 3 bots in that first battle 2011-11-03T21:36:08 that were doing all kinds of battle dancing 2011-11-03T21:36:10 with formations and shit 2011-11-03T21:36:14 man i need to up my game 2011-11-03T21:36:16 bobby: it isn't that hard 2011-11-03T21:36:18 c# generics are nice for that stuff 2011-11-03T21:36:20 just gotta get the right bfs weights 2011-11-03T21:36:38 How'd they get predicitive with all that combat and stuff 2011-11-03T21:36:41 yeh i'm playing around with the weights 2011-11-03T21:36:43 for my first bot, all I did was avoid squares I'd already visited for a while, and it did surprisingly OK. 2011-11-03T21:36:59 the good bots really use minimax for combat? 2011-11-03T21:37:07 I mean, minimax sounds costly, even with alpha-beta pruning 2011-11-03T21:37:18 scombinator: minimax, aka computing all possible futures a few turns ahead and picking the best course of action 2011-11-03T21:37:34 you can chaise xathis off because he doesnt want to loose a few ants 2011-11-03T21:37:51 THis is old my contrib to openmetaverse. ive been doing NPC ai in sl since 2k8.. Now i use raycasting with nav meshes etc. instead of bitmapping the field. http://jira.openmv.org/secure/attachment/10465/AStar.cs 2011-11-03T21:38:05 a good fast astar is nice but you have to use it sparsely 2011-11-03T21:38:16 the above is hardly optimised for this type fof thing. 2011-11-03T21:38:32 luiz — maybe a little 2011-11-03T21:38:36 but yeah minimax is a bit costly 2011-11-03T21:38:38 I mean, if you have 4 ants for each side, that gives you 8 ants and 8*4 = 32 different possible moves on each turn 2011-11-03T21:39:03 even if you're simulating for only a few turns, that will grow up very fast 2011-11-03T21:39:42 or, 5^8 = 38k possible moves 2011-11-03T21:40:19 DOH! 2011-11-03T21:40:30 lol, I have to sleep probably 2011-11-03T21:40:34 I am worknig on for my combat is to just have a 4 move distance limiter and if the ants in that area outnumber retreat and move in more ants... then once overpowered move in.. then redistribute for other atatcks or tasks ... the key i see is avoidance and also blocking pathways with clustering so you can kill hives 2011-11-03T21:40:45 anyway, it's very costly. minimax doesn't sound feasible 2011-11-03T21:40:51 Hello! Any admins here? Can I download my uploaded submissions any way? Unfortunately, I've lost my local copy of my code. 2011-11-03T21:41:46 *** roflmao1 has joined #aichallenge 2011-11-03T21:41:53 maybe it is just some customized bfs 2011-11-03T21:41:53 sementry: if you ask nicely, maybe 2011-11-03T21:41:57 that uses enemy ants as the open set 2011-11-03T21:42:01 sementry: but i have to confirm it's really your account 2011-11-03T21:43:14 Ok, what do you need to be sure that's my account? 2011-11-03T21:43:22 sementry: see the pm 2011-11-03T21:43:44 *** anty_m has quit IRC (Quit: Page closed) 2011-11-03T21:44:39 amstan, someone else was complaining they lost their source a couple hours ago also 2011-11-03T21:44:58 *** roflmao has quit IRC (Ping timeout: 245 seconds) 2011-11-03T21:45:05 burny: when you see them tell them to ping me 2011-11-03T21:45:37 amstan i see on the forums no one really answered this... c# timers? yay or nay? 2011-11-03T21:45:38 aichallenge: janzert epsilon * r5ae5ecf / (3 files): Fix for Ada starter - http://git.io/R4vEoA 2011-11-03T21:45:38 --capture errors is doing nothing... 2011-11-03T21:45:50 Dimentox: huh? 2011-11-03T21:46:05 using timers for event signals to basically keep track of rounds 2011-11-03T21:46:44 Dimentox: aren't timers run in a separate thread? 2011-11-03T21:47:02 Yes but your not doing any processing logic 2011-11-03T21:47:15 Not necessarily - they can use interupts 2011-11-03T21:47:42 true 2011-11-03T21:48:02 http://msdn.microsoft.com/en-us/library/zdzx8wx8.aspx 2011-11-03T21:48:04 *** TheLinker has quit IRC (Read error: Connection reset by peer) 2011-11-03T21:48:11 The System.Threading.Timer class makes callbacks on a ThreadPool thread and does not use the event model at all. 2011-11-03T21:48:58 that's system.threading.timer though... 2011-11-03T21:49:43 i'm going to throw in a guess here and say "probably not" 2011-11-03T21:51:32 nothing to stop from writing your own scheduler... that does not OS thread 2011-11-03T21:52:15 epoll would be quite cpu intensive and wouldn't add much benefit though, i think? 2011-11-03T21:52:43 the python starter pack just checks time elapsed since the turn started and doesn't do anything if nearing time limit 2011-11-03T21:52:51 *** goants has joined #aichallenge 2011-11-03T21:53:42 *** absc41 has joined #aichallenge 2011-11-03T21:54:52 epoll?! Why do you need file IO? 2011-11-03T21:55:24 event polling 2011-11-03T21:55:39 lol sorry wrong abbreviation 2011-11-03T21:56:05 if you need a timer, try alarm 2011-11-03T21:56:22 I mean setitimer 2011-11-03T21:56:25 *** Antimony has joined #aichallenge 2011-11-03T22:00:09 System.timers operates on a thread also 2011-11-03T22:00:20 but hey JVM spins up atleast 4 threads for java :P 2011-11-03T22:00:49 are people getting away with using threads? 2011-11-03T22:01:03 no 2011-11-03T22:01:04 maybe green threads 2011-11-03T22:01:11 *** datachomper_ has joined #aichallenge 2011-11-03T22:01:49 *** treeform has quit IRC (Quit: Leaving.) 2011-11-03T22:03:24 *** wilsone has quit IRC (Ping timeout: 265 seconds) 2011-11-03T22:03:36 *** Jak_o_Shadows has joined #aichallenge 2011-11-03T22:03:53 *** ccc_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T22:04:31 *** jezuz` has joined #aichallenge 2011-11-03T22:05:02 *** eashoka has quit IRC (Quit: Page closed) 2011-11-03T22:05:58 i don't think there is anything actively preventing multi-threaded bots from operating 2011-11-03T22:06:07 grrr now i have to add massive logging to my code 2011-11-03T22:06:33 there will probably be some sort of code review after the finals where they identify things that could disqualify a bot's results 2011-11-03T22:06:42 could be wrong though, admin's probably need to comment 2011-11-03T22:06:49 it just got into a starring contest with some food >.> 2011-11-03T22:07:18 there is, new processes are blocked from starting 2011-11-03T22:07:23 afaik 2011-11-03T22:07:39 lol oh well there you go 2011-11-03T22:07:44 and its exponential growth code didnt move the ants either >.> meaning bth the main code and the fall back dont work 2011-11-03T22:07:48 both* 2011-11-03T22:08:11 *** jezuz has quit IRC (Ping timeout: 276 seconds) 2011-11-03T22:09:08 not sure why though... 2011-11-03T22:09:55 mine does a little death shuffle when it can't decide what to do :) 2011-11-03T22:10:05 mine just sits there 2011-11-03T22:10:13 http://213.88.39.97:2080/replay.9483 2011-11-03T22:10:38 not sure why its just sitting there, it gets the first food easily 2011-11-03T22:11:55 hijax what lang? 2011-11-03T22:12:28 i suspect it has somethihng to do with your 2nd ant popping out 2011-11-03T22:12:46 it could be 2011-11-03T22:12:49 python 2011-11-03T22:13:36 well it doesn't have bfs yet, but it didnt need any complex pathing there 2011-11-03T22:13:48 well theres my probelm 2011-11-03T22:14:14 all my code is in a try loop, so when it crashed it just sat there, because it was handling all of the errors 2011-11-03T22:14:23 use a debugger and break point it at the point of stop and look at your data 2011-11-03T22:14:28 O_o 2011-11-03T22:14:52 not im python >. 2011-11-03T22:14:57 not in python* 2011-11-03T22:15:07 i have no debugger 2011-11-03T22:15:33 http://docs.python.org/library/pdb.html 2011-11-03T22:16:15 I just have a static class Util 2011-11-03T22:16:16 *** roflmao1 has quit IRC (Ping timeout: 255 seconds) 2011-11-03T22:16:20 anyone on ants.fluxid.pl? Trying to figure out if I'm doing something wrong, or the server is just idle. 2011-11-03T22:16:36 im using the other one, its working again 2011-11-03T22:16:38 with a log function that logs to sys.stderr lol 2011-11-03T22:16:43 Spyder has a debugger for python 2011-11-03T22:17:40 heh if you use c# and M$ i could help :P posted a tut on debugging in the ide :P http://aichallenge.org/forums/viewtopic.php?f=25&t=1765 you can do the same with pdb even easier 2011-11-03T22:17:50 and setting your timeouts anfd stuff for the engine higher 2011-11-03T22:17:51 the second ant is killing it, idk why 2011-11-03T22:17:55 brb 2011-11-03T22:18:00 *** tmandry has joined #aichallenge 2011-11-03T22:18:00 *** hjax has quit IRC (Quit: Page closed) 2011-11-03T22:18:00 *** tmandry has quit IRC (Changing host) 2011-11-03T22:18:00 *** tmandry has joined #aichallenge 2011-11-03T22:18:14 --turntime 600000 --serial --loadtime 600000 helps a ton 2011-11-03T22:23:10 *** SharkMonkey has joined #aichallenge 2011-11-03T22:27:34 *** datachomper_ has quit IRC (Ping timeout: 265 seconds) 2011-11-03T22:28:14 *** goants has quit IRC (Read error: Connection reset by peer) 2011-11-03T22:28:39 *** goants has joined #aichallenge 2011-11-03T22:30:52 *** Rinum has quit IRC (Quit: Page closed) 2011-11-03T22:33:39 I wonder if your bot is doing very well if you need to put the time that high :-) 2011-11-03T22:34:18 *** AVAVT has joined #aichallenge 2011-11-03T22:34:37 *** Cowbandit has joined #aichallenge 2011-11-03T22:35:49 where can I play my bot against stronger bots? aichallenge.org is many hours between a match, and ants.fluxid.pl seems to be a ghost town… any other options? 2011-11-03T22:36:05 goants: not really 2011-11-03T22:36:22 goants: short of making your own tcp server and challenging a bunch of people. 2011-11-03T22:36:56 LOL make a irc mod server for DCC :P 2011-11-03T22:37:00 I hereby challenge all you lurkers with your weak bots to a deathmatch on ants.fluxid.pl. ;) 2011-11-03T22:37:19 hrmms 2011-11-03T22:37:22 sounds like ap lan 2011-11-03T22:37:23 *** yoden has quit IRC (Quit: Leaving.) 2011-11-03T22:37:31 to make the dcc duel server 2011-11-03T22:38:48 amstan fight him! 2011-11-03T22:38:51 lol 2011-11-03T22:39:04 mines in shambles of libs and stuff figure i just started on this today 2011-11-03T22:39:21 fluxid looks like a great setup: simple to use, bots run remotely so it doesn't need a lot of resources... 2011-11-03T22:39:45 there's just nobody there 2011-11-03T22:40:17 Thats why i say a irc mod for it :P 2011-11-03T22:40:22 its just text ya know :P 2011-11-03T22:40:30 Dimentox: i don't have any bot made 2011-11-03T22:40:37 *** sementry has quit IRC (Ping timeout: 265 seconds) 2011-11-03T22:40:39 goants, At the moment or in general? 2011-11-03T22:40:42 goants 2011-11-03T22:40:48 find me saturday :P 2011-11-03T22:40:49 goants: eventually better bots will show up on tcp to play 2011-11-03T22:40:52 or sunday 2011-11-03T22:41:09 the bot "A" was running furiously destroying everyone 2011-11-03T22:41:36 the non threading thing killsme 2011-11-03T22:42:03 i have a ton of ai stuff for my mmo frameworks... for unity and SL but cant use any of it 2011-11-03T22:42:11 at the moment… been waiting for about an hour; no matches 2011-11-03T22:42:24 Dimentox: take that stuff out? 2011-11-03T22:42:29 *** mafarah has joined #aichallenge 2011-11-03T22:42:33 Its event engine driven 2011-11-03T22:42:44 Dimentox: also.. most mmo ais are way tamer than this contest 2011-11-03T22:42:46 goants, Some times it locks up and fluxid has to restart or something 2011-11-03T22:43:03 amstan the Second life code i have is fairly close 2011-11-03T22:43:07 Dimentox: the galcon bot was having a really bad time last contest 2011-11-03T22:43:15 twitch combat and real time pathing etc 2011-11-03T22:43:27 i am sure ill have to modify a ton fo crap 2011-11-03T22:43:34 this is way intense 2011-11-03T22:43:41 lots of micro actions 2011-11-03T22:43:46 in lil time 2011-11-03T22:43:58 Actual Game AIs tend to be optimised for fun rather than winning 2011-11-03T22:44:16 LOL i optimise mine to out thing you and kill lol 2011-11-03T22:44:20 my sadistic thing 2011-11-03T22:44:47 but most of my game stuff is pvp with teh rare 3rd party spawns 2011-11-03T22:44:50 Damn aimbots! 2011-11-03T22:44:59 *** clckwrk has joined #aichallenge 2011-11-03T22:45:06 lol 2011-11-03T22:45:41 i wrapped this up recently 2011-11-03T22:45:41 http://code.google.com/p/recastnavigation/ 2011-11-03T22:45:51 detour would be perfect for this 2011-11-03T22:46:09 which is basically a flash mob type of control 2011-11-03T22:46:33 can anyone tell me how if I can run my bot locally with play_one_game.sh and test_bot.sh both cleanly, but when I upload I get "turn 1 bot 0 timed out" how I can troubleshoot this? 2011-11-03T22:47:05 clckwrk: what language? did you modify the io code? 2011-11-03T22:47:24 C and yes I modified io code. 2011-11-03T22:47:32 but followed rules and specifications. 2011-11-03T22:47:47 didnt' like how starter package wanted reiteration over already read data. 2011-11-03T22:48:07 you should be able to give manually give your bot the game data through stdin 2011-11-03T22:48:09 see what happens 2011-11-03T22:48:30 even with modification of IO code how can it work with play_one_game and test_bot then? 2011-11-03T22:48:44 shouldn't they all not work? 2011-11-03T22:48:48 should work on just stdin and stdout 2011-11-03T22:49:03 *** mafarah has quit IRC (Quit: Page closed) 2011-11-03T22:49:08 *** Antimony has quit IRC (Ping timeout: 245 seconds) 2011-11-03T22:50:10 amstan: I can give my bot the input from testbot and playonegame and they work fine...... 2011-11-03T22:50:26 is it just me or do deactivated bots get way more games than activated ones? 2011-11-03T22:50:29 *** alc has joined #aichallenge 2011-11-03T22:50:45 clckwrk: another tip i can give you is to make sure you're flushing your streams 2011-11-03T22:50:54 or else the engine might wait for something that will never arrive 2011-11-03T22:50:58 and then it times out 2011-11-03T22:51:10 so, from this chat, it sounds like there is a lot of basic graph searching being used as the primary component of the bot - anybody using any anything beyond pathfinding, like goal planning or squad-based tactics etc? 2011-11-03T22:52:09 Extrarius: predicting the map knowing is symmetric is also a popular trend 2011-11-03T22:52:24 Ex I am using a priority que, and a Flash mob mentality ie flocking / Schooling. With assigned amounts of ants for set non combat tasks 2011-11-03T22:52:37 Extrarius: i also heard a bunch of people using minimax in a small area to win a battle 2011-11-03T22:53:06 isn't minimax too costly? 2011-11-03T22:53:11 *** AVAVT has quit IRC (Ping timeout: 265 seconds) 2011-11-03T22:53:36 lui that would be the arguement i have read in the irc logs 2011-11-03T22:53:50 *** Antimony has joined #aichallenge 2011-11-03T22:54:15 luizribeiro: idea: simulate a bunch of scenarios and store them in a file 2011-11-03T22:54:42 amstan I fflush after each "go" 2011-11-03T22:55:15 anybody done much with assigning ants roles (scout, gatherer, hunter, etc)? 2011-11-03T22:55:16 clck what os are you on just curious 2011-11-03T22:55:29 clckwrk: i'm not sure then, it depends on what you're doing 2011-11-03T22:55:41 clckwrk: perhaps someone will be willing at looking at your pastebinned code 2011-11-03T22:55:59 Dimentox, what's flocking and schooling? 2011-11-03T22:56:26 Venom: see birds / fish 2011-11-03T22:56:28 schooliing is the same thing you see in the mob mentality with fish... 2011-11-03T22:56:28 amstan let me ask this, should each series of moves from the bot be surrounded with go\nmove\nmove\ngo? 2011-11-03T22:56:41 No 2011-11-03T22:56:47 even after the go after ready/ 2011-11-03T22:56:50 is this the same thing as swarming? 2011-11-03T22:56:51 clckwrk: i don't know, you can look at the other starter packages and see how they behave in comparassion to yours 2011-11-03T22:56:52 http://en.wikipedia.org/wiki/Swarm_intelligence 2011-11-03T22:57:05 ah, yep, that's it. 2011-11-03T22:57:08 flock of birds, school of fish - nearby agents influence the actions of eachother 2011-11-03T22:57:15 i define in my stuff flocking as a follow teh leader type 2011-11-03T22:57:22 schooling to me is more swarm 2011-11-03T22:57:25 Wrong channel :/ 2011-11-03T22:57:26 amstan: I suppose that's what I'll have to do, weird that it works with play_one_ and test_bot..... 2011-11-03T22:57:58 Dimentox: okay, I get it. 2011-11-03T22:57:59 i am wondering clk is it may be lineendings? 2011-11-03T22:58:02 clckwrk: How long does your bot take for a round? Maybe the server is slower so you reach the timeout 2011-11-03T22:58:41 *** roflmao has joined #aichallenge 2011-11-03T22:58:56 extrarius: don't really know, but could it be slower than a macbook? plus these err's are during the test phase after compilation and code upload. 2011-11-03T22:59:25 I really like this challenge, it's the first real example of AI that is complex enough to be interesting but simple enough to play with freely 2011-11-03T22:59:44 Extrarius: yeah its nice 2011-11-03T22:59:53 *** hjax has joined #aichallenge 2011-11-03T23:00:33 I'm trying and failing to figure out what's wrong with my code by read it 2011-11-03T23:00:50 can't debug/log until tomorrow 2011-11-03T23:00:59 I can't see what's wrong with my code either 2011-11-03T23:01:10 Take a break and come back to it tomorrow then 2011-11-03T23:01:36 my code can manage one ant before it crashes 2011-11-03T23:01:41 hjax i had a issue where my exceptions were blocking my fallback 2011-11-03T23:01:57 maybe throw a finally which handles a random movement 2011-11-03T23:02:02 see if they move 2011-11-03T23:02:24 also it's not deciding to go after food properly, 2011-11-03T23:03:15 Dimentox: I did that, and it's not running, do some previous code is crashing and the bot thinks that it executed 2011-11-03T23:04:06 hjax: Yeah your probably gonna have to run though a debugger 2011-11-03T23:04:27 Or rewrite ;) 2011-11-03T23:04:47 *** Antimony has quit IRC (Ping timeout: 248 seconds) 2011-11-03T23:04:47 *** Cowbandit has quit IRC (Ping timeout: 265 seconds) 2011-11-03T23:04:51 method/function out your stuff and comment out till you find it 2011-11-03T23:05:01 if you cant run though a debugger 2011-11-03T23:05:02 so many things I need to add, pathing, offense, defense, and scouting/gathering being the most important 2011-11-03T23:05:25 I'll just add logging every other line 2011-11-03T23:06:10 why not import the debugger i pasted 2011-11-03T23:06:28 because I'm here on my phone ATM 2011-11-03T23:06:34 ahh gotcha 2011-11-03T23:06:56 and idk how to use it with the tcpserver 2011-11-03T23:08:25 yeah prob gonna have to run with local tools 2011-11-03T23:08:47 I want to be in the top 500 this time >.> 2011-11-03T23:08:58 LOL my goal is to beat my boss 2011-11-03T23:09:07 Top 500 shouldn't be too hard 2011-11-03T23:09:46 But on the other hand, I can't even get adding two values together to work properly so who am I to tell 2011-11-03T23:09:59 I was rank 2000 in planet wars, but this bot is already a lot better than my old one (in theory, I haven't actually seen it work like its supposed to yet) 2011-11-03T23:11:33 when I'm done fixing my current code I'll add scouting and massive food gathering next I guess 2011-11-03T23:12:09 Just wondering, what kind of strategy are you all using? 2011-11-03T23:12:49 hjax: I'm using influence maps/potential fields for navigation 2011-11-03T23:12:58 see i am doing some role based stuff... But what i am going to give priority to is retreat and swarming ... where say you have 3 ants near you within a set range... you retreat and summon the rest to have just enough to overwhelm and win the fight then detach and go do your tasks. 2011-11-03T23:13:08 Haw are participation numbers this year as opposed to last? 2011-11-03T23:13:33 Dimentox: Yeah, dynamic rols assignment will probably be importan 2011-11-03T23:13:46 *How 2011-11-03T23:13:47 yup 2011-11-03T23:14:05 someone play tcp please 2011-11-03T23:14:27 woww, my typing is gettinig horrible, so I should probably go to bed. Good night all 2011-11-03T23:14:46 Extrarius: night 2011-11-03T23:14:47 caution: just for you, I'll put my extremely horrible bot so I can rank last tomorrow morning 2011-11-03T23:15:07 you'll win 2011-11-03T23:15:32 I'm just implanting a strategy, no complex analysis of anything (until I add bfs pathing) 2011-11-03T23:16:25 does the tcpserver 1v1 if no-one else joins after a while? 2011-11-03T23:16:26 caution, The tcp server is pretty popular. I'm guessing it's just frozen now 2011-11-03T23:16:26 hjax: You could go woth a chaos theory and just only path if you get stuck in a repeditve loop... and just expand... pathing is expensive.. lol 2011-11-03T23:16:44 that's a shame 2011-11-03T23:16:45 pathing is very expensive 2011-11-03T23:16:46 *** aff has joined #aichallenge 2011-11-03T23:16:50 Fluxid: server down? 2011-11-03T23:17:19 I'll need to optimize bfs heavily so it won't overthink simpler things 2011-11-03T23:17:53 Dimentox: a lot of stuff is expensive, but you can get a lot done in litle time if you start with python then requre in C (using smart algoritmhs to start with) 2011-11-03T23:18:00 which is the best sample bot? 2011-11-03T23:18:06 err rewrite in C 2011-11-03T23:18:11 Extrarius: I use c# 2011-11-03T23:18:23 I'm writing in python 2011-11-03T23:18:28 idk c 2011-11-03T23:18:29 Extrarius: But i do do c and c++ and python 2011-11-03T23:18:38 caution: greedybot is the best python sample iirc 2011-11-03T23:18:57 *** ccc has joined #aichallenge 2011-11-03T23:18:57 *** Antimony has joined #aichallenge 2011-11-03T23:19:06 somone should fix this documentation http://aichallenge.org/specification.php#Bot-Output if you output uppercase for directions your bot will not work, lowercase however seems to work with the toolset 2011-11-03T23:19:09 - 2011-11-03T23:19:34 I always upppercase, it always works 2011-11-03T23:19:44 Me too 2011-11-03T23:19:59 Maybe not. I can't remember. 2011-11-03T23:20:32 *** hjax has quit IRC (Remote host closed the connection) 2011-11-03T23:20:38 ...and it times out in multi_hill maps 2011-11-03T23:20:49 I'm looking at my code, everything is uppercase 2011-11-03T23:20:55 i guess both cases work 2011-11-03T23:21:08 interesting, only lower works for me. 2011-11-03T23:21:18 perhaps that's my problem in some odd way. 2011-11-03T23:21:44 My orders are upper case, and "go"s are lower. 2011-11-03T23:22:11 yeah, "go\n"s are all lower case for me 2011-11-03T23:22:32 clck you sending the line endings? 2011-11-03T23:23:08 yep, line ending is compulsory, thought depends on your language, your output may already have it 2011-11-03T23:24:04 ccc you using cout? 2011-11-03T23:24:27 Dimentox: mine is C (printf) 2011-11-03T23:24:42 clk what you using? 2011-11-03T23:26:01 yeah I'm sending line endings everything works in play_one_game and test_bot, although c start is outputing O ## ## {NSEW}........ 2011-11-03T23:26:02 C 2011-11-03T23:27:32 just thinkin its mac vs linux 2011-11-03T23:27:43 some sort of os culture /formatting 2011-11-03T23:28:20 yeah I'm wondering the same, although newline should be the same. especially when the bot is compiled remote. 2011-11-03T23:28:49 Ugh. If I rewrite in C I'll know what is going on 2011-11-03T23:29:07 afk a few need food 2011-11-03T23:29:15 Does the C starter have hill handling yet? 2011-11-03T23:29:44 What will rewriting in C accomplish? 2011-11-03T23:30:12 Transparency - I'll know what's actually going on, and no allocation will magically appear within a tight loop 2011-11-03T23:30:48 AFAIK C starter does not have hill handling. 2011-11-03T23:31:25 I rewrote because I was unhappy with the starter code...forced me to iterate over this array that I wasn't too keen on. 2011-11-03T23:31:46 It's a trivial feature to add. case 'h': 2011-11-03T23:31:56 easier to build in movement and hill handling during line parses instead of having to read the map and then iterate over it to get what I want. 2011-11-03T23:32:19 If it's trivial, why isn't it there? 2011-11-03T23:33:13 You could be the one to contribute an updated starter bot :) 2011-11-03T23:33:25 Whoa... the cbot starter sucks 2011-11-03T23:33:51 clk if you upload the cbot does it compile? 2011-11-03T23:34:21 Why on earth does it create a map, then search the map for food and ants? 2011-11-03T23:34:25 Most of them do. But they don't suck in a way that should matter much. Focus on the hard interesting stuff before procrastinating and the silly stuff. 2011-11-03T23:34:35 *** nmalbran has joined #aichallenge 2011-11-03T23:34:44 No, I mean the code that handles the structure 2011-11-03T23:35:25 dimentox: compiles failed test case with "turn 1 bot 0 timed out" however play_one_game and test_bot both work flawless locally. 2011-11-03T23:35:49 *** nmalbran has left #aichallenge 2011-11-03T23:36:00 that's to say it compiles, but fails in test cases. 2011-11-03T23:36:12 has xathis talked about his strat? 2011-11-03T23:36:17 even the prefab one? 2011-11-03T23:38:44 dimentox: if that's for me prefab aka starter works, first bot based on starter works, second revision with io rewrite works locally but fails in server test cases. 2011-11-03T23:39:22 let's be honest the C starter package is like a shotgun to the face in this contest. 2011-11-03T23:39:24 *** nmalbran has joined #aichallenge 2011-11-03T23:39:26 maybe a gcc bug / code diff 2011-11-03T23:40:34 well to be fair, coding in C is like walking around with a shotgun without the safety on. 2011-11-03T23:41:01 and coding in C++ is like walking around with a bomb on a short fuse. ^_^ 2011-11-03T23:41:04 *** JorgeB has joined #aichallenge 2011-11-03T23:41:50 dimentox: not sure yet, only difference I can see with my code is starters output in uppercase, my set to do lower......... 2011-11-03T23:42:07 bobbydroptable: C gives you enough rope to shoot yourself in the foot : ) 2011-11-03T23:42:09 talking about the output 2011-11-03T23:42:15 ? 2011-11-03T23:42:20 yeah the output. 2011-11-03T23:42:21 C is fine 2011-11-03T23:42:28 try upper for sh*ts and giggles? 2011-11-03T23:42:46 Especially since you'll want almost everything to be statically allocated 2011-11-03T23:42:54 clckwrk, So changing it didn't help? 2011-11-03T23:43:23 Does the c starter even submit correctly? 2011-11-03T23:43:29 what's the point of end_wait? 2011-11-03T23:43:50 It's for your own debugging purposes when you run locally I think 2011-11-03T23:44:01 Give you time before the engine kills your bot 2011-11-03T23:44:13 ah 2011-11-03T23:44:46 this has absolutely got to be my bug, I just can't reason my way out of this right now. 2011-11-03T23:44:48 *** TheLinker has joined #aichallenge 2011-11-03T23:45:11 changing to upper right now, this introduces various new problems. 2011-11-03T23:45:54 c starter does submit correctly built my first bot based on this.....although....I find it less than ideal, but I might be reneging on that given my current situation. 2011-11-03T23:46:26 Yay, my bot never times out now 2011-11-03T23:46:37 :-) 2011-11-03T23:46:45 *** ecarpenter84 has joined #aichallenge 2011-11-03T23:46:52 And as stupid as it is, it whups those sample bot chumps 2011-11-03T23:47:16 scombinator: we can always scale the problem (and test for a time-out that way :p) 2011-11-03T23:47:44 that's mean 2011-11-03T23:47:45 lol 2011-11-03T23:47:50 Use what works. This isn't the input parsing output formatting contest. 2011-11-03T23:47:53 greedybot makes invalid commands 2011-11-03T23:48:02 As illustrious as the ipof is 2011-11-03T23:48:04 has to be some sort of data beng put out that your compiler ignores or understand like a unicode /multibyte or lineendings... otherwise just does not make sense.. so what ever function you replaced its sensitive to that which yours is not but in gcc it is 2011-11-03T23:48:40 avdg I just added a check during the main recursion - if have little time left, submit the best move thus far 2011-11-03T23:49:29 Maybe the test map is diferent and it fails because of something unique to that 2011-11-03T23:49:59 heh, recursions are deadle, I know a case someone used recursion for its main loop for his irc bot (it still worked after a week, but I wouldn't give it more than a month) 2011-11-03T23:50:10 s/deadle/deadly/ 2011-11-03T23:50:35 ... I know the what tree I'm recursing on 2011-11-03T23:50:42 avdg You did not just regex us 2011-11-03T23:50:44 lol 2011-11-03T23:51:02 *** markt has joined #aichallenge 2011-11-03T23:51:13 SharkMonkey: if that's the case then test_bot.sh isn't representative. 2011-11-03T23:51:47 test_bot.sh is broken on archlinux, because "python X.py" runs python3 and those scripts are python2 2011-11-03T23:52:32 LOL dont you hate it when youve been up for about 36 hours and cant sleep! 2011-11-03T23:52:33 meh, I'm probably in a very good mood atm, I don't remember how many jokes I've put in my wiki already 2011-11-03T23:52:37 in my MacOS i was clearly using out-of-range index but it never seg-faulted and i thought everything is good, but I had to run my program in ubuntu to finally realize my mistake. What a headache i had to just resolve just a small thing 2011-11-03T23:52:38 eats and tries bed 2011-11-03T23:53:00 Dimentox: in that case, try to stay up ;-) 2011-11-03T23:53:04 LOl 2011-11-03T23:53:12 ccc good point 2011-11-03T23:53:14 *** AxVapor has quit IRC (Quit: AxVapor) 2011-11-03T23:53:25 clck maybe try to cvompile on a linux box? 2011-11-03T23:53:42 Which OS does the actual comp use? 2011-11-03T23:53:50 think its linux 2011-11-03T23:53:50 linux 2011-11-03T23:53:52 ubuntu natty 2011-11-03T23:54:00 tournament uses Ubuntu 64bit 2011-11-03T23:54:07 gcc4 tends to be rather buggy with c 2011-11-03T23:54:14 hmm, wasn't the system 32 bit (could be wrong) 2011-11-03T23:54:28 Is that what OS X uses? 2011-11-03T23:54:36 osx is bsd 2011-11-03T23:55:09 *** aff has quit IRC (Quit: Page closed) 2011-11-03T23:55:32 clckwrk, as ccc hints, definitely look into compiler and platform differences masking subtle bugs... 2011-11-03T23:55:35 SharkMonkey: OS X is the operating system of a mac ;-) 2011-11-03T23:55:48 I mean is gcc4 what it uses 2011-11-03T23:55:48 its bsd kernel based 2011-11-03T23:55:52 no 2011-11-03T23:56:45 and you compileing with xcode? 2011-11-03T23:56:51 you can install gcc 2011-11-03T23:57:33 yeah after installing xcode you get gcc along with many other things. 2011-11-03T23:58:00 yeah I dont' think it's an OS X thing, it's a fucking bug that I've introduced I'm almost positive of it. How many times have you been writing code and blaming the OS and it turns out to be your fault. it might be subtle differences, but I've treid to minimize those or sure. 2011-11-03T23:58:12 LOL 2011-11-03T23:58:22 most of the time for me its microsofts libs 2011-11-03T23:58:25 and headers 2011-11-03T23:58:30 lol 2011-11-03T23:58:36 if i am on linux 2011-11-03T23:58:38 the fact that the specification and the tools are questonable doesn't make it any easier though. 2011-11-03T23:58:41 its ually my fault 2011-11-03T23:58:44 cause i am drunk 2011-11-03T23:58:51 clckwrk, We aren't blaming OSX. At least I'm not. Overflows and things trigger differently on different platforms. It could easily be the other way around. 2011-11-03T23:58:59 clckwrk: why do say they are questionable? 2011-11-03T23:59:12 nope 2011-11-03T23:59:15 * avdg is blaming himself for placing files at the wrong place 2011-11-03T23:59:19 just saying maybe its one of those trange tings 2011-11-03T23:59:42 ccc: the mere fact that I can run play_one_game and test_bot on my platform with no error and have timeouts on the target system leaves something to be desired.