2011-11-09T00:01:14 new Random(seed); 2011-11-09T00:03:50 thanks. 2011-11-09T00:03:59 how do I grab the seed though 2011-11-09T00:09:12 the starter pack should grab the "player_seed" parameter for you 2011-11-09T00:09:16 http://aichallenge.org/specification.php 2011-11-09T00:13:19 sweet 2011-11-09T00:13:22 thanks 2011-11-09T00:18:29 *** treeform has joined #aichallenge 2011-11-09T00:19:52 *** bmh has joined #aichallenge 2011-11-09T00:19:52 *** bmh has joined #aichallenge 2011-11-09T00:20:06 evening 2011-11-09T00:20:16 heyo 2011-11-09T00:21:20 can we get language support for MIT Church? :) 2011-11-09T00:22:06 *** Odyssey has joined #aichallenge 2011-11-09T00:25:51 *** treeform has quit IRC (Remote host closed the connection) 2011-11-09T00:28:04 *** tmandry has quit IRC (Quit: Leaving) 2011-11-09T00:29:51 *** Odyssey has quit IRC (Quit: Page closed) 2011-11-09T00:30:20 *** TheLinker has quit IRC (Quit: Bye) 2011-11-09T00:31:16 *** Areks has joined #aichallenge 2011-11-09T00:40:47 *** pairofdice has joined #aichallenge 2011-11-09T00:45:10 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T00:52:12 *** frogman has joined #aichallenge 2011-11-09T00:52:58 *** frogman has quit IRC (Client Quit) 2011-11-09T00:53:13 *** Palmik has joined #aichallenge 2011-11-09T01:03:37 *** treeform has joined #aichallenge 2011-11-09T01:07:26 *** bmh has quit IRC (Quit: bmh) 2011-11-09T01:08:38 *** GeorgeSebastian has joined #aichallenge 2011-11-09T01:08:38 *** GeorgeSebastian has joined #aichallenge 2011-11-09T01:11:12 *** Garf_ has quit IRC (Quit: Make a new plan, Stan!) 2011-11-09T01:13:17 unhashable type: 'set' ... But I don't use any sets there 2011-11-09T01:14:21 And here I was, so close to solving the most pressing concern for humanity and lack of hash gets in my way 2011-11-09T01:14:29 *** Garf has joined #aichallenge 2011-11-09T01:15:03 *** SparrowG has joined #aichallenge 2011-11-09T01:15:40 So it seems like there is some useful stuff in the Boost C++ libraries. I'm not familiar witht he whole linking/compiling process. When I upload my source code to the server, do I just have to provide the relevant library files, or is there something more complex that's necessary? 2011-11-09T01:25:33 *** ltriant has quit IRC (Quit: Computer has gone to sleep) 2011-11-09T01:27:46 *** Jak_o_Shadows has joined #aichallenge 2011-11-09T01:27:52 *** kilae has joined #aichallenge 2011-11-09T01:31:26 *** NoxiaZ^ has joined #aichallenge 2011-11-09T01:43:20 *** ztfw has joined #aichallenge 2011-11-09T01:44:55 *** Adam__ has quit IRC (Ping timeout: 265 seconds) 2011-11-09T01:45:44 *** praveen has joined #aichallenge 2011-11-09T01:46:36 Is there any tutorial available for diffusion? 2011-11-09T01:47:34 Paper did not give me clear picture 2011-11-09T01:56:06 this will get you somewhat there http://benjamin-meyer.blogspot.com/2011/11/using-collaborative-diffusion-rather.html 2011-11-09T01:56:13 its not the full picture though 2011-11-09T01:56:18 i still can't get it either 2011-11-09T01:56:19 goodl uck 2011-11-09T01:56:28 *** bobbydroptable has quit IRC (Quit: Leaving) 2011-11-09T01:58:11 boobydroptable: I read that but still could not make much. How does the diffusion spread, whole grid in one turn? 2011-11-09T01:58:55 looking for some more explanation if any 2011-11-09T01:59:02 *** retybok_ has joined #aichallenge 2011-11-09T01:59:25 You can make it spread any way you want 2011-11-09T02:00:05 what happens when there are multiple foods. Each food will be a start point for diffusion. Now how does it spread? 2011-11-09T02:04:45 *** retybok_ has quit IRC (Ping timeout: 260 seconds) 2011-11-09T02:07:23 *** datachomper has quit IRC (Quit: Leaving.) 2011-11-09T02:11:17 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-09T02:11:19 *** Flort has joined #aichallenge 2011-11-09T02:14:23 *** ChristianK has joined #aichallenge 2011-11-09T02:14:23 *** Jak_o_Shadows has quit IRC (Ping timeout: 276 seconds) 2011-11-09T02:14:31 *** ChristianK has left #aichallenge 2011-11-09T02:15:01 *** Mooloo has quit IRC (Ping timeout: 258 seconds) 2011-11-09T02:18:13 *** delt0r_ has quit IRC (Ping timeout: 255 seconds) 2011-11-09T02:22:15 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-11-09T02:31:13 *** delt0r_ has joined #aichallenge 2011-11-09T02:35:40 *** epicmonkey has joined #aichallenge 2011-11-09T02:45:54 *** djr_ has quit IRC (Read error: Connection reset by peer) 2011-11-09T02:46:23 *** djr_ has joined #aichallenge 2011-11-09T02:47:22 *** Warrows has joined #aichallenge 2011-11-09T02:50:54 *** epicmonkey has quit IRC (Ping timeout: 240 seconds) 2011-11-09T02:51:40 *** djr_ has quit IRC (Quit: Leaving) 2011-11-09T02:58:12 darn, the javascript and coffeescript bots are broken 2011-11-09T02:58:31 they assume input always comes as one chunk 2011-11-09T02:58:42 or if not, that it will be split on newlines 2011-11-09T03:01:01 but there's absolutely nothing that guarantees that 2011-11-09T03:08:52 eew 2011-11-09T03:10:33 *** Warrows has quit IRC (Quit: Page closed) 2011-11-09T03:11:40 *** Fandekasp has joined #aichallenge 2011-11-09T03:11:55 *** zaphus has joined #aichallenge 2011-11-09T03:14:12 Zao: even scaries is googling and seeing that this is a "common" mistake 2011-11-09T03:16:12 *** mleise has joined #aichallenge 2011-11-09T03:20:37 Garf: what do you mean 2011-11-09T03:21:28 one chuck and split on newlines? 2011-11-09T03:21:49 *** NoxiaZ^ has quit IRC (Ping timeout: 252 seconds) 2011-11-09T03:23:15 http://pastebin.com/uyErWrDM 2011-11-09T03:23:45 this assumes what comes in on "chunk" is always complete lines 2011-11-09T03:30:23 right.. 2011-11-09T03:30:39 So i do this too. But i use a BufferedReader (java) 2011-11-09T03:30:51 that always reads up to a \n 2011-11-09T03:30:51 *** treeform has quit IRC (Remote host closed the connection) 2011-11-09T03:31:02 Java might make different promises regarding stdio buffering 2011-11-09T03:31:07 while that seems to assume you will always get complete lines 2011-11-09T03:31:09 with a C or C++ bot this isn't an issue 2011-11-09T03:31:15 because stdio is line buffered by default (IIRC) 2011-11-09T03:31:20 yea 2011-11-09T03:31:29 on every OS i have used at least 2011-11-09T03:31:36 node.js doesn't 2011-11-09T03:31:41 odd 2011-11-09T03:31:59 as far as I can tell, they broke it even further in 0.6.x 2011-11-09T03:32:52 because they removed buffering control in favor of "guessing" that you want no buffering in a TTY but you do want it in a pipe 2011-11-09T03:33:08 anyway, no point in rating about that 2011-11-09T03:33:11 * Garf fixes the bots 2011-11-09T03:33:40 *** zaphus has quit IRC (Ping timeout: 265 seconds) 2011-11-09T03:40:00 *** mj41 has joined #aichallenge 2011-11-09T03:45:38 *** mikewintermute has joined #aichallenge 2011-11-09T03:47:32 *** mviel has joined #aichallenge 2011-11-09T03:49:01 Oh nooo, pguillory has dropped to 6th 2011-11-09T03:55:49 *** underflow has quit IRC (Ping timeout: 260 seconds) 2011-11-09T04:05:02 *** grom358 has joined #aichallenge 2011-11-09T04:05:04 Now instead of always suiciding my ants only mostly suicide 2011-11-09T04:05:22 *** dorisabayon has joined #aichallenge 2011-11-09T04:05:38 does anyone else experience timeouts on first time sometimes with java bots 2011-11-09T04:06:15 first turn* 2011-11-09T04:08:18 grom358: Java has the warm up problem there 2011-11-09T04:08:25 if you do too much it will stall 2011-11-09T04:08:42 not much you can do about other than cut back on your init stuff 2011-11-09T04:08:46 yeah.. it only happens sometimes... how to get around it? 2011-11-09T04:08:51 unless of course there is just a bug 2011-11-09T04:08:58 *** marijnfs has joined #aichallenge 2011-11-09T04:09:11 nah.. its not a bug.. normally my bot has heaps of time left over 2011-11-09T04:09:12 one trick is to do your init over say the first 5 turns 2011-11-09T04:09:31 its just sometimes on first turn it timeouts 2011-11-09T04:09:56 I actually put a bunch of init in setup function 2011-11-09T04:10:00 i have not noticed any problems personally... but then my bot in not server side yet 2011-11-09T04:10:07 doesn't the bot get more time for loading 2011-11-09T04:10:11 yes 2011-11-09T04:10:17 loadtime is 3000ms 2011-11-09T04:10:26 Should be plenty 2011-11-09T04:10:33 that should be plenty.. gah 2011-11-09T04:10:34 indeed 2011-11-09T04:10:45 what about if the server is loaded? 2011-11-09T04:10:52 idk.. it only happens on the odd occasion 2011-11-09T04:10:56 or trashing... this may affect java bots first 2011-11-09T04:11:29 since the virtual stuff does not like the way java uses lots of mapped memory and stuff 2011-11-09T04:11:50 yeah.. looking at my games.. http://aichallenge.org/profile.php?user=4130 2011-11-09T04:11:50 *** Jak_o_Shadows has joined #aichallenge 2011-11-09T04:12:03 I occasionally get timeout first turn 2011-11-09T04:12:09 s/trashing/thrashing 2011-11-09T04:12:25 like in http://aichallenge.org/visualizer.php?game=74246&user=4130 2011-11-09T04:12:32 I got a timeout on first turn on a 8player multi_hill map once 2011-11-09T04:12:50 But I've since made it lighter 2011-11-09T04:14:13 Gracenotes: thats quite a big map with the maze thing happening ... this could be costing more cpu that other maps 2011-11-09T04:14:20 Sorry Gracenotes 2011-11-09T04:14:25 that was for grom358 2011-11-09T04:14:47 delt0r_: yeah.. but other games on that same map it works 2011-11-09T04:14:50 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 260 seconds) 2011-11-09T04:15:07 like http://aichallenge.org/visualizer.php?game=74198&user=4130 2011-11-09T04:15:27 but that does not exlude that you are getting close to time outs in this case... you would expect them to be somewhat random 2011-11-09T04:16:08 again quite a big map 2011-11-09T04:16:10 *** AVAVT has quit IRC (Quit: Page closed) 2011-11-09T04:16:32 ok sorry 2011-11-09T04:16:35 no its not 2011-11-09T04:16:39 well not really 2011-11-09T04:16:47 I added a bunch of if getAnts().getTimeRemaining() remaining checks to all the pathfinding 2011-11-09T04:17:04 grom358: do you log your times at all? 2011-11-09T04:17:06 it seems to be related to Java warmup AFAICT 2011-11-09T04:17:17 yeah.. I have.. usually under 100ms 2011-11-09T04:17:24 to take my entire turn 2011-11-09T04:17:26 on the server? 2011-11-09T04:17:39 oh.. no they don't let you write to files on the server 2011-11-09T04:17:42 this is locally 2011-11-09T04:18:01 I though you could still log your error stream 2011-11-09T04:18:09 we did talk about it 2011-11-09T04:18:38 oh.. how do u access that then? 2011-11-09T04:18:56 was not aware of way todo that 2011-11-09T04:19:06 i don't know 2011-11-09T04:19:12 we did talk about it 2011-11-09T04:19:22 perhaps in the end they don't do it on the server 2011-11-09T04:19:22 who is we? 2011-11-09T04:19:27 folks here 2011-11-09T04:19:42 its kind of a discuionocracy 2011-11-09T04:19:49 we talk lots of shit 2011-11-09T04:20:00 then someone deciends to put it into the offical comp 2011-11-09T04:20:00 just sucks that randomly my bot flakes out.. when normally its fast as 2011-11-09T04:20:11 *** ikaros has joined #aichallenge 2011-11-09T04:20:32 It's easy to make things fast if they don't have to be correct :D 2011-11-09T04:20:32 well virtulaizaion in our tests cost you a factor of 2 right off the bat 2011-11-09T04:20:46 our here is me at work 2011-11-09T04:20:58 then its openjdk 2011-11-09T04:21:17 rather than the sun jdk 7 with tiered jit compilation 2011-11-09T04:21:21 * Zao slips in a "write once, debug everywhere" 2011-11-09T04:21:39 lol.. well its too late to rewrite in C++ 2011-11-09T04:21:47 so that makes the warm up a little worse but throughput is a little higher 2011-11-09T04:22:09 Zao is just being cheeky, or a smart mouth 2011-11-09T04:22:21 there really is nothing wrong with java. 2011-11-09T04:22:44 just need to realize that this is *not* real time programing and the servers you run are different 2011-11-09T04:23:15 yeah.. but I seriously don't see how I can work around this warmup problem 2011-11-09T04:23:16 its not like C/C++ would also have different performance on different setups now is it? 2011-11-09T04:23:33 I seriously doubt you have a big warm up problem 2011-11-09T04:23:34 the issue here is that java has performance impacts you can't control 2011-11-09T04:23:47 its one advantage of GC. in a situation like here, it can hit you hard 2011-11-09T04:23:58 disadvantage of course 2011-11-09T04:24:02 I think you have some large map issues... that second link with the smaller map... you didn't timeout 2011-11-09T04:24:05 and JIT+GC rather than just GC 2011-11-09T04:24:24 Garf: true java is *not* "real time" 2011-11-09T04:24:27 but I don't timeout on 10 player maps either most of the time, http://aichallenge.org/visualizer.php?game=74783&user=4130 2011-11-09T04:24:31 *** Raimondi has quit IRC (Read error: Operation timed out) 2011-11-09T04:24:33 but then you just need to work with your tools 2011-11-09T04:24:51 delt0r: unfortunately, in this challenge you can't control your JVM 2011-11-09T04:24:52 java is a tool like C/C++/Lisp/Go/Okk! 2011-11-09T04:25:05 I'd love to give a "--crankshaft" flag to the node.js runtime :P 2011-11-09T04:25:05 Garf: that is a general problem 2011-11-09T04:25:16 I play on plenty of big maps fine 2011-11-09T04:25:19 not just for java... we can't control our hardware 2011-11-09T04:25:25 not hardware 2011-11-09T04:25:26 software 2011-11-09T04:25:31 however we *know* the target JVM 2011-11-09T04:25:32 your VM runtime 2011-11-09T04:25:33 *** Raimondi has joined #aichallenge 2011-11-09T04:25:37 is not something you can reconfigure 2011-11-09T04:25:37 so work with that target 2011-11-09T04:25:56 Pretty standard 2011-11-09T04:26:16 depending on what it guarantees exactly, you can be pretty SOL if you have to guarantee small GC pauses 2011-11-09T04:26:25 though I agree in practise it should be manageable 2011-11-09T04:26:26 grom358: yes, but not all the time... see green tea when there is a lot of ants... he times out 2011-11-09T04:26:50 500ms is a eternity 2011-11-09T04:27:10 my Java games have no problems keeping smooth animations at 60fps 2011-11-09T04:27:36 grom358: Also you can do stuff incrementally at the start 2011-11-09T04:27:37 yeah I use Java for animations and what not.. never had problem with FPS either 2011-11-09T04:27:49 since you don't need something that smart at the start 2011-11-09T04:27:56 then everything is warmed up 2011-11-09T04:28:13 the thing is though.. like I said.. I added a bunch of ants.getTimeRemaining() checks in 2011-11-09T04:28:17 still use the same code, but break out of loops early at the start 2011-11-09T04:28:30 so I bail out of the turn if happen to be running out of time 2011-11-09T04:28:32 *** antimatroid has quit IRC (Quit: Leaving.) 2011-11-09T04:28:38 you do know that any System.nanoTime or whatever is expensive 2011-11-09T04:28:47 *** antimatroid has joined #aichallenge 2011-11-09T04:29:04 I think it uses current millisecond one 2011-11-09T04:29:15 you need to be a little more adaptive.... as we can see with time outs. its clearly not getting the job done 2011-11-09T04:29:23 Both are expensive 2011-11-09T04:29:32 ms or more... IIRC 2011-11-09T04:29:33 *** mj41 has quit IRC (Ping timeout: 256 seconds) 2011-11-09T04:29:41 yeah.. but it can't be 50ms expensive 2011-11-09T04:29:46 *** mikewintermute has quit IRC (Quit: mikewintermute) 2011-11-09T04:29:49 no not that bad 2011-11-09T04:29:58 but 1 ms is a really really slow 2011-11-09T04:30:00 yeah I'm bailing out early as 2011-11-09T04:31:04 its like it timeouts out before it even gets to doTurn 2011-11-09T04:31:27 what about that first 3 seconds you do your first turn 2-4 times if you have the time... get the JIT to compile your stuff in the warm up time 2011-11-09T04:31:33 I do allocate a lot of Set structures 2011-11-09T04:31:40 thinking out loud here btw 2011-11-09T04:32:11 grom358: that could cause a stall.... but it shouldn't ... allocation is fast with GC. 2011-11-09T04:33:32 *** Blkt has joined #aichallenge 2011-11-09T04:35:06 *** g0llum has joined #aichallenge 2011-11-09T04:35:31 You could try doing some stuff for 1/9th of the tiles and so on 2011-11-09T04:35:42 grom358: also the openjdk is ~= to sun jdk 1.6.0 ... so still pretty good 2011-11-09T04:35:50 yeah just added some logging with loading my bot on 5 player map.. and most of the time I take 60ms for my turn 2011-11-09T04:35:55 just not bleading edge 2011-11-09T04:36:33 grom358: have you tried getting the bot input of the maps that you do timeout on and seeing what happens? 2011-11-09T04:36:42 good morning everyone 2011-11-09T04:37:17 grom358: its the BOT IN icon on the bottom right of the replay 2011-11-09T04:37:20 what is weird though.. when I load my bot as the player multiple times.. only some of them timeout 2011-11-09T04:38:08 I thinking its cause I only have dual core 2011-11-09T04:38:21 ?? 2011-11-09T04:38:31 on the servers i think you only get a "single core 2011-11-09T04:38:41 dual core makes java more responsive 2011-11-09T04:38:50 yeah.. but locally I trying to ran my bot 4 times with only dual core CPU 2011-11-09T04:38:53 for example the gc typically has its own thread 2011-11-09T04:38:59 ic 2011-11-09T04:39:13 should be fine at only 60ms per turn 2011-11-09T04:39:29 I often run my one with 16 of my own bots a dual core here 2011-11-09T04:39:38 an old dual core too 2011-11-09T04:40:01 yeah I don't get this at all 2011-11-09T04:40:37 I still really think there is a issue in the code. Would try the Bot in local debug 2011-11-09T04:41:00 yeah.. i just don't see how when I got a bunch of checks whenever I do loops 2011-11-09T04:41:15 checking the time remaining is > 100ms 2011-11-09T04:41:50 well that is the thing about bugs... they are unexpected and unintended behavior 2011-11-09T04:41:52 the ones timing out.. are timing out on setup 2011-11-09T04:41:53 :D 2011-11-09T04:42:06 progress 2011-11-09T04:42:08 at last 2011-11-09T04:42:10 yeah.. just found something with these logs.. they timeout during setup 2011-11-09T04:43:51 *** mj41 has joined #aichallenge 2011-11-09T04:48:00 you know I think I just fixed it by not doing anything on the very first turn 2011-11-09T04:48:12 I did a if (turnNo <= 1) { return; } 2011-11-09T04:50:50 sounds like a lurking problem that will bite you later tbh grom358 2011-11-09T04:55:09 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-09T04:57:48 *** grwip has joined #aichallenge 2011-11-09T04:57:58 *** grwip_ has joined #aichallenge 2011-11-09T04:58:04 *** grwip_ has left #aichallenge 2011-11-09T04:58:13 *** grwip has quit IRC (Client Quit) 2011-11-09T04:59:00 *** grwip has joined #aichallenge 2011-11-09T04:59:36 *** marijnfs has quit IRC (Quit: leaving) 2011-11-09T05:04:43 kk.. I just added some more timer checks and that seems to avoid it timing out 2011-11-09T05:09:25 *** replore_ has quit IRC (Remote host closed the connection) 2011-11-09T05:11:25 *** DesAnt has joined #aichallenge 2011-11-09T05:12:51 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-09T05:13:30 My ants need obedience training 2011-11-09T05:15:11 *** Jak_o_Shadows has quit IRC (Ping timeout: 248 seconds) 2011-11-09T05:15:59 delt0r_: it seems I got it sorted out 2011-11-09T05:16:06 yeah it hacky.. but it works 2011-11-09T05:16:31 better to end the turn then timeout 2011-11-09T05:18:49 grom358: so this is locally? 2011-11-09T05:19:53 yeah.. but it should fix it come server side too 2011-11-09T05:25:03 my bot is awesome. Its in java but almost 100% C style... we shall call it C assimilated Java 2011-11-09T05:25:11 is that the right way round? 2011-11-09T05:32:08 *** liberforce has joined #aichallenge 2011-11-09T05:34:13 *** maysam has joined #aichallenge 2011-11-09T05:52:18 *** HaraKiri has joined #aichallenge 2011-11-09T05:53:39 *** jasox has quit IRC (Read error: Operation timed out) 2011-11-09T05:57:12 we can also change the Ants class ourselves, right? 2011-11-09T05:59:57 I guess you can do anything you want provided you don't break http://aichallenge.org/rules.php 2011-11-09T06:02:26 *** underflow has joined #aichallenge 2011-11-09T06:05:27 *** underflow has quit IRC (Read error: Connection reset by peer) 2011-11-09T06:07:09 *** underflow has joined #aichallenge 2011-11-09T06:12:56 *** underflow has quit IRC (Read error: Connection reset by peer) 2011-11-09T06:30:39 *** TheDigitalNinja has quit IRC (Remote host closed the connection) 2011-11-09T06:31:24 maysam: The sample skeletons are just that, sample skeletons. 2011-11-09T06:34:15 maysam: I wrote my bot from the spec. However just need to make sure the entry point is MyBot.$WHATEVER 2011-11-09T06:39:47 *** Varan has joined #aichallenge 2011-11-09T06:39:56 *** mcstar has joined #aichallenge 2011-11-09T06:41:42 *** xbelt has joined #aichallenge 2011-11-09T06:49:43 *** maysam has quit IRC (Quit: maysam) 2011-11-09T06:58:34 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 256 seconds) 2011-11-09T07:00:48 *** jstemmer has quit IRC (Quit: leaving) 2011-11-09T07:08:46 *** xbelt has quit IRC (Ping timeout: 256 seconds) 2011-11-09T07:10:34 *** Varan has quit IRC (Remote host closed the connection) 2011-11-09T07:16:22 *** jstemmer has joined #aichallenge 2011-11-09T07:17:38 *** bobbydroptable has joined #aichallenge 2011-11-09T07:21:52 *** Nails has quit IRC (Quit: Page closed) 2011-11-09T07:27:16 *** jasox has joined #aichallenge 2011-11-09T07:34:37 *** sigh has joined #aichallenge 2011-11-09T07:37:16 *** ZAPHUS has joined #aichallenge 2011-11-09T07:45:56 *** ZAPHUS has quit IRC (Quit: Page closed) 2011-11-09T07:47:52 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 256 seconds) 2011-11-09T07:52:41 *** amstan_ has joined #aichallenge 2011-11-09T07:52:42 *** ChanServ sets mode: +o amstan_ 2011-11-09T07:56:50 *** foRei has joined #aichallenge 2011-11-09T08:01:21 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-09T08:01:45 *** g0llum has joined #aichallenge 2011-11-09T08:06:50 *** cyphase has quit IRC (Ping timeout: 258 seconds) 2011-11-09T08:12:20 what is N S E W? 2011-11-09T08:12:28 N is r-1? 2011-11-09T08:12:34 or something else? 2011-11-09T08:12:55 yes r-1 2011-11-09T08:13:01 w is c-1 2011-11-09T08:14:05 (don't forget wrapping) 2011-11-09T08:14:32 thanks 2011-11-09T08:14:56 shesh its always the easy stuff i am not getting right... my ants <3 walls 2011-11-09T08:15:03 *** bergmark has quit IRC (Read error: Operation timed out) 2011-11-09T08:15:18 *** cyphase has joined #aichallenge 2011-11-09T08:18:57 *** kaemo has quit IRC (Ping timeout: 244 seconds) 2011-11-09T08:22:12 :D 2011-11-09T08:22:28 N:north S:south E:east W:west 2011-11-09T08:24:19 mcstar: Let's hope the competition doesn't take place on ant-arctica 2011-11-09T08:24:45 (where "west" and "east" are relative a particular meridian. 2011-11-09T08:24:51 (different standards among different people) 2011-11-09T08:26:51 no problem as the edges dont get degenerate 2011-11-09T08:26:55 as long as* 2011-11-09T08:27:03 ? 2011-11-09T08:27:44 image, that 1 edge(2 because of wrapping) gets pulled together into a point 2011-11-09T08:28:27 i think it would look like a foot-ball 2011-11-09T08:28:32 we should have played on the surface of a klein bottle 2011-11-09T08:28:52 antimatroid: marco would curse your name as loong as you live 2011-11-09T08:28:52 that wouldn't be messy at all 2011-11-09T08:29:14 as long as he lives :P 2011-11-09T08:29:22 right 2011-11-09T08:32:22 mcstar: They project a reasonably orthogonal coordinate system on the continent, with a fixed meridian as "east" 2011-11-09T08:32:52 yep? 2011-11-09T08:32:58 i mean whats your point? 2011-11-09T08:33:56 *** twymer has joined #aichallenge 2011-11-09T08:34:14 heeey 2011-11-09T08:34:19 my first local timeout 2011-11-09T08:34:26 wth 2011-11-09T08:35:30 i think im gonna make my algs. time dependent 2011-11-09T08:35:52 i.e. switch to a less efficient algorithm when iexplored most of the map 2011-11-09T08:35:57 *** RasmusL has joined #aichallenge 2011-11-09T08:36:07 efficient->optimal 2011-11-09T08:36:25 hi 2011-11-09T08:37:30 i have a weird problem with my pathfinding again o.o 2011-11-09T08:39:36 it can run through the same parent cell 5+ times in a single path 2011-11-09T08:39:44 even though that cell is in the closed list :/ 2011-11-09T08:39:58 it almost seems to me as if it isn't hashing properly, but tuples should hash fine 2011-11-09T08:40:57 *** yoden has joined #aichallenge 2011-11-09T08:42:58 *** Antimony has joined #aichallenge 2011-11-09T08:43:27 RasmusL: what lang? 2011-11-09T08:43:36 did you do the hash function yourself? 2011-11-09T08:43:48 did you also include a == 2011-11-09T08:43:50 python 2011-11-09T08:43:54 you typically need to 2011-11-09T08:44:09 oh... python does it automagic right? 2011-11-09T08:44:18 def __hash__(self): return hash(self.cell) 2011-11-09T08:44:19 yep 2011-11-09T08:44:22 self.cell is a tuple 2011-11-09T08:44:27 it hashes tuples fine 2011-11-09T08:45:00 RasmusL: So you do write your own hash function? for python tuples you should no 2011-11-09T08:45:01 not 2011-11-09T08:45:03 sorry 2011-11-09T08:45:06 RasmusL: it is entirely possible that A* doesnt like you 2011-11-09T08:45:08 anyway i do closedset.add(node) then later "if node in closedset" and it doesn't always evaluate to true :/ 2011-11-09T08:45:11 you should try BFS first 2011-11-09T08:47:15 im doing a buttload of logging right now 2011-11-09T08:47:18 see if i can figure this out 2011-11-09T08:50:07 *** ikaros has joined #aichallenge 2011-11-09T08:52:41 haha 2011-11-09T08:52:50 c-string will never be out of fashion 2011-11-09T08:53:03 no matter what language you program in, you alway love c-strings 2011-11-09T08:57:51 *** grandiose has joined #aichallenge 2011-11-09T08:58:40 *** NoxiaZ^ has joined #aichallenge 2011-11-09T08:59:25 *** twymer has quit IRC (Ping timeout: 240 seconds) 2011-11-09T08:59:44 RasmusL: what language? 2011-11-09T08:59:55 *** bergmark has joined #aichallenge 2011-11-09T09:00:58 mcstar: c-string.. is out of fashion :P 2011-11-09T09:03:01 yeah I had problem with my A* due to using TreeMap instead of PriorityQueue 2011-11-09T09:03:07 it's python 2011-11-09T09:03:13 im using heapq and set 2011-11-09T09:03:28 yeah don't enough about python sorry 2011-11-09T09:03:33 ok :) 2011-11-09T09:03:43 good luck 2011-11-09T09:03:47 thanks 2011-11-09T09:03:54 *** grom358 has quit IRC (Quit: Leaving) 2011-11-09T09:03:56 it's so weird.. im missing something entirely 2011-11-09T09:03:59 hmm 2011-11-09T09:04:29 So am I. I have made every check to make my ants not run into hostiles, but they're stubborn 2011-11-09T09:04:29 *** Harpyon has joined #aichallenge 2011-11-09T09:04:32 RasmusL: the best way to debug that is to output the whole map with the g-values 2011-11-09T09:04:42 so you can see if it makes sense at all 2011-11-09T09:05:34 im outputting all nodes it processes with g and h values 2011-11-09T09:05:45 and also which ones are currently in the closedset 2011-11-09T09:05:48 *** grandiose has quit IRC (Quit: Leaving.) 2011-11-09T09:06:28 RasmusL: you could also try visualizing it while its running 2011-11-09T09:06:35 thats why i did for the first time 2011-11-09T09:06:46 you can do that? 2011-11-09T09:06:48 i wrote a visualizer for my engine 2011-11-09T09:06:55 oh.. too much work haha 2011-11-09T09:07:03 and i used the same visualizer to graph my a* search 2011-11-09T09:07:27 RasmusL: the visualizer is half-a-screen in common lisp 2011-11-09T09:07:28 i think there might be a problem with the way i choose child nodes 2011-11-09T09:07:37 im sure it is of similar length in python 2011-11-09T09:07:59 *** frisianskipper has joined #aichallenge 2011-11-09T09:08:47 hello 2011-11-09T09:09:44 RasmusL: http://imgur.com/IsvaE 2011-11-09T09:10:03 imgur says i uploaded that 4 months ago 2011-11-09T09:10:14 *** Thinq has joined #aichallenge 2011-11-09T09:11:42 i see the problem now i think 2011-11-09T09:11:53 it's somehow not picking all the child nodes 2011-11-09T09:11:55 it skips some 2011-11-09T09:12:05 thus not finding a path to the goal at all 2011-11-09T09:12:10 D: 2011-11-09T09:14:10 wow, found one mistake 2011-11-09T09:14:18 break IS NOT CONTINUE 2011-11-09T09:14:22 haha 2011-11-09T09:18:23 *** amstan_ has quit IRC (Ping timeout: 248 seconds) 2011-11-09T09:18:59 ^^ 2011-11-09T09:24:06 *** TheLinker has joined #aichallenge 2011-11-09T09:26:20 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T09:26:50 *** bobbydroptable has quit IRC (Quit: Leaving) 2011-11-09T09:28:10 When in doubt, brute force. 2011-11-09T09:28:21 *** Antimony has joined #aichallenge 2011-11-09T09:29:43 oh derp 2011-11-09T09:29:58 im asking the algo to go onto a water tile now 2011-11-09T09:30:09 *** xbelt has joined #aichallenge 2011-11-09T09:30:16 it just keeps searching until it timeouts :) 2011-11-09T09:31:17 lol 2011-11-09T09:31:23 that shouldnt happen 2011-11-09T09:31:29 Well then it should find the goal quickly 2011-11-09T09:31:39 after you scanned all tiles, and no path is found, yo should stop 2011-11-09T09:31:48 i.e. when your open set is empty 2011-11-09T09:32:06 mcstar: Only works if he manages to exhaust it. 2011-11-09T09:32:13 * Zao is the eternal optimist 2011-11-09T09:32:17 hehe 2011-11-09T09:32:24 exactly, it timeouts while trying all tiles 2011-11-09T09:32:27 at some point at least 2011-11-09T09:32:27 Zao: you always exhaust it if you cant reach the target 2011-11-09T09:32:38 there is no alternative 2011-11-09T09:32:51 well, when you exhaust all tiles in 10 ants 2011-11-09T09:32:52 mcstar: I'm insinuating that his code is too slow to exhaust the search space. 2011-11-09T09:32:59 it takes a long time :D 2011-11-09T09:33:10 Zao: funny, i didnt get it :) 2011-11-09T09:33:19 *** MLM-NL has joined #aichallenge 2011-11-09T09:34:13 (It doesn't take a long time) 2011-11-09T09:34:23 Or atleast shouldn't 2011-11-09T09:35:17 shit 2011-11-09T09:35:31 i can't walk on food either.. :D 2011-11-09T09:35:34 *** links234 has joined #aichallenge 2011-11-09T09:36:19 or.. can i 2011-11-09T09:37:03 what happens if you walk onto food? 2011-11-09T09:38:32 you cant 2011-11-09T09:38:41 Haha 2011-11-09T09:38:43 mhm 2011-11-09T09:38:44 i think 2011-11-09T09:38:50 I just won a match where everyone else timed out 2011-11-09T09:38:53 you are blocked like water 2011-11-09T09:39:13 the problem is that i get deadlocked if 2 pieces of food touch the hill and an ant spawns 2011-11-09T09:39:19 the ant just loops in and out of the hill :( 2011-11-09T09:39:22 Ehh? you pick the food up thwn you're 1 tile away from it 2011-11-09T09:39:36 you cant pick up food when youre on a hill 2011-11-09T09:39:38 apparently 2011-11-09T09:39:44 Ignore the foods in your search 2011-11-09T09:39:48 oh? 2011-11-09T09:40:00 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-09T09:40:02 pairofdice: you can be blocked by food if it just spawned 2011-11-09T09:40:04 *** twymer has joined #aichallenge 2011-11-09T09:43:07 gotta go for now :D 2011-11-09T09:44:55 *** amstan has joined #aichallenge 2011-11-09T09:44:55 *** ChanServ sets mode: +o amstan 2011-11-09T09:47:47 *** RasmusL has quit IRC (Ping timeout: 265 seconds) 2011-11-09T09:48:04 *** ping-- has quit IRC (Read error: Connection reset by peer) 2011-11-09T09:48:09 *** ping-- has joined #aichallenge 2011-11-09T09:49:40 *** sigh has quit IRC (Remote host closed the connection) 2011-11-09T09:50:59 *** u_ has joined #aichallenge 2011-11-09T09:51:35 *** olexs has joined #aichallenge 2011-11-09T09:52:43 *** Emrys_ has joined #aichallenge 2011-11-09T09:52:52 any1 here ? 2011-11-09T09:53:01 *** Areks has quit IRC (Ping timeout: 240 seconds) 2011-11-09T09:53:18 i have a question about running c++ bot 2011-11-09T09:53:20 always 2011-11-09T09:53:25 *** Anilm3 has joined #aichallenge 2011-11-09T09:53:34 Hi people 2011-11-09T09:53:42 i think im doing something wrong im running command like this : 2011-11-09T09:53:54 python "%~dp0playgame.py" --engine_seed 42 --player_seed 42 --end_wait=0.25 --verbose --log_dir game_logs --turns 500 --map_file "%~dp0maps\maze\maze_04p_01.map" %* "%~dp0sample_bots\MyBot.exe" "python ""%~dp0sample_bots\python\LeftyBot.py""" "python ""%~dp0sample_bots\python\HunterBot.py""" "python ""%~dp0sample_bots\python\RandomBot.py""" 2011-11-09T09:54:15 my bot seems to be dead so i guess thats wrong 2011-11-09T09:54:19 *** underflow has joined #aichallenge 2011-11-09T09:54:30 where can i see example of running exe bot 2011-11-09T09:54:32 perhaps the bug is in the bot? 2011-11-09T09:54:38 *** sorki is now known as sorki|afk 2011-11-09T09:54:56 can you run the game without your bot... ie with just python bots? 2011-11-09T09:55:08 dont think so its a simple move east all the time bot and the ant wont move ) 2011-11-09T09:55:12 yea no problem 2011-11-09T09:55:14 also add a -E and log the error stream 2011-11-09T09:55:16 Anyone using C++? 2011-11-09T09:55:17 just my bot dead 2011-11-09T09:55:32 Anilm3: look up the ranking on the site, click c++ 2011-11-09T09:55:37 also can you run your bot outside the game engine... 2011-11-09T09:55:39 you will be amazed how many people use it 2011-11-09T09:55:44 ie manually type things in 2011-11-09T09:55:45 yeah, ok, I mean here because I have a question 2011-11-09T09:56:07 don't ask to ask Anilm3 --just ask 2011-11-09T09:56:12 yea well im too lazy to type myself :p 2011-11-09T09:56:14 that's may be a stupid question, but how is balanced the difference of execution speed between C and interpreted languages ? 2011-11-09T09:56:33 underflow: depends on with lang? 2011-11-09T09:56:43 can be huge, can be small 2011-11-09T09:56:46 Is there a way to know if a square is occupied in C++? 2011-11-09T09:56:56 delt0r_ C and python for example..? 2011-11-09T09:57:00 Anilm3: you arent asking a c++ question 2011-11-09T09:57:01 also depends on how well the C is coded and the interpreted lang is coded 2011-11-09T09:57:05 noone here used exe based bot ? im the only windows lamer i guess ) 2011-11-09T09:57:07 that is a c++ starter bot question 2011-11-09T09:57:26 mcstar: you're great stating the obvious 2011-11-09T09:57:27 right, but some language are better to perform some tasks 2011-11-09T09:57:33 underflow: typically loops in C will be many times faster... outside of that it depends 2011-11-09T09:57:59 exe based bot 2011-11-09T09:58:13 *** NoxiaZ^ has quit IRC (Ping timeout: 240 seconds) 2011-11-09T09:58:14 mcstar: you use one ? 2011-11-09T09:58:33 many people use binaries, that is compiled bots 2011-11-09T09:58:35 underflow, if your question was, do slower langs get more time ? then, no. 2011-11-09T09:58:44 what do you mean exe based? 2011-11-09T09:58:45 underflow: yes some langs are better/worse at different things... tools in the tool box and all that 2011-11-09T09:58:46 delt0r_ that's not my question, i'm talking about ai challenge 2011-11-09T09:58:51 you mean "i am on windows"? 2011-11-09T09:59:04 i mean bot that works under windows has to be exwe file 2011-11-09T09:59:04 *** olexs has quit IRC (Read error: Connection reset by peer) 2011-11-09T09:59:09 yea 2011-11-09T09:59:10 deltor: if you code in C you have an advantage right ? 2011-11-09T09:59:21 underflow: it still depends... what are you going to do? a min max tree? neural net? GP? 2011-11-09T09:59:25 it all depends 2011-11-09T09:59:30 Emrys_: there are many people still using windows, even in this age 2011-11-09T09:59:32 even here 2011-11-09T09:59:46 I develop on windows 2011-11-09T09:59:54 so why noone can give me example command line to run my bot 2011-11-09T09:59:54 underflow: not necessarily. Debugging in C is slower than "higher" level langs. 2011-11-09T10:00:08 Emrys_: the scripts are working 2011-11-09T10:00:12 which end in .cmd 2011-11-09T10:00:12 Is there a way to know if a square is occupied on the C++ starter kit? 2011-11-09T10:00:21 Emrys_: compile your C or C++ prgram to an .exe 2011-11-09T10:00:39 Anilm3: look at the members of the Square struct, you can check if 'ant' is not -1, etc. 2011-11-09T10:00:41 Emrys_: then run the game script with one of the bot arguments set to the path of the .exe 2011-11-09T10:00:42 so you tell me to just switch one of the bots to my exe thats it ? 2011-11-09T10:00:52 Emrys_: nothing looks wrong with the command line... but there is a lot of context that we don't know 2011-11-09T10:00:55 thestinger: thanks! 2011-11-09T10:00:57 for example where is the exe 2011-11-09T10:01:06 its there 2011-11-09T10:01:10 lol 2011-11-09T10:01:12 where is there... etc... 2011-11-09T10:01:13 thats great 2011-11-09T10:01:16 hhh 2011-11-09T10:01:16 Emrys_: replace one of the "python ""...""" lines with "path/to/exe" 2011-11-09T10:01:23 *** olexs has joined #aichallenge 2011-11-09T10:01:29 thats exactly what i did 2011-11-09T10:01:32 just saying is does not work --fix my command line is not going to get you far 2011-11-09T10:01:35 what is the error 2011-11-09T10:01:41 but im not sure about all those """ 2011-11-09T10:01:42 Emrys_: then it should work :) 2011-11-09T10:01:48 *** vasile has quit IRC (Ping timeout: 266 seconds) 2011-11-09T10:01:54 use the -E what is the error log 2011-11-09T10:01:55 etc 2011-11-09T10:01:59 no error my bot doesnt move the ant 2011-11-09T10:02:09 sec im gonna try the -E 2011-11-09T10:02:09 Emrys_: first ditch the script, and just type that in to the cli, try that way 2011-11-09T10:02:17 after that if it works use the script 2011-11-09T10:02:25 Emrys_: do you get the visualizer display at the end? 2011-11-09T10:02:32 yea 2011-11-09T10:02:43 than it is indeed working 2011-11-09T10:02:51 not sure 2011-11-09T10:03:03 does it say your bot crashed? 2011-11-09T10:03:08 or timed out? 2011-11-09T10:03:26 look for those on the slider or int the cli 2011-11-09T10:03:34 Emrys_: then just get the bot input from the visualizer, and debug your .exe from vsiual studio (or smth) while inputting that file (use < on the debugging command line) 2011-11-09T10:03:52 or just start debug session and type over the input text :P 2011-11-09T10:04:03 see if it actually outputs a command 2011-11-09T10:04:12 il try ... be back soon 2011-11-09T10:04:15 *** Palmik has quit IRC (Ping timeout: 248 seconds) 2011-11-09T10:05:29 alternatively, have the bot loop on "IsDebuggerPresent()" win API, manually attach debugger, during setup phase 2011-11-09T10:05:50 but you have to set the game script to allow a lot of setup time :P 2011-11-09T10:06:03 not sure what the cmdline switch was :P 2011-11-09T10:06:47 my question: is there any plan to have a "makefile" language added to the automake script? 2011-11-09T10:07:25 so I provide a MyBot.makefile instead of MyBot.cc, and I make it so the makefile builds from the first rule? 2011-11-09T10:08:19 MLM-NL: makefiles are ignored by the workers 2011-11-09T10:08:38 I know 2011-11-09T10:08:42 we looked at supporting build systems 2011-11-09T10:08:46 i think there's an issue about it 2011-11-09T10:09:04 well, my issue is with not being able to set -I 2011-11-09T10:09:10 https://github.com/aichallenge/aichallenge/issues/16 2011-11-09T10:09:16 *** dwins has joined #aichallenge 2011-11-09T10:09:21 so I can't really add 3rd party code include path 2011-11-09T10:10:23 or maybe just a single -I. (add current directory to search path) 2011-11-09T10:10:26 thanks man got the problem lol 2011-11-09T10:10:38 buggy command line after all 2011-11-09T10:11:30 it would be really easy to add "-I." to the current python script I guess 2011-11-09T10:12:31 dunno if it would break anything though, but it's an easy workaround 2011-11-09T10:12:40 *** Palmik has joined #aichallenge 2011-11-09T10:15:49 *** underflow has quit IRC (Ping timeout: 240 seconds) 2011-11-09T10:16:05 *** mikewintermute has joined #aichallenge 2011-11-09T10:16:17 *** mikewintermute has quit IRC (Client Quit) 2011-11-09T10:16:39 MLM-NL: so what's does -I. do? 2011-11-09T10:16:54 adds a directory the the search path for #include 2011-11-09T10:17:23 adding the compilation directory like MLM-NL suggested seems like a good solution 2011-11-09T10:17:28 *** xbelt has quit IRC (Ping timeout: 255 seconds) 2011-11-09T10:17:30 in practice it makes it so you can use #import for everything you would normally use #import "header.h" for 2011-11-09T10:17:36 can't you just set CFLAGS ? 2011-11-09T10:17:46 I mean #include 2011-11-09T10:18:07 ] 2011-11-09T10:18:09 *** praveen_ has joined #aichallenge 2011-11-09T10:18:10 /cl 2011-11-09T10:18:32 *** delt0r_ has quit IRC (Ping timeout: 260 seconds) 2011-11-09T10:21:44 so, the only reason you want a build system is to use <> instead of ""? 2011-11-09T10:22:05 if you want to use whole libs he's got a point 2011-11-09T10:22:18 but you could upload the .so too 2011-11-09T10:22:27 it might be smaller than the source code 2011-11-09T10:23:25 for libraries, can't you just statically include it? as if you wrote it 2011-11-09T10:23:26 *** ikaros has joined #aichallenge 2011-11-09T10:24:26 amstan: the point is that it's a 3rd party library 2011-11-09T10:24:40 *** retybok has quit IRC (Remote host closed the connection) 2011-11-09T10:24:56 amstan: it uses paths relative to root, ie #include 2011-11-09T10:25:15 so you'll have to modify it 2011-11-09T10:25:25 that's what I did now :P 2011-11-09T10:25:35 yeah... 2011-11-09T10:25:46 MLM-NL: can i ask what that is? 2011-11-09T10:26:11 such a change(build systems) should be made well before the contest enters beta 2011-11-09T10:26:13 but the replacement is dependant on the path of the actual file, since "" is relative to current, whereas <> is relative to include root 2011-11-09T10:26:14 (what is the 2nd party anyway?) 2011-11-09T10:26:14 since it's a big change 2011-11-09T10:26:47 "lib/internal/config.h" 2011-11-09T10:26:55 so a file in lib/internal would have to include "config.h" and a file in lib woudl have to include "internal/config.h" 2011-11-09T10:26:57 you just need to replace <> with "" 2011-11-09T10:27:01 so it's a not a straight find/replace 2011-11-09T10:27:27 my lib only has like 4 directories, so it's easy 2011-11-09T10:27:38 I did it manually with a regex 2011-11-09T10:28:08 but you can't just open up yoru IDE and "fix" a library 2011-11-09T10:28:13 that's why :P 2011-11-09T10:28:18 -I. 2011-11-09T10:28:40 MLM-NL: what lib is it anyway? 2011-11-09T10:29:12 EASTL 2011-11-09T10:29:14 *** Palmik has quit IRC (Ping timeout: 252 seconds) 2011-11-09T10:29:15 actually 2011-11-09T10:29:32 https://github.com/paulhodge/EASTL << look here 2011-11-09T10:30:15 but if I had to do it for a bigger library, it would actually involve writing a program to fix up the paths 2011-11-09T10:30:33 *** dvladim has joined #aichallenge 2011-11-09T10:30:59 *** delt0r_ has joined #aichallenge 2011-11-09T10:31:08 it's not a problem for me currently 2011-11-09T10:31:10 since I fixed it 2011-11-09T10:31:33 but I can imagin people liking to use libraries 2011-11-09T10:31:40 so as not to write everythign from scratch 2011-11-09T10:31:41 MLM-NL: problem is that most people don't need a build system in this contest, the compiler script works with 99% of the submissions 2011-11-09T10:31:42 *** NoxiaZ^ has joined #aichallenge 2011-11-09T10:31:57 that was the argument we had for epsilon 2011-11-09T10:32:16 It's awfully annoying not to be able to use packages for Go. 2011-11-09T10:32:17 how many people would like to use a library but can't :P 2011-11-09T10:32:20 if they want to use a popular library, like boost we can add it to everyone 2011-11-09T10:32:43 but EASTL is probably not popular enough 2011-11-09T10:32:46 so you can't use it :P 2011-11-09T10:33:09 well, I can see your point 2011-11-09T10:33:14 but maybe for next time 2011-11-09T10:33:16 MLM-NL: what if you were going to develop something on a platform where EASTL was not supported? 2011-11-09T10:33:19 at least add "-I," 2011-11-09T10:33:32 amstan: it's pretty portable 2011-11-09T10:33:44 MLM-NL: can you guarantee that it won't break any bots by adding -I. ? 2011-11-09T10:33:58 amstan: don't know 2011-11-09T10:34:14 I'd say, do it for next contest 2011-11-09T10:34:16 as a workaround 2011-11-09T10:34:27 for next contest i'm going to try pushing for build systems 2011-11-09T10:34:32 see my comments in that issue 2011-11-09T10:34:40 or just add MyBot.makefile as a language :P 2011-11-09T10:34:49 so you can contorl it manually, if you need to 2011-11-09T10:35:00 for those 1% of ppl that care 2011-11-09T10:35:08 MLM-NL: but then you get http://aichallenge.org/language_profile.php?language=Makefile 2011-11-09T10:35:28 if it is to be implemented, it has to be done properly 2011-11-09T10:35:46 well, with a build system, you'd have to fix that as well 2011-11-09T10:36:05 with build systems, the compiler will call a compile.sh that must be present 2011-11-09T10:36:09 and will execute run.sh 2011-11-09T10:36:26 how can i convince a friend of mine to enter the contest? 2011-11-09T10:36:27 if there's a non 0 exit, it'll log the stderr and show it in your profile 2011-11-09T10:36:31 upload a python script to build and execute your 2011-11-09T10:36:46 Minthos: all within 3 seconds 2011-11-09T10:37:14 amstan: I don't know what the time limit is on the build/test part of uploading something 2011-11-09T10:37:35 but you don't need to compile your bot each time it runs 2011-11-09T10:37:45 Minthos: if you have a python script, that script only gets executed when you actually have to run the bot 2011-11-09T10:37:55 so your compile time is during the game 2011-11-09T10:38:09 amstan: but you actually have to run the bot in the testing phase of uploading a submission 2011-11-09T10:38:17 that too 2011-11-09T10:38:31 amstan: I'm just saying that support for libraries would be useful for C/C++, how it's actually done, I don't really care :P 2011-11-09T10:38:33 but every end of the game you loose your data, so you have to start from scratch every time 2011-11-09T10:38:43 MLM-NL: yes, but i do have to care, lol 2011-11-09T10:39:11 amstan: well, I proposed a really easy workaround with "-I." 2011-11-09T10:39:26 amstan: but it's a hack, and you seem to want something solid :) 2011-11-09T10:39:33 for next time anyway 2011-11-09T10:39:35 MLM-NL: but it might break existing bots, i can't implement that right now 2011-11-09T10:39:35 for this time 2011-11-09T10:39:47 MLM-NL: for next time it should be done properly, since there's time 2011-11-09T10:39:51 amstan: well.. not sure how the rules are and how it's actually implemented, but I'm pretty sure they don't compile your bot for each game 2011-11-09T10:40:19 Minthos: they don't, but you're proposing compiling stuff yourself with a python script 2011-11-09T10:40:30 Minthos: python scripts won't happen till runtime 2011-11-09T10:40:59 right, and runtime is when the tests get run 2011-11-09T10:41:09 dunno if I could compile in 3s 2011-11-09T10:41:13 so you can compile then and never again 2011-11-09T10:41:24 Minthos: you don't get to keep files that you write to 2011-11-09T10:41:36 ok 2011-11-09T10:41:48 but well, support for makefiles/build system would allow for multi-stage compilation (using profiling data etc) I guess 2011-11-09T10:41:57 would increase server load :P 2011-11-09T10:42:06 MLM-NL: hmm? 2011-11-09T10:42:24 *** dvladim has quit IRC (Ping timeout: 256 seconds) 2011-11-09T10:42:51 like, with a makefile I could compile with profiling code, run my bot using sample data, optimize with collected data etc 2011-11-09T10:43:01 also, makefiles are an easy attack vector on server I guess 2011-11-09T10:43:18 compiling is sandboxed right now 2011-11-09T10:43:36 the only thing we have to worry about is time limits and exploding files 2011-11-09T10:43:43 *** VxDeV has joined #aichallenge 2011-11-09T10:43:53 hi just a quick question 2011-11-09T10:43:57 VxDeV: hey 2011-11-09T10:43:59 *** Antimony has quit IRC (Ping timeout: 276 seconds) 2011-11-09T10:44:04 is it allowed to use two different languages? 2011-11-09T10:44:09 like python + c++ 2011-11-09T10:44:13 *** Rinum has joined #aichallenge 2011-11-09T10:44:27 VxDeV: it's hard to get it going, because you do not have any access to build systems 2011-11-09T10:44:30 am I allowed to submit a multi-threaded version of my bot? 2011-11-09T10:44:37 VxDeV: good luck getting THAT throught the script :P 2011-11-09T10:44:46 Rinum: no 2011-11-09T10:44:52 VxDeV: we were just talking about this, you esentially have to compile your C++ using python every time you start a match 2011-11-09T10:45:00 well i mean i use python to manage the parsing 2011-11-09T10:45:10 awww, any particular reason why not? 2011-11-09T10:45:11 and a c++ programm to manage my ants^^ 2011-11-09T10:45:12 *** underflow has joined #aichallenge 2011-11-09T10:45:15 can't python load .so at runtime? 2011-11-09T10:45:20 Minthos: or that 2011-11-09T10:45:22 no plan 2011-11-09T10:45:31 Minthos: how would you compile a .so? 2011-11-09T10:45:36 offline? 2011-11-09T10:45:39 Rinum: bots are limited to 500 cpu-microseconds per turn 2011-11-09T10:45:40 MLM-NL: yes 2011-11-09T10:45:45 Rinum: because then your bot would take away cpu cycles from other bots? 2011-11-09T10:45:53 hmm 2011-11-09T10:45:56 ;) 2011-11-09T10:45:59 milliseconds I mean 2011-11-09T10:46:03 *** Hexren has joined #aichallenge 2011-11-09T10:46:06 Rinum: one core per bot 2011-11-09T10:46:07 i thought like using python + subprocess to open an ants executable^^ 2011-11-09T10:46:09 okay 2011-11-09T10:46:22 VxDeV: that gets you multithreading, which is not allowed 2011-11-09T10:46:26 it is an linux server isnt it? 2011-11-09T10:46:33 oh damn it :'( 2011-11-09T10:46:37 in that case, maybe I should just compile my entire bot locally with -I. as a .so, then upload a dummy program source that executes the .so 2011-11-09T10:46:48 MLM-NL: sure 2011-11-09T10:46:53 amstan: maybe for the next ai challenge it'll be allowed? 2011-11-09T10:47:00 isnt that multithreading too?^^ 2011-11-09T10:47:08 Rinum: we're working on that 2011-11-09T10:47:13 amstan: but then the source code wouldn't be on your servers 2011-11-09T10:47:18 amstan: looking forward to it :) 2011-11-09T10:47:20 amstan: of the bot itself 2011-11-09T10:47:25 amstan: just some dummy code ;P 2011-11-09T10:47:29 VxDeV: not unless the .so creates new threads 2011-11-09T10:47:31 MLM-NL: yeah.. we might specify that in the rules next time 2011-11-09T10:47:58 I'll try to build a .so first :P 2011-11-09T10:47:58 Some languages will be in a big advantage then I think. Does JavaScript (NodeJS) support multi-threading? 2011-11-09T10:48:15 Rinum: we should be allowing threads, they're useful and sometimes impossible to avoid(bash bots anyone?) 2011-11-09T10:48:22 well im not that good in c++, but i want my bot to handle more ants, so i have to use a fast language 2011-11-09T10:48:22 not sure if MinGW actually supports .so output :P 2011-11-09T10:48:27 Rinum: problem is that we must limit them to one cpu, which is rather hard 2011-11-09T10:48:34 Rinum: so we just banned threads for now 2011-11-09T10:48:38 thats why i want to use python to parse the input, send it to my executable and then send it back^^ 2011-11-09T10:48:51 that's multiprocessing 2011-11-09T10:49:00 not necessarily 2011-11-09T10:49:02 using exec() and replacing your executable with another wouldn't be 2011-11-09T10:49:14 you can mix python and c++ in the same process 2011-11-09T10:49:16 thestinger: he's just calling c++ functions 2011-11-09T10:49:18 is asynchronous programing allowed ? 2011-11-09T10:49:18 amstan: okay, that's understandable... thanks 2011-11-09T10:49:22 but like one thread 2011-11-09T10:49:33 yes underflow, as long as it's not parallell 2011-11-09T10:49:39 underflow: if you mean threads? no, if you mean green-threads yes 2011-11-09T10:49:46 amstan: ah, I didn't realize he meant making a python module or using ctypes 2011-11-09T10:50:11 me? 2011-11-09T10:50:28 making a C .so file and using ctypes would be really easy 2011-11-09T10:50:37 never tried, but well its like engine -> python parser -> bot -> output to engine^^ 2011-11-09T10:51:51 thestinger: the problem with precompiled code is, that participants with AMD64 Linux machines are practically the only ones who can make use of it :( 2011-11-09T10:51:55 VxDeV: i just don't get why you need python then 2011-11-09T10:52:17 mleise: the server should be able to run 32-bit linux binaries 2011-11-09T10:52:20 And even then you need to be aware of the installed glibc version 2011-11-09T10:52:28 mleise: you can use a VM to compile if you're on windows 2011-11-09T10:52:30 cos i didnt use c++ for a very long time and im afraid it would take too long^^ 2011-11-09T10:52:38 and anyone can install 32-bit linux in a vm and compile stuff 2011-11-09T10:52:57 *** Antimony has joined #aichallenge 2011-11-09T10:53:02 I thought this was an AI contest! 2011-11-09T10:53:13 well i use a 64-bit linux, but i guess i must be able to compile it 32 bit 2011-11-09T10:53:14 mleise: not a who can compile what better? 2011-11-09T10:53:20 amstan: what are the specs of the servers that run the contest (ie, CPU and platform) so I can target my .so correctly? 2011-11-09T10:53:33 MLM-NL: uname -a good? 2011-11-09T10:53:43 probably 2011-11-09T10:53:44 http://aichallenge.org/starter_packages.php 2011-11-09T10:53:58 VxDeV: Linux *with* multilib can compile and run 32bit binaries 2011-11-09T10:54:01 just need to know if I should target x64 or x86 really :P 2011-11-09T10:54:12 amd64 2011-11-09T10:54:25 amstan, why not provide boost? That won't break backwards compatibility since it has to be specficically included 2011-11-09T10:54:38 Antimony: don't we? 2011-11-09T10:54:51 well if you do, you certainly don't make it easy to figure out how to use it 2011-11-09T10:55:14 *** lknix has joined #aichallenge 2011-11-09T10:55:24 well do i have to compile it myself 2011-11-09T10:55:35 or willt he source code get compiled on the server? 2011-11-09T10:55:38 Linux secret-hostname 2.6.38-8-virtual #42-Ubuntu SMP Mon Apr 11 04:06:34 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux 2011-11-09T10:55:53 cool 2011-11-09T10:55:58 I tried uploading a bot with include boost in it, but it failed with a compiler error 2011-11-09T10:56:02 VxDeV: see worker/compiler.py for more details about what the server will do 2011-11-09T10:56:10 Antimony: you too ^ 2011-11-09T10:56:21 I can actually write 64 bit code then 2011-11-09T10:56:26 I was wondering about that anyway 2011-11-09T10:56:28 all good 2011-11-09T10:56:39 I'll getmyself some cygwin for cross-compiling 2011-11-09T10:56:53 so 64 bit is possible? 2011-11-09T10:57:02 VxDeV: yes 2011-11-09T10:57:05 it runs on 64 bit 2011-11-09T10:57:11 nice 2011-11-09T10:57:14 MLM-NL: Don't get over-confident in this 64-bit stuff, it uses twice as much memory and memory access will thus be slower. ;) 2011-11-09T10:57:24 it doesn't use twice as much memory :P 2011-11-09T10:57:28 Anyway, I 2011-11-09T10:57:31 pointers are twice as big, that's all 2011-11-09T10:57:39 I'm pretty usre there's no boost support on teh server 2011-11-09T10:57:40 thestinger: :p 2011-11-09T10:57:44 and there's work being done on that anyway 2011-11-09T10:57:45 if your program is 99% pointers, it uses twice as much 2011-11-09T10:57:58 https://sites.google.com/site/x32abi/ 2011-11-09T10:58:05 If you use 'native' integers I mean 2011-11-09T10:58:15 *** Hexren has quit IRC (Quit: Leaving.) 2011-11-09T10:58:30 mleise: true :) 2011-11-09T10:58:43 I guess an int-heavy application would use a lot more memory 2011-11-09T10:59:00 actually multiplication and division is faster on 32-bit ints than 64-bit ints even on a 64-bit system. 2011-11-09T10:59:42 *** Antimony_ has joined #aichallenge 2011-11-09T11:00:15 So doing the wrapping map coordinate calculations works faster with smaller sizes for example. 2011-11-09T11:00:37 you call them calculations? lol 2011-11-09T11:00:41 they're just % 2011-11-09T11:01:02 % is a calculation 2011-11-09T11:01:13 amstan: in my code they are % and some subtraction and some abs and min and so on. 2011-11-09T11:01:19 Did I overcomplicate it? 2011-11-09T11:01:22 abs? 2011-11-09T11:01:23 probably 2011-11-09T11:01:33 *** olexs has quit IRC (Quit: Leaving.) 2011-11-09T11:01:46 help account add 2011-11-09T11:01:52 *** TheLinker has left #aichallenge ("Hi") 2011-11-09T11:02:07 mleise: https://github.com/aichallenge/aichallenge/blob/amstan_mapgen/ants/mapgen/util.py#L13 2011-11-09T11:02:19 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T11:02:21 *** Antimony_ is now known as Antimony 2011-11-09T11:02:51 I use abs for some calculations 2011-11-09T11:03:16 most are just (row + map.rows) % map.rows 2011-11-09T11:03:25 Minthos: why? 2011-11-09T11:03:27 mleise: 64 bit code is about as fast as 32 bit code if you use "int" on C++ afaik, it will still generate 32bit divides for % 2011-11-09T11:03:37 *** sorki|afk is now known as sorki 2011-11-09T11:03:46 but really, that is micro-optimization either way 2011-11-09T11:04:00 amstan: because I need distances, and differences between places can be positive or negative 2011-11-09T11:04:05 * avdg wonders why int multiplications have to be slow as they can be calculated in 1 step 2011-11-09T11:04:08 oh, ok 2011-11-09T11:04:20 Minthos: you have to normalize the 2 points first, then abs(p1-p2) 2011-11-09T11:04:26 make sure you use sse optimizations 2011-11-09T11:04:33 Minthos: or use distance squared :P 2011-11-09T11:04:56 Minthos: sinc eat the end you do x * x + y * y, sign of x or y doesn't matter :P 2011-11-09T11:05:08 amirite :P 2011-11-09T11:05:16 *** kilae has quit IRC (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928134238]) 2011-11-09T11:05:23 thank you for the advice on how my working code should have been written 2011-11-09T11:05:26 :P 2011-11-09T11:05:28 sorry 2011-11-09T11:06:30 MLM-NL: not if you need manhattan 2011-11-09T11:06:51 avdg: 3-8 cycles per multiplication 2011-11-09T11:07:36 yeah, my manhattan distance does have a few a > b ? a - b : b - a type things 2011-11-09T11:08:09 9837 2011-11-09T11:08:19 make sure we will open up a champagen at 10k 2011-11-09T11:08:30 *** Rinum has quit IRC (Ping timeout: 265 seconds) 2011-11-09T11:09:17 xathis still has a pretty good lead 2011-11-09T11:10:36 I wonder how many developers have a good momentum 2011-11-09T11:11:05 My new bot can't beat my old bot 2011-11-09T11:11:45 avdg: what do you mean? 2011-11-09T11:12:00 what percent are devoted to winning? 2011-11-09T11:12:06 "Is progress being made" 2011-11-09T11:12:38 (and people, pls correct me if i make grammatical mistakes) 2011-11-09T11:12:59 (I'm kinda struggling with keeping my motivation up here at home) 2011-11-09T11:13:05 what percent is/are ? 2011-11-09T11:13:31 does anyone have advice on making their ants nonsuicidal? 2011-11-09T11:13:38 Antimony: yep 2011-11-09T11:14:11 it is weird that you are asking this though 2011-11-09T11:14:20 Antimony: select another race, lemmings don't work well 2011-11-09T11:14:33 dont you keep track of coordinates you already assigned an ant to? 2011-11-09T11:14:44 no, my ants never collide 2011-11-09T11:14:47 Antimony: its even explained in the tutorial ;-) 2011-11-09T11:14:48 them problem is dieing to enemies 2011-11-09T11:14:56 ah 2011-11-09T11:15:00 Antimony: aham, but that isnt suicide 2011-11-09T11:15:12 Sure it is 2011-11-09T11:15:15 yeah, that's marching to an honorable death 2011-11-09T11:15:15 no 2011-11-09T11:15:15 suicide by enemy 2011-11-09T11:15:17 unless you do 1vs1 bombing :-) 2011-11-09T11:15:39 thestinger: yeb, noble death, but not suicide 2011-11-09T11:15:43 p* 2011-11-09T11:15:46 noble... pssh :) 2011-11-09T11:15:48 giving your life for your hill != suicide 2011-11-09T11:16:13 well, its suicide for a reason in my current definition :-) 2011-11-09T11:16:17 that only applies to defenders though 2011-11-09T11:16:25 the problem is explorers and food gatherers dieing 2011-11-09T11:16:47 can someone help me with this? 2011-11-09T11:16:51 if you make your food gatherers really cautious, you don't get any food when you're fighting someone like A 2011-11-09T11:17:10 i am unable to send post data to the forums for some reason. so i can't reply to this: http://aichallenge.org/forums/posting.php?mode=reply&f=4&t=1840 2011-11-09T11:17:25 tell him that he can't do 1), it's against the rules 2011-11-09T11:17:32 and to do 3) he needs to contact the admins 2011-11-09T11:17:40 I tried it :), there needs to be a good balance based on risk (if you and an enemy are the same distance from a food, why are you going to let them have it?) 2011-11-09T11:17:58 *** xathis has joined #aichallenge 2011-11-09T11:18:01 Antimony: im doing 1-ply lookahead, so my ants will stay away "death" 2011-11-09T11:18:26 they willl always choose a future in which they can die the smallest times 2011-11-09T11:18:34 let me try it one more time 2011-11-09T11:19:17 nvm, can't do it 2011-11-09T11:19:26 If your gatherers die, you won't get any food either 2011-11-09T11:19:49 ofc, but if you always retreat your opponents will get way more food than you 2011-11-09T11:20:01 amstan: done 2011-11-09T11:20:06 *** praveen_ has quit IRC (Ping timeout: 265 seconds) 2011-11-09T11:20:11 mleise: thanks 2011-11-09T11:20:56 amstan: I once couldn't delete a spam thread. Something odd is going on with the board software. 2011-11-09T11:21:14 or did you try to answer with telnet ^^ 2011-11-09T11:21:53 I'm doing something wrong in my combat awareness 2011-11-09T11:22:25 has anyone else sucesfully played multiple consecutive games on fluxid? 2011-11-09T11:22:30 When I tell the script to play more than one game 2011-11-09T11:22:31 *** TheLinker has joined #aichallenge 2011-11-09T11:22:35 it crashes after the first 2011-11-09T11:23:48 mleise: it's only the post a topic/reply problem 2011-11-09T11:23:58 mleise: i blame the local internet though 2011-11-09T11:24:28 it'll be hard to debug with telnet because i really don't want to get all the vars and sessions going through telnet 2011-11-09T11:24:29 *** MLM-NL has quit IRC () 2011-11-09T11:24:52 lynx! 2011-11-09T11:25:10 Wireshark! 2011-11-09T11:26:11 Antimony: yep, i just put it into a do-while 2011-11-09T11:26:31 but i had to type ^c like crazy when i wanted to kill it 2011-11-09T11:26:59 mcstar: make it create a lock file and stop looping if it's deleted (that's what I'm doing atm) 2011-11-09T11:27:18 the tcp client leaks dozens of sockets if I let it play multiple games... 2011-11-09T11:27:18 maybe more people would use tcp if the script weren't so annoying to work with 2011-11-09T11:27:34 Antimony: you're welcome to fix them 2011-11-09T11:28:20 I'm not knowledgeable about networking 2011-11-09T11:28:58 then submit issues on what you think the UI should be like or issues about bugs 2011-11-09T11:31:08 *** frisianskipper has quit IRC (Quit: Page closed) 2011-11-09T11:31:12 *** links234 has quit IRC (Ping timeout: 265 seconds) 2011-11-09T11:36:29 Is it possible to have more then one script active? 2011-11-09T11:37:36 NociaZ^: yes. 2011-11-09T11:38:57 base.cpp:314:15: error: request for member ‘lifeTime’ 2011-11-09T11:39:11 Hey this code actually compiles in D. I don't know what it does though ^^: 2011-11-09T11:39:12 @property @safe override pure nothrow final auto ref immutable(int) foo(inout ref shared immutable int x) shared const const shared { return x; } 2011-11-09T11:39:13 mleise: I'm sorry Dave, err mleise; I cannot 'property'. 2011-11-09T11:40:08 noone recognizes pi.... 2011-11-09T11:40:23 *** VxDeV has quit IRC (Ping timeout: 265 seconds) 2011-11-09T11:40:50 nomnom, talk almost written 2011-11-09T11:40:57 How to do it? When im uploading a new script it reset my score, and seems like the old script got deactivated? - And i cant find any places where i can deactivate and activate scripts? - The reason for this, is that i want to keep my main script, to and when i make som huge changes i wanna see if it works better then the main script :) 2011-11-09T11:41:05 antimatroid: butter chicken? 2011-11-09T11:41:11 i wish 2011-11-09T11:41:16 no actual food :( 2011-11-09T11:41:21 NoxiaZ^: use the tcp server for testing, you can only have 1 bot on the official one 2011-11-09T11:41:26 ahh to be a student 2011-11-09T11:41:27 tcp servers* 2011-11-09T11:41:35 @tcp 2011-11-09T11:41:36 thestinger: tcp could be http://ants.fluxid.pl/howto. 2011-11-09T11:41:38 well, there's food, but nothing appealing :P 2011-11-09T11:41:40 NoxiaZ^: Only one bot at a time on the server 2011-11-09T11:41:45 damn 2011-11-09T11:41:54 NoxiaZ^: http://ants.fluxid.pl/howto use this 2011-11-09T11:41:54 must admit i feel like a twit... i can't even get a simple search to work 2011-11-09T11:41:56 i suc 2011-11-09T11:41:57 Hmm oki, then i have to take a look on that tcp server :S 2011-11-09T11:42:02 the official server plays games way too slowly for testing anyway 2011-11-09T11:42:14 delt0r_: bfs simple? 2011-11-09T11:42:19 yea 2011-11-09T11:42:26 you are right about that one thestinger :D 2011-11-09T11:42:29 i don't believe you 2011-11-09T11:42:36 thing is it works... just not sometimes 2011-11-09T11:42:38 you already did it with your old ants game didn't you? 2011-11-09T11:42:53 na that was random walk stuff 2011-11-09T11:43:16 *** Lithosphere has quit IRC (Remote host closed the connection) 2011-11-09T11:43:16 you're just using a queue of locations as your search queue right? 2011-11-09T11:43:32 *** Lithosphere has joined #aichallenge 2011-11-09T11:43:32 *** Lithosphere has joined #aichallenge 2011-11-09T11:43:36 are you searching source to target or target to source? 2011-11-09T11:43:39 i want to do a entry but not a competitive one... want to see how far something really basic can get 2011-11-09T11:43:56 antimatroid: i do a bfs from all ants 2011-11-09T11:44:03 i find the reverse nicer because you don't need to store which direction the current node first searched in 2011-11-09T11:44:17 delt0r_: sure but from ants to food or food to ants? 2011-11-09T11:44:29 so i get a kind of v diagram thing 2011-11-09T11:44:36 ants to food 2011-11-09T11:44:40 delt0r_: far. I got to rank 25 when my bot just did pathfinding, food gathering and attacking hills :) 2011-11-09T11:44:58 *** jasox has quit IRC (Quit: Leaving) 2011-11-09T11:45:00 my food collection algorithm does iterated a* from uncollected food to unused ants to find a shortest path 2011-11-09T11:45:30 iterated process of a* from... "iterated a*" is not a thing as far as i know 2011-11-09T11:47:06 well thing is my code is simple... just can't see whats wrong... and i have a upper bound on time to put into this thing 2011-11-09T11:47:09 meh 2011-11-09T11:47:11 anyways 2011-11-09T11:47:17 perhaps a unit test will find it 2011-11-09T11:47:42 what language is it? the C++ starter bot comes with a working BFS implementation 2011-11-09T11:48:09 but how did it get into it? 2011-11-09T11:48:37 thestinger: i didn't mean to do that :P 2011-11-09T11:48:51 antimatroid: yeah, it's also a really slow way to mark squares as visible :P 2011-11-09T11:49:06 what way are you doing it? 2011-11-09T11:49:23 bfs from all ants simultaneously doesn't work 2011-11-09T11:49:28 and it's messy to do it the other way aha 2011-11-09T11:49:32 well, I just switched it to viewradius2 and euclideandistance2 for now 2011-11-09T11:49:38 it's fast enough after that 2011-11-09T11:49:46 * avdg uses a diff algorithm 2011-11-09T11:49:53 you mean squared your euclidean metric? 2011-11-09T11:49:57 I'm also marking attack radius stuff the same way, so I should really use one of the matrix ways of doing it 2011-11-09T11:49:58 i did that for my bot anyway 2011-11-09T11:50:05 I don't think you can get anywhere near 25 anymore with just gathering and hill attacking 2011-11-09T11:50:08 antimatroid: yeah, I just don't take the sqrt 2011-11-09T11:50:25 did you turn your grid into a graph? 2011-11-09T11:50:30 Unless it's otherwise very sophisticated ninja 2011-11-09T11:50:46 antimatroid: pointers are a nightmare for the cpu cache :p 2011-11-09T11:50:52 ie. add a vector of neighbour locations to each square and remove appropriate ones as you get water info? 2011-11-09T11:50:57 mleise: no need for pointers :P; 2011-11-09T11:51:20 not yet, all my BFS stuff is fast enough 2011-11-09T11:51:20 oh so it is still in a compact array? neat :) 2011-11-09T11:51:26 then i wont tell you how fast mine is with POINTERS 2011-11-09T11:51:27 yeah 2011-11-09T11:51:32 I wasted a bunch of time implementing A* but I'm not using it anymore... 2011-11-09T11:51:36 it makes pathfinding code way more aesthetically pleasing imo :P 2011-11-09T11:51:42 no "location struct" and "vectors" 2011-11-09T11:52:02 hehe :P 2011-11-09T11:52:12 lol, he doesn't know how to use the shells, er location struct 2011-11-09T11:52:26 who? 2011-11-09T11:52:29 i rewrite all the things 2011-11-09T11:52:35 except basic stl 2011-11-09T11:52:39 did you rewrite the timer? 2011-11-09T11:52:43 what timer? 2011-11-09T11:52:57 the timer in the 2011-11-09T11:52:58 oh the one in the starter bot 2011-11-09T11:53:00 yeah 2011-11-09T11:53:08 haha that thing worked great for me until i tried to make it work cross compiler 2011-11-09T11:53:21 I'm planning on rewriting it but haven't gotten around to it yet 2011-11-09T11:53:32 the annoying thing is how it forces inclusion of windows system headers everywhere 2011-11-09T11:53:38 with all the evil macros they have 2011-11-09T11:53:47 you can strip all the windows stuff if you're not using windows :P 2011-11-09T11:53:59 i added it in for the visual c++ people 2011-11-09T11:54:06 even if you're on windows if you use mingw you're good 2011-11-09T11:54:09 you should at least use pimpl 2011-11-09T11:54:11 or gcc i imagine 2011-11-09T11:54:13 *** u__ has joined #aichallenge 2011-11-09T11:54:13 I ended up using the fancy new POSIX clock_ stuff for the timer (gettimeofday() is actually deprecated :P) 2011-11-09T11:54:15 no I'm using mingw 2011-11-09T11:54:21 and it's horrible 2011-11-09T11:54:30 :\ i liked mingw 2011-11-09T11:54:35 no the timer is horrible 2011-11-09T11:54:38 i don't really know much about programming though 2011-11-09T11:54:44 mingw is fine 2011-11-09T11:54:46 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-11-09T11:55:04 also, I think it should use QPC, not clokc() 2011-11-09T11:55:19 you're welcome to update it :P 2011-11-09T11:55:27 for the starter pack too 2011-11-09T11:57:25 *** u_ has quit IRC (Ping timeout: 260 seconds) 2011-11-09T11:57:26 *** u__ is now known as u_ 2011-11-09T11:58:00 http://pubs.opengroup.org/onlinepubs/9699919799/ <- that's how you're supposed to do stuff like timing now in POSIX 2011-11-09T11:58:17 something like ntpd can change the wall clock time, so you use the arbitrary CLOCK_MONOTONIC for timing 2011-11-09T11:58:45 I think the system call is also a lot faster that way 2011-11-09T11:59:07 *** treeform has joined #aichallenge 2011-11-09T11:59:56 oops, wrong link 2011-11-09T12:00:01 *** Antimony_ has joined #aichallenge 2011-11-09T12:00:38 http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_getres.html#tag_16_73 there :) 2011-11-09T12:00:57 thestinger: what is the chance that ntpd updates the system clock during the turn? 2011-11-09T12:01:11 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T12:01:25 *** Antimony_ is now known as Antimony 2011-11-09T12:01:28 anyway, if i had ntpd running, my clock wouldnt show 1 hour more than it supposed ot 2011-11-09T12:01:58 they really like deprecating everything in the POSIX standard 2011-11-09T12:02:06 sleep, usleep, nanosleep - all deprecated too xD 2011-11-09T12:02:50 *** peyton has quit IRC (Quit: peyton) 2011-11-09T12:03:57 well, you're stuck with gettimeofday() on the server anyway 2011-11-09T12:04:08 you need -lrt for the new stuff 2011-11-09T12:04:54 *** djstrong has quit IRC (Ping timeout: 240 seconds) 2011-11-09T12:04:58 *** p_l has quit IRC (Ping timeout: 258 seconds) 2011-11-09T12:05:27 *** lorill has joined #aichallenge 2011-11-09T12:09:34 o << *(ar.m + index) << ' '; 2011-11-09T12:09:36 if(index % ar._cols == 0) std::cout << '\n'; 2011-11-09T12:09:40 where is ther error? 2011-11-09T12:10:02 all my newlines are going to stdout instead of stderr 2011-11-09T12:11:09 you meant to use o << '\n' probably 2011-11-09T12:11:12 std:cerr instead of std::cout 2011-11-09T12:11:48 lol 2011-11-09T12:11:50 i know 2011-11-09T12:11:55 also, st:endl does a flush, \n does not 2011-11-09T12:11:56 *** treeform has quit IRC (Remote host closed the connection) 2011-11-09T12:11:58 i just shared my amusement with you 2011-11-09T12:12:13 of course i dont want to flush after every line 2011-11-09T12:12:17 \n is faster 2011-11-09T12:12:20 flush once 2011-11-09T12:12:21 sorry, long day, I guess I'm just getting tired :p 2011-11-09T12:15:41 *** conor_f has joined #aichallenge 2011-11-09T12:17:18 *** p_l has joined #aichallenge 2011-11-09T12:19:53 *** Gracenotes has left #aichallenge 2011-11-09T12:20:12 *** NoxiaZ^ has quit IRC (Ping timeout: 240 seconds) 2011-11-09T12:20:59 *** djstrong has joined #aichallenge 2011-11-09T12:22:24 has anyone tried to put code specfically for multihill maps? 2011-11-09T12:22:30 *** retybok has joined #aichallenge 2011-11-09T12:22:39 the strategy is so different becasue it's a crazy freeforall at the beginning 2011-11-09T12:23:04 sort of 2011-11-09T12:23:07 I lose all my hills early, except one 2011-11-09T12:23:14 so i can revert to my normal strategy 2011-11-09T12:23:17 :) 2011-11-09T12:23:38 yeah, I was wondering about defense for multiple maps 2011-11-09T12:23:48 that seems like the best idea I've heard yet :P 2011-11-09T12:24:07 looks hard, if you use ants to defend, you'll be way behind in term of population 2011-11-09T12:25:28 yeah 2011-11-09T12:25:33 *** mj41 has quit IRC (Read error: Operation timed out) 2011-11-09T12:25:37 I might just scrap defense altogether... 2011-11-09T12:25:53 i thought about keeping one ant on the hill to hide it 2011-11-09T12:26:00 *** p_l has quit IRC (Ping timeout: 260 seconds) 2011-11-09T12:26:02 *** djstrong has quit IRC (Ping timeout: 276 seconds) 2011-11-09T12:26:06 lorill: does it hide it? 2011-11-09T12:26:21 but i get killed by weak bots who don't care about their own ants 2011-11-09T12:26:23 i think so 2011-11-09T12:26:35 at least my bot is oblivious to it 2011-11-09T12:26:42 that seems like a good plan in that case... 2011-11-09T12:26:42 *** Blkt has quit IRC (Quit: GOGOGO!) 2011-11-09T12:26:56 You mean keeping an ant on top of the hill? 2011-11-09T12:27:00 except you don't get food nor points this way 2011-11-09T12:27:02 yes 2011-11-09T12:27:12 or else, I could just have * ants gathering food until the hill is pwned 2011-11-09T12:27:14 *** Antimony has quit IRC (Ping timeout: 256 seconds) 2011-11-09T12:27:19 then have * ants go for hills 2011-11-09T12:27:36 maybe if they see them while gathering though, theyd need to raze them 2011-11-09T12:28:21 *** retybok has quit IRC (Ping timeout: 258 seconds) 2011-11-09T12:28:30 that only works against bots that don't go for the kill anyway 2011-11-09T12:28:59 yeah 2011-11-09T12:29:10 so they'd need to attack the whole time so 2011-11-09T12:29:26 no 2011-11-09T12:29:45 you only need one dumbo to kill your hiding ant, then other players also see you 2011-11-09T12:29:46 I mean if they can see a hill, they should attack it 2011-11-09T12:30:28 I dunno 2011-11-09T12:30:50 I think I'll scrap defense altogether and hope that if I am attacked that I have enough ants spawning to protect it 2011-11-09T12:30:52 yeah, back to the drawing board :( 2011-11-09T12:31:10 whoa: "lose all my hills early, except one" 2011-11-09T12:31:12 rly? 2011-11-09T12:31:19 you gonna lose a lot of points 2011-11-09T12:31:34 more importantly you give free points to the enemy 2011-11-09T12:31:36 yes, that's why i'm not in the top ten :o 2011-11-09T12:32:38 *** djstrong has joined #aichallenge 2011-11-09T12:32:42 mcstar: on the other hand, if you lose those points to the weak bots right away then at least the ones you have to worry about don't get them. ;) 2011-11-09T12:32:51 *** p_l has joined #aichallenge 2011-11-09T12:33:18 you cant tell that early which enemy is better 2011-11-09T12:33:21 thats not true.. a good bot will raze an unprotected hill for sure 2011-11-09T12:33:33 I also have a problem with only one hill when I get rushed 2011-11-09T12:33:35 we are talking about losing the hills, just when you really encounter enemier 2011-11-09T12:33:44 you need time to evaluate their strenghts 2011-11-09T12:33:59 I didn't find any way to defend against that 2011-11-09T12:34:00 *** JorgeB has quit IRC (Read error: Operation timed out) 2011-11-09T12:38:17 check for enemies at your hill in a specified radius.. call 2 nearest ants to defend against each enemy e.g. 2011-11-09T12:40:08 chances are that your ants will be outside that radius though 2011-11-09T12:40:31 depends on how large the radius is :) 2011-11-09T12:40:32 brb 2011-11-09T12:41:32 argh 2011-11-09T12:41:39 just look for food when that happens 2011-11-09T12:41:48 ans voila: teleportation 2011-11-09T12:41:53 *** mviel has quit IRC (Remote host closed the connection) 2011-11-09T12:41:56 d 2011-11-09T12:42:11 *** retybok has joined #aichallenge 2011-11-09T12:43:02 hmmm 2011-11-09T12:43:21 all the ideas, nothing I can actually code : 2011-11-09T12:43:22 * :P 2011-11-09T12:47:24 why not? 2011-11-09T12:47:34 *** JorgeB has joined #aichallenge 2011-11-09T12:47:47 I'm not exactly the best programmer :P 2011-11-09T12:48:34 do it in small steps. first calculate a distance map for your own hill(s) 2011-11-09T12:48:43 then check those squares for enemy ants 2011-11-09T12:48:52 I'm the best programmer on opposite day 2011-11-09T12:48:54 its just a bfs 2011-11-09T12:49:44 ikaros: the bfs I have implemented doesn't work always for some reason 2011-11-09T12:50:04 and I can't even keep track of my own ants... 2011-11-09T12:50:13 so I still have a bit to go yet 2011-11-09T12:50:16 why do you need to keep track of your ants? :P 2011-11-09T12:50:20 too much problems at once 2011-11-09T12:50:32 every ant is the same, at the start of every turn it doesn't matter which ant was where last turn 2011-11-09T12:50:37 try to break it down and solve one after the other.. e.g. tracking ants first 2011-11-09T12:50:41 if you're doing stuff with leaders, you can just reassign them each turn 2011-11-09T12:50:50 Yeah, why would you track your ants? 2011-11-09T12:51:04 but in fact.. im rewriting my whole bot and i think i can skip ant tracking completely 2011-11-09T12:51:07 One ant is as good as the other 2011-11-09T12:51:28 I'm doing it so I can have some ants attackers, some gatherers 2011-11-09T12:51:35 and they each have different roles 2011-11-09T12:51:37 reassign them every turn 2011-11-09T12:51:41 yea 2011-11-09T12:51:43 based on their proximity to things, etc. 2011-11-09T12:51:45 why would I do that? 2011-11-09T12:51:54 why would you want an ant near an enemy hill to be a gatherer? 2011-11-09T12:51:56 because its easier and you dont need to track them :) 2011-11-09T12:52:00 Because nothing makes one ant better at gathering food 2011-11-09T12:52:10 no 2011-11-09T12:52:18 ok 2011-11-09T12:52:19 hmmm 2011-11-09T12:52:32 saving the path for each ant is a good way to ensure not all paths need to be calculated again 2011-11-09T12:52:44 you don't need to calculate very many paths 2011-11-09T12:52:50 what about explored areas? 2011-11-09T12:52:53 i dont use a* so no need to remember the paths 2011-11-09T12:53:01 if you want to send 100 ants to a hill, you need one BFS from that hill to pathfind for every single ant 2011-11-09T12:53:26 not for that particular scenario, but generally 2011-11-09T12:53:36 thestinger: yeah 2011-11-09T12:53:43 Thats what I'm doing with food 2011-11-09T12:53:50 but for some reason it's not working :/ 2011-11-09T12:54:03 well, my ant tracking code is 23 lines 2011-11-09T12:54:03 ants get stuck in corners and are indecisive 2011-11-09T12:54:05 so for exploration you do the same thing - BFS from unexplored areas (or the other way around) 2011-11-09T12:54:18 so you might as well do it for "just because" 2011-11-09T12:54:24 conor_f, did you try to print your bfs map? 2011-11-09T12:54:27 helps alot :) 2011-11-09T12:54:42 whenever I want to send 1 ant to 1 target (or more), I also need distance measurements to decide which ant to send 2011-11-09T12:55:06 i have an itelligent with c++11 lambda's 2011-11-09T12:55:07 so I don't use my A* implementation at all anymore, because I want a proper distance measurement (not just manhattan distance) 2011-11-09T12:55:15 can ask ants if they want to accept their targets 2011-11-09T12:55:21 if not, searches farther 2011-11-09T12:55:24 thestinger: I also need to implement that. not sending all ants to the one target 2011-11-09T12:55:31 intelligent bfs* 2011-11-09T12:55:41 mcstar: again, smart but difficult for me to code 2011-11-09T12:55:53 extremely succint in this new standard 2011-11-09T12:56:19 where can i find the documentation of the starter package ? 2011-11-09T12:56:19 succint? 2011-11-09T12:56:26 yes 2011-11-09T12:56:31 conscie 2011-11-09T12:56:34 conscise 2011-11-09T12:56:40 underflow: it's all documented well with comments in the code 2011-11-09T12:56:54 you don't even need to use the starter packages 2011-11-09T12:57:06 mcstar: ok 2011-11-09T12:57:08 thestinger: i mean lists of properties/methods/.. 2011-11-09T12:57:39 underflow: you have all the code 2011-11-09T12:57:44 There's no documentation but the source itself 2011-11-09T12:57:53 using it is optional, it's just to help you get started 2011-11-09T12:58:20 Some tidbits are on the website in addition to the specs 2011-11-09T12:58:32 *** Larose has joined #aichallenge 2011-11-09T13:02:20 *** Palmik has joined #aichallenge 2011-11-09T13:03:30 @seen roflmao 2011-11-09T13:03:30 conor_f: roflmao was last seen in #aichallenge 15 hours, 19 minutes, and 56 seconds ago: hey Adam 2011-11-09T13:07:18 *** MLM-NL has joined #aichallenge 2011-11-09T13:07:26 haha berlusconi steps down 2011-11-09T13:08:05 nice 2011-11-09T13:10:33 ok, ive added support for ant-jets 2011-11-09T13:10:39 ? 2011-11-09T13:11:22 they stop jerking around near the hill, instead rush away wo congestion 2011-11-09T13:11:54 kwl 2011-11-09T13:14:08 *** datachomper has joined #aichallenge 2011-11-09T13:14:24 *** Antimony has joined #aichallenge 2011-11-09T13:15:26 Does enabling -O3 in gcc disable the -pg debugger flag? 2011-11-09T13:16:06 you should never debug with optiizations 2011-11-09T13:16:30 -pg is profiling, isnt it? 2011-11-09T13:16:44 yep 2011-11-09T13:16:47 mcstar: I'm only trying to profile a function. I need to see it's speed after optimization 2011-11-09T13:16:49 but i prefer callgrind 2011-11-09T13:17:02 datachomper: just use callgrind 2011-11-09T13:17:10 roger 2011-11-09T13:17:19 kcachgrind can show you the results, nice app 2011-11-09T13:17:24 kcachegrind 2011-11-09T13:17:26 *** dvladim has joined #aichallenge 2011-11-09T13:17:31 is it allowed to store the water tiles position, or should we respect the fog of war ? 2011-11-09T13:17:41 :) 2011-11-09T13:17:43 haha 2011-11-09T13:17:43 *** NoxiaZ^ has joined #aichallenge 2011-11-09T13:17:48 yes, you should 2011-11-09T13:17:50 its only fair 2011-11-09T13:17:57 I was thinking that too 2011-11-09T13:18:07 if you wanted, you could store the whole map 2011-11-09T13:18:24 conor_f: i think most of us DO store the whole map 2011-11-09T13:18:28 even multiple times 2011-11-09T13:18:30 You should store the whole map 2011-11-09T13:18:36 and also, whats to stop you from bypassing the updateVisionInformation function to get the whole map right at the start? 2011-11-09T13:18:59 ah, you guys talking about starter bot again 2011-11-09T13:19:05 we can get the whole map at the start ? oO 2011-11-09T13:19:08 I am anyways :P 2011-11-09T13:19:19 maybe, I dunno :P 2011-11-09T13:19:20 You're not sent that nformation 2011-11-09T13:19:23 underflow: no, but you can update your info of it 2011-11-09T13:19:38 pairofdice: ok, I just presumed from a scan of the code that you could 2011-11-09T13:19:55 *** liberforce has left #aichallenge 2011-11-09T13:22:07 *** joszs has joined #aichallenge 2011-11-09T13:23:11 I started with my AI in cpp, now I´m trying to test it. but it doesn´t work 2011-11-09T13:23:13 "python tools/sample_bots/python/GreedyBot.php" 2011-11-09T13:23:54 *** amstan has joined #aichallenge 2011-11-09T13:23:54 *** ChanServ sets mode: +o amstan 2011-11-09T13:24:08 If I change it to tools/MyBot.cc nothing happens 2011-11-09T13:24:26 (omg) 2011-11-09T13:24:42 heh 2011-11-09T13:24:56 make your bot -o MyBot 2011-11-09T13:25:25 then change the "python " to "./MyBot" 2011-11-09T13:25:43 Thats on Linux, windows, not so sure but something similar 2011-11-09T13:26:00 and also, python .php? :P 2011-11-09T13:26:26 joszs, you dont have much programming experience right? (no offense) 2011-11-09T13:26:51 not with python.... 2011-11-09T13:27:05 (omg) 2011-11-09T13:27:05 php was py that was a typo 2011-11-09T13:27:32 joszs: you have to compile first 2011-11-09T13:27:47 *make 2011-11-09T13:27:52 i know... 2011-11-09T13:27:56 so? 2011-11-09T13:27:59 actually, I'm going to stay quiet 2011-11-09T13:28:02 If I change it to tools/MyBot.cc nothing happens 2011-11-09T13:28:10 change what? 2011-11-09T13:28:16 i guess we have a misunderstanding here 2011-11-09T13:28:18 "python tools/sample_bots/python/GreedyBot.php" 2011-11-09T13:28:29 joszs: you have to compile your source 2011-11-09T13:28:33 because .cc is your source file 2011-11-09T13:28:36 you cant start it 2011-11-09T13:28:37 than give your executable to the script 2011-11-09T13:28:50 but I thought because of the site wanted it to be downloaded without a compile 2011-11-09T13:29:07 Hmm can anyone help me get this working: http://ants.fluxid.pl/howto ? - Im using C# and i have no idea how to get this running? 2011-11-09T13:29:23 NoxiaZ^: download the python client 2011-11-09T13:29:35 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T13:29:39 NoxiaZ^: pytho ./tcpclient.py "mono mycsharpbot" username pass 2011-11-09T13:29:47 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-09T13:31:33 joszs, if you upload it to the contest server you only upload the source.. it is compiled there 2011-11-09T13:31:40 C:\Python32\python.exe "D:\\Programmering\\trunk\\Csharp-scripts\\Privat\\GoogleAIChallange\\LocalPlayTool\\tcpclient.py" ants.fluxid.pl 2081 "mono D:\\Programmering\\trunk\\Csharp-scripts\\Privat\\GoogleAIChallange\\GoogleAIChallangeProgram\\bin\\Debug\\GoogleAIChallangeProgram.exe" 2011-11-09T13:31:42 i tried this? 2011-11-09T13:31:48 if you test it locally you need to compile it yourself and use the tools with the executable 2011-11-09T13:32:07 But just get an error with "USAGE" 2011-11-09T13:32:25 I know now... 2011-11-09T13:32:34 fine :) 2011-11-09T13:32:37 I also tried it with a php file 2011-11-09T13:32:46 but it didn´t work 2011-11-09T13:32:58 NoxiaZ^ add your username and a password at the end 2011-11-09T13:33:02 paste how you start the tool 2011-11-09T13:33:03 i did 2011-11-09T13:33:09 i just didnt copy paste that with 2011-11-09T13:33:24 :) 2011-11-09T13:33:28 "php bot/MyBot.php" 2011-11-09T13:33:38 NoxiaZ^: ony windows i think you can run c# programs wo mno 2011-11-09T13:33:48 the bot only reacts to stdin input.. it wont run on its own 2011-11-09T13:33:51 mono 2011-11-09T13:33:58 do you have mono installed 2011-11-09T13:34:00 you need to use playgame.py or how it is called 2011-11-09T13:34:01 wait 2011-11-09T13:34:09 no dont have mono installed 2011-11-09T13:34:11 should i? 2011-11-09T13:34:15 hrhr :) 2011-11-09T13:34:16 sorry 2011-11-09T13:34:18 then why do you expect it to work? 2011-11-09T13:34:24 "mono D:\\Programmering\\trunk\\Csharp 2011-11-09T13:34:30 mcsatr, he's on win 2011-11-09T13:34:41 im not a satire 2011-11-09T13:35:28 joszs, have a look at tools/play_one_game.sh 2011-11-09T13:35:30 First, i dont expect anything.. - Next g0llum is right im a windows guy, nothing more then that 2011-11-09T13:35:35 to see how to start a game locally 2011-11-09T13:35:43 But will it work if i install mono? 2011-11-09T13:35:55 it should 2011-11-09T13:36:02 because you call mono to run your program 2011-11-09T13:36:25 NoxiaZ^ no need for mono, you were just lacking username and password there 2011-11-09T13:36:28 ahh oki, just to know, why cant it just run the exe file? 2011-11-09T13:36:40 C:\Python32\python.exe "D:\\Programmering\\trunk\\Csharp-scripts\\Privat\\GoogleAIChallange\\LocalPlayTool\\tcpclient.py" ants.fluxid.pl 2081 "mono D:\\Programmering\\trunk\\Csharp-scripts\ 2011-11-09T13:36:40 \Privat\\GoogleAIChallange\\GoogleAIChallangeProgram\\bin\\Debug\\GoogleAIChallangeProgram.exe" xx xx 100 2011-11-09T13:36:44 this is my totaly line 2011-11-09T13:36:49 I have.. it is working with python files but not with other files. 2011-11-09T13:38:50 .exe is misleading because it is run by the c# runtime (cli?) and in this case mono instead because of the use of a linux server where M$ .net wont run 2011-11-09T13:39:22 "python pythonbot/MyBot.py" is working but "php phpbot/MyBot.php" isn´t 2011-11-09T13:40:07 you probably compiled your code with the ms c# compiler.. you will probably need to compile with mono first 2011-11-09T13:40:22 but im not a mono/.net guy so im not sure about all this :) 2011-11-09T13:40:29 whats the exact error joszs 2011-11-09T13:40:43 I'm learning all kinds of cool things about Python due to this challenge 2011-11-09T13:40:56 hmm 2011-11-09T13:40:58 :) 2011-11-09T13:41:02 *** treeform has joined #aichallenge 2011-11-09T13:41:13 hmm this sux using C# :( 2011-11-09T13:42:27 NoxiaZ^ btw, did you ever say what went wrong ? 2011-11-09T13:43:46 pairofdice: i've mostly just learned python is slow and i'm bad at it ;) 2011-11-09T13:44:31 *** cyphase has quit IRC (Ping timeout: 248 seconds) 2011-11-09T13:44:42 There is no error, you are redirected to a blank page. 2011-11-09T13:44:47 pairofdice: i've mostly just learned python is slow and i'm bad at it ;) 2011-11-09T13:44:53 print len(sys.argv) 2011-11-09T13:44:58 ups wrong paste 2 sec :D 2011-11-09T13:45:00 AIChallangeProgram\\bin\\Debug\\GoogleAIChallangeProgram.exe" noxiaz jesper 100 2011-11-09T13:45:00 File "D:\\Programmering\\trunk\\Csharp-scripts\\Privat\\GoogleAIChallange\\LocalPlayTool\\tcpclient.py", line 151 2011-11-09T13:45:01 print USAGE 2011-11-09T13:45:01 ^ 2011-11-09T13:45:01 SyntaxError: invalid syntax 2011-11-09T13:45:05 this is the error 2011-11-09T13:45:05 NoxiaZ^: you dont need mono if you are on windows 2011-11-09T13:45:11 im on windows 2011-11-09T13:45:35 but the server runs mono and i would want to be sure it works with mono 2011-11-09T13:45:50 i moved from python to c++, oh my god the performance 2011-11-09T13:45:53 ikaros: but for tcp games he doesnt need to use it 2011-11-09T13:45:54 if len(sys.argv) < 6: 2011-11-09T13:45:54 print USAGE 2011-11-09T13:45:54 return 2011-11-09T13:45:59 yea true 2011-11-09T13:46:00 btw, they should be compatible 2011-11-09T13:46:00 and this is the line where it stops 2011-11-09T13:46:09 hehe "should" 2011-11-09T13:46:11 *** Antimony has joined #aichallenge 2011-11-09T13:46:16 http://pastebin.com/vc47iJsK 2011-11-09T13:46:23 NoxiaZ^: obviously you need more parameters 2011-11-09T13:46:27 but probably as long as you dont use fancy libs everything works 2011-11-09T13:46:43 *** cyphase has joined #aichallenge 2011-11-09T13:46:59 python2 ./tcpclient.py ants.fluxid.pl 2081 ./MyBot mcstar password 2011-11-09T13:47:04 this is how i run the tcp games 2011-11-09T13:47:07 Python might be a bit slower than some but it saves MY time :) 2011-11-09T13:48:05 http://pastebin.com/vc47iJsK anyone knows what the problem is.. 2011-11-09T13:48:35 joszs: ? 2011-11-09T13:48:37 What's that lone -- dangling there 2011-11-09T13:48:37 python is great for exploring, quick implemntations 2011-11-09T13:48:39 what the error is? 2011-11-09T13:48:45 php probably isn't in your path 2011-11-09T13:48:47 i hate having to change the headers in c++ whenever i change a function 2011-11-09T13:48:51 tcpclient.py - do that one need any other files to run? i mean do it need to be in the same folder as the localclient play? 2011-11-09T13:49:04 there's so much more busy work than algorithmic implementation 2011-11-09T13:49:24 NoxiaZ^: no it doesn't need to be in the same folder 2011-11-09T13:49:26 NoxiaZ^: the first is the script to python to run 2011-11-09T13:49:30 first parameter* 2011-11-09T13:50:32 *** retybok has quit IRC (Ping timeout: 276 seconds) 2011-11-09T13:51:24 *** joszs has quit IRC (Quit: Page closed) 2011-11-09T13:51:49 how can i get this python file to print len(sys.argv) ? 2011-11-09T13:51:57 anyway 2011-11-09T13:52:00 sytax error 2011-11-09T13:52:04 i just saw it 2011-11-09T13:52:04 if i type: print len(sys.argv) - it return len(sys.argv) and not the number 2011-11-09T13:52:20 did u put it in quotes? 2011-11-09T13:52:20 NoxiaZ^: i think tcpclient is meant to be run with python2.7 2011-11-09T13:52:34 ahh oki 2011-11-09T13:52:36 NoxiaZ^: do a python version 2011-11-09T13:52:38 ill download that then :S 2011-11-09T13:52:45 i got 3.2 2011-11-09T13:52:56 wait 2011-11-09T13:53:00 ill try with py3k 2011-11-09T13:53:20 ok 2011-11-09T13:53:21 same error 2011-11-09T13:53:26 go ahead 2011-11-09T13:53:33 oki :D 2011-11-09T13:54:17 well, it works fine with 2.6 here 2011-11-09T13:54:42 *** lorill has quit IRC (Quit: Page closed) 2011-11-09T13:56:35 this feels stupid 2011-11-09T13:56:37 it works now 2011-11-09T13:56:42 with 2.7 2011-11-09T13:56:48 thanks a lot guys :P 2011-11-09T13:57:03 cya there ;) 2011-11-09T13:57:28 Ye! :D sorry that im gonna take your ranks, now i get it working 2011-11-09T13:57:31 i hope its okie ;) 2011-11-09T13:57:34 error: extra qualification ‘Ant::’ on member ‘Ant’ [-fpermissive] 2011-11-09T13:57:40 nvm 2011-11-09T13:57:45 wow I'm stupid 2011-11-09T13:58:06 *** mj41 has joined #aichallenge 2011-11-09T13:58:52 and now I'm back to where I was before I started messing around with defense :P 2011-11-09T14:00:19 *** retybok has joined #aichallenge 2011-11-09T14:02:01 *** dwins has joined #aichallenge 2011-11-09T14:02:03 NoxiaZ^: ive heard that before 2011-11-09T14:02:10 *** epicmonkey has joined #aichallenge 2011-11-09T14:02:17 noone remembers those guys 2011-11-09T14:02:47 mcstar: kcachegrind rocks, thanks 2011-11-09T14:02:51 My ants, my ants, my ants are o-kay 2011-11-09T14:02:55 welcome 2011-11-09T14:04:35 pairofdice: good idea, ants should sing row, row row your bota, gently down the stream 2011-11-09T14:04:55 to increase their performance/collaboaration 2011-11-09T14:05:39 cows & rols 2011-11-09T14:05:41 merrily merrily merrily merrily \\ life is but a dream 2011-11-09T14:07:06 And when you wake up it's skynet all over again 2011-11-09T14:07:26 *** dvladim has quit IRC (Ping timeout: 276 seconds) 2011-11-09T14:11:37 *** Ostrzy has joined #aichallenge 2011-11-09T14:11:52 *** dvladim has joined #aichallenge 2011-11-09T14:14:25 *** Ostrzy has quit IRC (Client Quit) 2011-11-09T14:16:36 *** GeorgeSebastian has quit IRC (Ping timeout: 256 seconds) 2011-11-09T14:17:09 sqrt(10)=~3.2 2011-11-09T14:17:24 so thats why my ants dont recognize battle 2011-11-09T14:17:53 *** conor_f has quit IRC (Ping timeout: 245 seconds) 2011-11-09T14:18:28 *** Redgis has joined #aichallenge 2011-11-09T14:19:18 *** treeform has quit IRC (Remote host closed the connection) 2011-11-09T14:19:56 *** treeform has joined #aichallenge 2011-11-09T14:21:16 *** roflmao has joined #aichallenge 2011-11-09T14:22:05 *** roflmao has joined #aichallenge 2011-11-09T14:26:53 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-09T14:26:57 *** jasox has joined #aichallenge 2011-11-09T14:27:21 *** treeform has quit IRC (Remote host closed the connection) 2011-11-09T14:31:36 *** retybok has quit IRC (Quit: Lost terminal) 2011-11-09T14:31:59 *** Antimony has joined #aichallenge 2011-11-09T14:33:04 *** GeorgeSebastian has joined #aichallenge 2011-11-09T14:35:58 *** mj41 has quit IRC (Remote host closed the connection) 2011-11-09T14:37:05 *** mj41 has joined #aichallenge 2011-11-09T14:37:48 *** jasox has quit IRC (Quit: Leaving) 2011-11-09T14:38:12 *** conor_f has joined #aichallenge 2011-11-09T14:39:43 ? 2011-11-09T14:40:04 whatever you do, try to avoid floating point 2011-11-09T14:40:38 ? 2011-11-09T14:40:49 when did i say i use them? 2011-11-09T14:41:38 i just gave a wrong "range" cause i forgot my euc. dist is "of course" squared 2011-11-09T14:42:15 actually, i have floating point arithmetic 2011-11-09T14:42:24 4 maps of floats 2011-11-09T14:42:45 2 of ints 2011-11-09T14:42:51 1 of _ant* 2011-11-09T14:42:59 and 2 of _loc* 2011-11-09T14:43:39 no, those are _loc -s 2011-11-09T14:43:44 not pointers 2011-11-09T14:43:46 maps of locations? but isn't the location the index into the location map? 2011-11-09T14:44:07 mleise: loc is a struct with 4 loc* -s 2011-11-09T14:44:39 and when i receive water, i delete the opposite pointer from the nboring loc 2011-11-09T14:45:28 ah, i mean i reset it to zero, not delete it per say 2011-11-09T14:45:59 you null it out, so to say 2011-11-09T14:46:09 i invalidate it :D 2011-11-09T14:46:14 nuke it 2011-11-09T14:46:23 annihilate 2011-11-09T14:47:09 *** willem has joined #aichallenge 2011-11-09T14:47:11 actually the range correction didnt solve my problem 2011-11-09T14:47:29 my ants sometimes do sometimes dont recognize neearby enemies 2011-11-09T14:47:42 *** GeorgeSebastian has quit IRC (Ping timeout: 240 seconds) 2011-11-09T14:47:42 i fell, that this bug is going to be short lived 2011-11-09T14:47:45 feel 2011-11-09T14:48:50 anyone knows if we can use python code with c code mixed in, such as http://pypi.python.org/pypi/rbtree/0.8.9? 2011-11-09T14:48:55 *** dvladim has quit IRC (Ping timeout: 260 seconds) 2011-11-09T14:49:25 I've read that the compilation process detects one language so this may be difficult? 2011-11-09T14:49:45 willem: is it in the ubuntu repo? 2011-11-09T14:50:07 Py Version 2011-11-09T14:50:07 willem: you can compile .so files offline and use ctypes to call it 2011-11-09T14:50:12 ,2.6 2011-11-09T14:51:15 amstan: are those platform independent? im running amd64. 2011-11-09T14:51:23 willem: nope 2011-11-09T14:51:27 willem: it's a hack 2011-11-09T14:51:32 *** JanneP has joined #aichallenge 2011-11-09T14:51:38 willem: but you're probably good 2011-11-09T14:51:58 willem: check the chat logs(from topic) from today, i mentioned the uname -a from the worker 2011-11-09T14:52:27 amstan: k thanks 2011-11-09T14:55:10 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T14:55:55 *** NoxiaZ^ has quit IRC (Ping timeout: 260 seconds) 2011-11-09T14:57:25 *** smiley1993 has quit IRC (Ping timeout: 240 seconds) 2011-11-09T14:57:50 *** pairofdice has quit IRC (Quit: Just keep breathing) 2011-11-09T14:57:58 *** Accoun has quit IRC () 2011-11-09T14:59:40 *** smiley1993 has joined #aichallenge 2011-11-09T15:00:48 *** GeorgeSebastian has joined #aichallenge 2011-11-09T15:01:37 https://github.com/aichallenge/aichallenge/wiki/C%23-and-the-Real-Time-Debugging-and-Visualization-Trick 2011-11-09T15:01:41 did anyone try that yet? 2011-11-09T15:02:32 *** caution has joined #aichallenge 2011-11-09T15:03:01 well, I'm now officially out of ideas for my app 2011-11-09T15:03:17 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-09T15:03:24 bot 2011-11-09T15:03:53 *** Anilm3 has quit IRC (Ping timeout: 265 seconds) 2011-11-09T15:04:07 *** dwins has joined #aichallenge 2011-11-09T15:04:45 *** Antimony has joined #aichallenge 2011-11-09T15:06:37 *** Relax has joined #aichallenge 2011-11-09T15:08:38 Savaron: I think it's much more usefull to use logging + an external app to visualize stuff 2011-11-09T15:09:14 *** Belerafon has joined #aichallenge 2011-11-09T15:09:50 jix: isn't that the same? as I understood it his bot sends the input and output to his visualizer 2011-11-09T15:10:01 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-11-09T15:11:26 *** peyton has joined #aichallenge 2011-11-09T15:12:26 *** Guest56998 is now known as ajf 2011-11-09T15:13:37 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T15:14:00 Hi. Problem on html of http://aichallenge.org. I try to open second page of "ranking" but have got strage link "http://aichallenge.org/rankings.php/forum/flags/cz.png?page=2" and page without css styles. Is it my problem or aichallenge.org? 2011-11-09T15:14:36 Belerafon: same happens to me from time to time 2011-11-09T15:15:10 from the first site it's fine for me 2011-11-09T15:15:16 where did you click that gets there? 2011-11-09T15:15:25 but after visiting another page the link is weird too 2011-11-09T15:15:52 amstan: http://aichallenge.org/rankings.php?page=3 2011-11-09T15:16:00 every link from there is wrong 2011-11-09T15:16:05 wtf? 2011-11-09T15:16:24 lol ?! 2011-11-09T15:16:32 have you been hacked? 2011-11-09T15:16:58 and they did what, remove a stylesheet! :O :P 2011-11-09T15:17:24 http://pastebin.com/w1476a0G 2011-11-09T15:17:27 *** Belerafon has quit IRC (Remote host closed the connection) 2011-11-09T15:17:28 it doesn't contain such links 2011-11-09T15:17:32 this is weird 2011-11-09T15:18:03 *** b0rder_ has quit IRC (Ping timeout: 252 seconds) 2011-11-09T15:18:11 yeah, somehow you got bad relative links 2011-11-09T15:18:26 Savaron: well but can he go forwards backwards in his visualization? 2011-11-09T15:18:38 aichallenge: Alexandru Stan epsilon * rb73ea8c / website/organization_rankings.php : removed csclub link - http://git.io/EiVJ1w 2011-11-09T15:18:38 that's trivial if you log everything you visualize 2011-11-09T15:18:38 no 2011-11-09T15:18:41 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-09T15:18:48 and very usefull 2011-11-09T15:19:01 Savaron: and now the same page somehow works 2011-11-09T15:19:21 nvm 2011-11-09T15:19:25 now it apparently goes to profile.php 2011-11-09T15:19:31 http://aichallenge.org/rankings.php/profile.php?page=2 2011-11-09T15:19:47 jix: I don't think that would be too hard to add (not mentioning that it's the first time I'm doing something visually) 2011-11-09T15:20:11 yeah, what the heck? 2011-11-09T15:20:35 and once you get the / in there the forums link becomes relative to that 2011-11-09T15:20:48 that happened to me too 2011-11-09T15:20:58 worked in another browser 2011-11-09T15:21:12 after couple of minutes worked in chromium again 2011-11-09T15:21:31 it was weird, cause i tried the cache bypass 2011-11-09T15:21:38 and it didnt work right away 2011-11-09T15:21:40 maybe $_SERVER['PHP_SELF'] is wonky? 2011-11-09T15:22:01 yeah, i reloaded and it's fine now 2011-11-09T15:22:10 aichallenge: Alexandru Stan epsilon * rc86b3ac / website/pagination.php : fixed tab - http://git.io/4OEGcg 2011-11-09T15:22:20 amstan: i think playgame.py should print the random seed it uses for a given run 2011-11-09T15:22:23 Zannick: is there a way to browse the data inside the cache? 2011-11-09T15:22:32 no clue 2011-11-09T15:22:32 *** Antimony has joined #aichallenge 2011-11-09T15:22:33 mcstar: doesn't it store it? 2011-11-09T15:22:42 i guess its in the replay 2011-11-09T15:22:51 but it would be handy had it printed it 2011-11-09T15:23:04 mcstar: fix it 2011-11-09T15:23:18 '_' 2011-11-09T15:23:23 not thats not it 2011-11-09T15:23:28 ˇ_ˇ 2011-11-09T15:23:58 amstan: will you write my bot then? 2011-11-09T15:24:02 :D 2011-11-09T15:24:19 mcstar: sure, i'll just download the starter pack 2011-11-09T15:24:22 *** peyton has quit IRC (Quit: peyton) 2011-11-09T15:24:56 href="/rankings.php/forum/organization_profile.php?page=2">2 it's clearly wonky 2011-11-09T15:25:47 weird 2011-11-09T15:27:15 ahhhh 2011-11-09T15:27:22 happened for me again 2011-11-09T15:27:28 *** Antimony has quit IRC (Ping timeout: 245 seconds) 2011-11-09T15:27:29 mcstar: yeah, wtf? 2011-11-09T15:27:34 wth? is it really server side? 2011-11-09T15:28:31 i think this is a concurrency issue 2011-11-09T15:28:54 mcstar: maybe i'll restart memcached, apache and mysql 2011-11-09T15:29:14 hope it helps 2011-11-09T15:29:28 if it is an issue with $_SERVER['PHP_SELF'] 2011-11-09T15:29:52 then we should just pass in the right argument for $targetstring to the getPaginationString function 2011-11-09T15:29:58 *** mj41 has quit IRC (Ping timeout: 245 seconds) 2011-11-09T15:30:12 which should always be rankings.php for the rankings.php page 2011-11-09T15:30:15 http://aichallenge.org/rankings.php/forum/flags/flags/ua.png?page=4 2011-11-09T15:30:16 wtf? 2011-11-09T15:31:30 *** b0rder_ has joined #aichallenge 2011-11-09T15:31:48 that's what i think, anyway 2011-11-09T15:33:14 ranking.php:214 $table .= ''.getPaginationString($page, $page_count, $page_size, $page_string, '/rankings.php').""; 2011-11-09T15:33:18 eg. 2011-11-09T15:33:37 *** Mephantt has joined #aichallenge 2011-11-09T15:34:11 yeah, that happens once in a while. i think it's a memcache screwup 2011-11-09T15:34:49 i added echo ""; in pagination.php for debugging 2011-11-09T15:34:51 someone's requesting it from some screwy url and getting it cached is my conjecture 2011-11-09T15:35:03 logs! 2011-11-09T15:35:42 oh god 2011-11-09T15:35:44 188.233.138.243 - - [22/Oct/2011:08:42:46 +0000] "GET /rankings.php/forum/forum/forum/forum/forum/flags/eg.png HTTP/1.1" 200 10609 "http://aichallenge.org/rankings.php/forum/forum/forum/forum/forum/aichallenge.css?page=13" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2" 2011-11-09T15:35:50 look how deep it got 2011-11-09T15:35:52 lol 2011-11-09T15:36:03 yep. 2011-11-09T15:36:44 that's because somehow it became '/rankings.php/' and the link is to 'forum' not '/forum' 2011-11-09T15:36:57 ...or forums, rather 2011-11-09T15:37:02 where did "forum" come from 2011-11-09T15:37:13 ER-Telecom in Volgograd, Russia 2011-11-09T15:37:27 a1k0n: that's just a random guy, i think he got linked there too 2011-11-09T15:37:29 Zannick: looking 2011-11-09T15:37:43 thank god for apache logging refereers 2011-11-09T15:38:45 first request: 38.99.96.108 - - [21/Oct/2011:04:10:35 +0000] "GET /rankings.php/forum/ HTTP/1.1" 200 2046 "-" "Mozilla/5.0 (compatible; ScoutJet; +http://www.scoutjet.com/)" 2011-11-09T15:38:53 grep "forum[^s]" shows nothing 2011-11-09T15:39:00 no links, rather 2011-11-09T15:39:18 it's a bot i think 2011-11-09T15:39:35 oh i see 2011-11-09T15:39:37 bingbot for some reason started crawling for it 2011-11-09T15:39:41 and then that got cached 2011-11-09T15:39:46 wtg bing 2011-11-09T15:41:03 if i search for http://aichallenge.org/rankings.php/forum/ on google, aichallenge.org/rankings.php/forum/forum/profile.php?page=6 is the first result 2011-11-09T15:41:37 first access to that is 38.99.96.108 - - [21/Oct/2011:04:09:41 +0000] "GET /rankings.php/country_rankings.php HTTP/1.1" 200 2047 "-" "Mozilla/5.0 (compatible; ScoutJet; +http://www.scoutjet.com/)" 2011-11-09T15:41:43 that's wonky 2011-11-09T15:41:52 2011-10-23T02:25:32 or I see the url is all messed up 2011-11-09T15:41:52 2011-10-23T02:25:37 http://aichallenge.org/rankings.php/forum/forum/forum/forum/forum/forum/forum/country_profile.php?page=1 2011-11-09T15:41:59 *** zxczxc has joined #aichallenge 2011-11-09T15:42:04 contestbot's own channel logs 2011-11-09T15:42:20 Zannick: hmm? 2011-11-09T15:42:25 http://contestbot.hypertriangle.com/channellogs/%23aichallenge/%23aichallenge.2011-10-23.log 2011-11-09T15:42:37 this exact problem, 2-3 weeks ago :P 2011-11-09T15:43:23 Hi, everybody! I've got jitter while running play_one_game_live.cmd using java visualizer. I looks quite strange: some parts of "Ants Visualizer" window apper over others. And the bigger I stretch window, the more jitters occure. What could be the reason? I use the latest Java (Version 6 Update 29)? and have already tried to reinstall it. One more thing: there is no jitter after visualizing play_one_game.cmd/ 2011-11-09T15:44:30 contestbot: seen janzert 2011-11-09T15:44:30 amstan: janzert was last seen in #aichallenge 19 hours, 55 minutes, and 26 seconds ago: hehe 2011-11-09T15:46:25 *** antz has joined #aichallenge 2011-11-09T15:46:31 yeah 2011-11-09T15:46:39 putting / in front of links seems to fix it 2011-11-09T15:46:49 Zannick: hmm? 2011-11-09T15:46:51 as well as specifying targetpage = '/rankings.php' 2011-11-09T15:46:55 Zannick: isn't it because of kirby? 2011-11-09T15:46:58 *** antz has quit IRC (Client Quit) 2011-11-09T15:47:07 kirby? 2011-11-09T15:47:11 Zannick: yes 2011-11-09T15:47:19 look, i go to http://aichallenge.org/rankings.php/forum/?page=2 2011-11-09T15:47:35 i find a bad link like http://aichallenge.org/rankings.php/forum/maps.php 2011-11-09T15:47:53 i inspect element to see Official Maps 2011-11-09T15:48:00 i change that to Official Maps 2011-11-09T15:48:12 now it links to http://aichallenge.org/maps.php 2011-11-09T15:48:25 Zannick: sure, but that's treating the symptoms 2011-11-09T15:48:30 also, it's a lot of work 2011-11-09T15:48:41 http://contestbot.hypertriangle.com/channellogs/%23aichallenge/%23aichallenge.2011-10-23.log 2011-11-09T15:48:53 grep for Fix bad ghost markup 2011-11-09T15:49:21 the ghost in the rankings did not use proper html entities 2011-11-09T15:49:26 so some tags didn't get closed 2011-11-09T15:49:39 so the robots got confused about the links and started asking for the wrong ones 2011-11-09T15:49:43 it's still correct to do it this way :P 2011-11-09T15:49:55 now they keep requesting those wrong links, and they get stored in memcached 2011-11-09T15:50:05 *** ltriant has joined #aichallenge 2011-11-09T15:50:18 i suggest a regex in apache that 404s 2011-11-09T15:51:04 for anything that's rankings.php\/? 2011-11-09T15:51:11 wait 2011-11-09T15:51:16 rankings.php\/ 2011-11-09T15:51:49 Zannick: right.. that's why i don't want it done with a / in front of everything 2011-11-09T15:51:51 aichallenge: Zannick epsilon * r7c73710 / website/menu.php : Use absolute addresses rather than relative addresses - http://git.io/nkAWXw 2011-11-09T15:51:52 aichallenge: Zannick epsilon * r0b7d836 / website/ranking.php : Specify $targetpage for rankings. - http://git.io/M--WCw 2011-11-09T15:52:08 Zannick: all sites like http://hypertriangle.com/~alex/aichallenge/website/ will break 2011-11-09T15:52:33 amstan: ... 2011-11-09T15:52:42 *facepalm* 2011-11-09T15:52:57 *** xathis_ has joined #aichallenge 2011-11-09T15:53:17 Zannick: so.. what? 2011-11-09T15:53:51 well, i just changed maps.php to use / in front of everything 2011-11-09T15:54:00 do you want me to revert that? 2011-11-09T15:54:07 sure 2011-11-09T15:54:36 i need some apachefu to do the 404 so the robots die 2011-11-09T15:55:04 aichallenge: Zannick epsilon * re51435d / website/menu.php : 2011-11-09T15:55:04 aichallenge: Revert "Use absolute addresses rather than relative addresses" 2011-11-09T15:55:04 aichallenge: This reverts commit 7c737100e430b3e869482646c8777be8ed8b7882. - http://git.io/TJ5hBQ 2011-11-09T15:55:04 aichallenge: Zannick epsilon * ref830d8 / website/ranking.php : Use local rankings.php in case the rankings are mirrored elsewhere. - http://git.io/DHwCHw 2011-11-09T15:55:32 or should it be a 403? 2011-11-09T15:55:37 yes 2011-11-09T15:55:43 *** xathis has quit IRC (Ping timeout: 248 seconds) 2011-11-09T15:56:14 /rankings.php(.*)?page=(.*) 2011-11-09T15:56:28 redirect to /rankings.php?page=$2 2011-11-09T15:56:34 seem right to you? 2011-11-09T15:56:36 how can I implement only one ant going to a piece of food 2011-11-09T15:56:50 so only the closest one goes for it instead of everyone 2011-11-09T15:56:58 well 2011-11-09T15:57:19 /rankings.php(/.*)\?page=(.*) 2011-11-09T15:57:33 /rankings\.php(/.*)\?page=(.*) 2011-11-09T15:57:51 yes 2011-11-09T15:58:28 need that second forward / in there so you don't redirect rankings.php?page=2 to itself, eg. 2011-11-09T15:58:40 or (.+) 2011-11-09T15:58:58 conor_f: determine the closest ant for each food? 2011-11-09T15:59:14 well, sure, but then you're redirecting things like rankings.phppppppp?page=2 2011-11-09T15:59:23 which is up to you, i suppose 2011-11-09T15:59:25 jix: yeah, but what then, how do I stop other ants going to it? 2011-11-09T15:59:43 * Zannick -> lunch 2011-11-09T15:59:47 *** Apophis has quit IRC (Read error: Connection reset by peer) 2011-11-09T15:59:56 conor_f: well right now for each ant you determine the closest food? 2011-11-09T16:00:30 I use a bfs and then just tell each ant to go for the closest food to it 2011-11-09T16:00:44 conor_f: now swap ants and food 2011-11-09T16:00:58 do a bfs for every ant? 2011-11-09T16:01:08 will that not kill my time? 2011-11-09T16:01:10 no that is what you do right now isn't it? 2011-11-09T16:01:15 no 2011-11-09T16:01:21 do a bfs from the food outwards 2011-11-09T16:01:34 but then you'll find the closest ant for each food already 2011-11-09T16:01:37 and then say from the ants current location, follow the lowest number 2011-11-09T16:01:51 *** dwins has joined #aichallenge 2011-11-09T16:01:59 conor_f: oh you have to stop the bfs as soon as you find an ant 2011-11-09T16:02:29 hmm 2011-11-09T16:02:49 roflmao: what are you doing, since you recommended this bfs method? 2011-11-09T16:03:34 *** fexilal has joined #aichallenge 2011-11-09T16:04:02 *** SitUAtE has joined #aichallenge 2011-11-09T16:04:09 hi? 2011-11-09T16:04:33 i am starting to write a new thread in the forum just in case 2011-11-09T16:04:45 SitUAtE: ok 2011-11-09T16:04:53 i'm doing something similar conor_f - i do a BFS starting form all the goal nodes 2011-11-09T16:04:58 though, i am experiencing some problems when trying to test my bot locally 2011-11-09T16:05:01 then you just follow the flow to the goals 2011-11-09T16:05:19 (my bot runs perfectly in the server, but not locally) 2011-11-09T16:05:29 what problem are you experiencing 2011-11-09T16:05:45 you have not provided enough information 2011-11-09T16:05:47 i am supposed to run play_one_game.cmd 2011-11-09T16:05:59 and a python error appears... 2011-11-09T16:05:59 ok 2011-11-09T16:06:02 i am copying 2011-11-09T16:06:04 what is the error 2011-11-09T16:06:25 File "playgame.py", line 241 print("Running profile and outputting to {0}".format(prof_file,), file=stder r) ^ SyntaxError: invalid syntax 2011-11-09T16:06:40 what version of python are you using? 2011-11-09T16:06:41 i have installed python 2.7.2 and 3.2 2011-11-09T16:06:45 and what are you using 2011-11-09T16:06:51 2.7 2011-11-09T16:06:57 how do you know if you have both installed? 2011-11-09T16:07:04 when you type "python" on the CLI 2011-11-09T16:07:06 c:\python 2.7 2011-11-09T16:07:06 which one loads 2011-11-09T16:07:11 ok 2011-11-09T16:07:11 hehe 2011-11-09T16:07:14 ;) 2011-11-09T16:07:23 ? 2011-11-09T16:07:27 2.5 2011-11-09T16:07:28 ?= 2011-11-09T16:07:32 doesnt make sense 2011-11-09T16:07:34 what? 2011-11-09T16:07:36 but seems its 2.5 2011-11-09T16:07:38 *** Antimony has joined #aichallenge 2011-11-09T16:07:46 windows? 2011-11-09T16:07:54 yes 2011-11-09T16:07:55 edit play_one_game.cmd 2011-11-09T16:08:02 change "python" at the begining 2011-11-09T16:08:09 to explicitly use the 2.7 python 2011-11-09T16:08:15 something like: 2011-11-09T16:08:24 ( i see this Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win 32) 2011-11-09T16:08:24 "C:\python 2.7\python" ...... 2011-11-09T16:08:34 do you have 2.7 installed? 2011-11-09T16:08:35 ok i am trying 2011-11-09T16:08:40 yes yes 2011-11-09T16:08:40 2.7 2011-11-09T16:08:45 then do what i just said 2011-11-09T16:08:52 or you can fix your environment variable PATH 2011-11-09T16:08:55 to point to the right python dir 2011-11-09T16:09:02 or figure out where the hell you have python 2.5 installed 2011-11-09T16:09:14 hehe 2011-11-09T16:09:19 let me check that 2011-11-09T16:09:22 but thanks in advance 2011-11-09T16:09:33 *** Fandekasp has quit IRC (Ping timeout: 245 seconds) 2011-11-09T16:10:00 *** dorisabayon has quit IRC (Ping timeout: 260 seconds) 2011-11-09T16:10:53 that was 2011-11-09T16:11:45 ? 2011-11-09T16:11:58 it seems to run now 2011-11-09T16:12:02 problem solved 2011-11-09T16:12:11 *** Murashk has joined #aichallenge 2011-11-09T16:12:14 i could imagine that i was something related to versions 2011-11-09T16:12:33 but dont know where (or when) the hell i have installed python 2.5 2011-11-09T16:12:50 i am checking the path anyway 2011-11-09T16:12:52 thanks again 2011-11-09T16:12:54 np 2011-11-09T16:13:45 hmm, the frontpage has a 404 error, but not the usually one 2011-11-09T16:16:14 avdg: yeah, i'm waiting for that to dissapear 2011-11-09T16:16:25 it should do it sometime when a game is finished 2011-11-09T16:16:26 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-09T16:18:28 contestbot: later tell janzert remember the forum/forum link problem? some search engines remembered it and they kept pinging that page. that caused memcached to remember the rankings page with those links and a bunch of people saw them 2011-11-09T16:18:28 amstan: Ready to serve. 2011-11-09T16:18:58 contestbot: later tell janzert fixed it by making sure rankings.php paginates only to /rankings.php and by doing a redirect to fix the search engines' cache 2011-11-09T16:18:58 amstan: Yep. 2011-11-09T16:19:16 *** Mephantt has quit IRC (Ping timeout: 265 seconds) 2011-11-09T16:19:18 :p I like the way contestbot is trying to be smart 2011-11-09T16:19:31 avdg: chat bots are fun 2011-11-09T16:19:39 how does the bot work? 2011-11-09T16:19:41 *** Fandekasp has joined #aichallenge 2011-11-09T16:20:04 .. guess, that's a supybot 2011-11-09T16:20:05 @morse magnets 2011-11-09T16:20:05 thestinger: -- .- --. -. . - ... 2011-11-09T16:20:17 heh 2011-11-09T16:20:21 what else can you do? 2011-11-09T16:20:25 @help 2011-11-09T16:20:25 conor_f: (help [] []) -- This command gives a useful description of what does. is only necessary if the command is in more than one plugin. 2011-11-09T16:20:40 conor_f: to go #hypertriangle and do @list and @more 2011-11-09T16:20:42 also 2011-11-09T16:20:44 @botdoc 2011-11-09T16:20:45 amstan: botdoc could be (#1) http://ubottu.com/stdin/supydocs/plugins/, or (#2) http://supybook.fealdia.org/devel/, or (#3) http://sourceforge.net/apps/mediawiki/gribble/index.php?title=Supybot_Resources. 2011-11-09T16:20:52 and: 2011-11-09T16:20:54 @rankings 2011-11-09T16:21:00 amstan: Top 10 players: xathis(89.8), pguillory(85.1), MomoBot(84.6), GarySWest(83.8), sir_macelon(83.8), ThisIsNotABug(83.3), GreenTea(83.1), Fluxid(81.5), RVeerdonk(81.2), lordap(81.2) 2011-11-09T16:21:34 cool :) 2011-11-09T16:24:11 *** dorisabayon has joined #aichallenge 2011-11-09T16:24:25 *** Antimony has joined #aichallenge 2011-11-09T16:24:31 thestinger: ur not stinger from utonet are u? 2011-11-09T16:25:12 *** Relax has quit IRC (Quit: Leaving) 2011-11-09T16:27:32 i found my fing error 2011-11-09T16:28:05 one of my longest debugging experience 2011-11-09T16:29:54 *** xar0l has joined #aichallenge 2011-11-09T16:30:20 yippikayey 2011-11-09T16:30:28 battling all over the place 2011-11-09T16:31:17 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T16:31:28 *** ProperChaos has joined #aichallenge 2011-11-09T16:33:42 *** goffrie has joined #aichallenge 2011-11-09T16:35:49 *** sigh has joined #aichallenge 2011-11-09T16:36:54 *** epicmonkey has quit IRC (Ping timeout: 240 seconds) 2011-11-09T16:38:39 *** Strider42 has joined #aichallenge 2011-11-09T16:38:42 *** Antimony has joined #aichallenge 2011-11-09T16:38:44 or assume each enemy stays in place or hwat? 2011-11-09T16:38:58 Antimony: why would it? 2011-11-09T16:39:08 When analyzing a fight, do you try to predict what moves the opponent will make 2011-11-09T16:39:22 i'm confused 2011-11-09T16:39:32 I don't know if my previous chat went through 2011-11-09T16:39:49 It said cannot send to channel 2011-11-09T16:39:50 no 2011-11-09T16:40:01 Ok I'll try again 2011-11-09T16:40:14 When analyzing a fight, do you try to predict what moves the opponent will make, or assume the enemies stay in place, or what? 2011-11-09T16:41:01 *** Savaron has quit IRC (Ping timeout: 265 seconds) 2011-11-09T16:41:04 who? 2011-11-09T16:41:09 anyone 2011-11-09T16:41:13 yes 2011-11-09T16:41:30 I'm trying to decide how to handle fighting, but it's hard because you don't know what the opponent will do 2011-11-09T16:41:40 Antimony: try minimax 2011-11-09T16:41:43 amstan: with excessie logging, it seems the engine doesnt save all of it to the file 2011-11-09T16:41:50 i have a 500k log 2011-11-09T16:41:57 minimax is only for games where you take turns 2011-11-09T16:41:59 but its nowhere near the whole of it 2011-11-09T16:42:03 it doesn't work with uncertainty 2011-11-09T16:42:11 or simulatenous movement 2011-11-09T16:42:13 Antimony: easily extensible to this situation 2011-11-09T16:42:14 Antimony: you take turns, just at the same time 2011-11-09T16:42:53 *** MLM-NL has quit IRC () 2011-11-09T16:42:57 Antimony: people have done it for tron which was the same, you can do it here 2011-11-09T16:43:09 so you pretend the opponent moves their ants one by one, each time trying to minimize their losses? 2011-11-09T16:43:09 1.2 mb now 2011-11-09T16:43:11 you just have to go small scale with it 2011-11-09T16:43:14 mcstar: huh? 2011-11-09T16:43:26 amstan: the engine doesnt log my stderr 2011-11-09T16:43:32 -E? 2011-11-09T16:43:33 it does, but only the last part of it 2011-11-09T16:43:44 much much of it is missing 2011-11-09T16:43:56 i probbaly loh 10mbs 2011-11-09T16:44:02 and only get 1 2011-11-09T16:44:05 idk then 2011-11-09T16:44:49 *** xar0l has quit IRC (Quit: Page closed) 2011-11-09T16:45:13 http://ants.fluxid.pl/replay.27669 2011-11-09T16:45:17 turn 140 2011-11-09T16:45:27 mcstar rethink what you said about flushing .. 2011-11-09T16:45:30 silly yellow ant, what are you doing in that square 2011-11-09T16:45:34 you're not supposed to be there 2011-11-09T16:45:38 you cannot get out of there 2011-11-09T16:45:41 g0llum: ? 2011-11-09T16:45:45 why exactly? 2011-11-09T16:45:50 flush! 2011-11-09T16:45:53 why ???? 2011-11-09T16:46:04 why is this relevant here at all? 2011-11-09T16:46:15 mcstar: did you? 2011-11-09T16:46:20 *** SitUAtE has quit IRC (Ping timeout: 265 seconds) 2011-11-09T16:46:26 of course 2011-11-09T16:46:32 i have many flushes 2011-11-09T16:46:36 but thats not the point 2011-11-09T16:47:02 _flag: can you close your starter bot repo? 2011-11-09T16:47:32 g0llum: answer pls 2011-11-09T16:48:01 because other thought, something might have gone lost there 2011-11-09T16:48:16 but how? 2011-11-09T16:48:28 whatever comes out of my stderr, the engine is supposed to save it 2011-11-09T16:48:36 flushing/not flushing aside 2011-11-09T16:48:48 ok.. this is not cool 2011-11-09T16:48:50 the END of my stderr is in the file 2011-11-09T16:48:51 the frontpage is still broken 2011-11-09T16:49:15 *** praveen has quit IRC (Ping timeout: 265 seconds) 2011-11-09T16:49:33 well, i have 10k lines between turns 2011-11-09T16:49:56 either python sucks, or theres some limit mcleo put in place 2011-11-09T16:49:57 it's bufferd, underneath, you don't know how that reacts to overflow 2011-11-09T16:50:05 what overflow? 2011-11-09T16:50:10 there is no overflow 2011-11-09T16:50:15 the lines are not long 2011-11-09T16:50:21 or i dont get you 2011-11-09T16:50:37 hey, just guessing 2011-11-09T16:50:39 anyway, i dont really care, im gonna log it myself 2011-11-09T16:51:15 g0llum: k, no problem, but i wanted to understand on what are you basing your opinion 2011-11-09T16:51:49 had similar exp with FILE* things 2011-11-09T16:52:27 just think, it's a FIFO 2011-11-09T16:52:54 *** xathis_ has quit IRC (Ping timeout: 240 seconds) 2011-11-09T16:53:02 <_flag> amstan: Is it possible to redirect people in some way? Or do I have to delete it? 2011-11-09T16:53:11 but still, why the beginning missing? 2011-11-09T16:53:14 _flag: nope, you have to delete it 2011-11-09T16:53:25 *** NoxiaZ^ has joined #aichallenge 2011-11-09T16:53:32 _flag: or you could upload a blank repo instead of it with a readme for the redirect 2011-11-09T16:53:39 _flag: but i don't think it's worth it 2011-11-09T16:54:13 *** goffrie_ has joined #aichallenge 2011-11-09T16:54:20 *** goffrie has quit IRC (Ping timeout: 260 seconds) 2011-11-09T16:54:25 *** xbelt has joined #aichallenge 2011-11-09T16:54:26 *** sigh has quit IRC (Remote host closed the connection) 2011-11-09T16:54:32 *** kaemo has joined #aichallenge 2011-11-09T16:55:01 g0llum: if i try simply 2> to a file, the same happens 2011-11-09T16:55:13 *** goffrie_ is now known as goffrie 2011-11-09T16:55:16 interesting 2011-11-09T16:55:26 it is still channeled throw the engine though 2011-11-09T16:55:44 k, im gonna just spit it to a file lets see 2011-11-09T16:55:47 *** underflow has quit IRC (Ping timeout: 276 seconds) 2011-11-09T16:56:32 <_flag> amstan: How come people are finding my repo instead of using the main one anyway? I'm hesitiating because I would kind of like to keep it up on my profile, but I can delete it if it's really necessary 2011-11-09T16:56:46 _flag: you linked it from the forums 2011-11-09T16:56:52 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-09T16:57:19 Hey Guys 2011-11-09T16:57:28 <_flag> amstan: Where? Maybe I can edit the post 2011-11-09T16:57:46 How do you track who of you ants is nearest the food when you collect food? 2011-11-09T16:57:50 http://aichallenge.org/forums/viewtopic.php?f=25&t=1782 2011-11-09T16:57:53 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T16:57:53 _flag: wasn't you, nvm 2011-11-09T16:58:16 *** conor_f has quit IRC (Quit: leaving) 2011-11-09T16:58:43 *** hacklash has joined #aichallenge 2011-11-09T16:58:54 *** zxczxc has quit IRC (Ping timeout: 265 seconds) 2011-11-09T17:00:04 *** GeorgeSebastian has quit IRC (Quit: Leaving) 2011-11-09T17:05:37 *** twymer has quit IRC (Ping timeout: 255 seconds) 2011-11-09T17:05:39 fuck me where i stand 2011-11-09T17:05:54 g0llum: shit im writing to a file now 2011-11-09T17:05:58 same thing 2011-11-09T17:06:32 and im flushing! 2011-11-09T17:07:50 *** Emrys_ has quit IRC (Quit: Page closed) 2011-11-09T17:08:30 *** mleise has quit IRC (Ping timeout: 240 seconds) 2011-11-09T17:08:37 do i really close/open this to work? 2011-11-09T17:08:46 really need to* 2011-11-09T17:08:53 for this* 2011-11-09T17:11:00 wait, if you don't close, you lost thte last buffer, at least 2011-11-09T17:11:00 if not all of it 2011-11-09T17:11:16 *** ajf is now known as ajf|offline 2011-11-09T17:12:00 i close 2011-11-09T17:12:09 and now i open/close every turn 2011-11-09T17:12:12 and append to it 2011-11-09T17:12:15 still doesnt work 2011-11-09T17:13:31 meh ;( 2011-11-09T17:14:09 no further idea atm. 2011-11-09T17:14:51 but reopning that thing/appending will take more time 2011-11-09T17:17:51 no matter what i do the first part is not in the file 2011-11-09T17:17:57 the same first part 2011-11-09T17:18:05 no matter how little comes afterwards 2011-11-09T17:20:28 *** bluegaspode has joined #aichallenge 2011-11-09T17:20:33 lets remove -O3 2011-11-09T17:21:15 nah 2011-11-09T17:22:09 *** xbelt has quit IRC (Ping timeout: 240 seconds) 2011-11-09T17:22:37 linux sucks 2011-11-09T17:22:41 c++ sucks 2011-11-09T17:22:43 i suck 2011-11-09T17:23:14 *** luka has joined #aichallenge 2011-11-09T17:23:40 *** luka is now known as Guest43861 2011-11-09T17:24:09 tomorrow's another day.. 2011-11-09T17:25:55 nono 2011-11-09T17:26:01 i think im just dumb 2011-11-09T17:26:10 and here is the proof 2011-11-09T17:26:10 just don't get lost biting into the logging thing 2011-11-09T17:26:13 *** lknix has quit IRC (Ping timeout: 240 seconds) 2011-11-09T17:26:23 meh, we probably should do more team work 2011-11-09T17:26:26 i think it is correct 2011-11-09T17:26:47 on closer inspection 2011-11-09T17:26:49 though that wouldn't be easy as well if you don't know your partners 2011-11-09T17:27:07 avdg: you dont know your partners? 2011-11-09T17:27:16 well, not in rl 2011-11-09T17:27:20 *** twymer has joined #aichallenge 2011-11-09T17:27:29 most I know in rl aren't interested in programming at all 2011-11-09T17:27:43 avdg: was a joke on sleeping with random people 2011-11-09T17:28:03 meh, I'm sucking as well 2011-11-09T17:29:30 *** Larose has quit IRC (Quit: Leaving.) 2011-11-09T17:29:42 g0llum: i was expecting something different, you see, i didnt log everything, and i was searching for a phrase 2011-11-09T17:30:00 when i didnt found it, i assumed its missing cause the start is missing 2011-11-09T17:30:10 but in fact i never log to this stream that phrase 2011-11-09T17:30:14 logged 2011-11-09T17:31:07 now i have all my 80k lines 2011-11-09T17:31:17 k, goto :sleep, that's what i'm doing ;) 2011-11-09T17:31:26 g0llum: gn 2011-11-09T17:31:34 meh, I don't even hit 1k 2011-11-09T17:31:46 avdg: those are all battle situations 2011-11-09T17:31:50 ok, maybe that was an understatement 2011-11-09T17:32:00 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-09T17:32:20 * avdg is confused 2011-11-09T17:34:05 omg 2011-11-09T17:34:13 i found the error in my original assumption 2011-11-09T17:34:28 turn 119 bot 3 ignored actions: 2011-11-09T17:34:33 *** underflow has joined #aichallenge 2011-11-09T17:34:34 i was searching for "turn" 2011-11-09T17:34:41 and i only saw turn 119 2011-11-09T17:34:55 and was wondering where are the other 118 turns 2011-11-09T17:35:33 *** Antimony has joined #aichallenge 2011-11-09T17:35:42 *** twymer has quit IRC (Ping timeout: 240 seconds) 2011-11-09T17:37:26 *** bluegaspode has quit IRC (Quit: Page closed) 2011-11-09T17:37:53 *** treeform has joined #aichallenge 2011-11-09T17:38:21 Is any one using genetic programming for their bots? 2011-11-09T17:39:04 *** LouisMartin has joined #aichallenge 2011-11-09T17:39:26 *** foRei has quit IRC (Quit: Bye) 2011-11-09T17:39:33 greetings gentlemen 2011-11-09T17:40:11 sup 2011-11-09T17:41:11 bugs & fun, that's what's up. you? 2011-11-09T17:41:36 I'm wondering about something related to the game engine 2011-11-09T17:42:12 Does it request every player at once or sequentially? 2011-11-09T17:42:32 at once, I guess... 2011-11-09T17:43:02 i don't know but if it did it at once would bots fight over CPU/ 2011-11-09T17:43:08 unless its 1 core per bot or some thing 2011-11-09T17:43:22 but what about multi core bots? 2011-11-09T17:43:30 probably a question for janzert or antimatroid 2011-11-09T17:43:33 *** Redgis has quit IRC (Quit: ... mains libres) 2011-11-09T17:43:54 *** bergmark has quit IRC (Read error: Operation timed out) 2011-11-09T17:44:05 eh voila. hence why the question is pertinent. 2011-11-09T17:44:36 You may want to make sure you sature the cpu even when you don't need it. 2011-11-09T17:44:45 haha to mess up the other bots? 2011-11-09T17:44:51 yep :) 2011-11-09T17:44:57 also, 2011-11-09T17:45:02 in theory you could run the CPU at 100% all the time even when its not your turn 2011-11-09T17:45:13 just respond quickly 2011-11-09T17:45:42 *** hkraal_ has joined #aichallenge 2011-11-09T17:45:51 start a thread that just does for(;;){} while you are not doing stuff 2011-11-09T17:45:56 if the engine process the players in serie, then you could have some processing between your turns to: 1. mess with others, 2. analyze your data further 2011-11-09T17:46:11 yeah i have not though about that 2011-11-09T17:46:16 i wander what the forums say 2011-11-09T17:46:16 *** Murashk has quit IRC (Quit: Page closed) 2011-11-09T17:46:30 well, the rules forbids the creation of threads 2011-11-09T17:46:51 oh where? 2011-11-09T17:47:28 I don't know exactly, but I'm 100% positive about it. Any care to confirm this to treeform? 2011-11-09T17:47:30 oh here Use of multiple processes or OS threads are prohibited." 2011-11-09T17:47:31 well, as long its not a physical threat 2011-11-09T17:47:32 *Anyone 2011-11-09T17:47:37 http://aichallenge.org/rules.php 2011-11-09T17:47:51 you can't create new threats anyway 2011-11-09T17:47:52 well i am using nodejs 2011-11-09T17:48:00 events are fine ;-) 2011-11-09T17:48:00 avdg: a physical threat? 2011-11-09T17:48:05 every thing is async so i can use 100% cpu 2011-11-09T17:48:11 and still do IO between them 2011-11-09T17:48:17 there are no multicore bots 2011-11-09T17:48:28 and no core contention, i believe 2011-11-09T17:48:30 Zannick: you are in charge right? 2011-11-09T17:48:42 i'm not in charge of the workers 2011-11-09T17:48:44 LouisMartin: as long its a "fake" threat, its fine 2011-11-09T17:49:01 but i know enough to answer your questions about multithreading 2011-11-09T17:49:42 what about languages like erlang? 2011-11-09T17:49:45 or go? 2011-11-09T17:49:54 with green threads and default multi core things? 2011-11-09T17:50:01 green threads are fine 2011-11-09T17:50:14 avdg: you do mean threaD right? cause you're having me confused with your threat 2011-11-09T17:50:25 but don't the language itself grabs all cores? 2011-11-09T17:50:31 LouisMartin: ah, srr 2011-11-09T17:50:35 i think how it works is that the running bot only sees one core 2011-11-09T17:50:39 updated my dictionary :-) 2011-11-09T17:50:52 Zannick: ok i guess that makes sence 2011-11-09T17:51:01 treeform: even if it does, we can tell the kernel that the program only gets one core 2011-11-09T17:51:35 avdg: haha dict xp +1 2011-11-09T17:52:03 Zannick: ok yeah that works 2011-11-09T17:52:37 Zannick: do you know if the game engine process the players in parallel or in serie? 2011-11-09T17:52:42 hmm there is nothing in the rules about making TCP connection to EC2 or some thing and using hundreds of computers? 2011-11-09T17:53:08 treeform: yes, no remote connection whatsoever 2011-11-09T17:53:09 LouisMartin: the workers have two cores, so it runs two players on separate cores in parallel 2011-11-09T17:53:18 it pairs players up randomly each turn 2011-11-09T17:53:36 all the code is in the aichallenge repo 2011-11-09T17:54:04 *** treeform has quit IRC (Remote host closed the connection) 2011-11-09T17:54:33 so in a game of 4 players, you would have 2 players doing nothing at once, or am I missing something? 2011-11-09T17:54:36 *** treeform has joined #aichallenge 2011-11-09T17:55:46 in a game of 4 players, each turn takes up to 2*turntime 2011-11-09T17:55:59 but yes, they'd be paused 2011-11-09T17:56:46 * avdg wonders if there was a game taking longer than 30 min 2011-11-09T17:57:10 uh wait 2011-11-09T17:57:20 wrong calculation 2011-11-09T17:57:33 ok. paused as in their thread froze or paused as in "waiting for their turn (update) in a cute loop" ? 2011-11-09T17:58:13 *Zannick 2011-11-09T17:58:52 froze 2011-11-09T17:59:05 if they're looping, they're paused somewhere in the loop 2011-11-09T17:59:24 realistically, they're blocked on turn input 2011-11-09T18:00:18 right, okay. makes sens. for a second, I thought it may be possible to process data between turns while waiting. 2011-11-09T18:00:35 I guess that makes me an optimist 2011-11-09T18:00:57 yeah, you probably cannot 2011-11-09T18:01:38 *** hacklash has quit IRC (Quit: hacklash) 2011-11-09T18:02:41 it simply is impossible if your thread is frozen by the kernel 2011-11-09T18:03:43 regarding special/subtle kind of threading.. would C# "background worker" be okay by the rules? 2011-11-09T18:08:24 I just realized that due to the cutoff rules, there are rare cases in which it is beneficial to intentionally timeout or suicide. 2011-11-09T18:08:27 *** Fandekasp has quit IRC (Read error: Operation timed out) 2011-11-09T18:08:50 please elaborate 2011-11-09T18:08:53 really? 2011-11-09T18:09:28 http://aichallenge.org/forums/viewtopic.php?f=21&t=1842#p11149 2011-11-09T18:09:37 btw Antimony, regarding special/subtle kind of threading.. would C# "background worker" be okay by the rules? 2011-11-09T18:09:47 no idea, sorry 2011-11-09T18:09:57 ok, who would? 2011-11-09T18:10:03 Zannick, what would happen if i in the start allocated like 4gb ram to use? or is that against rules? 2011-11-09T18:10:10 you only get 1.5gb 2011-11-09T18:10:18 your bot would crash 2011-11-09T18:10:20 :P 2011-11-09T18:11:12 *** dorisabayon has quit IRC (Ping timeout: 276 seconds) 2011-11-09T18:11:17 And if you code only can see one core, why cant you then use threads? - If you only are able to use one core, you are not able to steal CPU power from the other player 2011-11-09T18:12:29 You would only slow down you self then if you dont know what you are doing? 2011-11-09T18:12:35 or am i wrong? 2011-11-09T18:13:07 Noxiaz: Right, eh? maybe frozing all the threads from the bots written in many different languages is a challenge they needed to avoid 2011-11-09T18:13:45 Ahh ye ofc. that could maybe be it 2011-11-09T18:13:51 some are interpreted, other compiled, etc.. it's a big mess. 1 thread is probably challenging enough 2011-11-09T18:13:52 But still i hate it :D 2011-11-09T18:14:06 you are totally right about that one 2011-11-09T18:14:31 sadly 2011-11-09T18:14:45 I'm using some hard algorithms to reduce cpu 2011-11-09T18:15:28 Any idea who could answer this question: regarding special/subtle kind of threading.. would C# "background worker" be okay by the rules? :\ 2011-11-09T18:15:50 janzert, are you there? 2011-11-09T18:16:35 *** mtmcannon has joined #aichallenge 2011-11-09T18:16:54 amstan? 2011-11-09T18:16:58 yes? 2011-11-09T18:17:07 LouisMartin: are they green? 2011-11-09T18:17:36 how can a thread be green? 2011-11-09T18:17:38 I don't know what "green" means in this context 2011-11-09T18:18:12 low CO2 emission? ^ ^ 2011-11-09T18:18:33 *** delt0r_ has quit IRC (Ping timeout: 256 seconds) 2011-11-09T18:18:41 :D 2011-11-09T18:18:59 http://en.wikipedia.org/wiki/Green_threads 2011-11-09T18:19:16 maybe, if the thread dosnt increase the temp. on the CPU, so the fan dosnt need to spin that fast 2011-11-09T18:19:24 And in that way you will safe power 2011-11-09T18:19:24 :D 2011-11-09T18:19:25 hmmm. good question. C# on Mono.. 2011-11-09T18:20:02 lol 2011-11-09T18:20:06 *** cyphase has quit IRC (Ping timeout: 240 seconds) 2011-11-09T18:20:27 LouisMartin: i think you'll be prevented from running a real thread, so you can try it 2011-11-09T18:20:44 LouisMartin: the point of that rule is to not use more than one core, or to not execute more than one thread at the same time 2011-11-09T18:20:45 so when you findout, tell me please if background worker is green 2011-11-09T18:21:55 NoxiaZ^: green threads are threads that don't use OS mechanism to do threads. 2011-11-09T18:22:42 they are normally very cheap and languages that use them can create 1000's of them... 2011-11-09T18:23:34 amstan: okay, thanks. Can you confirm that bot that aren't playing are (kernel?) frozen and can't execute codes while other players are playing? 2011-11-09T18:23:45 okay NoxiaZ 2011-11-09T18:23:47 Erlang is a good example of *successful* MxN threading 2011-11-09T18:23:49 *** Jak_o_Shadows has joined #aichallenge 2011-11-09T18:23:55 Hmm oki treeform :) 2011-11-09T18:24:08 thanks LouisMartin :) - And if i foundout of anything ill let you know ;) 2011-11-09T18:24:35 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-09T18:25:34 *** Apophis has joined #aichallenge 2011-11-09T18:27:31 *** willem has quit IRC (Quit: Lost terminal) 2011-11-09T18:29:29 *** datachomper has left #aichallenge 2011-11-09T18:30:04 *** fexilal has quit IRC (Remote host closed the connection) 2011-11-09T18:31:12 *** delt0r_ has joined #aichallenge 2011-11-09T18:33:29 NoxiaZ^: C# doesn't seem to support any kind of green thread from what I read. The CLR may, but that probably need more hacking than it's worth 2011-11-09T18:34:17 *** cyphase has joined #aichallenge 2011-11-09T18:34:37 *** kaemo has quit IRC (Ping timeout: 240 seconds) 2011-11-09T18:36:22 *** ztfw has quit IRC (Remote host closed the connection) 2011-11-09T18:37:27 LouisMartin, i maybe have found something 2011-11-09T18:38:06 *** Antimony has quit IRC (Ping timeout: 240 seconds) 2011-11-09T18:40:18 contestbot: seen janzert 2011-11-09T18:40:18 amstan: janzert was last seen in #aichallenge 22 hours, 51 minutes, and 14 seconds ago: hehe 2011-11-09T18:40:30 contestbot: seen mcleopold 2011-11-09T18:40:30 amstan: mcleopold was last seen in #aichallenge 2 days, 5 hours, 55 minutes, and 10 seconds ago: @later tell amstan: you just deleted all the mapgen code and started over? :( I think I'll stick with the main branch 2011-11-09T18:40:41 *** nickjohnson has joined #aichallenge 2011-11-09T18:41:49 *** HaraKiri has quit IRC () 2011-11-09T18:41:57 LouisMartin, Fiber/Coroutines would maybe be able to help us with it. - http://fxcritic.blogspot.com/2008/05/lightweight-fibercoroutines.html 2011-11-09T18:43:56 *** underflow has quit IRC (Read error: Connection timed out) 2011-11-09T18:44:40 yea, but that looks expensive cpu-wise. 2011-11-09T18:44:42 *** underflow has joined #aichallenge 2011-11-09T18:45:20 if mono has it, Dispatcher could be useful. http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx 2011-11-09T18:45:52 *** mcstar has quit IRC (Quit: WeeChat 0.3.6) 2011-11-09T18:46:04 you push the stuff you need to run in the dispatcher (through delegates) and set their priority levels 2011-11-09T18:46:28 then you "run" the dispatcher and allow it to run what you gave it in order of priority 2011-11-09T18:46:50 you can freeze the dispatcher and you can cancel everything all together 2011-11-09T18:47:26 ahh oki, sounds pretty smart 2011-11-09T18:47:38 *** ProperChaos has quit IRC (Quit: Page closed) 2011-11-09T18:47:48 you could have it evaluate the remaining time between each call and shutdown or freeze when there's not enough remaining time 2011-11-09T18:48:31 ahh ye that would be pretty smart, so you can start where you stopped 2011-11-09T18:48:43 yep 2011-11-09T18:49:05 nothing that you couldn't do without the Dispatcher, but could simplify things 2011-11-09T18:49:43 and make some good-but-complex approaches more viable 2011-11-09T18:50:06 and mysql is doing a ton of things now 2011-11-09T18:50:32 ye true 2011-11-09T18:51:05 *** nflath has joined #aichallenge 2011-11-09T18:51:42 there's already a dispatcher somewhere taking care of "events" .. maybe we can just hook up to this one as this one is sure to be in the mono implementation. the Dispatcher that I've looked up (the url) is marked v4 of the .net framework 2011-11-09T18:52:14 Ahh oki, then for sure it isnt in mono 2011-11-09T18:52:52 seems like there's a version in v3 and v3.5 as well, so mono probably support it. 2011-11-09T18:53:11 ah come on! still not done 2011-11-09T18:54:07 What would happen if we use this method from ThreadPool 2011-11-09T18:54:07 http://msdn.microsoft.com/en-us/library/system.threading.threadpool.unsafequeuenativeoverlapped.aspx 2011-11-09T18:54:41 this green thread stuff is way over my head :S 2011-11-09T18:57:28 NoxiaZ^: think of green threads like a while loop executing all your threads in sequence 2011-11-09T18:57:45 NoxiaZ^: and a bunch of returns everywhere inside your threads that keep giving control to the other thread 2011-11-09T18:57:55 *** gnopik has joined #aichallenge 2011-11-09T18:58:08 NoxiaZ^: do you know python, yield from it? 2011-11-09T18:58:20 the threadpool would be interesting if it would support priority, but it doesn't. it just run the queue in order you queued the methods 2011-11-09T18:58:23 *** gnopik has quit IRC (Client Quit) 2011-11-09T18:58:40 amstan, have no experince with python :/ 2011-11-09T18:58:44 ok 2011-11-09T18:59:26 NoxiaZ^: Do you understand 'normal' threading? 2011-11-09T18:59:40 Extrarius, yes i do :) 2011-11-09T19:00:43 'green threads' are like normal threads except that instead of being pre-empted by the OS after you run a while, you run until you tell the 'OS' to run a different thread 2011-11-09T19:00:58 there's no thread-confined concurrent execution in C#. Not build out-of-the-box anyway. the Dispatcher is neat if you want prioritize and run as much stuff in a certain timespan, but that's about it. 2011-11-09T19:01:39 going for lunch. later 2011-11-09T19:02:01 oki LouisMartin :) And thanks 2011-11-09T19:02:10 Extrarius, ahh oki, make alittle bit more sens 2011-11-09T19:02:10 *** Harpyon has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-11-09T19:02:36 Extrarius, and thanks for trying to explain =) 2011-11-09T19:03:17 *** Antimony has joined #aichallenge 2011-11-09T19:04:58 *** dom7b5 has joined #aichallenge 2011-11-09T19:05:51 *** twymer has joined #aichallenge 2011-11-09T19:09:49 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-09T19:09:53 *** mtmcannon has quit IRC (Ping timeout: 265 seconds) 2011-11-09T19:11:21 *** bergmark has joined #aichallenge 2011-11-09T19:13:08 contestbot: later tell McLeopold I had to restart memcached to clear all the forum/forum stuff, the frontpage latest game doesn't want to get updated anymore. and game_list_json crashes the server 2011-11-09T19:13:08 amstan: As you wish. 2011-11-09T19:20:05 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-09T19:23:57 *** replore_ has joined #aichallenge 2011-11-09T19:24:17 *** nflath has quit IRC (Quit: Page closed) 2011-11-09T19:26:59 *** bluegaspode has joined #aichallenge 2011-11-09T19:28:45 *** Antimony has joined #aichallenge 2011-11-09T19:28:52 *** bluegaspode has quit IRC (Client Quit) 2011-11-09T19:33:13 The current game rate is about 0.2 games per minute. 2011-11-09T19:33:14 ??? 2011-11-09T19:34:03 workers temporarily stopped 2011-11-09T19:34:28 probably went above a price threshold 2011-11-09T19:35:55 *** twymer has quit IRC (Ping timeout: 260 seconds) 2011-11-09T19:35:57 nah, workers saw my bot and freaked out =) 2011-11-09T19:36:47 TheLinker: that was my bad, they should have got back up 2011-11-09T19:36:58 or not.. 2011-11-09T19:37:00 wtf? 2011-11-09T19:40:25 *** tobym has joined #aichallenge 2011-11-09T19:40:29 or not.. 2011-11-09T19:40:52 guess not 2011-11-09T19:42:28 now! 2011-11-09T19:42:34 there should be 6 workers poping up 2011-11-09T19:45:00 neat trick 2011-11-09T19:45:26 amstan: do you guys need an extra server free of charge outside of EC? 2011-11-09T19:45:45 hkraal_: it needs to have the exact specs as the EC2 2011-11-09T19:45:55 hkraal_: otherwise it's not fair to the bots that run on it 2011-11-09T19:46:00 amstan: what are those? 2011-11-09T19:46:06 (or conversely to the bots that run on ec2) 2011-11-09T19:46:10 Ot 2011-11-09T19:46:35 It's a VMware machine, quad core 8 GB ram on which I can limit resources quite tight 2011-11-09T19:46:44 hkraal_: needs to have 12GB 2011-11-09T19:46:45 Vmware ESXi to be exact 2011-11-09T19:46:56 or more.. 2011-11-09T19:47:07 it's 8 bots running at the same time, 1.5GB each 2011-11-09T19:47:10 more probably, with 4 cores 2011-11-09T19:47:24 or, hm. 2011-11-09T19:47:29 no, i'm being silly 2011-11-09T19:47:30 *** grwip has quit IRC (Quit: Leaving) 2011-11-09T19:47:33 Zannick: 2 cores is good, we run pairs serially 2011-11-09T19:48:11 amstan: right, but with 4 cores either we run quartets or do two games at once 2011-11-09T19:48:24 I will see if I can get my hand on an extra 8 gigs... have only 8 on board atm :) 2011-11-09T19:48:28 can't run 2 games at once, you'll need 24GB then 2011-11-09T19:48:38 yeah 2011-11-09T19:48:41 unless you want to swap between turns 2011-11-09T19:48:48 haha no. 2011-11-09T19:49:25 *** ChrisH_ has joined #aichallenge 2011-11-09T19:50:07 to bad we have no place in our DC yet... I've 3 servers with dual Xeon hexa cores at 3 Ghz with 144 GB ram each to play with for 3 months 2011-11-09T19:50:19 should be able to run a few games :P 2011-11-09T19:50:56 What OS do you guys run? 2011-11-09T19:50:57 hkraal_: the only type of donations we could accept given the circumstances is development and ec2 credits 2011-11-09T19:51:01 ubuntu natty 2011-11-09T19:51:10 amd64 required too 2011-11-09T19:51:12 i have access to some machines but i really don't have the time to look into setting anything up on them 2011-11-09T19:51:37 hkraal_: what you could do, though, is run a tcp server for people to play on unofficially 2011-11-09T19:51:39 hkraal_: unless you could supply all our cpu needs 2011-11-09T19:51:55 Zannick: you don't need supercomps for that 2011-11-09T19:51:59 right 2011-11-09T19:52:09 but he could do that 2011-11-09T19:52:13 hehe I wish I could.... 2011-11-09T19:52:22 he could mine bitcoin and give the money to us 2011-11-09T19:52:26 hahaha 2011-11-09T19:53:56 *** Antimony_ has joined #aichallenge 2011-11-09T19:54:42 amstan: the servers are needed untill the end of january? And if my employer can mean something to you guys a sponsorship mentioning would be possible? 2011-11-09T19:55:05 end of dec 2011-11-09T19:55:43 *** Antimony has quit IRC (Ping timeout: 248 seconds) 2011-11-09T19:55:50 *** Antimony_ is now known as Antimony 2011-11-09T19:56:01 and the latter would be an option? 2011-11-09T19:56:04 hkraal_: it depends on the power though, i think janzert is conserving the money to use a ton in the finals 2011-11-09T19:56:13 hkraal_: of course 2011-11-09T19:56:25 it could say sponsored by google and $Company 2011-11-09T19:57:13 Well we will place an order of 100k euro tomorrow.... and don't need the servers straight away so there could be a nice possibility there :) 2011-11-09T19:57:36 oh dear 2011-11-09T19:57:50 how many cores are you talking about? 2011-11-09T19:57:52 and what speed? 2011-11-09T19:58:06 *** Antimony_ has joined #aichallenge 2011-11-09T19:58:19 3 nodes, each having two Xeon's, 3 Ghz with 6 cores 2011-11-09T19:58:21 just 100k? not much 2011-11-09T19:58:35 36 cores, 430 GB ram 2011-11-09T19:58:45 p_l: We aint that big ;) 2011-11-09T19:58:57 hkraal_: each worker right now is 2xIntel(R) Xeon(R) CPU X5550 @ 2.67GHz 2011-11-09T19:59:10 we have the 5675 series 2011-11-09T19:59:19 or will get.... :) 2011-11-09T19:59:23 6 cores is rather... weird 2011-11-09T19:59:33 6 is legit 2011-11-09T19:59:39 on 8 player games it'll be the same as 4 cores 2011-11-09T19:59:44 hexa core :) 2011-11-09T19:59:53 it's weird for our use case, though 2011-11-09T20:00:06 it'll always waste cores except where we have 6 players 2011-11-09T20:00:20 well.. nvm, ours wastes stuff too 2011-11-09T20:00:22 ok 2011-11-09T20:00:28 hehe 2011-11-09T20:00:36 if it's an odd number of players 2011-11-09T20:00:40 *** Antimony has quit IRC (Ping timeout: 255 seconds) 2011-11-09T20:00:54 wait.. so 12 cores each worker? 2011-11-09T20:01:06 we could run 6 games at the same time 2011-11-09T20:01:09 *** tobym has quit IRC (Remote host closed the connection) 2011-11-09T20:01:15 12 cores per physical server 2011-11-09T20:01:24 and we have 3 of them 2011-11-09T20:01:35 12GB per bot, not bad, lol 2011-11-09T20:01:37 or will get 3 of them... orde should be signed tomorrow 2011-11-09T20:02:00 hmm 2011-11-09T20:02:12 let's assume an average of 4 player games 2011-11-09T20:02:20 2 cores/game 2011-11-09T20:02:31 1000 seconds each game max 2011-11-09T20:03:07 ok, so currently it's as if we would use one of your nodes 2011-11-09T20:03:25 sounds good 2011-11-09T20:03:54 except the bots will have more cycles till they time out 2011-11-09T20:04:11 *** theskumar has joined #aichallenge 2011-11-09T20:04:16 *** Antimony_ has quit IRC (Ping timeout: 255 seconds) 2011-11-09T20:04:35 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-11-09T20:08:52 amstan: I will see if there is a possibility and let you know tomorrow (02:08 here now) :) 2011-11-09T20:08:59 hkraal_: cool 2011-11-09T20:13:21 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-09T20:15:24 *** Jak_o_Shadows1 has quit IRC (Remote host closed the connection) 2011-11-09T20:16:25 *** Jak_o_Shadows has quit IRC (Ping timeout: 255 seconds) 2011-11-09T20:18:41 *** TheLinker has quit IRC (Quit: Bye) 2011-11-09T20:19:40 *** NoxiaZ^ has quit IRC (Ping timeout: 260 seconds) 2011-11-09T20:21:34 *** TheLinker has joined #aichallenge 2011-11-09T20:24:05 *** kaemo has joined #aichallenge 2011-11-09T20:34:48 *** underflow has quit IRC (Ping timeout: 258 seconds) 2011-11-09T20:34:49 amstan: one question; what the used bandwidth approx? 2011-11-09T20:34:53 *** Rinum has joined #aichallenge 2011-11-09T20:34:59 hkraal_: pretty low 2011-11-09T20:35:11 not over 10 Mbit ? 2011-11-09T20:35:16 I'm beginning to think I don't need my bot to have ants guarding my hills 2011-11-09T20:35:21 hkraal_: /s? no 2011-11-09T20:35:24 top bots don't seem to be doing this 2011-11-09T20:35:28 alright :) 2011-11-09T20:36:13 Rinum: Keep our ants in a cirle around your hill... let no one get behind your lines and you should be ok ? ;) 2011-11-09T20:36:14 Rinum: if you have a constant output of ants you can just use those 2011-11-09T20:36:42 hkraal_: seems like a waste 2011-11-09T20:36:58 and then I mean you keep a barrier which will move away from your hill 2011-11-09T20:37:36 *** Guest43861 has quit IRC (Quit: WeeChat 0.3.6) 2011-11-09T20:37:53 could be hard to program but hey... I have issues creating pathfinding basics ;) 2011-11-09T20:38:48 well, from the looks of it... the current top bots do what amstan said... they have a constant output of ants which basically acts as defense 2011-11-09T20:38:54 meh, I like time outs: http://aichallenge.org/visualizer.php?game=79366 2011-11-09T20:38:58 *** Antimony has joined #aichallenge 2011-11-09T20:40:32 *** userjjb_ has joined #aichallenge 2011-11-09T20:41:51 What tuype of algorithms do people use for pathfinding out of curousity. It seems like a wide range when applied to general programming, but in the context of games it seems like everyone uses A*, any good reason why? 2011-11-09T20:42:56 userjjb_: A* is awesome 2011-11-09T20:43:09 well, A* is good in a certain field, which is that its relative fast in pathfinding for 2 giving positions 2011-11-09T20:43:17 A* is awesome, but I'm not using it 2011-11-09T20:43:43 *** JorgeB has quit IRC (Quit: Computer has gone to sleep.) 2011-11-09T20:45:14 userjjb_: It's easy to implement and tweakable for different weighting systems 2011-11-09T20:45:22 For an alternate option, check out Collaborative Diffusion 2011-11-09T20:45:24 * hkraal_ is off, cya all 2011-11-09T20:45:31 *** hkraal_ has quit IRC (Quit: Page closed) 2011-11-09T20:47:02 At first I thought I might slowly build up a database of optimal paths from each square to each other square, but in a 200x200 map this would require around 3.2 Gb of memory. What do people do in this respect? 2011-11-09T20:47:08 Also potentially of interest: http://www.aaai.org/Papers/AAAI/2002/AAAI02-072.pdf 2011-11-09T20:47:36 userjjb: I'm abstracting the map first 2011-11-09T20:47:41 userjjb_: don't cache ALL paths 2011-11-09T20:47:45 userjjb_: You don't need to pathfind between every square and every other, though - your ants all have the same general goals, right? Collaborative Diffusion lets you use simple hill-climbing 2011-11-09T20:47:52 less data -> faster calculations 2011-11-09T20:47:58 userjjb_: take advantage of symmetry 2011-11-09T20:48:06 Right I realize that it is a naive solution 2011-11-09T20:48:15 there's no need to store paths 2011-11-09T20:48:26 I do A* from food to ants every turn and it doesn't take much time 2011-11-09T20:48:39 The only thing I store is distance from the hills 2011-11-09T20:49:13 Antimony: really? isn't distance easy to calculate though? 2011-11-09T20:49:24 by easy I mean quick 2011-11-09T20:49:44 For instance, you don't really need to be able to pathfind from any ant to any food, do you? You need to be able to pathfind from any ant to the _closest_ food 2011-11-09T20:49:59 *** cbad has quit IRC (Read error: Connection reset by peer) 2011-11-09T20:52:13 does anyone have a good symmetry detection so far? 2011-11-09T20:52:39 I was thinking of either breaking pathfinding into local and global tiers by breaking the map into say 5x5 regions and saving the pathfinding between each of these regions and only redoing the pathfinding locally inside of the 5x5 regions which would be quite quick; or trying to identify key intermediate pathfinding locations, saving pathfinding between key locations and then using these as intermediate points between distant s 2011-11-09T20:53:18 I realize that I don't necessarily NEED all that available info, but it provides a very powerful tool 2011-11-09T20:53:21 oh yes.. can i break it by changing the mapgen? 2011-11-09T20:53:29 amstan: I have something that works pretty well. 2011-11-09T20:53:32 expecially if I can distribute it's calculation as LOS is revealled 2011-11-09T20:53:42 bugnuts: cool, do you have a demo? 2011-11-09T20:54:22 nickjohnson: thanks, I'll be sure to check out the paper and Collaborative Diffusion 2011-11-09T20:54:25 I should in the next few days. I broke a bunch of other stuff in the bot putting in combat. 2011-11-09T20:55:07 I did some cool stuff on analysing the maps globally as well. 2011-11-09T20:55:31 (any ideas are welcome, I'm out of ideas to improve my bot :P) 2011-11-09T20:55:37 *** cbad has joined #aichallenge 2011-11-09T20:55:38 *** cbad has joined #aichallenge 2011-11-09T20:55:48 which I wish I could show people now since it was a lot of fun 2011-11-09T20:56:02 bugnuts: you can show me, lol 2011-11-09T20:56:04 userjjb_: What happens when a 5x5 region is bisected by a wall? 2011-11-09T20:56:10 you can show me too :P 2011-11-09T20:56:12 bugnuts: can you tell us? =P 2011-11-09T20:56:17 *** Antimony has quit IRC (Ping timeout: 276 seconds) 2011-11-09T20:57:11 no it's Sekret :) 2011-11-09T20:57:22 *** datachomper has joined #aichallenge 2011-11-09T20:58:01 nickjohnson: I haven't delved that deep into the implementation specifics. Impassable locations inside of a region would be handled by local pathfinding, the trick is choosing where to choose the node(s) inside the region to pathfind to other region(s0 nodes I think 2011-11-09T20:58:12 I just have no idea where ot go next 2011-11-09T20:58:21 roflmao: where are you now? 2011-11-09T20:58:36 I ahve implemented gathering, exploration, combat, and combat evading 2011-11-09T20:58:43 It's always good to forecast where attacks on your hill are coming from 2011-11-09T20:58:49 roflmao: so you have symmetric detection too? 2011-11-09T20:58:59 what do you mean by symmetric detection 2011-11-09T20:58:59 *** b0rder_ has quit IRC (Read error: Connection reset by peer) 2011-11-09T20:59:15 can you take a look at a small area and predict the rest of the map? 2011-11-09T20:59:29 no :P 2011-11-09T20:59:34 do that then 2011-11-09T20:59:40 but .. that can be done? 2011-11-09T20:59:45 I'd think the map would be very predictable 2011-11-09T20:59:49 it isn't that symmetric 2011-11-09T20:59:49 roflmao: yes, that's what bugnuts did 2011-11-09T20:59:50 roflmao: what's your username? 2011-11-09T20:59:55 roflmao 2011-11-09T21:00:22 on tcp I've been using a few 2011-11-09T21:00:28 for comparing bot changes 2011-11-09T21:00:29 *** b0rder_ has joined #aichallenge 2011-11-09T21:00:31 can't get past skill 39 2011-11-09T21:01:07 roflmao: look into this: https://github.com/aichallenge/aichallenge/tree/amstan_mapgen/ants/mapgen 2011-11-09T21:01:21 roflmao: execute symmetricmap.py to show you all kinds of symmetries 2011-11-09T21:01:26 feel free to edit the demo code 2011-11-09T21:01:44 keep in mind that the other mapgen also translates the map randomly 2011-11-09T21:01:48 holy shit that looks complicated :D 2011-11-09T21:01:56 so you mean .. this grabs the code 2011-11-09T21:01:57 that was me trying to make it look simple 2011-11-09T21:02:03 looks at what I can see 2011-11-09T21:02:06 no.. that's a mapgen 2011-11-09T21:02:08 and then determines what I can't se 2011-11-09T21:02:09 o 2011-11-09T21:02:42 very nice man, I'll definitely be using 2011-11-09T21:02:54 however, are the official maps symmetric? or just some of them? 2011-11-09T21:03:09 roflmao: they're supposed to be symmetric, to be fair 2011-11-09T21:03:21 so it is my job to analyze the map 2011-11-09T21:03:29 and basically construct a prediction 2011-11-09T21:03:30 yes, and figure out what patterns repeat 2011-11-09T21:03:30 based on what I know 2011-11-09T21:03:38 *** Antimony has joined #aichallenge 2011-11-09T21:03:42 *** theskumar has quit IRC (Ping timeout: 240 seconds) 2011-11-09T21:03:43 sounds extremely hard 2011-11-09T21:03:45 but the type of hard I like 2011-11-09T21:03:58 * nickjohnson thinks the Python starter kit needs some serious improvement 2011-11-09T21:03:59 roflmao: you might even be able to use the food spawns for predicting 2011-11-09T21:04:03 so then I can predict where enemy ant hills are 2011-11-09T21:04:08 and what the terrain looks like 2011-11-09T21:04:13 idk if multiple foods can spawn at the same time, but if they do, it's super easy after that 2011-11-09T21:04:13 and all sorts of fun little things 2011-11-09T21:04:29 ah so even the food spawning is symmetric 2011-11-09T21:04:30 how many possible paths are there for, say, a 100x100 map.... hmmm 2011-11-09T21:04:37 roflmao: yes, you need to get a function that gives you all the other symmetric points given one of them 2011-11-09T21:04:49 roflmao: ala my symmetry vector functions 2011-11-09T21:05:01 and once you have that to get the other hills is trivial 2011-11-09T21:05:02 ah I see where you're going 2011-11-09T21:05:13 so I can look at how you do it for mapgen 2011-11-09T21:05:15 each loc going to every other loc... so loc 1 has 100x100 paths.... with 100x100 locs.... 100^4 paths? 2011-11-09T21:05:15 you just plug in the hill that you have and you'll get all opponent hills 2011-11-09T21:05:20 right 2011-11-09T21:05:23 yes 2011-11-09T21:05:23 because all 4 quadrants 2011-11-09T21:05:26 are a mirror reflection 2011-11-09T21:05:40 roflmao: make it work for maps that don't translate yet 2011-11-09T21:05:40 … you are brilliant my friend 2011-11-09T21:05:48 what do you mean by "don't translate" 2011-11-09T21:05:49 then add the random translation 2011-11-09T21:06:02 *** underflow has joined #aichallenge 2011-11-09T21:06:06 nickjohnson: Thinking about it a ilttle more, I think an adaptive grid that oicks a point and expands a square outward until it hits a wall/other region and then moving it so it can continue to expand until it's constrained on all four sides would be a good way to fill the map since walls tend to be densely packed would be a perfect implementation since within any region there would be no obstacles 2011-11-09T21:06:21 so .. some maps ARE not identically symmetrical then? 2011-11-09T21:06:23 Rinum: Yes, but you don't really need shortest-path routes from every square to every other. 2011-11-09T21:06:32 roflmao: run my mapgen 2011-11-09T21:06:43 *** freshAnt has joined #aichallenge 2011-11-09T21:06:43 userjjb_: I'm not quite sure what you're saying. 2011-11-09T21:06:43 roflmao: then do this manually: take the first column and append it at the end 2011-11-09T21:07:00 nickjohnson: right, but I'm thinking about a clever way of storing every path :) 2011-11-09T21:07:00 roflmao: it's essentially the same map, but the symmetry vector is not valid anymore without modification 2011-11-09T21:07:12 ah 2011-11-09T21:07:15 because it is offset 2011-11-09T21:07:16 I saw a great article a while ago on game pathfinding that showed how to avoid the need to expand the A* search for large areas of empty space, but I can't find it now 2011-11-09T21:07:23 nickjohnson: imagine blowing up rectangular balloons inside of a maze 2011-11-09T21:07:27 so the map can be symmetrical in its proportions 2011-11-09T21:07:31 Rinum: The shortest representation is to store (current square, destination square, next direction) tuples 2011-11-09T21:07:31 but the symmetry might not "be complete" 2011-11-09T21:07:50 Rinum: You only ever need to store the next step, not the whole path 2011-11-09T21:07:55 userjjb_: Yes, I got that bit. Why is that useful? 2011-11-09T21:07:58 nickjohnson: until you can't fit in any more balloons, inside of anyone balloon we only have "air" 2011-11-09T21:07:59 nickjohnson: right 2011-11-09T21:08:00 because if everything were perfectly PERFECTLY symmetrical 2011-11-09T21:08:04 it would be quite quite easy 2011-11-09T21:08:35 Rinum: But I'm pointing out that you don't need all-points pathfinding - your ants only need to find the closest food, for instance, and you can do that with a heatmap and hill-clibmign 2011-11-09T21:08:37 er, climbing 2011-11-09T21:08:41 roflmao: rotation might also happen 2011-11-09T21:08:45 roflmao: i'm planning for that at least 2011-11-09T21:08:49 nickjohnson: You only need to worry about pathfinding between regions, pathfinding inside of a region simply involves going directly from start to finish 2011-11-09T21:08:55 *** NoxiaZ^ has joined #aichallenge 2011-11-09T21:09:10 userjjb_: Oh, right, I see what you mean 2011-11-09T21:09:16 roflmao: i could also be planning for more hacks for the mapgen, so implement a such things even if the mapgen doesn't have them 2011-11-09T21:09:25 roflmao: you can suggest to add them after you implement 2011-11-09T21:09:27 What if the shared edge between two regions is in the middle of an edge? 2011-11-09T21:09:45 *** cyphase has quit IRC (Read error: Connection reset by peer) 2011-11-09T21:10:02 amstan: sounds good 2011-11-09T21:10:04 amstan: thanks man, much appreciated. one thing that does frustrate me however is that I've heard a lot of good bot owners say their bot just does what my bot does, without fancy symmetrical analysis or anything, they just do it 13 times as well 2011-11-09T21:10:21 *** treeform_ has joined #aichallenge 2011-11-09T21:10:36 *** pezzotto has joined #aichallenge 2011-11-09T21:10:42 you mean like the shared edges between three regions such that they make a "T"? 2011-11-09T21:11:08 Hi guys, how can I talk to an admin? 2011-11-09T21:11:18 userjjb_: yup 2011-11-09T21:11:34 pezzotto: hey, i'm an admin 2011-11-09T21:11:51 You'll also have scores of tiny little 1px x 1px regions, that will waste a lot of resources for pathfindign 2011-11-09T21:11:53 er, pathfinding 2011-11-09T21:12:28 Hi @amstan, can we talk in private so we don't bother other people? 2011-11-09T21:12:40 sure 2011-11-09T21:13:02 great! how? 2011-11-09T21:13:24 Aha! Found it! 2011-11-09T21:13:25 *** NoxiaZ^ has quit IRC (Ping timeout: 252 seconds) 2011-11-09T21:13:37 You folks might find this interesting - it's called Jump Point Search: http://harablog.wordpress.com/2011/09/07/jump-point-search/ 2011-11-09T21:13:41 I think it would be prudent to disallow generation of 1x1 regions of rhte sake of space, but most of these would be adjacent to a region and thus be trivial to path to 2011-11-09T21:13:53 "It can consistently speed up A* search by over 10 times; making it not only competitive with, but often better than, approximate techniques such as HPA" 2011-11-09T21:14:07 *** treeform has quit IRC (Ping timeout: 248 seconds) 2011-11-09T21:15:20 as for neighbor regions this should also be easy becasue if two regions touch we can infer that there are no obstacles between them 2011-11-09T21:15:21 nickjohnson: nice find! 2011-11-09T21:15:32 *** caution has quit IRC (Read error: Connection reset by peer) 2011-11-09T21:15:48 I came across it in my RSS reader a while back. I'm using CD, so I don't need it, but have fun. ;) 2011-11-09T21:16:15 *** ccc has joined #aichallenge 2011-11-09T21:16:22 nickjohnson: cd? 2011-11-09T21:17:03 Collaborative Diffusion 2011-11-09T21:18:05 Oh, haha 2011-11-09T21:18:19 I thought I implemented CD, but then I read that thread on the forums and I think maybe I didn't 2011-11-09T21:18:30 How did you do it? 2011-11-09T21:19:20 Mark all my targets as 1, then increase by 1 for every space around each target bfs-like 2011-11-09T21:19:31 i think there are different ways to implement and model CD 2011-11-09T21:19:36 Then have the ants just go to the lowest neighbor 2011-11-09T21:19:39 ah 2011-11-09T21:19:44 mine is more like multiple BFSes with 1 start goal 2011-11-09T21:19:46 Yeah, that's different 2011-11-09T21:19:46 then i add them all together 2011-11-09T21:19:48 to get my diffusion map 2011-11-09T21:20:07 How do you determine the value of a square that isn't next to a source? 2011-11-09T21:20:11 Or sink,really 2011-11-09T21:20:17 diffusion.... 2011-11-09T21:20:29 sort of like a BFS search, but instead of just incrementing - you do a diffusion of the score 2011-11-09T21:20:49 i have mine set up so that different goals diffuse at different weights and rates 2011-11-09T21:21:09 e.g. my explroe goals hardly drop off in value going from square to square 2011-11-09T21:21:11 So you do iterate over the whole map diffusing values from the previous step 2011-11-09T21:21:13 nickjohnson: Two ways, first is a bfs for each sink if I have under x number of sinks, otherwise I'll iterate over the map a few times linerally because it's faster 2011-11-09T21:21:18 Rather than trying to do some sort of source-specific diffusion? 2011-11-09T21:21:19 i don't iterate over the whole map 2011-11-09T21:21:30 i start at a point, and "grow" and diffuse into the grown tiles 2011-11-09T21:21:44 i also have some early exit conditions - like if the diffusion value gets below X, then just stop 2011-11-09T21:21:48 But how do you handle multiple paths to the same destination tile? 2011-11-09T21:22:02 and i actually have negative and positive goals 2011-11-09T21:22:08 i use doubles, with the map init'd to 0s 2011-11-09T21:22:38 negative weights to repel, positive to attract 2011-11-09T21:22:46 The one thing that bothers me about 'proper' CD is that the stable state of it is with the map saturated at the temperature of the hottest source 2011-11-09T21:22:58 It seems like a good algorithm should stabilize to a nice hill-climb instead 2011-11-09T21:23:14 hrm... my implemtation is the hill-climb 2011-11-09T21:23:31 dunno how u get a "stable state" of all hot 2011-11-09T21:23:41 i re-calculate the diffusion map every turn 2011-11-09T21:24:08 i think i'm not doing CD... but what i imagine it to be 2011-11-09T21:24:18 it seems like others are using some sort of iterative algorithm 2011-11-09T21:24:19 Collaborative Diffusion uses a persistent map, that gets updated with the diffusion equation each step 2011-11-09T21:24:29 define step 2011-11-09T21:24:38 when i say iterative, i mean over multiple turns 2011-11-09T21:24:40 *** ccc has quit IRC (Quit: Computer has gone to sleep.) 2011-11-09T21:25:30 magiik: Each game turn has 'n' diffusion steps, where n is a parameter you set 2011-11-09T21:25:37 But the diffusion map persists between turns 2011-11-09T21:25:48 *** cyphase has joined #aichallenge 2011-11-09T21:26:00 But regardless, my point is that if you run the discrete diffusion equation over the whole map repeatedly, the natural end state is the whole map being roughly even at the hottest temperature 2011-11-09T21:26:04 my map doesn't persist 2011-11-09T21:26:11 Seems like it would make more sense if it stabilized to a distinct peak around each source 2011-11-09T21:26:19 Why not? Seems like you're throwing away useful data there. 2011-11-09T21:26:19 you never diffuse into a tile that you've already diffused into 2011-11-09T21:26:39 because i couldn't be arsed to implement it in a way to update the map 2011-11-09T21:26:46 and i can do thousands of these calcs in C++ without a problem 2011-11-09T21:27:07 Hm, one way to make it stabilize more sensibly would be to make each tile 'lose' some heat to the environment 2011-11-09T21:27:09 i guess my CD is a bit different 2011-11-09T21:27:14 Instead of making it totally conserved 2011-11-09T21:27:23 Yes, you're doing something almost-but-not-quite-like CD 2011-11-09T21:27:36 i'm doing a map of "instant" diffusion 2011-11-09T21:27:40 not diffusion over time 2011-11-09T21:27:49 Yea, same here I guess 2011-11-09T21:27:58 http://pastebin.com/7HYfp30x 2011-11-09T21:28:03 my maps turn out like that 2011-11-09T21:28:08 too bad pastebin is wordwrapping it 2011-11-09T21:28:30 so i get a "topographic" map pretty much every time ( for my far diffusing goals ) 2011-11-09T21:28:40 magiik: You never said how you handled multiple paths to the same square 2011-11-09T21:28:41 for my not far diffusing goals, i get lots of areas that are still 0 from init 2011-11-09T21:28:48 multiple paths to the same square? 2011-11-09T21:28:50 what u mean? 2011-11-09T21:28:58 with this map, i can path from any tile 2011-11-09T21:29:08 Imagine a 2x2 rect. I can get from the top left to the lower right by two paths 2011-11-09T21:29:19 when you guys say 'CD', what do you mean? 2011-11-09T21:29:22 yes, both would be "equal" in my diffusion map 2011-11-09T21:29:25 Do you take the min of them, or do you make squares with more paths to the destination more attractive? 2011-11-09T21:29:40 Rinum: http://www.cs.colorado.edu/~ralex/papers/PDF/OOPSLA06antiobjects.pdf 2011-11-09T21:29:49 the algorithm doesn't think like that 2011-11-09T21:29:59 let me try to re-phrase how my algo works 2011-11-09T21:30:06 let's say it's just 1 goal 2011-11-09T21:30:12 nickjohnson: thanks 2011-11-09T21:30:16 magiik: Well, you're doing something, if only by default - BFS will effectively take the min. 2011-11-09T21:30:35 i give that goal an initial weight, let's say 1.0, and i give it a decay rate, let's say 0.5 2011-11-09T21:30:42 in BFS with a 2x2 rect - both paths are equal 2011-11-09T21:30:51 starting from top left, a move to top right or bottom left is the same score 2011-11-09T21:30:59 i give that goal an initial weight, let's say 1.0, and i give it a decay rate, let's say 0.5 2011-11-09T21:31:11 so on that map, i "diffuse" the goal out 2011-11-09T21:31:16 each tile next to the 1.0 is 0.5 2011-11-09T21:31:20 each tile out from that, is 0.25 2011-11-09T21:31:21 etc... 2011-11-09T21:31:26 then just follow the values up 2011-11-09T21:31:28 to get to the goal 2011-11-09T21:31:39 i make this more complicated by adding all of the maps together 2011-11-09T21:31:49 well ( the ones iw ant to add together ) 2011-11-09T21:32:01 is bfs a diffusion map? 2011-11-09T21:32:03 and then you get a nice "topographic" map 2011-11-09T21:32:27 roflmao: i think you could consider it one, it may not be implemented the same, but in the end yes 2011-11-09T21:32:43 i see BFS as the other way around though 2011-11-09T21:32:53 the goal is the "sink" and values increase from the sink, so you follow the values down 2011-11-09T21:32:58 it's like diffusion in reverse kind of 2011-11-09T21:33:01 aaaah 2011-11-09T21:33:04 yea I get it 2011-11-09T21:33:11 now q, when would you use diffusion instead of bfs? 2011-11-09T21:33:19 or in my model, it's diffusion with a positive decay rate ( meaning it grows ) 2011-11-09T21:33:28 I assume diffusion has a more limited scope 2011-11-09T21:33:34 i use diffusion to get finer grained control of a BFS 2011-11-09T21:33:41 makes sense 2011-11-09T21:34:13 the way i see it, each "goal" is like a mountain, the slope exponential - but with different slopes as the decay rate is diff for each 2011-11-09T21:34:34 so by doing my diffusion, i can add a bunch of mountains together of all different shapes and sizes to get emergent behavior 2011-11-09T21:34:49 set my own ants as negative weights - means ants will try to get away from each other 2011-11-09T21:35:07 limit food decay rate to 7 tiles - ants will only ever "see" food difussion from 7 tiles away 2011-11-09T21:35:10 things like that 2011-11-09T21:36:07 i didn't like BFS's "hard" set paths 2011-11-09T21:36:20 and this allows me to sort of play with the paths based on current conditions 2011-11-09T21:36:42 set an enemy hill as a positive weight, but enemy ants as negative = try to attack hills, but don't attack if lots of ants are next to it 2011-11-09T21:37:01 it works nicely for exploration 2011-11-09T21:37:12 but compared to other top bots, it is completely lacking in fine-tuning combat 2011-11-09T21:37:38 almost need to do some sort of lookahead/minimax on a small scale around battles 2011-11-09T21:37:51 but i havn't had the inspiration or time to implement something like that yet 2011-11-09T21:38:39 aite gotta run, im out peace 2011-11-09T21:45:20 *** treeform_ has quit IRC (Remote host closed the connection) 2011-11-09T21:47:15 *** Jak_o_Shadows has joined #aichallenge 2011-11-09T21:50:04 yeah makes sense 2011-11-09T21:50:14 I might try imposing that on top of a bfs map 2011-11-09T21:50:19 because if the hills are not big enough 2011-11-09T21:50:30 you could get a bunch of empty spaces in the middle 2011-11-09T21:50:35 where the ants would just freak the heck out 2011-11-09T21:50:40 aichallenge: Alexandru Stan amstan_mapgen * r52100b8 / (3 files): moved cavemap out to a separate file - http://git.io/daiDzg 2011-11-09T21:50:43 maybe having a base bfs combination to give general direction 2011-11-09T21:50:48 then applying the hills on top of that 2011-11-09T21:50:53 would be betteR? 2011-11-09T21:54:35 how does this look? http://paste.aichallenge.org/4zLfo/ 2011-11-09T21:56:08 looks pretty 2011-11-09T21:56:35 but holy cow those are cramped engagement quarters 2011-11-09T21:56:44 well, it's a small map 2011-11-09T21:58:08 http://paste.aichallenge.org/KDw85/ 2011-11-09T21:58:21 *** gnutella has joined #aichallenge 2011-11-09T21:58:45 I might just play that map :) 2011-11-09T21:59:09 roflmao: the problem i have right now is that it's too cramped 2011-11-09T21:59:20 yea 2011-11-09T21:59:32 cramped maps tend to be less about strategy 2011-11-09T21:59:35 and more about how the cards play out 2011-11-09T21:59:57 *** Rinum has quit IRC (Quit: Page closed) 2011-11-09T22:00:12 a bigger problem i have is that sometimes the hill is in the water 2011-11-09T22:02:35 wouldn't that be easy to prevent 2011-11-09T22:03:07 the problem of disconnected hills is a little annoying 2011-11-09T22:04:24 *** cbad has left #aichallenge 2011-11-09T22:04:26 *** cbad has joined #aichallenge 2011-11-09T22:05:19 *** P3aceCr4ft has joined #aichallenge 2011-11-09T22:06:38 *** replore_ has quit IRC (Ping timeout: 245 seconds) 2011-11-09T22:07:49 *** pezzotto has quit IRC (Quit: Page closed) 2011-11-09T22:08:23 *** gnutella has quit IRC (Quit: Page closed) 2011-11-09T22:12:16 *** dvladim has joined #aichallenge 2011-11-09T22:13:28 *** twymer has joined #aichallenge 2011-11-09T22:13:54 *** lg41 has quit IRC (Quit: Page closed) 2011-11-09T22:14:34 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-09T22:17:03 *** Jak_o_Shadows has quit IRC (Ping timeout: 260 seconds) 2011-11-09T22:18:00 contestbot: seen antimatroid 2011-11-09T22:18:00 amstan: antimatroid was last seen in #aichallenge 10 hours, 22 minutes, and 33 seconds ago: for the starter pack too 2011-11-09T22:18:00 *** ltriant has quit IRC (Read error: Connection reset by peer) 2011-11-09T22:18:40 *** ltriant has joined #aichallenge 2011-11-09T22:20:49 *** rajanaresh has joined #aichallenge 2011-11-09T22:21:25 Chris_0076: what i'm trying to do, is generate maps like these: http://paste.aichallenge.org/KDw85/ 2011-11-09T22:21:50 Chris_0076: the bases have to stay connected 2011-11-09T22:21:53 and they have to look pretty 2011-11-09T22:22:10 *** number_prophet has quit IRC (Read error: Operation timed out) 2011-11-09T22:22:42 cave generation is normally done by random walks though 2011-11-09T22:23:18 *** number_prophet has joined #aichallenge 2011-11-09T22:23:27 and that map does not look pretty >.> 2011-11-09T22:24:17 this one then: http://paste.aichallenge.org/4zLfo/ 2011-11-09T22:24:46 though, for maps i would think you would want something more like Delaunay Triangulation 2011-11-09T22:24:49 http://www.comp.lancs.ac.uk/~kristof/research/notes/voronoi/ 2011-11-09T22:30:57 amstan, im guessing by " cut the edges on the nearest critical point based on the energy that your first height field gives you if you want them to be more natural instead of straight hard edges" 2011-11-09T22:31:19 he means to to a bit of perturbation, or just randomly jitter the edge 2011-11-09T22:31:39 though, all of what he said was a bit round about xD 2011-11-09T22:35:19 *** hjax has joined #aichallenge 2011-11-09T22:35:35 *** replore has joined #aichallenge 2011-11-09T22:36:02 *** hjax has quit IRC (Remote host closed the connection) 2011-11-09T22:38:58 *** JanneP_ has joined #aichallenge 2011-11-09T22:40:27 *** theskumar has joined #aichallenge 2011-11-09T22:41:29 *** u_ has quit IRC (Ping timeout: 256 seconds) 2011-11-09T22:41:36 *** JanneP has quit IRC (Ping timeout: 258 seconds) 2011-11-09T22:48:28 *** yoden has quit IRC (Quit: Leaving.) 2011-11-09T22:54:13 amstan: Have you tried doing some kind of 'worms' method, where you place the starting positions for N players (along a line or whatever), then from each starting point, spawn a 'worm' or 5 that carves a path (each worm moving the same relative to it's spawn point, so it's symmetrical) 2011-11-09T22:55:03 *** userjjb_ has quit IRC (Quit: Page closed) 2011-11-09T22:55:41 Extrarius: which way do i go? 2011-11-09T22:57:19 select a random direction, then do random walk, except the options are forward, left, or right. You could also keep a history of the worm's movements like the tail in the "snake game" (nibbles) and don't let it cross its own path 2011-11-09T22:58:31 you could also do something like make the worm's size start large (say equal to the vision radius) and decrease over time to make bases be in 'caverns' with 'caves' and 'tunnels' between them 2011-11-09T23:00:40 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-09T23:02:33 yeah, random walks are generally better for making caves >.> 2011-11-09T23:02:46 voronoi is good for valleys and natural forms 2011-11-09T23:04:23 you can make good caves with triangulation/cellular algorithms, but I haven't seen any that generate the kind of symmetry needed 2011-11-09T23:04:34 Extrarius: don't worry about that 2011-11-09T23:05:26 well, in 200x200 there isn't a lot of room for the kind of detail triangulation/cellular algorithms generate that is their strength, much less when you split the space between players 2011-11-09T23:05:29 Extrarius: i already have that taken care of: https://github.com/aichallenge/aichallenge/blob/amstan_mapgen/ants/mapgen/symmetricmap.py 2011-11-09T23:11:13 *** Lintendo has joined #aichallenge 2011-11-09T23:11:47 *** theskumar has left #aichallenge 2011-11-09T23:11:53 *** theskumar has joined #aichallenge 2011-11-09T23:12:49 *** dvladim has quit IRC (Ping timeout: 255 seconds) 2011-11-09T23:15:19 *** Jak_o_Shadows has joined #aichallenge 2011-11-09T23:18:24 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 258 seconds) 2011-11-09T23:25:25 *** P3aceCr4ft has quit IRC (Quit: Leaving) 2011-11-09T23:27:50 *** Antimony has joined #aichallenge 2011-11-09T23:28:28 *** JorgeB has joined #aichallenge 2011-11-09T23:29:38 *** user_jjb has joined #aichallenge 2011-11-09T23:29:48 *** userjjb has quit IRC (Read error: No route to host) 2011-11-09T23:29:53 *** user_jjb has quit IRC (Client Quit) 2011-11-09T23:30:16 *** userjjb has joined #aichallenge 2011-11-09T23:31:00 *** underflow has quit IRC (Ping timeout: 260 seconds) 2011-11-09T23:34:47 *** theskumar has quit IRC (Quit: bye!) 2011-11-09T23:34:57 *** theskumar has joined #aichallenge 2011-11-09T23:42:59 *** JorgeB has quit IRC (Read error: Operation timed out) 2011-11-09T23:43:20 How about make the worms move randomly until the hills are connected, and then remove one layer of water to make sure the paths are unblockable? 2011-11-09T23:43:41 *** fooob has joined #aichallenge 2011-11-09T23:51:06 *** JorgeB has joined #aichallenge 2011-11-09T23:53:07 *** fooob has quit IRC (Ping timeout: 265 seconds) 2011-11-09T23:58:55 *** TheLinker has quit IRC (Quit: Bye)