2011-11-28T00:00:39 hmm probably 2011-11-28T00:00:59 i am trying pledge algo out but it causes ants to do the same circuit 2011-11-28T00:01:01 too many times 2011-11-28T00:01:09 or i am missing something in my implementation 2011-11-28T00:01:20 also, not having a way to change proxy setting in UI is ... so much FAIL I can't explain it in words. 2011-11-28T00:01:47 p_l: what OS are on you? 2011-11-28T00:01:50 they rely on the system UI 2011-11-28T00:01:52 p_l: i did it a few days ago just fine 2011-11-28T00:02:00 so if you are on windows they will use the windows setting 2011-11-28T00:02:01 same on mac 2011-11-28T00:02:08 not sure how it works on linux though 2011-11-28T00:02:14 bhasker`: good 2011-11-28T00:02:16 there are proxy env variables 2011-11-28T00:02:21 distros like ubuntu have a frontend 2011-11-28T00:02:26 bhasker`: in short, it doesn't 2011-11-28T00:02:29 http_proxy iirc 2011-11-28T00:02:30 oh... 2011-11-28T00:02:31 amstan? 2011-11-28T00:02:42 it seems to be using the kde proxy settings 2011-11-28T00:02:46 thestinger: restarting a browser to change proxy is not a solution 2011-11-28T00:02:50 i didn't notice that actually 2011-11-28T00:02:53 amstan: yeah, try echo $http_proxy in a terminal 2011-11-28T00:03:08 p_l: it does suck, but you can set it with a UI :) 2011-11-28T00:03:10 thestinger: i don't have it set right now 2011-11-28T00:03:17 thestinger: also.. i didn't have to restart my browser 2011-11-28T00:03:41 well, you probably don't have to restart it on linux if they did it in a smart way 2011-11-28T00:03:52 thestinger: I'm running linux. It means I don't have the retarded windows registry emulation used by GNOME and others which is used by Chrome to read proxy settings 2011-11-28T00:04:09 like if you change the GTK theme in GNOME or Xfce, all the apps use the new theme immediately 2011-11-28T00:04:24 yeah, chromium uses gconf 2011-11-28T00:04:30 thestinger: the theme changes are actually not-gconf related 2011-11-28T00:04:31 yet another reason why I don't use it :) 2011-11-28T00:04:39 p_l: XSETTINGS or whatever? 2011-11-28T00:04:45 or just gtk 2011-11-28T00:04:45 isn't there a plugin that makes this easier? 2011-11-28T00:04:54 bhasker`: no 2011-11-28T00:04:57 mostly the thing i like about chrome is the bookmark sync 2011-11-28T00:05:08 i know firefox has somethin similar but i like chromes implementation more 2011-11-28T00:05:12 bhasker`: such things are outside the possibilities of Chrome api 2011-11-28T00:05:19 ah 2011-11-28T00:05:58 i a missing something in my pledge algo's implementation 2011-11-28T00:06:08 its supposed to be be capable of breaking out of a G 2011-11-28T00:06:12 my ants never do:( 2011-11-28T00:06:39 I just stick all unexplored locations as targets on a distance map, seems to work fine 2011-11-28T00:06:52 multi-source BFS makes it fast 2011-11-28T00:07:31 Hey I beat BenJAckson! http://ants.fluxid.pl/replay.1810 2011-11-28T00:07:49 hmm 2011-11-28T00:07:50 *** delt0r_ has joined #aichallenge 2011-11-28T00:07:54 maybe i should just try that 2011-11-28T00:08:14 my earlier algo used to pick moves based on what increases vision the most 2011-11-28T00:08:24 which works nicely on maps with sparse water 2011-11-28T00:08:30 bhasker`: http://ants.fluxid.pl/replay.1753 seems to work fine (I'm strcat_next) 2011-11-28T00:08:30 ants tend to spread rapidly 2011-11-28T00:08:37 it actually works better on mazes 2011-11-28T00:08:45 hmm k 2011-11-28T00:08:58 my ants prefer taking paths that don't lead through places my ants are currently located 2011-11-28T00:09:05 so they go in different directions at the start 2011-11-28T00:09:17 works well in mazes 2011-11-28T00:09:22 hmm k 2011-11-28T00:10:06 @seen BenJackson 2011-11-28T00:10:06 Antimony: BenJackson was last seen in #aichallenge 2 hours, 16 minutes, and 21 seconds ago: tcp just runs it wherever 2011-11-28T00:18:36 *** Areks has joined #aichallenge 2011-11-28T00:19:24 *** perryh- has left #aichallenge 2011-11-28T00:29:23 thestinger: what's multi-source BFS ? 2011-11-28T00:29:39 breath first search ? Doesn't sound fast 2011-11-28T00:30:11 BFS is fast if you're not abusing it for pathfinding from 1 location to 1 location 2011-11-28T00:30:32 a BFS from a target gets you distances and best paths from every location to that target 2011-11-28T00:31:12 multi-source BFS is just putting multiple nodes into the FIFO queue before you start 2011-11-28T00:31:24 thestinger: don't you have to run that algorithm for every target every turn ? 2011-11-28T00:31:34 I do, but you don't have to 2011-11-28T00:31:42 why would I save them? 2011-11-28T00:31:47 it takes 1ms for 7k targets 2011-11-28T00:31:52 well, less than 1ms 2011-11-28T00:32:11 cool. C++ ? 2011-11-28T00:32:14 yeah 2011-11-28T00:32:34 how do you make sure you use different ants for different targets ? 2011-11-28T00:32:54 for food, I do a separate BFS from each food 2011-11-28T00:32:57 or do you just generate the full "nextHop" array for every target ? 2011-11-28T00:33:07 I just store distances in a 2d array 2011-11-28T00:33:10 ah so you end up with N(food) arrays each 2011-11-28T00:33:10 from every tile 2011-11-28T00:33:21 well, I just have 1 2d array at a time for food 2011-11-28T00:33:43 you just need to check which of the 4 directions get you closer to the target in the distance map 2011-11-28T00:33:51 and it's getting you the shortest path due to how BFS works 2011-11-28T00:33:51 how do you divide up your ants between the food ? 2011-11-28T00:34:13 I've been thinking about using linear programming, and while it's optimal it's not exactly fast 2011-11-28T00:34:27 just like the tutorial does it basically 2011-11-28T00:34:38 distances come from the BFS, same with pathfinding 2011-11-28T00:35:01 except I treat 2 food right next to each other as 1 target 2011-11-28T00:35:14 within ~3 distance 2011-11-28T00:35:35 that part doesn't matter, it hasn't improved my bot at all 2011-11-28T00:35:58 it just seems like a good thing but I can't measure an improvement 2011-11-28T00:36:30 sometimes it's probably a good idea to send more than 1 ant anyway 2011-11-28T00:36:53 so all you're doing is building arrays ? 2011-11-28T00:37:06 yeah, 2d arrays with distance to the nearest target 2011-11-28T00:37:35 I have something like that, except I "cache" the results to gain time 2011-11-28T00:37:35 so there's an enemy_hill_distances one, etc. 2011-11-28T00:38:07 once I send an ant to a food or an enemy hill, it's on a "mission" and has stored the path 2011-11-28T00:38:12 my pre-combat stuff just takes 4ms (doesn't really scale based on # of ants) 2011-11-28T00:38:40 then it follows the path until it either hits the food/hill, dies, or hits a wall it didn't know about when creating it's path 2011-11-28T00:39:24 how do you decide when/how many ants to send to enemy hill ? 2011-11-28T00:39:30 (and do you avoid enemy ants ?) 2011-11-28T00:39:44 @een BenJackson 2011-11-28T00:39:45 Antimony: You have no gotten any error messages recently, so here's a random one just to let you know that we care. 2011-11-28T00:39:51 @seen BenJackson 2011-11-28T00:39:51 Antimony: BenJackson was last seen in #aichallenge 2 hours, 46 minutes, and 6 seconds ago: tcp just runs it wherever 2011-11-28T00:40:09 oelewapperke: I don't avoid enemy ants 2011-11-28T00:40:20 I intend for that to be handled by combat (working on it atm) 2011-11-28T00:41:28 how do you debug ? 2011-11-28T00:41:35 that's something I'm struggling with 2011-11-28T00:41:42 stderr :) 2011-11-28T00:42:02 there's a nice debugging visualizer, but I haven't used it 2011-11-28T00:42:14 ah :) I'm working in eclipse, but I can't figure it out 2011-11-28T00:42:21 you can draw stuff in the visualizer used for replays with that 2011-11-28T00:42:51 any docs for the debugging visualizer ? 2011-11-28T00:43:27 https://github.com/j-h-a/aichallenge/blob/vis_overlay/VIS_OVERLAY.md 2011-11-28T00:43:39 just found that actually :) 2011-11-28T00:44:19 you just need to replace the tools dir with the one from that git repo 2011-11-28T00:45:28 Antimony: You're Parasprites? 2011-11-28T00:45:36 yep 2011-11-28T00:45:48 Is that you on tcp? 2011-11-28T00:46:02 I can't beleive I actually beat you 2011-11-28T00:46:02 *** JamesMG has quit IRC (Ping timeout: 244 seconds) 2011-11-28T00:46:05 so that bot is equivalent to my version 7 on aichallenge, I think 2011-11-28T00:46:14 bj_v8b or v8 is the current one 2011-11-28T00:46:19 (they're both running) 2011-11-28T00:46:25 nice... I caused a double free() error without using malloc/free 2011-11-28T00:46:43 cutting and pasting this code above some other code didn't work out very well xD 2011-11-28T00:47:24 Antimony: your bot looks pretty good there 2011-11-28T00:47:54 how's it doing on on aichallenge? 2011-11-28T00:47:57 thanks 2011-11-28T00:48:05 I haven't uploaded sicne thursday 2011-11-28T00:48:06 my recent submit just got a raw deal sooo I'm waiting for it to get a better game 2011-11-28T00:48:33 I haven't reuploaded since nov 8th... 2011-11-28T00:48:41 I just don't find the official site helpful 2011-11-28T00:48:48 well I mean replays/ranking 2011-11-28T00:48:51 I go back to work tomorrow 2011-11-28T00:49:02 so I figured if I didn't draw a line it'd be hard to focus at work :) 2011-11-28T00:49:17 just get your boss playing ants :) 2011-11-28T00:49:44 bj_v8b has edged into 4th on fluxid 2011-11-28T00:49:50 nice 2011-11-28T00:49:57 oh dear, I timed out 2011-11-28T00:49:58 somehow 2011-11-28T00:50:01 there's a guy there who is into AI stuff but for some reason I can't get him to participate 2011-11-28T00:50:16 BenJackson: http://sprunge.us/fhEc this is what my new combat code does 2011-11-28T00:50:34 for each battle 2011-11-28T00:50:47 so it would choose not to attack for that one 2011-11-28T00:50:56 *** Palmik has joined #aichallenge 2011-11-28T00:51:09 I basically do that 2011-11-28T00:51:11 I just sort of threw it together in 5 mins... 2011-11-28T00:51:14 except I do all combinations 2011-11-28T00:51:18 my other attempts have taken a lot longer 2011-11-28T00:51:25 BenJackson: how do you do combat for big battles then? 2011-11-28T00:51:40 the clever bit is making a fast evaluation function 2011-11-28T00:51:57 I can see that 2011-11-28T00:52:33 other bots "suicide" into me because I an choosing positions that min/max every possible thing they do 2011-11-28T00:52:52 the main reason I lose battles is simply not having the right ants there in the first place 2011-11-28T00:52:58 since there's no deliberate planning ahead 2011-11-28T00:53:13 wow 2011-11-28T00:53:19 my bot sucks at actual combat, but they just end up in the right place :) 2011-11-28T00:53:27 when I first got "even ant distribution" working my bot was much worse 2011-11-28T00:53:34 since lone ants can't do much for combat 2011-11-28T00:53:40 That's the stage I'm at 2011-11-28T00:53:46 Antimony: I'm talking about the v8 version, not the old one 2011-11-28T00:53:53 I'm trying to make it so that ants are more likely to bunch up around hills 2011-11-28T00:53:57 so that they can win combat 2011-11-28T00:54:11 the old one really only tried to make the outcomes bad for the enemy and avoid 1v1 suicide 2011-11-28T00:54:19 you can see my old bot accepting 2v2 suicide all the time 2011-11-28T00:54:34 the three strcats that are playing right now just assume enemies don't move and minimize losses 2011-11-28T00:54:41 I wonder why my bot timed out 2011-11-28T00:54:46 they don't even check a score for different possibilities 2011-11-28T00:54:48 it shouldn't really be possible for my bot to time out on tcp 2011-11-28T00:55:02 Hey that's what I do! 2011-11-28T00:55:03 could be a network glitch 2011-11-28T00:55:05 I have ~4 different combat implementations now but none are playing on tcp because I don't like them :) 2011-11-28T00:55:23 Unfortuantely you don't usaully fight stationary enemies 2011-11-28T00:55:26 this one will be a big improvement over what I have 2011-11-28T00:55:36 sometimes there are ridiculous stalemates with stationary enemies, though 2011-11-28T00:55:36 Antimony: yeah, so my bot barely beats a version of itself without combat 2011-11-28T00:56:02 the other thing is that once your bot is combat aware your lone ants become very deferential to enemy ants 2011-11-28T00:56:06 whereas before they suicided them 2011-11-28T00:56:08 yeah 2011-11-28T00:56:10 which may be better for territory 2011-11-28T00:56:10 I did that manually 2011-11-28T00:56:17 my foragers avoid enemy ants if they're all lone 2011-11-28T00:56:18 or even chased them off if they were combat aware and you weren't 2011-11-28T00:56:19 alone* 2011-11-28T00:56:25 well 2011-11-28T00:56:27 in 1v1 games 2011-11-28T00:56:32 they are aggressive 2011-11-28T00:56:48 in 8 player FFA they are cautious as hell :) 2011-11-28T00:56:55 btw the other "how do you do it fast" is that I finally partitioned the combats into individual (unrelated) combats 2011-11-28T00:56:59 so each one is simpler 2011-11-28T00:57:03 ah 2011-11-28T00:57:11 which was an interesting exercise 2011-11-28T00:57:21 I partition stuff into battles, but I've been much too lazy to actually fix the evaluation function to only evaluate for those 2011-11-28T00:57:24 I never had a use for union-find before 2011-11-28T00:57:43 making everything const and using lambdas everywhere was more fun :) 2011-11-28T00:57:44 interesting offshoot of that is that now I can know if I'm locally outnumbered 2011-11-28T00:57:55 how do you evaluate a battle ? Just count your ants vs enemy ants ? 2011-11-28T00:57:59 no lambdas for me, the craziest I've gotten is functors 2011-11-28T00:58:02 well, and several templates 2011-11-28T00:58:06 like the bfs iterator 2011-11-28T00:58:08 lambdas cut my code size down from a ridiculous 1700 lines to 900 lines 2011-11-28T00:58:16 it also made the compiled binary a _lot_ smaller 2011-11-28T00:58:21 huh 2011-11-28T00:58:26 I really suck at code reuse with C++'s OOP 2011-11-28T00:58:34 I'm just used to higher-order functions for code reuse... 2011-11-28T00:58:51 oelewapperke: you just have to literally evaluate the combat rules 2011-11-28T00:58:58 which were actually designed to be fairly simple to evaluate 2011-11-28T00:59:12 if you take shortcuts your combat will have exploitable flaws 2011-11-28T00:59:18 like I have a single BFS implementation now 2011-11-28T00:59:21 but you can go really far even with "bad" combat 2011-11-28T00:59:30 I have two 2011-11-28T00:59:47 my iterator and the one built into one of my early data structures 2011-11-28T00:59:50 I have wrappers for it (one for radius stuff, one for movement) 2011-11-28T01:00:10 but the wrappers are just like 1 line 2011-11-28T01:00:28 ah cool you can actually kill enemy ants without losing ants of your own 2011-11-28T01:00:37 yes 2011-11-28T01:00:44 but IMO the combat rules are not that great 2011-11-28T01:00:54 [this](Location loc, unsigned distance) { set this->something to something or whatever }; 2011-11-28T01:00:58 *** sf17k_ has joined #aichallenge 2011-11-28T01:00:59 I think looking at what we get now based on those rules you'd probably try to pick something different 2011-11-28T01:01:02 Unfortuntely, my bot gets steamroleld by a bot with actual combat http://ants.fluxid.pl/replay.1830 2011-11-28T01:01:46 one of my bots beat A in a fairly even battle :) 2011-11-28T01:01:54 it was a fluke though 2011-11-28T01:02:50 *** b0rder has joined #aichallenge 2011-11-28T01:02:55 *** sf17k has quit IRC (Ping timeout: 265 seconds) 2011-11-28T01:03:19 http://ants.fluxid.pl/player/strcat_flock flocking works now, a bit 2011-11-28T01:03:23 *** NightExcessive has quit IRC (Remote host closed the connection) 2011-11-28T01:04:29 oh man, that one loss in a random 7-player multihill map is going to make my new bot take forever to rank up 2011-11-28T01:04:51 *** AntDroid has quit IRC (Ping timeout: 265 seconds) 2011-11-28T01:07:49 You recovered almost half the mu in the very next game 2011-11-28T01:09:13 is anyone else unable to generate input from fluxid replays? 2011-11-28T01:10:45 Antimony: it works for me 2011-11-28T01:11:04 did you block popups? 2011-11-28T01:15:50 *** b0rder has quit IRC (Ping timeout: 244 seconds) 2011-11-28T01:17:29 ok, the new combat code seems equally bad as my old code which is a great sign - because it's barely started and runs much faster :D 2011-11-28T01:18:15 janzert: kind of my point, actually 2011-11-28T01:18:33 had the same score before both, but due to reducing sigma now mu is moving slower 2011-11-28T01:19:08 it will settle out eventually, it's just slow with the current game rate 2011-11-28T01:19:22 janzert: as long as you looked at that game, though, that's clearly a bad setup 2011-11-28T01:19:30 high player count, multi-hill, low food rate 2011-11-28T01:19:33 BenJackson: heh? it will take 3 games at most to recover the mu and the sigma will then be lower so rank much higher. skill recovered fully in the very next game 2011-11-28T01:20:09 assuming you win each of those three games of course 2011-11-28T01:20:29 sure, but the process of lose 1, win 3 takes 15 hours 2011-11-28T01:20:41 *** Garf has joined #aichallenge 2011-11-28T01:21:38 ok, so it's just a game rate complaint ;) 3 games isn't that much extra to rank up from my view 2011-11-28T01:22:19 and yeah, I don't care for the big dump of hills maps :P 2011-11-28T01:22:23 well my constructive complaint would be that the settings are poor for ranking bots 2011-11-28T01:22:30 it was going to be a pretty random outcome no matter what 2011-11-28T01:22:55 it'd be nice to extend trueskill to infer a variance for each map 2011-11-28T01:23:01 and do a whole-history ranking 2011-11-28T01:23:29 just need to get rid of the silly random walks :) 2011-11-28T01:23:37 turn 100 there are like 10 ants per bot and 15 hills have been taken 2011-11-28T01:23:37 *** ltriant has quit IRC (Quit: Computer has gone to sleep) 2011-11-28T01:23:43 and the mazes with 50 hills 2011-11-28T01:23:55 I thought those were gone now? 2011-11-28T01:24:05 I did too until I played in one! :) 2011-11-28T01:24:12 all the maps that have been there are still in play 2011-11-28T01:24:34 well, they're gone on fluxid's server :) http://ants.fluxid.pl/maps 2011-11-28T01:24:54 of course much more diluted since the cell maze maps are about half of the total at the moment 2011-11-28T01:25:03 *** raemde_ has joined #aichallenge 2011-11-28T01:25:07 I like multi-hill maps ok despite initial randomness. but with very little food the random phase lasts much longer 2011-11-28T01:25:49 one nice thing about them is that if you are right next to a good bot and lose a hill to it early it's ok 2011-11-28T01:25:57 whoa. cell_maze_p08_01 is pretty epic. i approve. 2011-11-28T01:25:58 the game sort of naturally selects your safer hills 2011-11-28T01:26:06 a1k0n: example game? 2011-11-28T01:26:24 *** treeform has quit IRC (Remote host closed the connection) 2011-11-28T01:26:34 http://aichallenge.org/visualizer.php?game=136388&user=432 2011-11-28T01:27:00 ohhh that one 2011-11-28T01:27:35 haha green kept GarySWest out with two ants: http://aichallenge.org/visualizer.php?game=136402 2011-11-28T01:28:04 *** b0rder has joined #aichallenge 2011-11-28T01:28:14 *** raemde has quit IRC (Ping timeout: 244 seconds) 2011-11-28T01:28:19 *** Fandekasp has joined #aichallenge 2011-11-28T01:28:56 several of the cell maps have those tapering necks that are prone to stalemates 2011-11-28T01:29:14 but they need not be stalemates 2011-11-28T01:29:28 you can make an unfavorable exchange of ants for a favorable exchange in position 2011-11-28T01:29:32 the cell mazes are awesome :) 2011-11-28T01:29:39 you can usually just take an alternate route 2011-11-28T01:30:00 <_flag> The problem is you have little vision over the map and it's often unclear whether the exchange will result in a favourable position 2011-11-28T01:30:08 true 2011-11-28T01:30:22 <_flag> So bots tend just to accept the stalemate 2011-11-28T01:30:22 i'm assuming the hill is in sight 2011-11-28T01:30:32 oh, right, you can always suicide at 3 wide because of the limited attack radius 2011-11-28T01:30:32 hm 2011-11-28T01:30:47 yeah. if they have 4 ants or whatever they might be able to keep one 2011-11-28T01:31:39 so far my experiment in a more conservative bot (a1k0n_b) is weaker than my more aggressive attacker 2011-11-28T01:32:01 p > 0.95 or so anyway 2011-11-28T01:33:00 (of course it still does a bunch of dumb stuff, so it may not be true in general) 2011-11-28T01:33:08 i have the same experience :P 2011-11-28T01:33:14 better to be too brash than too coward 2011-11-28T01:33:28 lest some bastard steal your hill kills 2011-11-28T01:34:39 it's very interesting how _flag and some of hte stronger bots just kinda "fire" their ants out of the hill at the cardinal directions alternately 2011-11-28T01:35:00 xathis's go more diagonal but still 2011-11-28T01:35:21 yeah i want to do that 2011-11-28T01:35:32 whoa BenJackson is beating A_experimental now 2011-11-28T01:36:00 (or is closely tied with, probability-wise) 2011-11-28T01:36:11 nice going ben 2011-11-28T01:36:31 rats. him fixing bugs finally made his bot actually better 2011-11-28T01:36:37 congratulate me when it comes true on aichallenge :) 2011-11-28T01:36:43 fair enough 2011-11-28T01:36:50 which will take about two weeks 2011-11-28T01:36:55 yeh :-\ 2011-11-28T01:37:00 knowing the game rate 2011-11-28T01:37:29 are you minimaxing? 2011-11-28T01:37:32 I was hoping I'd shoot to top 10, then I could say "well, good enough" and quit obsessing 2011-11-28T01:37:49 def top 10 2011-11-28T01:37:58 I couldn't figure out how to literally minmax 2011-11-28T01:38:05 although that's what I assumed I'd do at the very start 2011-11-28T01:38:05 my bot is in the top 10 (but mostly because of resubmissions) and i'm kinda done with it but not done 2011-11-28T01:38:20 it's not a turn-taking game, so minmax doesn't quite apply 2011-11-28T01:38:27 yeah the problem is you can't actually assume you know the best minimum value for a candidate move cuz you can't test all possibilities 2011-11-28T01:38:36 agreed 2011-11-28T01:39:01 so really it's all about putting yourself in the most advantageous position 2011-11-28T01:39:06 a1k0n: can i talk collecting targets with path finding with you? :P 2011-11-28T01:39:07 if you can actually apply it you get a conservative move that doesn't kill your ants 2011-11-28T01:39:24 I think lots of top bots have probably maximized individual bot placement 2011-11-28T01:39:27 antimatroid: heh, cuz i'm so clearly good at it? 2011-11-28T01:39:31 we all "look" the same 2011-11-28T01:39:31 ie. are you reusing ants ever? are you using a* or bfs? are you restarting searches after collecting each item or updating search info? 2011-11-28T01:39:36 a1k0n: :P 2011-11-28T01:39:43 the next step is having the right ants in the fight in the first place 2011-11-28T01:39:53 antimatroid: http://aichallenge.org/visualizer.php?game=133645&user=432 2011-11-28T01:39:59 i'm just finding it REALLY messy to do simultaneous bfs's from ants if one is reusing moved ants 2011-11-28T01:40:14 benjackson: putting yourself in the right place, not focus on winning the battle 2011-11-28T01:40:17 and not restarting the searches for each collected target 2011-11-28T01:40:19 you just described the problem with my bot 2011-11-28T01:40:29 oh. well you can incrementally update your map of distance-from-your-ants 2011-11-28T01:40:40 it's also a pita that you don't want to walk onto targets when collecting food, but do for say collecting unseen squares 2011-11-28T01:40:57 you can't walk onto an unseen square 2011-11-28T01:41:23 I never have fixed the "walk next to food not TO food" bug in my bot 2011-11-28T01:41:32 a1k0n: i thought of that, it's a bit messy as well but probably the best 2011-11-28T01:41:32 except for avoiding trying to walk RIGHT ONTO food 2011-11-28T01:42:06 actually, i think that might just be messier 2011-11-28T01:42:21 well, i do that 2011-11-28T01:43:07 do you just store which ants can get to a location in the found distance? then if you move an ant and that goes to zero how do you make sure that gets searched properly again from old searched squares? 2011-11-28T01:43:35 er? no, i just use it to determine distance to food and unseen squares 2011-11-28T01:43:52 and assue the closest ant is the one who takes care of that 2011-11-28T01:43:58 i don't do anything fancy 2011-11-28T01:44:42 my original C++ bot just figured out the distance and direction of every goal at every ant 2011-11-28T01:44:44 for like, distance to hills, i just have a distance-from-hill map 2011-11-28T01:44:47 which you can do basically simultaneously 2011-11-28T01:44:56 and then each ant took the closest goal direction 2011-11-28T01:45:01 yeah 2011-11-28T01:45:04 plus some scaling of distance with breakpoints 2011-11-28T01:45:06 yeah but when you move an ant, you need to 1. remove all its old path information (except that it shared with friends) and if reusing the ant 2. add it's target locations moves to the search queue 2011-11-28T01:45:20 i don't... have.. path information or target locations 2011-11-28T01:45:32 I think a lot of people are doing that (or similarly "collaborative diffusion") 2011-11-28T01:45:36 because it leads to some observable macro behavior 2011-11-28T01:45:41 2 is easy, but with 1 how do you make sure the removed path information gets searched over properly with the remaining ants? 2011-11-28T01:45:46 ah 2011-11-28T01:45:48 nevermind then :P 2011-11-28T01:46:03 my bot is the simplest thing that could possibly work 2011-11-28T01:46:30 with a little bit of cleverness for exploration and random sampling for combat 2011-11-28T01:46:47 i'm not really proud of my combat but it appears to do the job 2011-11-28T01:47:14 i think generalised path finding was a terrible idea 2011-11-28T01:47:27 i might just scratch that and go back to having path finding code all over the place 2011-11-28T01:48:04 I hope the forums will still have interest in discussing strategies when the submission period ends 2011-11-28T01:48:11 I'm tempted to pre-write some giant screeds to post on the day 2011-11-28T01:48:33 interest is there for a few days then dies down fast in my experience 2011-11-28T01:48:38 despite what many of us say before 2011-11-28T01:48:44 heh. well, definitely would be nice to blog that stuff afterwards 2011-11-28T01:48:54 but i kinda miss the collaborative spirit from the tron contest forums 2011-11-28T01:49:01 since then it's been kinda.. quiet. competitive. 2011-11-28T01:49:40 *** Antimony has quit IRC (Ping timeout: 244 seconds) 2011-11-28T01:49:45 the thing is there is such a broad range of competition 2011-11-28T01:50:01 when I resubmit I get interested in the 1000th, 500th place bots which are solidly set in their ranks (low sigma) 2011-11-28T01:50:15 yeah 2011-11-28T01:50:30 because what I might write as the least possible bot woudl be in the top 50 2011-11-28T01:50:32 * antimatroid likes to think he is fairly open with his general strategy ideas 2011-11-28T01:50:38 and what I did to get that far was sooo simple 2011-11-28T01:50:43 I could explain it in a paragraph 2011-11-28T01:50:47 although bits of information i calculate and use i like to keep secret 2011-11-28T01:50:59 you can see people here talking about pathfinding and whatnot and they're so close 2011-11-28T01:51:01 just one tip 2011-11-28T01:51:15 but then everything would just compress down 2011-11-28T01:51:21 if anyone asks about game trees i point them to that tron tutorial 2011-11-28T01:52:42 *** yoden has quit IRC (Ping timeout: 265 seconds) 2011-11-28T01:53:37 *** treeform has joined #aichallenge 2011-11-28T02:00:36 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal) 2011-11-28T02:01:46 antimatroid: you were talking about reusing 1 ant to gather a few food near each other? 2011-11-28T02:02:05 I just mark food near one that has an ant going to it as being gathered :P 2011-11-28T02:02:23 it's such a small thing that it makes no difference for me 2011-11-28T02:02:25 thestinger: yeah basically if an ant isn't going to battle an enemy on it's chosen path and is collecting food i will re use it 2011-11-28T02:02:50 i just update when it will be available to move at its new location 2011-11-28T02:02:55 its* 2011-11-28T02:03:28 nice, my router broke 2011-11-28T02:03:42 just get a nice 404 when I try to use the web interface 2011-11-28T02:03:58 I wanted an excuse to buy a nice router I can stick linux on so this is a good thing :) 2011-11-28T02:06:16 :p 2011-11-28T02:08:46 *** treeform_ has joined #aichallenge 2011-11-28T02:11:55 *** treeform has quit IRC (Ping timeout: 252 seconds) 2011-11-28T02:16:22 *** Jak_o_Shadows has quit IRC (Remote host closed the connection) 2011-11-28T02:32:41 http://ants.fluxid.pl/replay.1674 oh my, great ending 2011-11-28T02:33:52 speaking of great ending 2011-11-28T02:33:52 http://ants.fluxid.pl/replay.1901 2011-11-28T02:33:59 what the hell, Fluxid 2011-11-28T02:34:06 *** epicmonkey has joined #aichallenge 2011-11-28T02:42:39 *** amstan has quit IRC (Ping timeout: 248 seconds) 2011-11-28T02:48:56 I am intently studying combat mechanics 2011-11-28T02:49:01 *** sf17k_ is now known as sf17k 2011-11-28T02:49:35 my bot will win by abusing others' mistakes 2011-11-28T02:51:06 my bot doesn't make mistakes, it intends to lose to make me sad :( 2011-11-28T02:51:36 *** rajanaresh has joined #aichallenge 2011-11-28T02:51:47 http://ants.fluxid.pl/replay.1913 2011-11-28T02:51:57 so my quickly hacked together combat branch does... something 2011-11-28T02:53:21 there's a bug making it refuse to attack, fixing it atm 2011-11-28T02:54:33 a1k0n: dunno.. 2011-11-28T02:54:57 *** treeform_ has quit IRC (Remote host closed the connection) 2011-11-28T02:55:12 *** replore has quit IRC (Ping timeout: 244 seconds) 2011-11-28T02:56:19 a1k0n how goes it 2011-11-28T02:56:46 i have a question for you folks who are doing a multisource BFS for exploration 2011-11-28T02:56:59 how do you extract the path afterwards? 2011-11-28T02:57:17 My ants just follow the hill 2011-11-28T02:57:28 the enemy's hill is down :) 2011-11-28T02:58:41 so let me get this right, lets say i am using it for exploration 2011-11-28T02:58:47 i add all my ants as say sources 2011-11-28T02:58:52 ie they look at the squares around them and pick the smallest/biggest number 2011-11-28T02:59:17 hmm nm i think i know what i did wrong 2011-11-28T02:59:22 bhasker`: add the targets as sources 2011-11-28T02:59:45 which would be all unexplored nodes? 2011-11-28T03:00:04 3http://ants.fluxid.pl/replay.1917 yay, my bot can create fronts, but enemy can break them too easily... 2011-11-28T03:00:34 and use the ants as the targets for the BFS search? 2011-11-28T03:00:47 *** epicmonkey has quit IRC (Ping timeout: 248 seconds) 2011-11-28T03:00:49 i guess that makes sense, 2011-11-28T03:04:11 No, it doesn't 2011-11-28T03:05:19 targets as sources and ants as targets? 2011-11-28T03:05:23 No sense whatsoever 2011-11-28T03:08:24 *** roflmao has quit IRC (Quit: Leaving.) 2011-11-28T03:12:32 *** oinkinator has joined #aichallenge 2011-11-28T03:14:55 *** oinkinator has quit IRC (Client Quit) 2011-11-28T03:16:45 it's a pita for me to use ants as targets because some of them aren't available to move yet 2011-11-28T03:17:05 so you end up needing to continue searching until the current search path is up to the best found path 2011-11-28T03:18:28 hmm k 2011-11-28T03:30:20 *** gcflymoto has quit IRC (Ping timeout: 265 seconds) 2011-11-28T03:30:59 *** g0llum has joined #aichallenge 2011-11-28T03:31:26 *** Blkt has joined #aichallenge 2011-11-28T03:39:05 00:17 so you end up needing to continue searching until the current search path is up to the best found path 2011-11-28T03:39:08 nm 2011-11-28T03:39:16 okay got it working now, works nicely stinger 2011-11-28T03:39:24 yeah 2011-11-28T03:39:34 routes in a maze nicely too, though there are some issues where ants tend to 2011-11-28T03:39:36 oscillate 2011-11-28T03:39:45 if two paths give same number next to the ant 2011-11-28T03:40:32 and its pretty fast as an exploration mechanism since doing the whole BFS 2011-11-28T03:40:35 takes a couple of ms 2011-11-28T03:40:43 then picking moves hardly takes anytime 2011-11-28T03:41:04 i have like 4 different variations of exploration algorithms 2011-11-28T03:41:23 if this works out well then its time to focus on the combat logic 2011-11-28T03:41:29 combat has bugs:( 2011-11-28T03:42:16 *** mviel has joined #aichallenge 2011-11-28T03:43:14 ah the joys of emacs 2011-11-28T03:43:30 i am rediscovering my love for emacs since i cleaned up my .emacs and spruced it up with new stuff 2011-11-28T03:43:54 irc/edit/compile/build/test all inside emacs 2011-11-28T03:44:28 *** ikaros has joined #aichallenge 2011-11-28T03:45:08 O_o 2011-11-28T03:45:29 *** jon1 has joined #aichallenge 2011-11-28T03:47:57 *** mj41 has joined #aichallenge 2011-11-28T03:50:32 i think i should blog my .emacs just so that i don't lose it in the future 2011-11-28T03:50:39 damn thing takes a long time to get right 2011-11-28T03:51:23 *** NoxiaZ^ has joined #aichallenge 2011-11-28T03:51:49 *** HaraKiri has joined #aichallenge 2011-11-28T03:54:29 bhasker`: version control for all config files! 2011-11-28T03:55:52 yea i should put my .emacs in VC 2011-11-28T03:56:05 posted it on g+ for now! 2011-11-28T03:56:34 anyone interested http://pastebin.com/0S44jbYr 2011-11-28T03:56:53 tramp is pretty awesome except that stupid ctags lookup doesn't work well with tramp 2011-11-28T03:57:00 so can't do a find-tag on a remote file 2011-11-28T03:57:42 clang does much nicer completion than ctags 2011-11-28T03:57:55 there's a plugin for vim, not sure about emacs but I'm sure something exists 2011-11-28T03:58:14 hmm maybe i should try that 2011-11-28T03:58:19 *** sigh has joined #aichallenge 2011-11-28T03:58:41 btw stinger the multisource BFS works quite well 2011-11-28T03:58:45 now to work on the combat logic 2011-11-28T03:59:48 looks like there is a mode for emacs https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el 2011-11-28T04:00:03 http://ompldr.org/vYmhqbw 2011-11-28T04:00:24 without saving the file/generating tags or whatever 2011-11-28T04:00:31 it pipes it into clang I guess 2011-11-28T04:00:45 yea 2011-11-28T04:01:10 i am using cedet which works reasonably well 2011-11-28T04:01:13 but is kinda slow right now 2011-11-28T04:01:28 clang completion is very fast after the headers are cached 2011-11-28T04:01:32 like for standard lib stuff 2011-11-28T04:01:36 yea will try that out 2011-11-28T04:02:04 I don't notice it taking any time except when I do something like vec.p since I first opened the first 2011-11-28T04:02:15 first opened the file* 2011-11-28T04:02:25 welp, i'm introducing a1k0n_c in the hopes that it wipes the floor with other variants 2011-11-28T04:02:28 hi bhasker` 2011-11-28T04:02:56 hey andy 2011-11-28T04:03:08 my exploration AI is working but my defense and combat is broken 2011-11-28T04:03:09 http://ants.fluxid.pl/player/malazanAnt 2011-11-28T04:03:22 the bot can't defend its hill for peanuts:( 2011-11-28T04:03:32 i need to add hill defense now 2011-11-28T04:03:54 static defense or just blocking enemy ants from taking the hill? 2011-11-28T04:04:09 my bot doesn't so much defend the hill as it does kill ants 2011-11-28T04:04:13 ah 2011-11-28T04:04:27 it has very minimal awareness of hill defense 2011-11-28T04:04:29 my combat branch is basically incapable of killing ants atm due to some bug :P 2011-11-28T04:04:30 need to fix that 2011-11-28T04:04:39 http://ants.fluxid.pl/replay.1996 2011-11-28T04:05:14 I just block the paths to my hills basically 2011-11-28T04:05:32 nice defense 2011-11-28T04:05:34 using 3x the number of enemies atm because I did it when I had no combat at all :) 2011-11-28T04:05:44 this is not the hill i'm looking for 2011-11-28T04:05:49 once I finally get combat working, I'll reduce that to ~1.5x or something 2011-11-28T04:05:54 hey that works pretty well 2011-11-28T04:06:04 except it doesn't leave enough ants for offense 2011-11-28T04:06:09 yeah 2011-11-28T04:06:26 jedimindtricks is my combat branch 2011-11-28T04:06:34 once it works, I'll reduce the # of defenders used a lot 2011-11-28T04:06:42 right now I really need that many ants or I'll lose my hill 2011-11-28T04:07:04 my bots are not fighting each other on fluxid 2011-11-28T04:07:56 you probably started them at different times 2011-11-28T04:08:04 so they'll never fight each other until one gets eliminated early 2011-11-28T04:08:19 you just fight the same bots over and over xD 2011-11-28T04:08:24 i just started one up, and it happened to get matched against the other which has been running forever 2011-11-28T04:08:45 ok, time for bed 2011-11-28T04:08:49 I wonder what would happen if you would sweep hallways with vertical or horizontal rows of ants 2011-11-28T04:10:14 will just get destroyed by a similar configuration? 2011-11-28T04:10:21 and neutralized 2011-11-28T04:11:08 some of my variables really have silly names atm... 2011-11-28T04:11:17 something, longer_something, longest_something 2011-11-28T04:11:23 now I want to add something even longer 2011-11-28T04:11:28 longerestest_something? 2011-11-28T04:11:56 i would rename all of them to be 2011-11-28T04:12:03 i,ii,iii,iiii 2011-11-28T04:12:09 at least save on typing 2011-11-28T04:12:12 lol, I'll just stick them in an array 2011-11-28T04:12:39 but I've ended up with some weird names due to refactoring and merging in branches 2011-11-28T04:13:07 i am not branching at all hmm maybe i will once i have a decent working bot 2011-11-28T04:13:17 the current one is too crappy especially combat wise 2011-11-28T04:13:20 and I still haven't changed the starter bot var names 2011-11-28T04:13:32 I like the python naming conventions, even in C++ 2011-11-28T04:14:12 they should lower the game turn cutoff to like 750 on the beta server 2011-11-28T04:14:13 or something 2011-11-28T04:14:19 heck even 500 2011-11-28T04:14:21 faster games 2011-11-28T04:14:42 on the tcp server i.e 2011-11-28T04:14:51 tcp just needs lower turntime 2011-11-28T04:15:04 no that won't work 2011-11-28T04:15:05 some bots take all of the 5 seconds you get :\ 2011-11-28T04:15:10 not everyone has a good connection to the tcp 2011-11-28T04:15:14 well 2011-11-28T04:15:22 it just needs to tell them the turntime is 500ms 2011-11-28T04:16:01 it can still add 1s or whatever for network latency 2011-11-28T04:16:17 atm it just says turntime is 5s 2011-11-28T04:16:37 if I actually use 4900ms, I'll time out 2011-11-28T04:16:52 but I could be using ~4.3s per turn without timing out 2011-11-28T04:16:56 ffffffff 2011-11-28T04:17:12 antimatroid: what? :P 2011-11-28T04:17:24 i can't do simultaneous bfs with removal of targets the way i wanted 2011-11-28T04:17:57 oh wait i can 2011-11-28T04:18:01 *** b0rder has quit IRC (Quit: 离开) 2011-11-28T04:18:08 i just need to mark searched squares as unmarked again sometimes 2011-11-28T04:18:13 cause that's not gross :P 2011-11-28T04:20:16 thestinger: http://pastebin.com/Nt1QHBew 2011-11-28T04:20:57 ? 2011-11-28T04:21:10 that example is a pita to handle properly :P 2011-11-28T04:21:14 at least how i'm doing it 2011-11-28T04:21:19 *** grwip has joined #aichallenge 2011-11-28T04:21:39 so 2011-11-28T04:21:47 that was my fff :P 2011-11-28T04:21:50 is it assumed that both food are visible? 2011-11-28T04:21:54 yes 2011-11-28T04:22:24 what i do is simultaneous bfs's from all ants and remove targets when i move an ant (and stop searching from those ants moves when i pull them off the queue) 2011-11-28T04:23:00 but that means for each unmoved ant that i move i have to consider moving all other unmoved ants into it's old "move into" search locations 2011-11-28T04:23:06 otherwise you miss having a bot move into those 2011-11-28T04:23:33 but you've already marked off the second 'a' moving into the first 'a' loc in 2 moves from bfs'ing to the first location 2011-11-28T04:23:43 I keep track of directions that would bring ants closer to targets 2011-11-28T04:23:44 messyness :P 2011-11-28T04:24:00 then solve the collision mess later 2011-11-28T04:24:27 what just revert all collision moves iteratively until none remain? 2011-11-28T04:24:46 oh wait, i think i see 2011-11-28T04:24:49 i can do that 2011-11-28T04:25:15 then if a move pulled off the search queue is now a collision update the pathlength and set the search direction to 'X' 2011-11-28T04:25:16 thanks :P 2011-11-28T04:25:42 that's much less messy 2011-11-28T04:25:50 I think you came up with a completely different idea xD 2011-11-28T04:26:24 i did, i was thanking you for sparking it :P 2011-11-28T04:26:33 even if inadvertant 2011-11-28T04:26:35 *** NoxiaZ^ has quit IRC (Ping timeout: 260 seconds) 2011-11-28T04:27:06 @rankings 2011-11-28T04:27:08 thestinger: Top 10 players: xathis(90.5), FlagCapper(88.1), delineate(87.2), RVeerdonk(86.6), bix0r4ever(86.2), MomoBot(85.7), a1k0n(85.4), teapotahedron(85.2), Migi32(84.5), cumbuz(84.1) 2011-11-28T04:27:33 xathis... 2011-11-28T04:29:38 i will get him 2011-11-28T04:29:40 i will try anyway 2011-11-28T04:30:06 maybe late tomorrow my bot will get some good matches 2011-11-28T04:30:30 seriously? you're already in good matches 2011-11-28T04:30:45 that last second place certainly looks legitimate 2011-11-28T04:31:08 *** liberforce has joined #aichallenge 2011-11-28T04:34:13 janzert: matches where the skills are more tightly gruoped 2011-11-28T04:34:44 that game was partly decided by the 80th ranked bot and who he happened to be next to 2011-11-28T04:35:08 seems like when my sigma was lower before even in the high player count games the places were grouped much tighter 2011-11-28T04:36:03 might be a bit tighter, but still last 5 games have all been opponents ranked under 100 2011-11-28T04:36:04 it's less likely for "stupid" bots to upset a "smarter" bot with ants i think 2011-11-28T04:36:19 under 100 doesn't mean much 2011-11-28T04:36:41 you're not likely to get much less of a range of opponents 2011-11-28T04:36:45 lol, BenJackson you weren't around for tron were you? 2011-11-28T04:36:54 no, sadly missed that one 2011-11-28T04:37:07 opponent selection for that was random 2011-11-28T04:37:11 like, just random 2011-11-28T04:37:14 ouch 2011-11-28T04:37:31 yeah, you can thank that as part of the motivation for me to become an admin ;) 2011-11-28T04:37:46 was TrueSkill used in Tron? 2011-11-28T04:37:50 or something else 2011-11-28T04:37:51 nope 2011-11-28T04:37:56 no, just points at first 2011-11-28T04:37:57 elo in the end maybe? 2011-11-28T04:38:02 then bayeselo by the end 2011-11-28T04:39:09 planetwars was bayeselo throughout and this one trueskill since we need the multiplayer capability and bayeselo has gotten too slow for the number of participants anyway 2011-11-28T04:41:02 thestinger: drat, i don't think that makes my life simpler 2011-11-28T04:41:15 oh wait, nevermind :P 2011-11-28T04:41:42 whenever I refactor my code to make it simpler I find flaws and end up adding 150 lines of code :( 2011-11-28T04:43:50 *** NoxiaZ^ has joined #aichallenge 2011-11-28T04:46:30 *** antimatroid1 has joined #aichallenge 2011-11-28T04:46:37 *** antimatroid has quit IRC (Read error: No route to host) 2011-11-28T04:46:53 mmmm i think i have my simultaneous bfs thing going 2011-11-28T04:47:00 have others done that? 2011-11-28T04:47:36 do a bfs from each ant simultaneously with the one search queue, but allow each ant to search over where other ants search, then remove targets as you move each ant 2011-11-28T04:48:01 (and add in new searches if you want to reuse a moved ant) 2011-11-28T04:49:48 ok, gcc really needs to improve C++ template errors :\ 2011-11-28T04:51:29 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-28T04:53:54 http://ants.fluxid.pl/replay.1973 wow, i'm so proud.. 2011-11-28T04:55:47 *** Anilm3 has joined #aichallenge 2011-11-28T04:56:01 Hi guys 2011-11-28T04:56:11 Does anyone know how the rating system works? 2011-11-28T04:56:30 ranking? 2011-11-28T04:56:36 yup 2011-11-28T04:56:40 https://research.microsoft.com/en-us/projects/trueskill/details.aspx 2011-11-28T04:56:55 wow, how efficient, thanks 2011-11-28T04:56:58 https://research.microsoft.com/en-us/projects/trueskill/default.aspx <- that's a simpler overview 2011-11-28T04:57:28 great, thanks very much 2011-11-28T04:58:44 Fluxid: wow, you get a really nice spread of ants 2011-11-28T05:01:03 thestinger: i used yout idea ;P 2011-11-28T05:01:26 you could share it with me :D 2011-11-28T05:02:09 ants standing on a path make the path longer. 2011-11-28T05:02:44 what do you mean longer? 2011-11-28T05:03:03 like it increases the distance that path would take 2011-11-28T05:03:12 implementing it depends on how you do pathfinding 2011-11-28T05:03:23 I see 2011-11-28T05:03:35 thanks again! 2011-11-28T05:04:56 *** pairofdice has quit IRC (Quit: leaving) 2011-11-28T05:05:11 in my case one ant adds 0.3 to path length 2011-11-28T05:05:41 why 0.3? 2011-11-28T05:06:58 http://paste.aichallenge.org/sq8OH/ here's test of +3 2011-11-28T05:07:06 I'm doing +2 now so an ant is equally likely to move sideways when it's behind an ant 2011-11-28T05:07:13 dunno, i tested a bit and larger were too large 2011-11-28T05:07:42 but i also add near ant.. i mean, even if path goes close to ant 2011-11-28T05:08:14 under the ant it's 0.3, then 0.2 by it ant 0.1 one cell away 2011-11-28T05:08:22 *** magikmw has joined #aichallenge 2011-11-28T05:08:47 ah 2011-11-28T05:09:06 I actually added another heuristic which counters how much they spread out 2011-11-28T05:09:19 http://ants.fluxid.pl/player/strcat_flock 2011-11-28T05:09:22 that's what this does 2011-11-28T05:09:34 it prefers moving to a tile with more allies in attack range when there are two with the same distance 2011-11-28T05:10:06 good morning everyone 2011-11-28T05:10:14 hi 2011-11-28T05:10:33 it screws up combat though because they block each other 2011-11-28T05:10:46 luckily my master branch doesn't really do combat yet... 2011-11-28T05:14:12 http://ants.fluxid.pl/replay.2039 M produced lots of ants but it probably has problem with pathfinding and collides own ants.. 2011-11-28T05:18:03 bots with single letter names are scary 2011-11-28T05:18:10 http://ants.fluxid.pl/replay.2028 goddamn, he timeouted and spawnkills my ants... 2011-11-28T05:18:26 lol, nice 2011-11-28T05:18:53 thestinger: you accidentally made my path finding code MUCH nicer :) 2011-11-28T05:19:09 also lol, thestinger cool branch name 2011-11-28T05:19:14 jedimindtricks, haha 2011-11-28T05:19:46 I've run out of sane names :) 2011-11-28T05:20:19 I seriously have combat, predict, battles, battle_combat, payoff, etc. as branches 2011-11-28T05:20:25 most just change 2-3 lines 2011-11-28T05:20:52 jedimindtricks seemed like a good name for testing a bunch of random crap :) 2011-11-28T05:21:03 http://ants.fluxid.pl/replay.2000 i seriusly need to make my bot more aggresive... 2011-11-28T05:21:12 I give mine alphanumeric codes 2011-11-28T05:21:38 sometimes they mean something, sometimes they're just one higher than the previous version 2011-11-28T05:22:07 well, I name my tcp bots after my git branches 2011-11-28T05:22:14 I actually have a branch called jedimindtricks atm xD 2011-11-28T05:22:25 just couldn't think of another name for a new attempt at combat 2011-11-28T05:24:49 doubleplusgoodcombat? 2011-11-28T05:24:59 *** blueprints has quit IRC (Quit: leaving) 2011-11-28T05:25:10 I have one major complaint. I don't know how to code stuff, I wish this contest would pop up somewhere around halfway next year so I could actually compete :f 2011-11-28T05:25:25 magikmw: this is the third contest :) 2011-11-28T05:25:28 there ought to be more 2011-11-28T05:26:42 I know. It's just that's the ants are awesome :p 2011-11-28T05:27:36 Right now I've finished the tutorial and my bots times out most of the time. I want to optimize it, but I have no real clue how. I know what pathfiding I want to do, still no idea how to implement it, frustrating :p 2011-11-28T05:27:55 which language are you using? 2011-11-28T05:28:05 the simplest pathfinding you can do is with breadth first search 2011-11-28T05:28:18 you can literally just do that with a search queue 2011-11-28T05:29:30 python 2011-11-28T05:29:57 yuk :P 2011-11-28T05:30:08 I know. I lack elementary knowledge however, and don't have much time to catch up. 2011-11-28T05:30:32 that's fine, we tried to make it so that the game would be good for beginners like yourself 2011-11-28T05:30:46 you may not be able to compete at the top but you should be able to have fun while learning a lot 2011-11-28T05:31:02 Oh it is good. I think I just need to sit and focus on this stuff. 2011-11-28T05:31:02 we aim for simplicity for beginners and depth for advanced programmers 2011-11-28T05:31:32 I tend to aim higher than I can reach, and get frustrated in the process. 2011-11-28T05:32:00 so do i, at least that way you can be somewhat satisfied with the outcome when you don't quite meet your expectations 2011-11-28T05:32:19 Right :] 2011-11-28T05:33:47 I learned a lot of OpenGL doing Ludum Dare 2011-11-28T05:34:09 I see that the main problem is timeouts, right now I'm using the tutorial suggested dictionaries for everything, but I know there are better ways of doing it. Also, cutting off not needed information would be a good thing if only the cutting wouldn't take up more time then it could save. 2011-11-28T05:34:18 This is all so complicated :p 2011-11-28T05:34:23 *** Anilm3 has quit IRC (Quit: leaving) 2011-11-28T05:34:29 the 48 hour limit on finishing a game gave me motivation to try 2011-11-28T05:34:36 http://ants.fluxid.pl/replay.2078 I died really early in this one but one of my ants got a sneaky kill :) 2011-11-28T05:35:27 magikmw: i can't imagine the tutorial stuff if done right leads the bot to timeout? 2011-11-28T05:35:53 thestinger: your pack of ants got busted really quickly... 2011-11-28T05:36:08 extermination 2011-11-28T05:36:19 yep 2011-11-28T05:36:21 collision bugs 2011-11-28T05:36:24 oh wait 2011-11-28T05:36:34 no, i was looking at ventipede 2011-11-28T05:36:46 players should have constant colours... 2011-11-28T05:36:47 I find it funny that the starting bot won more games then this timeout machine I have now. 2011-11-28T05:36:56 antimatroid1: Yup, that's it. 2011-11-28T05:37:17 I have no timeleft checks too, but that's not going to help in a long run. 2011-11-28T05:37:33 ahhh collision bugs again :( 2011-11-28T05:37:34 If I can move 2 ants before breaking that's not a real play :p 2011-11-28T05:37:36 stupid new combat code 2011-11-28T05:37:38 magikmw: the c++ starter bot is way more awesome :D 2011-11-28T05:37:47 *** NoxiaZ^ has quit IRC (Ping timeout: 244 seconds) 2011-11-28T05:37:49 antimatroid1: except for the BFS search for visibility :) 2011-11-28T05:37:57 thestinger: shhh you :P 2011-11-28T05:38:03 how do you do vision? 2011-11-28T05:38:07 I just copied the code from the java starter 2011-11-28T05:38:17 so, I make a vector of attack offsets 2011-11-28T05:38:20 i just calculate translation values for the view radius in turn 0 and stamp each ant locations visibility 2011-11-28T05:38:22 well 2011-11-28T05:38:29 Well, I saw a python+numpy starter bot on the forums that seems to do some stuff faster/better, I might look into that. 2011-11-28T05:38:37 antimatroid1: yeah, it does that 2011-11-28T05:38:50 I'm not really interested in learing 3 languages at one time, so I'll stick with python. 2011-11-28T05:38:54 but I also do it for attackradius, attackradius+1, attackradius+2 for enemies/allies 2011-11-28T05:39:03 i have another function to bomb vision information with water infomation blocking when collecting unseen squares 2011-11-28T05:39:15 i don't like your attackRadius+1/2 stuff :P 2011-11-28T05:39:21 neither do I 2011-11-28T05:39:29 you ignore that a..%b can't land in a battle 2011-11-28T05:39:52 yeah, that's a problem 2011-11-28T05:39:52 or a%..b 2011-11-28T05:40:04 i found it's worth noting both those instances when working out how to partition them 2011-11-28T05:40:44 ie. you can't just search in the battle radius off movable locations of a or (but not both) b 2011-11-28T05:41:08 http://aichallenge.org/visualizer.php?game=138648&user=12500 2011-11-28T05:41:29 Huh, if I had some pathfinding I would dominate this game :p 2011-11-28T05:42:14 thestinger: what i do is mark which locations an ant can move in then for each ant i add to a battle partition i add the enemies it could find in the attack radius of each of its neighbours 2011-11-28T05:42:15 http://ants.fluxid.pl/replay.2072 i got into a crossfire :( 2011-11-28T05:42:21 possibly not exactly like that, but equivalently to that 2011-11-28T05:42:53 Fluxid: ouch 2011-11-28T05:43:16 of course it's not a battle partition unless it ends up containing friendly ants and enemy ants, so i make the parititon starting with each unused friendly ant and make moves if there are enemies in the partition 2011-11-28T05:43:41 Fluxid: my ants intentionally helped red kill you 2011-11-28T05:44:05 enemies killing other enemies counts as score++ for some reason... 2011-11-28T05:44:29 if(enemy == Fluxid) zorg_rush(Fluxid); 2011-11-28T05:44:37 so I think my ants sacrificed themselves to help red 2011-11-28T05:45:21 I think I should just implement writing HL GF with ants first. 2011-11-28T05:45:32 *GL HF :p 2011-11-28T05:45:38 GL HF? 2011-11-28T05:45:55 good luck 2011-11-28T05:45:57 have fun 2011-11-28T05:46:14 someone did GG early on 2011-11-28T05:46:17 FlashM already writes GG 2011-11-28T05:46:22 for good game if they were clearly going to win 2011-11-28T05:46:24 must have been him 2011-11-28T05:46:31 haha awesome 2011-11-28T05:46:49 does it still do it if it wasn't a good game? :P 2011-11-28T05:47:00 or just he reserve it for when someone challenged him but he beat them 2011-11-28T05:47:03 that would be coolest 2011-11-28T05:49:02 Meh when I play online pvp I always say GG 2011-11-28T05:49:06 _jedimindtricks should half work now... 2011-11-28T05:49:12 Unless people are jerks ;] 2011-11-28T05:50:22 meh, I added 600 lines of code today 2011-11-28T05:51:34 *** thestinger has quit IRC (Quit: ooo linux 3.1.3) 2011-11-28T05:52:11 GG in action http://aichallenge.org/visualizer.php?game=136374&user=986 2011-11-28T05:58:27 i'm going to delete a whole bunch of code soon 2011-11-28T05:59:12 *** AntDroid_ has quit IRC (Ping timeout: 265 seconds) 2011-11-28T06:00:42 *** ikaros has joined #aichallenge 2011-11-28T06:03:11 *** thestinger has joined #aichallenge 2011-11-28T06:04:08 *** rajanaresh has quit IRC (Ping timeout: 244 seconds) 2011-11-28T06:08:46 *** armin has joined #aichallenge 2011-11-28T06:13:12 *** raemde_ is now known as raemde 2011-11-28T06:21:33 *** raemde has quit IRC (Read error: Connection reset by peer) 2011-11-28T06:23:35 if your ant dies, does it still see the enemy ants in the turn where it died? 2011-11-28T06:23:55 i.e. is it 1) battle 2) vision, or the reverse? 2011-11-28T06:25:17 I think it's just 1) ants spawn -> you get turn info -> 2) ants move 3) battle 4) end of turn 2011-11-28T06:27:36 Garf: no 2011-11-28T06:27:50 you don't even get told if one of your ants dies if it's outside view of your currently live ants 2011-11-28T06:28:37 although you can check that by seeing if you expected an ant to exist somewhere and it's no longer in view of the ants you were told are alive 2011-11-28T06:29:12 an ant can see itself, so I can check if anything is at the location it was ordered to 2011-11-28T06:31:19 however, in a 1-1 ant battle, an ant can't post-facto see that it also killed the opponent 2011-11-28T06:31:41 you do get dead ant info 2011-11-28T06:31:50 ants that died in the last turn in tiles you can see 2011-11-28T06:32:13 in a 1-1 battle, there might not be neighbouring ants that can see the dead one 2011-11-28T06:32:39 http://ants.fluxid.pl/replay.2084 holy fuck 2011-11-28T06:33:02 so many ants 2011-11-28T06:33:38 oh... found the collision bug 2011-11-28T06:33:43 really stupid mistake... 2011-11-28T06:37:14 that was probably able to cause a crash too 2011-11-28T06:39:03 *** TheLinker has joined #aichallenge 2011-11-28T06:47:27 *** TheLinker has quit IRC (Ping timeout: 248 seconds) 2011-11-28T06:50:25 *** olexs has joined #aichallenge 2011-11-28T06:59:13 *** TheLinker has joined #aichallenge 2011-11-28T07:06:07 *** AntDroid has joined #aichallenge 2011-11-28T07:09:29 *** sf17k has quit IRC (Quit: Page closed) 2011-11-28T07:10:20 *** armin has quit IRC (Quit: Page closed) 2011-11-28T07:11:34 *** NotABug has joined #aichallenge 2011-11-28T07:19:46 *** NotABug has quit IRC (Quit: Page closed) 2011-11-28T07:21:26 *** brill has joined #aichallenge 2011-11-28T07:25:28 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-28T07:25:30 *** replore_ has joined #aichallenge 2011-11-28T07:33:12 *** brill has quit IRC (Quit: Page closed) 2011-11-28T07:47:02 the ants not razing hills cutoff is pretty annoyinhg 2011-11-28T07:47:35 http://ants.fluxid.pl/replay.2234 :\ 2011-11-28T07:48:47 it didn't change anything in that game... purple would get 2 more points and still win if allowed to continue 2011-11-28T07:48:56 so close... 2011-11-28T07:51:06 *** ikaros has joined #aichallenge 2011-11-28T07:54:23 *** delt0r_ has quit IRC (Ping timeout: 252 seconds) 2011-11-28T07:55:24 my bot managed to raze 2 hills despite having its own hill down early. :) 2011-11-28T08:06:40 *** delt0r_ has joined #aichallenge 2011-11-28T08:08:16 Replay or it didn't happen :o 2011-11-28T08:11:16 *** Antvolution has joined #aichallenge 2011-11-28T08:18:17 magikmw: look at the link posted by thestinger 2011-11-28T08:26:21 *** NoxiaZ^ has joined #aichallenge 2011-11-28T08:28:29 *** Antvolution1 has joined #aichallenge 2011-11-28T08:30:04 *** Antvolution has quit IRC (Ping timeout: 245 seconds) 2011-11-28T08:30:59 *** raemde has joined #aichallenge 2011-11-28T08:31:15 *** Antvolution1 has quit IRC (Client Quit) 2011-11-28T08:35:11 *** TheLinker has quit IRC (Ping timeout: 248 seconds) 2011-11-28T08:35:15 *** raemde_ has joined #aichallenge 2011-11-28T08:38:35 *** raemde has quit IRC (Ping timeout: 252 seconds) 2011-11-28T08:39:14 https://en.wikipedia.org/wiki/Unusual_software_bug#Heisenbug 2011-11-28T08:40:52 *** Antvolution has joined #aichallenge 2011-11-28T08:41:38 right... I need an efficient algorithm that would give me all pixels along the border of my ants' vision 2011-11-28T08:44:33 since nothing better comes to mind, I think another application for the allmighty bfs 2011-11-28T08:50:19 *** u_ has joined #aichallenge 2011-11-28T08:50:32 olexs: do what the java/python bots use for marking visibility 2011-11-28T08:50:55 they precalculate transformations on turn 0 2011-11-28T08:51:03 *** u__ has joined #aichallenge 2011-11-28T08:51:11 then just check the offset locations from somewhere 2011-11-28T08:51:23 thestinger: isn't that bfs too? at least my bot is very loosely based on an old java starter, and I use bfs for visibility 2011-11-28T08:51:50 well, the old starter packages used a crappier way of doing it 2011-11-28T08:52:06 the C++ one still uses a BFS for visibility 2011-11-28T08:53:05 the vis check takes about 1ms average when playing on tcp from my machine, I'd consider that fast enough 2011-11-28T08:53:09 https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/java/Ants.java#L80 2011-11-28T08:53:21 olexs: with how many ants? 2011-11-28T08:53:26 how long does it take with 300? 2011-11-28T08:53:29 thestinger: average over all searches 2011-11-28T08:53:41 would not matter much, it's still just one search used 2011-11-28T08:54:34 the average I just took from a game log, at the end I had 138 ants... 2011-11-28T08:54:38 *** u_ has quit IRC (Ping timeout: 255 seconds) 2011-11-28T08:54:38 *** u__ is now known as u_ 2011-11-28T08:55:04 what's the highest time it took tho 2011-11-28T08:55:17 for that I'll need to modify the logger :) 2011-11-28T08:55:21 it starts off fast but it scales with the number of ants 2011-11-28T08:55:36 wait, no, i dont 2011-11-28T08:55:38 O(n) I guess 2011-11-28T08:55:43 last turn was 2,4 ms 2011-11-28T08:56:01 that's a lot :P 2011-11-28T08:56:31 *** smiley1983 has joined #aichallenge 2011-11-28T08:56:44 that's nothing compared to what battle simulations take :) 2011-11-28T08:57:12 do you use a BFS to find nearby ants for the battle sims? 2011-11-28T08:57:27 yes, but that's not the slow part 2011-11-28T08:57:53 slow part is the game tree getting built and evaluated 2011-11-28T08:58:42 still, in 500ms on my machine, avg search depth is 7 to 10 plies from game to game, which I'm rather happy with 2011-11-28T09:00:57 how can you look that far ahead? what about ants you can't see moving into combat? 2011-11-28T09:02:11 those are currently ignored. but it works rather well, I think 2011-11-28T09:03:02 *** rcijvat has joined #aichallenge 2011-11-28T09:07:43 *** bugnuts2 has quit IRC (Ping timeout: 248 seconds) 2011-11-28T09:08:47 *** ChrisH_ has joined #aichallenge 2011-11-28T09:11:14 *** Akranis has joined #aichallenge 2011-11-28T09:12:14 Hello all! Does anyone has an idea why I receive "raise SandboxError('Failed to start {0}'.format(shell_command))\nsandbox.SandboxError: Failed to start ['%1']\n" in the .replay file? 2011-11-28T09:12:28 *** NightExcessive has joined #aichallenge 2011-11-28T09:18:20 *** AntDroid has quit IRC (Ping timeout: 265 seconds) 2011-11-28T09:19:16 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-11-28T09:28:10 rcijvat, the engine did not find the path to your bot. try an absoute path 2011-11-28T09:28:58 *** mviel_ has joined #aichallenge 2011-11-28T09:31:26 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-28T09:31:52 *** sigh has quit IRC (Remote host closed the connection) 2011-11-28T09:32:13 *** mviel has quit IRC (Ping timeout: 240 seconds) 2011-11-28T09:34:37 *** Areks has quit IRC (Ping timeout: 240 seconds) 2011-11-28T09:42:38 *** Antimony has joined #aichallenge 2011-11-28T09:42:44 *** avdg has joined #aichallenge 2011-11-28T09:49:16 Horaay! #71! I'm finally in the top 100 2011-11-28T09:53:11 *** jstrong has joined #aichallenge 2011-11-28T09:56:17 *** Antimony has quit IRC (Ping timeout: 255 seconds) 2011-11-28T10:00:10 *** Antvolution has left #aichallenge 2011-11-28T10:01:23 *** smiley1983 has quit IRC (Read error: Operation timed out) 2011-11-28T10:02:45 *** g0llum has joined #aichallenge 2011-11-28T10:03:27 *** smiley1983 has joined #aichallenge 2011-11-28T10:08:25 *** Antimony has joined #aichallenge 2011-11-28T10:10:03 *** rcijvat has quit IRC (Quit: Page closed) 2011-11-28T10:17:33 damit with work going so poorly right now, i can't see me getting my bot finished! 2011-11-28T10:21:28 i'm 23rd 6 days after submission 2011-11-28T10:25:06 nice 2011-11-28T10:27:25 *** og01 has quit IRC (Remote host closed the connection) 2011-11-28T10:30:02 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-28T10:37:31 *** jstrong is now known as roflmao 2011-11-28T10:40:42 Fluxid: I turned 23 in september, just ahead of you :P 2011-11-28T10:43:27 *** dom7b5 has quit IRC (Quit: Ex-Chat) 2011-11-28T10:50:04 *** olexs1 has joined #aichallenge 2011-11-28T10:51:08 *** olexs has quit IRC (Ping timeout: 252 seconds) 2011-11-28T10:54:12 *** GeorgeJ has quit IRC (Read error: Connection reset by peer) 2011-11-28T10:55:09 *** GeorgeJ has joined #aichallenge 2011-11-28T10:55:09 *** GeorgeJ has joined #aichallenge 2011-11-28T11:03:36 omgwtf 2011-11-28T11:03:47 i have a billion timeouts 2011-11-28T11:06:19 *** Ruuhkis has joined #aichallenge 2011-11-28T11:06:24 Is it true that each team can control 1 hill at a time? 2011-11-28T11:07:15 you can have more than one hill 2011-11-28T11:07:29 Ruuhkis, question unclear 2011-11-28T11:07:56 so its possible to have more than 1 hill? 2011-11-28T11:08:10 the question was if we can have more than 1 hill in game 2011-11-28T11:08:11 at once 2011-11-28T11:09:00 yes, some maps start each player with serveral hills 2011-11-28T11:09:02 some maps will let you start with more than one, but you can only loose them not gain another 2011-11-28T11:09:21 *** NightExcessive has quit IRC (Remote host closed the connection) 2011-11-28T11:09:54 oh dear, then I am facing a problem :( 2011-11-28T11:10:42 *** ikaros has joined #aichallenge 2011-11-28T11:10:52 3 weeks to solve it 2011-11-28T11:11:46 LOL 2011-11-28T11:11:48 challenge accepted 2011-11-28T11:12:06 I wish i joined inb4 :3 2011-11-28T11:12:38 not that I am even thinking of winning but this is a lot of fun 2011-11-28T11:13:33 ruuhkis 2011-11-28T11:13:35 where are you at? 2011-11-28T11:13:47 and what language are you using 2011-11-28T11:14:51 I am using Java and I am trying to make my ants make wiser moves.. WBU? :) 2011-11-28T11:15:45 java 2011-11-28T11:15:54 working on a better foraging system as well as combat (well not right this sec) 2011-11-28T11:16:17 do you have basic exploration food grabbing and hill razing done yet? 2011-11-28T11:16:42 well, i've made my ants getting interested in stuff and they're just going wheres the most interesting things are 2011-11-28T11:17:11 I am also going to make it hybrid with pathfinding, giving each interesting piece a center so it wont miss the foods its close to 2011-11-28T11:17:26 but now i have to make my ants explore wider.. :D 2011-11-28T11:18:14 Ruuhkis, just dare to submit, just for the fun of letting ~6000 bots behind you 2011-11-28T11:18:23 yeah submit dude 2011-11-28T11:18:25 you can always resubmit 2011-11-28T11:18:28 also -- are you familiar with tcp? 2011-11-28T11:18:50 I am familiar with TCP but not with the TCP server used to test bots :D 2011-11-28T11:18:56 ah 2011-11-28T11:18:57 use it 2011-11-28T11:18:59 ants.fluxid.pl 2011-11-28T11:19:11 ants are way harder there but you really wont get good unless you can try out your bot against harder ones 2011-11-28T11:19:15 and have a decent stream of game 2011-11-28T11:19:28 the starter pack hunterbots and leftybot are practically useless for any sort of serious testing 2011-11-28T11:19:36 I'd like first beat the example bots ;) 2011-11-28T11:19:40 also, you are familiar with the --scenario flag, right? 2011-11-28T11:19:46 that greedy rusher is pwning me 2011-11-28T11:19:54 uh 2011-11-28T11:19:58 that's bad ;) 2011-11-28T11:20:20 I know, I know, I am making my ants defense base after i got into it 2011-11-28T11:20:22 wont be static, dont worry 2011-11-28T11:20:54 Ruuhkis, attack is the better defense 2011-11-28T11:21:00 HoldBot is great for testing exploration :) 2011-11-28T11:22:04 oh 2011-11-28T11:22:15 I'll try it :3 wanna give tips with exploring 2011-11-28T11:22:23 sure 2011-11-28T11:22:31 a basic exploration function is using a bfs map from all unseen tiles 2011-11-28T11:22:36 should i add just northest, eastest... visited tile as variable and go thru nearest farrest visited tile :D 2011-11-28T11:23:04 my bot is so far trying to go most unvisited tile next to it 2011-11-28T11:23:11 *** dom7b5 has joined #aichallenge 2011-11-28T11:23:20 yeah 2011-11-28T11:23:29 but with the tutorial map its still staying on its own side 2011-11-28T11:23:37 well 2011-11-28T11:23:39 make it unseen tile 2011-11-28T11:23:49 you can later on add tiles that you haven't visited in quite a while 2011-11-28T11:24:00 Wow, my bot has been elimnated with a score of 0 in ten consecutive tcp games now 2011-11-28T11:24:05 but you want to explore the map -- in other words reduce the number of unseen tiles 2011-11-28T11:24:30 so bfs moving to unseen tiles is a good first way to accomplishing uit 2011-11-28T11:24:47 it doesn't really "spread" out your ants sufficiently (they all go after the same unseen tiles it appears) 2011-11-28T11:24:51 but you can hack/fix that 2011-11-28T11:25:10 oh, i see 2011-11-28T11:25:16 so i make explorers go towars unseen tiles :3 2011-11-28T11:25:23 yeah that's a good starting point 2011-11-28T11:25:33 that should be good enough for quite a bit until you get some of the other stuff up 2011-11-28T11:25:42 you do have a bfs function right? 2011-11-28T11:26:03 I am only familiar with a* but I know bfs wud be much better in this case 2011-11-28T11:27:13 *** JorgeB has quit IRC (Ping timeout: 244 seconds) 2011-11-28T11:27:33 Wtf! MY ants are braindeadhttp://ants.fluxid.pl/replay.2533 2011-11-28T11:27:35 bfs is basically a* with like 3 differences 2011-11-28T11:27:41 They don't collect food 2011-11-28T11:27:48 1. the open set is sorted by first-in-first-out not a heuristic 2011-11-28T11:28:06 2. there is no heuristic for the cost at all, just the g_score 2011-11-28T11:28:25 3. you don't terminate the bfs once you get your target, it is exhaustive, so you let it run until the open_set is completely dry 2011-11-28T11:28:51 antimony: why did you skip the food? 2011-11-28T11:29:01 I don't know! 2011-11-28T11:29:15 :P 2011-11-28T11:29:52 So I could also use a*? :) 2011-11-28T11:29:56 I really like it lol 2011-11-28T11:30:23 Ruuhkis, it depends what you are aiming at. bfs can be used for multiple targets/sources 2011-11-28T11:31:16 oh, so if I had a squad attacking.. :) 2011-11-28T11:31:16 Ruuhkis: err well you can "use" it but yeah as ikaros says, it depends on what you're doing 2011-11-28T11:31:28 if you're looking for GENERAL pathfinding that all your ants use, a* is way worse than BFS 2011-11-28T11:31:42 if you want a single ant go to a specific tile a* would probably be better 2011-11-28T11:31:43 because a* is strictly one to one 2011-11-28T11:31:44 yeah 2011-11-28T11:31:54 but for moving all hundreds of your ants towards enemy hills, unseen tiles, food, etc 2011-11-28T11:31:59 bfs is better 2011-11-28T11:32:07 a* is a 1 on 1 only, while bfs can bbe a 1 on many 2011-11-28T11:32:12 but so far i use bfs for everything and i dont have speed issues 2011-11-28T11:32:16 *** rwest has joined #aichallenge 2011-11-28T11:32:25 bfs can be many to many as well 2011-11-28T11:32:31 ;) 2011-11-28T11:32:33 Thanks :P I need to find good source to get in bfs 2011-11-28T11:32:46 wikipedia 2011-11-28T11:32:49 its dead simple 2011-11-28T11:33:04 breath first search is dead easy... 2011-11-28T11:33:08 http://en.wikipedia.org/wiki/Breadth-first_search 2011-11-28T11:33:39 one of the first things i teach students... depth first, breath first... recursion and turning recursion into a loop 2011-11-28T11:33:41 yeah, take a long deep breath first.. 2011-11-28T11:34:45 its kind of ironic how many people are more familiar with a* than bfs 2011-11-28T11:34:56 since a* is really just a bfs spinoff that's ctually more complicated 2011-11-28T11:35:21 roflmao I figured out the problem 2011-11-28T11:35:26 yeah> 2011-11-28T11:35:27 ? 2011-11-28T11:35:37 I set it to prefer hills over food when the turn is high 2011-11-28T11:35:46 but I accidently used maxturns instead of current turn 2011-11-28T11:35:53 so it always prefers hills 2011-11-28T11:35:53 oh lol 2011-11-28T11:35:56 dude 2011-11-28T11:36:04 that fix right there is going to really make a huge difference 2011-11-28T11:36:13 IT only goes to food if the closest hill is more than 37 away 2011-11-28T11:36:42 :)) 2011-11-28T11:37:12 each time i change my bot i seem to make it worse 2011-11-28T11:37:16 i used to be able to win games 2011-11-28T11:37:21 now my bot just sucks overall 2011-11-28T11:37:37 Wow, such a stupid mistake. Using state.turns instead of state.turn 2011-11-28T11:38:07 easy to make 2011-11-28T11:38:43 ok time to test the fixed version 2011-11-28T11:38:51 :D 2011-11-28T11:39:07 one more reason to call it max_turns :) 2011-11-28T11:39:14 *** Conorach has joined #aichallenge 2011-11-28T11:40:07 I should rename it 2011-11-28T11:40:10 good idea 2011-11-28T11:41:02 am I the only one here that uses 0 pathfinding? 2011-11-28T11:41:16 roflmao, xathis will side you there 2011-11-28T11:41:26 *** JorgeB has joined #aichallenge 2011-11-28T11:41:29 what do you mean? 2011-11-28T11:41:39 refuctoring 2011-11-28T11:41:42 oh lol 2011-11-28T11:41:49 i like that term 2011-11-28T11:42:12 i know why, but it's an instinct that's not controllable 2011-11-28T11:42:13 we've all been to reddit, today 2011-11-28T11:42:19 yeah? 2011-11-28T11:42:24 Well, I don't do any pathfinding from ants to targets 2011-11-28T11:42:31 I pathfind from targets to ants 2011-11-28T11:42:37 hmm 2011-11-28T11:42:37 HMM 2011-11-28T11:42:45 it's much more efficient 2011-11-28T11:42:49 I do both 2011-11-28T11:42:54 I do neither 2011-11-28T11:43:05 I read that thread on diffusion 2011-11-28T11:43:17 rwest, instead ? 2011-11-28T11:43:21 is there better pseudocode example around than on wikipedia? 2011-11-28T11:43:44 g0llum: I score the map, and just move each ant to the highest scoring tile adjacent them 2011-11-28T11:43:53 that's pathfinding 2011-11-28T11:43:56 :P 2011-11-28T11:44:00 just a bfs style pathfinding 2011-11-28T11:44:06 yea 2011-11-28T11:44:14 we pretty much all do it that way afaik 2011-11-28T11:44:52 g0llum: my theory is that this game works on an emergent order 2011-11-28T11:44:56 rwest, I do the same but i do it just around interesting things :o 2011-11-28T11:45:09 g0llum: the reason most changes you make fuctor your bot is because you're adding complexity to it 2011-11-28T11:45:10 *conspiracy* 2011-11-28T11:45:15 Ruuhkis: yes, I score objects on the map, then diffuse the values 2011-11-28T11:45:41 g0llum: the extra complexity sounds good on paper, but your theory doesn't consider the dozens of extra variables you're not aware of that happen in the real battle 2011-11-28T11:45:47 Ruuhkis: no need to figure out how to get to the goal 2011-11-28T11:45:58 g0llum: the more complexity added, the more places your ant can break at and the more "special cases" required 2011-11-28T11:46:08 roflmao, i'm a victim to that, too. 2011-11-28T11:46:15 rwest right, but I am stuck on exploring the map.. :D 2011-11-28T11:46:17 that's why some of the top bots have a dead simple system but they just got the right one 2011-11-28T11:46:43 what would be the best way to find closest unseen tile direction? just loop till find? 2011-11-28T11:46:48 Ruuhkis: I think I have figured that out, I keep a separate scoring for explore 2011-11-28T11:46:58 Ruukhis: BFS-map is the best way:) 2011-11-28T11:47:01 and I increment that map all unseen tiles per turn 2011-11-28T11:47:06 and if tile is visible 2011-11-28T11:47:07 I 0 it 2011-11-28T11:47:13 then I use that as a multiplier 2011-11-28T11:47:20 to score the tiles for exploration 2011-11-28T11:47:30 interesting way of doing it rwest 2011-11-28T11:47:32 does it work> 2011-11-28T11:47:40 so tiles I haven't seen in a long time are scored higher 2011-11-28T11:48:15 roflmao: http://tcpants.com/replay.9835 2011-11-28T11:48:21 rossxwest is me 2011-11-28T11:48:27 and yes he still beats me every game 2011-11-28T11:48:28 hah 2011-11-28T11:48:39 :) idea 2011-11-28T11:48:47 why don't you have a min cap on the multipleir 2011-11-28T11:48:52 so your ants dont go in circles 2011-11-28T11:48:59 or do that jittery back and forth move 2011-11-28T11:49:10 only consider the multiplier if the last seen turn is above a certain threshold 2011-11-28T11:49:13 say -- 10 turns 2011-11-28T11:49:19 *** iglo has joined #aichallenge 2011-11-28T11:49:35 might work 2011-11-28T11:49:40 roflmao: I am still working the kinks out :) 2011-11-28T11:49:44 kk :D 2011-11-28T11:50:03 the jitteryness around the hole is a product of me not wanting too lil ants in the area 2011-11-28T11:50:08 they move away 2011-11-28T11:50:20 ah 2011-11-28T11:50:22 and the hill gets a high score so they stay in the area 2011-11-28T11:50:31 *** Antimony_ has joined #aichallenge 2011-11-28T11:50:42 I was having lots of abandoned hill issues 2011-11-28T11:51:05 now I tend to not get eliminated 2011-11-28T11:51:23 early at least 2011-11-28T11:51:38 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-28T11:51:42 *** Antimony_ is now known as Antimony 2011-11-28T11:52:28 anyone uses pathfinding? 2011-11-28T11:52:28 right 2011-11-28T11:52:36 try a dynamic system 2011-11-28T11:52:37 Ug I hate search replace when I can't see what I'm actually replacing 2011-11-28T11:52:50 keep ants near your hill ONLY if enemy ants are near it too 2011-11-28T11:53:01 I get time out too fast 2011-11-28T11:53:03 i try to keep 1.5 times of allies the number of enemy ants near my hill 2011-11-28T11:53:19 roflmao: I have that in too 2011-11-28T11:53:19 so if enemy ant is approaching 2011-11-28T11:53:22 ah okay 2011-11-28T11:53:22 ok caching my bfs maps doubled speed for high ant population 2011-11-28T11:53:47 roflmao, srry, forgot your bot's name ? 2011-11-28T11:53:55 roflmao: I may get a few more variables in and throw it through JGAP to get proper weights 2011-11-28T11:54:11 g0llum: I'm the one with all the names of famous people 2011-11-28T11:54:24 ;) of course ! 2011-11-28T11:54:26 right now my last bot is horribly horribly horribly broken 2011-11-28T11:54:35 my combat code makes my combat way worse 2011-11-28T11:54:35 http://ants.fluxid.pl/replay.400 2011-11-28T11:54:40 i'm jeffrey in that replay 2011-11-28T11:54:45 that was why i rewrote everything from scratch :) 2011-11-28T11:54:49 but as I said it's horribly broken atm 2011-11-28T11:54:56 so it's not really a true indicator of the strength of my bot 2011-11-28T11:54:57 soon it will pay 2011-11-28T11:54:57 :P 2011-11-28T11:55:36 I'm in the process of implementing a much more sane system 2011-11-28T11:55:48 still haven't come up with a name for the new saner bot though xD 2011-11-28T11:56:08 roflmao, nice thing about it, - we're pretty close ! 2011-11-28T11:56:17 what do you mean 2011-11-28T11:56:24 ranks 2011-11-28T11:56:35 ah :) 2011-11-28T11:56:50 i'm hoping to jump to at least rank 45 with my new way better WAY better combat code 2011-11-28T11:56:53 once I finishit 2011-11-28T11:57:00 basically my current combat code is worse than no combat 2011-11-28T11:59:25 *** Antimony has quit IRC (Ping timeout: 240 seconds) 2011-11-28T11:59:40 *** Antimony has joined #aichallenge 2011-11-28T12:00:05 *** McLeopold has joined #aichallenge 2011-11-28T12:00:25 *** seletskiy has quit IRC (Ping timeout: 260 seconds) 2011-11-28T12:02:13 *** seletskiy has joined #aichallenge 2011-11-28T12:03:28 roflmao: thats better than my, I don't have it at all 2011-11-28T12:04:14 Ruuhkis, again be more daring.. a bloody nose heals fast 2011-11-28T12:11:38 *** mma has joined #aichallenge 2011-11-28T12:12:04 it's a contest ! you 'll want to be hilarious on wins, and *sportive* on loss 2011-11-28T12:12:39 okay... I have a border line, continuous and limited, as a set of tiles. how do I efficiently determine the "middle" one? :) 2011-11-28T12:14:43 basically I'd need to sort them along the line and then take the median... hm 2011-11-28T12:15:31 gravitational vs geometrical centroid 2011-11-28T12:16:25 *** Fandekasp has quit IRC (Quit: Lost terminal) 2011-11-28T12:17:35 g0llum: not really, if the line is curved, the centroid would be in the center, but i need it to be on the line 2011-11-28T12:17:59 *** jhawthorn has quit IRC (Ping timeout: 245 seconds) 2011-11-28T12:18:02 k. 2011-11-28T12:18:22 I think I figured out how to build the border as an ordered list initially, if that works then it's trivial 2011-11-28T12:19:27 *** liberforce has left #aichallenge 2011-11-28T12:20:00 hmm 2011-11-28T12:20:08 how to fix timeouts? 2011-11-28T12:20:36 exit even earlier? 2011-11-28T12:20:56 hm 2011-11-28T12:21:11 when is earlier ? 2011-11-28T12:21:43 hehe, good one.. 2011-11-28T12:22:26 *** Fandekasp has joined #aichallenge 2011-11-28T12:23:33 *** Blkt has quit IRC (Quit: ERC Version 5.3 (IRC client for Emacs)) 2011-11-28T12:24:34 well, you can measure the time you needed, but predictions are pretty unsure, especially for the future 2011-11-28T12:25:02 measure more often ? 2011-11-28T12:25:04 no pathfinding fixes timeouts ^^ 2011-11-28T12:25:10 I can handle 900 ants 2011-11-28T12:25:12 ya 2011-11-28T12:25:32 how long is maximum for a round? 2011-11-28T12:25:44 500ms I believe? 2011-11-28T12:25:45 500 ms on contest 2011-11-28T12:25:54 ok 2011-11-28T12:26:54 I can handle 7 ants with pathfinding 2011-11-28T12:26:59 ... thats my problem :D 2011-11-28T12:28:26 need a good scoring heuristic for battles 2011-11-28T12:28:32 friendDeaths - enemyDeaths 2011-11-28T12:28:35 somethin like that 2011-11-28T12:28:38 but that obv doesn't work 2011-11-28T12:28:53 actually inverted it does 2011-11-28T12:28:54 xD 2011-11-28T12:29:02 rwest, if you ever gget 900 ants, your opponents aer dull. 2011-11-28T12:30:33 don't expect that outside *your matrix* 2011-11-28T12:32:32 *** mviel__ has joined #aichallenge 2011-11-28T12:34:21 g0llum: haha, just saying it handles it, of course that was against the sample bots heh 2011-11-28T12:35:36 see you ;) 2011-11-28T12:35:54 *** mviel_ has quit IRC (Ping timeout: 245 seconds) 2011-11-28T12:39:35 *** Conorach_ has joined #aichallenge 2011-11-28T12:39:54 stinger around? 2011-11-28T12:42:13 *** Conorach has quit IRC (Ping timeout: 240 seconds) 2011-11-28T12:42:39 *** mj41 has quit IRC (Ping timeout: 244 seconds) 2011-11-28T12:42:45 *** Conorach has joined #aichallenge 2011-11-28T12:43:49 *** Conorach_ has quit IRC (Ping timeout: 240 seconds) 2011-11-28T12:46:26 of course that happens 2011-11-28T12:47:02 when I try to test the parameters causing tmeout yesterday.. today is just fine 2011-11-28T12:47:03 :D 2011-11-28T12:48:27 guess the timer is restartet every turn? 2011-11-28T12:51:34 iglo, it's a bit compicated, since the enginge can choose beteween run bots in parralel, or serial mode, just trust in them getting the right time there 2011-11-28T12:51:47 *** xathis has joined #aichallenge 2011-11-28T12:52:22 *** pairofdice has joined #aichallenge 2011-11-28T12:52:51 *** jon1 has quit IRC (Quit: Leaving.) 2011-11-28T12:53:59 hm 2011-11-28T12:54:09 my trick is not foolproof 2011-11-28T12:54:32 in the contest, it's running on 2 virtual cores 2011-11-28T12:55:47 i thought about stop calculating when 400ms are over 2011-11-28T12:56:05 but it still crash 2011-11-28T12:56:39 if(state.timer.getTime() > 400) 2011-11-28T12:56:39 break; 2011-11-28T12:56:43 If it's crashing, it's not timing out 2011-11-28T12:56:46 thought this line would make it 2011-11-28T12:56:50 well i got my simulate function nailed 2011-11-28T12:56:55 just can't get it to work for prediction maps 2011-11-28T12:57:00 inside this code framework :( 2011-11-28T12:57:18 iglo, check, if you got son *forever* loops, you're not actually breaking 2011-11-28T12:57:23 ill check if its timeout 2011-11-28T12:57:47 ok thats true at g0llum 2011-11-28T12:58:03 my fav error, there 2011-11-28T12:58:26 u save th directions to the target? 2011-11-28T12:58:35 *** Fandekasp has quit IRC (Quit: Lost terminal) 2011-11-28T12:59:52 i just 'save' knowlwdge of enemy hills 2011-11-28T13:00:38 *** Fandekasp has joined #aichallenge 2011-11-28T13:01:32 aka hatebot 2011-11-28T13:02:33 its timeout 2011-11-28T13:02:34 ... 2011-11-28T13:03:25 and this time chrashed 2011-11-28T13:03:29 -.- 2011-11-28T13:04:40 div by zero ? never imagined none of your hills left ? 2011-11-28T13:06:48 im not dividing anything.. better check for loops 2011-11-28T13:07:01 *** Antimony has quit IRC (Ping timeout: 244 seconds) 2011-11-28T13:07:20 iglo, you'll get on track soon.. 2011-11-28T13:08:16 it has to be a time problem 2011-11-28T13:08:48 if i search in a greater radius than it wont survive 2011-11-28T13:11:16 since it might not happen the way you calculated it, it still might have a chance 2011-11-28T13:13:05 its A* 2011-11-28T13:13:55 maybe I should save the path 2011-11-28T13:14:07 and dont calculate its every round 2011-11-28T13:14:51 *** Fandekasp has quit IRC (Quit: Lost terminal) 2011-11-28T13:16:04 may be just my opinion, but a* is good for 'show me the way to the eiffel tower', but bfs is more like the answer to: i got 5 ants, 6 enemies, what should i do? 2011-11-28T13:16:56 *** Fandekasp has joined #aichallenge 2011-11-28T13:17:06 i use A* for food search 2011-11-28T13:17:22 consider again 2011-11-28T13:17:27 dont have a fighting function yet 2011-11-28T13:18:18 *** antonh has quit IRC (Ping timeout: 244 seconds) 2011-11-28T13:21:17 ants.fluxid.pl is sooo slow 2011-11-28T13:21:32 no kidding. tcpants is much faster. 2011-11-28T13:21:59 depends, where you're living 2011-11-28T13:22:04 actually I think it's because fluxid is mostly 4-5 bot matches 2011-11-28T13:22:31 tcpants is hosted in CA, and from CA it goes faaaaaaaaaaaast 2011-11-28T13:23:01 germany here, opposite findings 2011-11-28T13:23:18 natürlich 2011-11-28T13:23:28 85 ping to tcpants, 95 ping to fluxid 2011-11-28T13:23:31 ;) 2011-11-28T13:23:39 from MA 2011-11-28T13:24:03 185ms to fluxid, 44 to tcpands 2011-11-28T13:24:07 *** jcdnyc has joined #aichallenge 2011-11-28T13:24:23 oh shit, be scared, I fixed my diffusion code 2011-11-28T13:24:26 I am winning matches 2011-11-28T13:24:35 usually fixing bugs makes your bot weaker 2011-11-28T13:24:58 let's settle it on choosing the closest one 2011-11-28T13:26:11 god that was annoying 2011-11-28T13:26:17 It's because fluxid has 5 second turns 2011-11-28T13:26:24 any time I increased the number of diffusions, the bot got worse 2011-11-28T13:26:26 and tc-pant doesn't 2011-11-28T13:26:34 forgot to lower the amount diffused at the same time 2011-11-28T13:27:23 pairofdice: how much does tcpants have? 2011-11-28T13:28:25 I don't know 2011-11-28T13:28:47 I tend to lose badly on fluxid 2011-11-28T13:29:18 *** treeform has joined #aichallenge 2011-11-28T13:29:29 aichallenge: janzert epsilon * r3f2d4ab / (website/css/typo.css website/server_stats.php): Display worker stats using a list - http://git.io/F57s6A 2011-11-28T13:29:29 aichallenge: janzert epsilon * r5d7cebc / (21 files in 2 dirs): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://git.io/ndkCuA 2011-11-28T13:29:32 rwest, probably due to 10000 enemis compressed to 200 there 2011-11-28T13:30:03 g0llum: huh? 2011-11-28T13:30:16 and the lack of paring/matchmakig 2011-11-28T13:30:41 does tcpants have matchmaking? 2011-11-28T13:30:47 no 2011-11-28T13:30:53 I do fine there it seems 2011-11-28T13:32:55 aichallenge: janzert epsilon * r33ed2aa / website/css/typo.css : Move width specifier to correct element - http://git.io/L6v0Lw 2011-11-28T13:33:05 oh crap 2011-11-28T13:33:20 I'm basically going to have to restructure the entire framework of my bot 2011-11-28T13:33:25 if i want to get proper combat in :( 2011-11-28T13:34:00 i based mine off the starter bot package 2011-11-28T13:34:05 have tons of code built around it 2011-11-28T13:34:14 but turns out the starter bot package doesn't take track of tile owners 2011-11-28T13:34:37 so i have to restructure the internals of the main engine to use a class that does take track of owners 2011-11-28T13:34:42 once that's done, I'm not done 2011-11-28T13:34:43 How does that constitute a restructuring 2011-11-28T13:34:43 *** JamesMG has joined #aichallenge 2011-11-28T13:34:52 right 2011-11-28T13:34:56 generalised path finding was a terrible idea 2011-11-28T13:35:00 reverting 2011-11-28T13:35:06 because then for proper combat my combat has to be based on FUTURE moves 2011-11-28T13:35:09 not on where I am at right now 2011-11-28T13:35:29 so my simulate() function has to work with a map that represents all the future locations of my bot 2011-11-28T13:35:42 so naturally I would abstract my battle code from the main engine and stick it into it's own class since it is independant 2011-11-28T13:36:01 and pass in the future-moves map to the battle function 2011-11-28T13:36:25 but Ants.java has a lot of good utility functions 2011-11-28T13:36:30 *** Antimony has joined #aichallenge 2011-11-28T13:36:32 lol so my food gathering code is 3 lines 2011-11-28T13:36:37 time to make it better 2011-11-28T13:36:38 that I need to use for my simulate() function to be coded 2011-11-28T13:36:58 so i basically need to abstract those too, but they are tied to the current ant positions pretty heavily 2011-11-28T13:37:13 ergo i need to rip out the internals of the ants.java class and abstract parts of it and eurgh 2011-11-28T13:37:53 yay finally my bot broke the top 100 on the tcp server! 2011-11-28T13:37:58 stupid thing has so many bugs 2011-11-28T13:38:30 or I could go the dirty way and just stick my abstracted battle functions inside of Ants.java 2011-11-28T13:38:36 i think I might do that but I hate being dirty 2011-11-28T13:40:01 *** Anilm3 has joined #aichallenge 2011-11-28T13:40:47 *** foRei has joined #aichallenge 2011-11-28T13:42:48 there we go, caching food locations so my ants run around water 2011-11-28T13:44:31 *** noddingGeek has joined #aichallenge 2011-11-28T13:45:15 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-28T13:45:54 Anyone have a decent perl bot example? 2011-11-28T13:47:25 http://tcpants.com/replay.9953 2011-11-28T13:47:29 gotta love that bug 2011-11-28T13:47:46 oh man 2011-11-28T13:48:06 i got only a 3-4x speedup 2011-11-28T13:48:42 i must have screwed something badly 2011-11-28T13:48:55 or maybe using cext api is so fucking slow 2011-11-28T13:49:11 in pypy? 2011-11-28T13:49:19 *** Antimony has quit IRC (Ping timeout: 252 seconds) 2011-11-28T13:49:21 no, i cpython 2011-11-28T13:49:42 oh, hmm don't think it's supposed to be 2011-11-28T13:49:50 pypy yes 2011-11-28T13:50:21 is there a way to recreate the exact same food positions between two simulations? 2011-11-28T13:50:35 Anilm3: use the same server seed value 2011-11-28T13:50:57 --engine_seed is the argument name I believe 2011-11-28T13:50:59 engine seed 2011-11-28T13:51:06 yes :) 2011-11-28T13:51:17 thanks guys 2011-11-28T13:58:30 janzert: ready to nail down some map requirements? 2011-11-28T14:02:20 *** mayanks43 has quit IRC (Ping timeout: 260 seconds) 2011-11-28T14:02:28 *** nikis has quit IRC (Ping timeout: 258 seconds) 2011-11-28T14:03:21 *** epicmonkey has joined #aichallenge 2011-11-28T14:03:38 *** noddingGeek has quit IRC (Quit: Page closed) 2011-11-28T14:10:17 *** kire has joined #aichallenge 2011-11-28T14:10:50 *** bhasker` has quit IRC (Ping timeout: 244 seconds) 2011-11-28T14:12:42 *** Redgis has joined #aichallenge 2011-11-28T14:13:29 bah I had a match with xathis_xe in it that I won, I was happy until I realized he timed out 2011-11-28T14:13:40 *** Zepp has quit IRC (Ping timeout: 244 seconds) 2011-11-28T14:13:45 *** Zepp has joined #aichallenge 2011-11-28T14:13:49 *** Akranis has quit IRC (Ping timeout: 240 seconds) 2011-11-28T14:14:34 lol rwest 2011-11-28T14:14:39 i have that feeling all the time lol 2011-11-28T14:19:10 *** roflmao has quit IRC (Quit: Leaving.) 2011-11-28T14:26:53 *** antonh has joined #aichallenge 2011-11-28T14:33:49 *** grwip has quit IRC (Ping timeout: 240 seconds) 2011-11-28T14:44:49 just hope you find a way to time him out ;-) 2011-11-28T14:45:18 lol 2011-11-28T14:48:20 *** AntDroid has joined #aichallenge 2011-11-28T14:48:53 has anyone tried the debug visualizer that was mentioned here I think yesterday? 2011-11-28T14:50:11 *** grwip has joined #aichallenge 2011-11-28T14:50:27 jeez I have not had one game on the tcp servers go to turn limit I swear 2011-11-28T14:54:54 *** Accoun has quit IRC () 2011-11-28T15:01:03 wow, the overlay visualizer works... this is brilliant 2011-11-28T15:03:13 overlay visualizer? 2011-11-28T15:03:23 https://github.com/j-h-a/aichallenge/blob/vis_overlay/VIS_OVERLAY.md 2011-11-28T15:03:44 *** Hexren has joined #aichallenge 2011-11-28T15:03:48 *** Hexren has left #aichallenge 2011-11-28T15:03:55 enables bot to output additional info that gets displayed as an overlay in the visualizer 2011-11-28T15:04:14 looks extremely useful for testing, debugging, and demonstrating 2011-11-28T15:08:34 *** Akranis has joined #aichallenge 2011-11-28T15:11:06 *** Antimony has joined #aichallenge 2011-11-28T15:11:56 *** Accoun has joined #aichallenge 2011-11-28T15:12:34 *** choas has joined #aichallenge 2011-11-28T15:25:33 just took 30 minutes to play one match on fluxid :-/ 2011-11-28T15:26:21 fluxid is quite slow... tcpants is faster, but no cell maze maps 2011-11-28T15:26:23 I hate it when that happens 2011-11-28T15:26:34 the time depends on how fast the bots are and how long it lasts 2011-11-28T15:26:37 sometimes games are fast 2011-11-28T15:26:54 but mostly some bots decides it will use at least 1s per move 2011-11-28T15:27:04 A 1500 move game at 5 secons per move is quite slow 2011-11-28T15:27:08 yeah 2011-11-28T15:27:29 I put a hard upper limit of 1000ms in mine, even if server specifies more 2011-11-28T15:27:42 thestinger: you there? 2011-11-28T15:27:47 I have my bot set to use at most 465ms on combat and movement, but it might spend more time doing otehr stuff 2011-11-28T15:28:15 I don't even know how long mines takes 2011-11-28T15:28:23 but it doesn't timeout on the official servers 2011-11-28T15:28:56 do I gotta add code to time it or is there a flag to see it while running a game? 2011-11-28T15:29:22 you need your own code 2011-11-28T15:29:50 eh, I think I am fine, my running time is based on map dimensions 2011-11-28T15:31:16 ok... now I see if the new exploration code is as good as I hope it is 2011-11-28T15:32:10 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-28T15:35:26 ant paste now supports the visualizer with drawing commands 2011-11-28T15:35:42 McLeopold: nice! 2011-11-28T15:36:27 http://paste.aichallenge.org/enkZK/ 2011-11-28T15:37:05 thestinger: http://paste.pocoo.org/show/514164/ which one do you implement? 2011-11-28T15:37:28 this https://github.com/j-h-a/aichallenge/blob/vis_overlay/VIS_OVERLAY.md 2011-11-28T15:37:56 McLeopold: don't see any vis at your link, just a plain old game 2011-11-28T15:38:02 click the button 2011-11-28T15:38:26 ah, now the button is there, too. I refreshed a few times but it wasnt there, probably browser cached js 2011-11-28T15:38:28 I'm showing lines for gathering food 2011-11-28T15:40:23 very nice. is there a chance the drawing commands will make it into the official code? 2011-11-28T15:40:31 no 2011-11-28T15:40:37 too much data to capture 2011-11-28T15:40:48 hm, true 2011-11-28T15:41:03 but still, quite useful :) 2011-11-28T15:41:15 not to me as an admin :) 2011-11-28T15:42:18 hmm, the visualizer has a bug 2011-11-28T15:43:35 McLeopold: I think I have some time now 2011-11-28T15:43:38 ok 2011-11-28T15:45:35 janzert: hmm, ietherpad is down :( 2011-11-28T15:45:48 what do you think about a 25,000 maximum total area and 8,000 per player max? 2011-11-28T15:46:01 :( 2011-11-28T15:46:16 sounds good, I was thinking maybe 900-5,000 per player, which is lower 2011-11-28T15:46:33 ok 2011-11-28T15:47:00 large 2 player maps look nice, but don't really gain us anything in determining better bots 2011-11-28T15:47:09 yeah 2011-11-28T15:47:25 25,000 max is good 2011-11-28T15:47:38 just not really sure where the useful maximum is, 5000 works for me just as well as 8000 2011-11-28T15:47:39 200 max for either dimension as well 2011-11-28T15:47:44 right 2011-11-28T15:48:54 well, I figure 5000area per player is about 70^2, so players have about 70 turns max before hitting opponents 2011-11-28T15:49:10 in an open map 2011-11-28T15:49:12 ~90 with 8000 2011-11-28T15:49:12 * janzert nods 2011-11-28T15:49:19 yep 2011-11-28T15:50:02 the cutoff is at 150 turns ,so I was thinking about half that for an open map to ensure competition, plus we can blame bots for not gathering food 2011-11-28T15:50:03 the 25000 max was to get roughly the 150x150 max I used for the initial maps 2011-11-28T15:50:23 yeah, that sounds reasonable 2011-11-28T15:50:38 okay, then hill distances, what should we do? 2011-11-28T15:50:53 I would like to keep initial hills out of site 2011-11-28T15:51:04 I'm thinking more like 175 maybe even 150 maximum distance 2011-11-28T15:51:12 what for? 2011-11-28T15:51:26 I don't have a good reason :) 2011-11-28T15:51:39 other than to make an "opening move" not be forced 2011-11-28T15:51:55 I thought allowing them in site but long distance travel could show interesting bad behavior by some bots 2011-11-28T15:52:07 it does 2011-11-28T15:52:15 well minimum travel distance should be not within site 2011-11-28T15:52:24 no, we agree there 2011-11-28T15:52:29 i.e. if in site there has to be a wall in between 2011-11-28T15:52:34 sight rather 2011-11-28T15:52:48 okay, but not with attack distance 2011-11-28T15:52:53 yeah, for sure 2011-11-28T15:53:06 I'd like the 8 squares around the hill to be out of attack distance as well 2011-11-28T15:53:46 yep 2011-11-28T15:53:48 sounds good 2011-11-28T15:54:10 so, they have to be at least 5 squares away 2011-11-28T15:54:25 I'd like to up the min path distance to about 36 2011-11-28T15:54:45 less than 200 max distance is tough to get good maze maps 2011-11-28T15:54:51 *** delt0r_ has quit IRC (Ping timeout: 244 seconds) 2011-11-28T15:54:57 but the lower area requirement might fix that 2011-11-28T15:55:17 5 distance by eucilidian, does 36 by travel have reasoning behind it? 2011-11-28T15:55:41 I was thinking maybe 20 but no real reason other than a little more than twice vision 2011-11-28T15:55:45 36 turns, half the ~70 for max area 2011-11-28T15:55:50 ish 2011-11-28T15:56:31 it was to even out the hill distances 2011-11-28T15:56:45 so, in this map _> .a.b.c.d 2011-11-28T15:57:02 a is 2 away from b and d, and 4 away from c 2011-11-28T15:57:15 *** noddingGeek has joined #aichallenge 2011-11-28T15:57:19 getting all opponents closer is more fair 2011-11-28T15:57:48 I think I had a check that the max distance for a bot needed to be within 150% of the min distance 2011-11-28T15:57:55 hmm, it still seems a little high to me but I don't mind too much 2011-11-28T15:58:15 that seems hard to do with high player maps 2011-11-28T15:58:30 I don't think I'd want to formalize that 2011-11-28T15:59:03 ok, I'll just put some checks in cell_maze only 2011-11-28T15:59:19 ok 2011-11-28T15:59:28 it becomes more complicated with multi-hills 2011-11-28T15:59:34 seems like it makes a true maze even harder to accomplish as well 2011-11-28T15:59:42 it does 2011-11-28T16:00:23 are you planning to extend cell maze to multi hill? 2011-11-28T16:00:23 150 max will make mazes hard as well 2011-11-28T16:00:29 yes 2011-11-28T16:00:36 great 2011-11-28T16:00:43 I just needed a more formal hill distance check 2011-11-28T16:01:22 how about 180 max travel then? 2011-11-28T16:01:27 I'd like to say that the opponent to opponent max is 150 2011-11-28T16:02:14 go up to 165 would be 6 trips in a 1000 turn game 2011-11-28T16:02:39 150 is still 6.6 2011-11-28T16:03:51 Let me give you some stats on that from some mazes, then we can decide, but it will be somewhere between 150-200 2011-11-28T16:04:22 *** LouisMartin has joined #aichallenge 2011-11-28T16:04:25 *** besh has joined #aichallenge 2011-11-28T16:05:08 ok 2011-11-28T16:05:09 is there still a way to see a player's recent (and not so recent) games? 2011-11-28T16:05:23 LouisMartin: the profile page? 2011-11-28T16:05:50 e.g. http://aichallenge.org/profile.php?user=4513 2011-11-28T16:06:11 the bottom of the list also has a view more link to go the full list of games they ever played 2011-11-28T16:06:38 When you click on View More, you get everyone's games and not just the particular player's games 2011-11-28T16:06:56 where? 2011-11-28T16:07:05 not the page I just linked to at least 2011-11-28T16:07:09 *** delt0r_ has joined #aichallenge 2011-11-28T16:07:35 yes, click on 'View More' at the bottom and you'll see what I mean 2011-11-28T16:07:50 I did all I had was xathis' games 2011-11-28T16:08:10 wow. 2011-11-28T16:08:36 a browser thing maybe? I'll try with a different browser and unsigned 2011-11-28T16:08:54 this should be the link you're going to from that page http://aichallenge.org/profile_games.php?user=4513&page=1 2011-11-28T16:09:17 browser shouldn't be making a difference, but... 2011-11-28T16:09:27 I know 2011-11-28T16:09:37 okay, try to reproduce it this way: 2011-11-28T16:09:54 sign out and retry 2011-11-28T16:09:57 I only get Xathis games when I'm signed in. 2011-11-28T16:10:13 and when I'm not, then I get everyone's game 2011-11-28T16:10:26 hmm, yep 2011-11-28T16:10:34 weird 2011-11-28T16:10:47 McLeopold: ^^ 2011-11-28T16:10:57 does using sqrt make a real difference in execution time? 2011-11-28T16:11:13 Anilm3: depends on how much you use it ;) 2011-11-28T16:11:32 no big deal really. If you really want to see that much games, you probably are a contestant anyway (and a signed one) ... 2011-11-28T16:11:34 *** BenJackson_ has joined #aichallenge 2011-11-28T16:11:56 first time I've used a real irc client in a long time 2011-11-28T16:12:09 open a github issue then 2011-11-28T16:12:10 still weird, that page shouldn't be any different for logged in or not 2011-11-28T16:12:11 apologies in advance if I cause a net split or DDS your pc ;-) 2011-11-28T16:12:45 ooh, I wonder if header.php is overwriting the user_id 2011-11-28T16:12:51 I caught that before 2011-11-28T16:13:16 btw, janzert (and McLeopold), when not signed in, the frontpage game seems to be always n180. By design perhaps? 2011-11-28T16:13:43 *** ltriant has joined #aichallenge 2011-11-28T16:13:44 btw how do you make the animated gif versions of the ants games? 2011-11-28T16:13:59 Forget the last bit, I was wrong. It's not always n180. 2011-11-28T16:14:29 *** besh has quit IRC (Ping timeout: 265 seconds) 2011-11-28T16:15:27 it should be the most recent game with a top 10 player 2011-11-28T16:16:34 aichallenge: janzert epsilon * rf99f76d / website/profile_games.php : Stop the header from overwriting profile_games variables - http://git.io/PInwiQ 2011-11-28T16:16:44 that's better :) 2011-11-28T16:17:51 BenJackson: I haven't seen an animated gif of the ants game in its modern form and don't know how to make on off hand :} 2011-11-28T16:19:52 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-28T16:22:05 McLeopold: oh one other thing if you want to formalize it in the specs, I think all hills should be traversable by 3 wide corridor (or 3x3 block if you prefer) and other spaces may or may not be 2011-11-28T16:22:17 it is 2011-11-28T16:22:47 66% must be traversable, including all hills 2011-11-28T16:23:02 33% can be traversable by only a single ant 2011-11-28T16:23:15 I just meant if you wanted to change the wording of the spec I'd go for the above 2011-11-28T16:23:19 ok 2011-11-28T16:23:35 janzert: I guess I was just confused by the javascript replay 2011-11-28T16:23:44 since that is one of the points that still says details being worked on 2011-11-28T16:23:48 if you right click on it you're prompted to "view image" so I thought the front page wasn't using the visualizer 2011-11-28T16:23:51 but they all do that 2011-11-28T16:23:55 BenJackson: ahh yeah 2011-11-28T16:24:01 frontpage is still the visualizer 2011-11-28T16:24:05 just without the buttons 2011-11-28T16:24:12 janzert: I'll finalize that point after I get the map gens going through the main class 2011-11-28T16:24:12 janzert: you should have a special hill rule 2011-11-28T16:24:20 I think at least one map now has a perfectly defensible hill 2011-11-28T16:24:25 I don't yet know how the other map types will do against those checks 2011-11-28T16:24:46 BenJackson: the initial maps didn't follow basically any of these 2011-11-28T16:25:40 *** noddingGeek has quit IRC (Quit: Page closed) 2011-11-28T16:26:19 *** Antimony has joined #aichallenge 2011-11-28T16:26:27 and the 3x3 rule is specifically to keep hills from being blockable 2011-11-28T16:26:53 If we want to make a map generator, how do we submit it and get it actually used? 2011-11-28T16:27:04 submit it do me 2011-11-28T16:27:10 /do/to/ 2011-11-28T16:27:36 Antimony: also, try an use the map.py base class, it is still a work in progress 2011-11-28T16:27:37 so do we put it on Gitbhub, or email it, or what? 2011-11-28T16:27:55 fork the aichallenge repo on github and issue a pull request 2011-11-28T16:28:01 oh ok 2011-11-28T16:28:02 do you code in python? 2011-11-28T16:28:09 I've doen some PYthon 2011-11-28T16:28:13 I'm not a big expert on it 2011-11-28T16:28:34 Can we use numpy? 2011-11-28T16:28:52 yes, but I'm not sure if it will gain you anything 2011-11-28T16:29:33 I suppose the map generator doesn't have to be super optimized 2011-11-28T16:29:46 Since it isn't run often 2011-11-28T16:29:55 I did some matrix tests with numpy and tuple lookup was slower than lists 2011-11-28T16:30:53 ooh 2011-11-28T16:31:28 by the way, did you look at the C++ timer I submitted? 2011-11-28T16:31:54 no, I don't do c 2011-11-28T16:32:22 I bumped antimatroid to review, probably should again 2011-11-28T16:33:16 *** Regis has joined #aichallenge 2011-11-28T16:36:11 *** Redgis has quit IRC (Ping timeout: 244 seconds) 2011-11-28T16:36:54 *** bhasker has joined #aichallenge 2011-11-28T16:37:05 *** jstrong has joined #aichallenge 2011-11-28T16:38:36 *** milonti has joined #aichallenge 2011-11-28T16:42:56 *** Zao has quit IRC (Quit: Reconnecting) 2011-11-28T16:43:07 *** Zao has joined #aichallenge 2011-11-28T16:44:44 *** kire has quit IRC (Quit: Leaving) 2011-11-28T16:45:09 *** kire has joined #aichallenge 2011-11-28T16:48:09 *** kire has quit IRC (Client Quit) 2011-11-28T16:50:44 *** Ruuhkis has quit IRC (Ping timeout: 265 seconds) 2011-11-28T16:51:59 *** Apophis has quit IRC (Read error: Connection reset by peer) 2011-11-28T16:53:35 *** Fandekasp has quit IRC (Ping timeout: 252 seconds) 2011-11-28T16:57:38 *** besh has joined #aichallenge 2011-11-28T16:58:50 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-28T16:58:50 *** amstan has joined #aichallenge 2011-11-28T16:58:50 *** ChanServ sets mode: +o amstan 2011-11-28T16:59:00 do you consider ants as passable or impassable in your path finding ? 2011-11-28T17:00:28 yes 2011-11-28T17:00:46 I do consider them 2011-11-28T17:01:04 sometimes passable, sometimes not 2011-11-28T17:01:58 i consider them as passable but I am now worried about the clustering I am getting on the new cell maze maps 2011-11-28T17:03:48 *** ikaros has joined #aichallenge 2011-11-28T17:03:51 but making them passable has the advantage of allowing a "snake like" movement. 2011-11-28T17:06:30 omg, i give up 2011-11-28T17:06:35 two snakes is better than one 2011-11-28T17:06:37 the better i make my bot, the worse it is 2011-11-28T17:07:21 a1k0n: worse it appears I've overspecialized or something because my bot is floundering on the official site 2011-11-28T17:07:41 uh oh 2011-11-28T17:07:47 a1kon: It takes a lot of testing to tell if a version is better especially with multi players. 2011-11-28T17:08:05 yeah. i have a succession of bots which absolutely destroy their predecessors on a 1v1 2011-11-28T17:08:13 but against everyone else are successively worse 2011-11-28T17:08:52 then again, it might just be biases resulting from who they're playing against lately 2011-11-28T17:12:05 YES a1k0n 2011-11-28T17:12:05 omg 2011-11-28T17:12:06 i hate that 2011-11-28T17:12:12 when you're like "oh yeah it destroyed my enemy!" 2011-11-28T17:12:15 "time to go on tcp" 2011-11-28T17:12:24 *waits a few secs* 2011-11-28T17:12:30 "but... the score is lower" 2011-11-28T17:12:40 s/secs/hours/ 2011-11-28T17:12:42 my previous bot** 2011-11-28T17:14:42 a1k0n: I've noticed map placement REALLY matters against same version of your old bot 2011-11-28T17:14:46 if my new bot destroys my old bot 2011-11-28T17:14:50 i switch around the locations and try again 2011-11-28T17:14:59 I know the map is symmetrical technically 2011-11-28T17:15:10 yes i have to try it both ways 2011-11-28T17:15:11 but you might have some bug/pattern/etc of movement that favors a certain position over another 2011-11-28T17:15:29 i'm definitely biased such that it fights better up/left than down/right 2011-11-28T17:15:54 cause of ordering of the directions whenever you loop through them? 2011-11-28T17:16:09 no, it's a bit of a more complicated tradeoff i made 2011-11-28T17:17:42 I still haven't beaten old versions rating on the main server.. eventhough I fell I have improved it. 2011-11-28T17:17:51 feel* 2011-11-28T17:18:26 I think bots uploaded a while ago had it easier climbing the rankings, and staying there 2011-11-28T17:18:46 my old version uploaded a day after the start stayed in top 35 for a month 2011-11-28T17:18:59 *** mj41 has joined #aichallenge 2011-11-28T17:19:05 yeah and it comes as a shock it you are away a week or so 2011-11-28T17:19:07 the current one is struggling to get to top100 in two days 2011-11-28T17:19:43 mind you, the current one has obvious bugs, but the old one had them too... 2011-11-28T17:20:09 It just takes a while to reduce your sigma 2011-11-28T17:20:19 No magic involved 2011-11-28T17:20:48 the mu isn't as high either :) but the one currently in tcp testing should do better... hopefully. 2011-11-28T17:21:56 *** Antimony has quit IRC (Read error: Connection reset by peer) 2011-11-28T17:22:20 Also the 10 player games involve a lot of randomness. It requires 10! arrangements to avoid any bias.. 2011-11-28T17:24:15 *** Jak_o_Shadows has joined #aichallenge 2011-11-28T17:24:31 Yeah, duels give the most information to ranking 2011-11-28T17:25:08 *** Akranis has quit IRC (Quit: Lämnar) 2011-11-28T17:25:10 *** Belkar_ has joined #aichallenge 2011-11-28T17:25:24 I'm considering optimizing for some close early game issues that come up in small and high-player-count maps 2011-11-28T17:25:33 *** Belkar has joined #aichallenge 2011-11-28T17:25:43 *** Belkar_ has quit IRC (Client Quit) 2011-11-28T17:25:46 also I'm considering detecting who takes my hill and trying to make their life hell with any remaining bots :) 2011-11-28T17:26:03 do it 2011-11-28T17:26:03 *** iglo has quit IRC (Read error: Connection reset by peer) 2011-11-28T17:26:08 haha 2011-11-28T17:26:12 def revenge() 2011-11-28T17:26:53 makes sense to make the best bot do as poorly as possible if you can't win yourself 2011-11-28T17:26:56 in terms of overall rankings 2011-11-28T17:26:59 *** besh has quit IRC (Ping timeout: 265 seconds) 2011-11-28T17:27:04 not sure if that's a metagame outside the spirit of the contest 2011-11-28T17:27:12 janzert: care to issue an opinion? 2011-11-28T17:27:21 Sounds fair to me :) 2011-11-28T17:27:46 *** besh has joined #aichallenge 2011-11-28T17:28:16 BenJackson_: being a king maker is part of the contest 2011-11-28T17:28:31 but you'd have to know who you want to make king 2011-11-28T17:28:55 there is some specific rule against throwing games and whatnot 2011-11-28T17:28:58 which I totally support 2011-11-28T17:29:04 is there? 2011-11-28T17:29:29 rule 3 2011-11-28T17:29:55 what I was talking about earlier here is not in violation of the letter of that rule 2011-11-28T17:30:04 this? manipulating rankings by intentionally losing games 2011-11-28T17:30:11 but perhaps the spirit 2011-11-28T17:30:25 This is a multiplayer game, so cooperation is allowed 2011-11-28T17:30:34 Spirit of competition? Knock their teeth out! 2011-11-28T17:30:37 if bots can communicate and cooperate, that is allowed 2011-11-28T17:31:01 wow 2011-11-28T17:31:14 so if 2 bots identify they are both losing, the can stop fighting each other and gang up on the leader 2011-11-28T17:31:27 I actually expected more of that to happen, but it doesn't 2011-11-28T17:31:28 it would be funny to see two bots ID each other, agree to wipe off the opponents, then intentionally reset to some known state and have a fair fight 2011-11-28T17:31:56 I suppose I could post an open protocol 2011-11-28T17:32:01 you should 2011-11-28T17:32:09 where I agree to make an arrow of ants pointing at an enemy base 2011-11-28T17:32:14 you can follow it or not 2011-11-28T17:32:17 what are thinking? move patterns? 2011-11-28T17:32:20 I figured some type of dance in vision radius could be used 2011-11-28T17:32:32 "bee dance" type of thing... 2011-11-28T17:32:54 I suppose if I wanted people to adopt it what I should do is make up the protocol and post code that detects the patterns 2011-11-28T17:33:02 the spirit of that rule is to stop you from intentionally boosting another bots rating; offhand lowering another bots rating seems the point of the contest ;) 2011-11-28T17:33:23 janzert: well in an n-way game they're inextricably linked 2011-11-28T17:33:34 right now I'm an equal-opportunity hill taker 2011-11-28T17:33:37 not quite 2011-11-28T17:33:39 *** JorgeB_ has joined #aichallenge 2011-11-28T17:33:54 if you recognize xathis and then intentionally always lose to him, that is not allowed 2011-11-28T17:34:12 if you recognize xathis and then always attack him first this is allowed :) 2011-11-28T17:34:34 *** Antimony has joined #aichallenge 2011-11-28T17:34:39 what if I post xathis-detection code to the forum? ;-) 2011-11-28T17:34:51 detecting players is agasint the rules 2011-11-28T17:34:57 though detecting play styles isnt 2011-11-28T17:34:58 as long as it is not a bot, but just a function... 2011-11-28T17:35:15 maybe in pseudocode instead of real code 2011-11-28T17:35:16 detecting players outside of bot input 2011-11-28T17:35:23 eh, you're getting into gray areas, but posting actual code is probably verboten 2011-11-28T17:35:23 detecting players by anything other than the game itself 2011-11-28T17:35:30 Lol, OJ, guards are useless if they run away from attackers. http://ants.fluxid.pl/replay.3036 2011-11-28T17:35:37 outside of bot input, yes. 2011-11-28T17:35:49 *** JorgeB has quit IRC (Ping timeout: 240 seconds) 2011-11-28T17:35:49 *** JorgeB_ is now known as JorgeB 2011-11-28T17:35:58 I had to stiffen the resolve of my guards too 2011-11-28T17:36:09 although if they're outnumbered they'll still run rather than lose for no purpose 2011-11-28T17:36:13 which sometimes confuses me in replays 2011-11-28T17:37:10 My guards can theoretically run away, but it's unlikely 2011-11-28T17:37:31 ^ +1. there is a huge penalty in my evaluation for losing a hill, but if the choice is "die and lose hill" or "go away and lose hill", they'll go away 2011-11-28T17:38:03 Mine just get a huge score bonus for beign closer to the hill 2011-11-28T17:38:12 but certain death can override that 2011-11-28T17:38:15 *** replore_ has quit IRC (Remote host closed the connection) 2011-11-28T17:38:34 Anyway, I've never seen my guads run away 2011-11-28T17:38:37 *** fefe has joined #aichallenge 2011-11-28T17:39:20 I guess a first step for combat is figuring out how to do 1v1 2011-11-28T17:39:54 *** a1k0n has quit IRC (Read error: Operation timed out) 2011-11-28T17:40:45 Antimony: 1 vs 1 is retreat for me. But I want to go in if there is food in between. 2011-11-28T17:40:47 more ppl should come to tcpants.com... games are much faster than on fluxid, although there are no cell maze maps 2011-11-28T17:41:43 is it still port 2081? 2011-11-28T17:41:47 yes 2011-11-28T17:42:05 I'll give it a try 2011-11-28T17:42:10 then tell me what is the time on tcpants 2011-11-28T17:42:16 the website is slow, but the games are much faster 2011-11-28T17:42:23 *** epicmonkey has quit IRC (Ping timeout: 248 seconds) 2011-11-28T17:42:37 Fluxid: can't tell for sure but I think it gives 1000ms timeout to bots 2011-11-28T17:43:05 fwiw despite the suggestion that TCP ants are better due to larger timeout, I don't use the timeout at all 2011-11-28T17:44:15 it looks to me like tcpants is also 5000 timeout 2011-11-28T17:44:30 Mine takes about 100ms to make a move on average. 2011-11-28T17:44:32 it would be good if the tcp servers (or maybe even just the client script) were modified to send a lower timeout than the server is actually using 2011-11-28T17:44:48 why? 2011-11-28T17:44:51 but the fact remains: even though my ping to fluxid is much lower than to tcpants, in the time of one fluxid game I play 4-5 games in tcpants 2011-11-28T17:44:53 oh 2011-11-28T17:44:56 to prvent timeout 2011-11-28T17:45:01 right 2011-11-28T17:45:06 But some bots seem to use all of it which significantly reduces the game rate. 2011-11-28T17:45:13 turntime 5000 2011-11-28T17:45:15 same 2011-11-28T17:45:19 yeah 2011-11-28T17:45:33 oh 2011-11-28T17:45:56 damn, and i killed tcp server to lower the turntime 2011-11-28T17:45:58 +1 to janzert's idea. keep the server-side timeout at 5000 to prevent timeout due to network lag, but tell bots it's 1000 or even 500 to make them move faster 2011-11-28T17:46:04 there are some slow bots on fluxid 2011-11-28T17:46:07 sorry, restard in a second 2011-11-28T17:46:11 if you get a game with one of those it takes forever 2011-11-28T17:46:20 I've seen games start where I have just 1 ant 2011-11-28T17:46:23 I wonder if I should set up my desktop to play tcp continously 2011-11-28T17:46:24 and I can see it going at 1 turn/sec 2011-11-28T17:46:32 so I don't have to kill it whenever I put my laptop away 2011-11-28T17:46:44 restarted, still with the time 5000 2011-11-28T17:46:48 *** a1k0n has joined #aichallenge 2011-11-28T17:46:53 *** Belkar has quit IRC (Quit: Ex-Chat) 2011-11-28T17:47:14 on tcpants too eg. Bot simple8DfGMM 2011-11-28T17:48:10 anyone figured out what that means? 8DFMMFDGR 2011-11-28T17:48:27 8 degrees of freedom? 2011-11-28T17:48:38 mm markov model? 2011-11-28T17:48:56 it's probbly jsut random letters 2011-11-28T17:49:06 no no that's strcat ;-) 2011-11-28T17:49:32 by the way, is there anyway to delete a name you aren't usign aynmore? 2011-11-28T17:49:41 depth first 2011-11-28T17:49:55 wow my new version has played 330 games on fluxid 2011-11-28T17:49:58 DGR danger 2011-11-28T17:50:44 maybe a hash code of the current version? :) 2011-11-28T17:51:16 mm minmax? 2011-11-28T17:51:22 maybe 2011-11-28T17:51:29 depth first, minimax, 2011-11-28T17:51:31 my bot could be slow, i found some problems in code and it could take over 1.5s a turn... 2011-11-28T17:51:51 last contest people were using git commit hashes to version their tcp bot with 2011-11-28T17:51:52 Anyway, I think that even having 1v1 combat would greatly improe my bot 2011-11-28T17:51:54 now it takes around 150ms a turn 2011-11-28T17:52:01 shame there's no easy way for me to implement that 2011-11-28T17:52:28 Antimony: how do you do 1v1 combat? you both die or you both live 2011-11-28T17:52:34 Fluxid: one of those giant 200x200 cell maps was taking >500ms on my Q6600 at home 2011-11-28T17:52:42 so I had to profile and optimize some things 2011-11-28T17:52:42 janzert: I'm thinking of setting up an automated tcp playing system, that would check out all tagged commits, compile them and run them on tcp... 2011-11-28T17:52:57 BenJackson_: oh, i have the same cpu here... 2011-11-28T17:53:11 and it takes 200ms at most 2011-11-28T17:53:18 (after optiimizations) 2011-11-28T17:53:40 my problem cases were for 200+ v 200+ ants on a big open cell map 2011-11-28T17:53:46 there were lots of "combats" 2011-11-28T17:53:50 in the amorphous snow of ants 2011-11-28T17:54:14 *** Anilm3 has quit IRC (Quit: Lost terminal) 2011-11-28T17:54:29 Fluxid: can you tell if my fluxid clients crashed? 2011-11-28T17:54:38 *** Belkar has joined #aichallenge 2011-11-28T17:54:39 they're running in windows on my home desktop 2011-11-28T17:55:30 the process seems to be going but it might be spinning 2011-11-28T17:55:56 How do you do minimax for combat ? I can only think of a one step min-max where you try predict opponent moves which right now is no movement for me. 2011-11-28T17:56:11 1v1 combat is not only "good" 2011-11-28T17:56:15 i believe it to be crucial 2011-11-28T17:56:26 huge frontlines are good to maintain but they generally generate stalemates 2011-11-28T17:56:27 1v1? all you can do is not suicide 2011-11-28T17:56:33 well 2011-11-28T17:56:38 i'm usin 1v1 loosely 2011-11-28T17:56:41 well and goad them into not suiciding 2011-11-28T17:56:48 2v1 battles mainly 2011-11-28T17:56:53 picking off lone ants of your enemy 2011-11-28T17:57:01 instead of worrying SO much about the huge frontline battle 2011-11-28T17:57:11 get the "ant zapping" of lonely ants nailed 2011-11-28T17:57:17 cut off his opponent from his foragers 2011-11-28T17:57:22 starve him to death 2011-11-28T17:57:29 attrition 2011-11-28T17:57:45 its like in age of empires 2011-11-28T17:57:48 2 2011-11-28T17:57:54 killing your enemies sheep was crucial xD 2011-11-28T17:58:06 jstrong: easier said than done :) 2011-11-28T17:58:15 besh: indeed 2011-11-28T17:58:40 cut off your opponent from his foragers** 2011-11-28T17:59:17 cutting off from foragers has less effect than in aoe, since ants don't have to carry food back :) 2011-11-28T17:59:39 *** Antimony has quit IRC (Ping timeout: 245 seconds) 2011-11-28T17:59:39 picking foragers off however, that's crucial 2011-11-28T18:00:18 *** Antimony has joined #aichallenge 2011-11-28T18:00:33 yeah thats what i mean olexs1 2011-11-28T18:00:38 analogy is not perfect 2011-11-28T18:00:43 but i meant picking off enemy foragers 2011-11-28T18:01:02 so really even if you have a shitty combat system that is too slow to work with a big frontline battle with tons of ants 2011-11-28T18:01:12 if you get that algorithm nailed for the mini small battles 2011-11-28T18:01:17 your bot will be way awesome 2011-11-28T18:01:19 at least that's my theory 2011-11-28T18:01:22 consistently winnign 2v1s is also fairly difficult, because there is almost always a way for 1 to take out one of the 2 with him, unless he gets cornered 2011-11-28T18:01:38 A seems to have figured it out :P 2011-11-28T18:01:40 and that "cornering" happens the instant they initially meet 2011-11-28T18:01:40 it can be done 2011-11-28T18:01:47 *** mma has quit IRC (Ping timeout: 265 seconds) 2011-11-28T18:02:02 what I mean is corner against terrain 2011-11-28T18:02:05 *water 2011-11-28T18:02:08 right 2011-11-28T18:02:22 but what terrain they'll back into is determined when they first engage 2011-11-28T18:02:22 I don't know what that dude A does 2011-11-28T18:02:29 but he almost rarely loses the mini battles 2011-11-28T18:02:30 only in that case can you make sure he gets killed and you lose none with, whatever he'll do 2011-11-28T18:02:44 although BJ i see your bot is kicking serious rearend 2011-11-28T18:02:45 congrats 2011-11-28T18:02:52 jstrong: only on fluxid :) 2011-11-28T18:02:55 *** besh_ has joined #aichallenge 2011-11-28T18:02:55 almost rarely? what's that in percent? 2011-11-28T18:03:43 *** AntDroid has quit IRC (Ping timeout: 265 seconds) 2011-11-28T18:03:43 *** BenJackson has quit IRC (Ping timeout: 265 seconds) 2011-11-28T18:03:49 Minthos: rare = <5% so almost rarely must be around 8% ;) 2011-11-28T18:03:54 *** BenJackson_ is now known as BenJackson 2011-11-28T18:04:14 thanks :) 2011-11-28T18:04:24 hahaha 2011-11-28T18:04:31 something like that :P 2011-11-28T18:05:04 oh A is no longer top dog on fluxid 2011-11-28T18:05:10 *** fefe has quit IRC (Ping timeout: 265 seconds) 2011-11-28T18:05:10 *** besh has quit IRC (Ping timeout: 265 seconds) 2011-11-28T18:05:10 *** milonti has quit IRC (Ping timeout: 265 seconds) 2011-11-28T18:05:10 *** LouisMartin has quit IRC (Ping timeout: 265 seconds) 2011-11-28T18:05:18 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-28T18:05:53 *** jstrong is now known as roflmao 2011-11-28T18:06:30 random quits 2011-11-28T18:06:36 web.freenode 2011-11-28T18:07:22 *** besh_ has quit IRC (Client Quit) 2011-11-28T18:07:59 hey BenJackson seriously dude 2011-11-28T18:08:01 *** besh has joined #aichallenge 2011-11-28T18:08:04 it wasn't more than a week ago 2011-11-28T18:08:16 where I'd actually beat you like 35-40% of the time 2011-11-28T18:08:24 now you're like way up there 2011-11-28T18:08:30 which bot is yours? 2011-11-28T18:08:38 i have many 2011-11-28T18:08:51 i'm like strcat i just create tons of accounts 2011-11-28T18:09:00 my last bot was jeffrey_sachs but he sucks because the combat is completely broken 2011-11-28T18:09:37 the difference between "BenJackson2" and "bj_8b" is pretty great on fluxid 2011-11-28T18:10:09 "BenJackson2" was not a specific version, just something I put up to give others an opponent, but something previous to my V7 aichallenge submit 2011-11-28T18:10:16 8b is exactly my aichallenge 8 submit 2011-11-28T18:10:27 but it was about 10 days between those submissions! 2011-11-28T18:10:27 *** Jak_o_Shadows has quit IRC (Read error: Connection reset by peer) 2011-11-28T18:10:33 heh :) 2011-11-28T18:10:41 well I've actually made my bot significantly worse so yeah :P 2011-11-28T18:11:03 latest top 20 by mu only http://pastebin.com/X8jRa6S6 2011-11-28T18:11:15 janzert what's your bot name? 2011-11-28T18:11:15 *** smiley1983 has quit IRC (Ping timeout: 244 seconds) 2011-11-28T18:11:40 account name is janzert on official, but you'll only find tests of starter bots there 2011-11-28T18:11:51 I don't have an independent bot of course :) 2011-11-28T18:12:28 all my time goes into the contest code itself, so I guess that's my bot ;) 2011-11-28T18:12:49 Thanks! 2011-11-28T18:12:56 :) 2011-11-28T18:13:00 killer bot then janzert :D 2011-11-28T18:13:07 love the html5 js engine 2011-11-28T18:13:16 *** smiley1983 has joined #aichallenge 2011-11-28T18:13:25 that's thanks to mleise actually, I've hardly touched that at all 2011-11-28T18:13:35 and the engine code is mostly sigh and mcleopold 2011-11-28T18:14:16 what do you do? :) 2011-11-28T18:14:32 scatter around fixing the latest hotspot bugs :} 2011-11-28T18:14:54 really mostly the workers system is my portion to take care of 2011-11-28T18:15:01 ah 2011-11-28T18:15:07 cool 2011-11-28T18:15:47 *** JorgeB has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-11-28T18:17:31 thanks for your effort btw 2011-11-28T18:17:36 love the project 2011-11-28T18:17:45 welcome 2011-11-28T18:18:05 +1 2011-11-28T18:19:53 just curious 2011-11-28T18:19:59 yeah, I haven't had this much fun and lost this much sleep in years :) 2011-11-28T18:20:05 *** sorki is now known as sorki_sleeps 2011-11-28T18:20:16 do you guys have a controlled system or can anyone contribute with bug fixes or maybe help develop the system? 2011-11-28T18:20:20 I'd love to help in general 2011-11-28T18:20:38 I'm not some sort of super programmer but I could take over some of the more menial tasks I guess 2011-11-28T18:20:50 pretty much anyone can pitch in 2011-11-28T18:21:10 are you familiar with github and pull requests? 2011-11-28T18:21:11 it's all on github and you can make pull requests with fixes 2011-11-28T18:21:25 yeah that's what I thought it would be like :) 2011-11-28T18:21:27 awesome 2011-11-28T18:21:42 I gotta take off, later all 2011-11-28T18:21:51 cya 2011-11-28T18:25:50 *** mj41 has quit IRC (Ping timeout: 260 seconds) 2011-11-28T18:32:26 *** fpcfan has quit IRC (Ping timeout: 255 seconds) 2011-11-28T18:34:09 *** fpcfan has joined #aichallenge 2011-11-28T18:40:58 *** NoxiaZ^ has quit IRC (Read error: Connection reset by peer) 2011-11-28T18:41:09 *** fpcfan has quit IRC (Ping timeout: 258 seconds) 2011-11-28T18:42:36 *** choas has quit IRC (Ping timeout: 244 seconds) 2011-11-28T18:42:43 *** fpcfan has joined #aichallenge 2011-11-28T18:53:29 *** foRei has quit IRC (Read error: Connection reset by peer) 2011-11-28T18:55:32 *** besh has quit IRC (Quit: Page closed) 2011-11-28T18:59:53 *** fpcfan has quit IRC (Ping timeout: 252 seconds) 2011-11-28T19:00:30 *** HaraKiri has quit IRC () 2011-11-28T19:02:14 *** Antimony has joined #aichallenge 2011-11-28T19:05:45 *** Belkar has quit IRC (Quit: Ex-Chat) 2011-11-28T19:07:04 *** raemde_ is now known as raemde 2011-11-28T19:08:10 *** xathis has quit IRC (Ping timeout: 244 seconds) 2011-11-28T19:11:44 I thought that was a Neal Stephenson ref for a sec 2011-11-28T19:13:50 *** replore_ has joined #aichallenge 2011-11-28T19:17:23 *** grwip has quit IRC (Ping timeout: 244 seconds) 2011-11-28T19:21:39 *** cyphase has quit IRC (Read error: Connection reset by peer) 2011-11-28T19:22:22 The title of that book bugs me 2011-11-28T19:22:34 *** smiley1983 has quit IRC (Ping timeout: 245 seconds) 2011-11-28T19:22:57 Or my inner OCD 2011-11-28T19:23:36 *** smiley1983 has joined #aichallenge 2011-11-28T19:25:51 *** cyphase has joined #aichallenge 2011-11-28T19:31:12 *** analyst74 has joined #aichallenge 2011-11-28T19:40:30 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-28T19:41:48 which book? 2011-11-28T19:43:12 Reamde I'm assuming. 2011-11-28T19:45:40 it s 2011-11-28T19:45:42 it is 2011-11-28T19:46:14 *** fpcfan has joined #aichallenge 2011-11-28T19:49:23 *** Antimony has quit IRC (Ping timeout: 255 seconds) 2011-11-28T19:52:20 *** smiley1983 has quit IRC (Ping timeout: 252 seconds) 2011-11-28T19:56:03 *** Antimony has joined #aichallenge 2011-11-28T19:57:41 *** Regis has quit IRC (Ping timeout: 244 seconds) 2011-11-28T19:59:42 *** smiley1983 has joined #aichallenge 2011-11-28T20:00:06 *** Conorach has quit IRC (Read error: Connection reset by peer) 2011-11-28T20:00:21 *** Conorach has joined #aichallenge 2011-11-28T20:04:35 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-11-28T20:15:02 *** Antimony has quit IRC (Ping timeout: 255 seconds) 2011-11-28T20:26:42 *** Jak_o_Shadows has joined #aichallenge 2011-11-28T20:28:58 *** b0rder has joined #aichallenge 2011-11-28T20:30:58 *** bhasker has quit IRC (Quit: rcirc on GNU Emacs 23.3.1) 2011-11-28T20:32:38 *** WORKSFORME is now known as sofuture 2011-11-28T20:40:42 *** Antimony has joined #aichallenge 2011-11-28T20:41:08 *** smiley1983 has quit IRC (Ping timeout: 255 seconds) 2011-11-28T20:46:55 *** smiley1983 has joined #aichallenge 2011-11-28T20:48:37 *** Conorach has quit IRC (Ping timeout: 260 seconds) 2011-11-28T20:48:43 *** Jak_o_Shadows has quit IRC (Remote host closed the connection) 2011-11-28T21:06:56 *** Garf has quit IRC (Quit: Make a new plan, Stan!) 2011-11-28T21:08:20 *** amstan has joined #aichallenge 2011-11-28T21:08:20 *** ChanServ sets mode: +o amstan 2011-11-28T21:08:43 *** treeform has quit IRC (Remote host closed the connection) 2011-11-28T21:09:35 *** AntDroid has joined #aichallenge 2011-11-28T21:17:42 *** praveen has joined #aichallenge 2011-11-28T21:26:31 Fluxid: you there? 2011-11-28T21:26:39 I think I implemented the second way in that thing you posted 2011-11-28T21:26:58 that is somewhat unclear 2011-11-28T21:27:14 http://paste.pocoo.org/show/514164/ he posted that :P 2011-11-28T21:27:20 and asked which one I use 2011-11-28T21:28:48 hm, I can't figure out what it says 2011-11-28T21:29:21 Fluxid: http://paste.pocoo.org/show/4tz83lI1MOBTO8QTzQpI/ 2011-11-28T21:30:34 well... that's annoying 2011-11-28T21:30:44 all my bots timed out and weren't playing all day :( 2011-11-28T21:30:56 fluxid restarted 2011-11-28T21:31:00 ah 2011-11-28T21:31:44 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-28T21:39:47 *** JorgeB has joined #aichallenge 2011-11-28T21:41:42 *** praveen has quit IRC (Ping timeout: 265 seconds) 2011-11-28T21:45:04 *** olexs1 has quit IRC (Quit: Leaving.) 2011-11-28T21:50:56 *** sf17k has joined #aichallenge 2011-11-28T21:51:19 *** smiley1983 has quit IRC (Ping timeout: 245 seconds) 2011-11-28T21:52:17 *** smiley1983 has joined #aichallenge 2011-11-28T21:57:27 *** jcdny is now known as bugnuts 2011-11-28T22:13:52 that guy found an outlet for his aggression: http://www.youtube.com/watch?v=XEv6CkRzsMs&NR=1 2011-11-28T22:26:07 *** ChrisH_ has joined #aichallenge 2011-11-28T22:27:10 * BenJackson works on systematically fixing faults visible in aichallenge games 2011-11-28T22:27:20 *** Antimony has joined #aichallenge 2011-11-28T22:28:53 *** TheLinker has joined #aichallenge 2011-11-28T22:29:03 BenJackson: I'm fixing a little bug atm 2011-11-28T22:29:16 I thought it would be easy - I've added ~300 lines of code so far 2011-11-28T22:29:28 well this first one was one line 2011-11-28T22:29:31 and seems quite effective 2011-11-28T22:29:42 half my code is going to end up being handling for really rare cases 2011-11-28T22:29:43 vs 8 other copies of itself seems to win reliably 2011-11-28T22:30:39 janzert, McLeopold: I noticed an typo on the website menu panel. It currently says "Pasts Contests" but should say "Past Contests". 2011-11-28T22:30:50 ChrisH_: where? menu? 2011-11-28T22:31:06 amstan: yep on right side 2011-11-28T22:31:37 oh man.. how did i not notice this? 2011-11-28T22:32:18 amstan: no worries, it's the humans that do the web page, and we don't always read simple things carefully. ;) 2011-11-28T22:32:34 aichallenge: Alexandru Stan epsilon * rcc711ef / website/menu.php : Fixed typo in the menu - http://git.io/ViN2iw 2011-11-28T22:32:46 oh man 2011-11-28T22:32:49 9 workers online 2011-11-28T22:33:04 and my worker_ssh script is doing awesome 2011-11-28T22:33:33 BenJackson, thestinger It's been a while since we've chatted 'cause I've been focused in on my bot, but my latest version is doing rather well, so I have come up for air. How you been? 2011-11-28T22:33:50 Very similar 2011-11-28T22:33:58 thought I was done for a while when the new version did well on fluxid 2011-11-28T22:34:04 but it's floundering a bit on the official site 2011-11-28T22:35:00 Yeah, I saw a bunch of your bots on Fluxid, any idea why it's not doing well on the main servers? Could it be the shorter turn time? 2011-11-28T22:35:11 nope, I don't use a timer at all 2011-11-28T22:35:44 I seem to be doing poorly at the many way battles 2011-11-28T22:36:21 I should extract the fluxid data and check that theory 2011-11-28T22:36:52 ChrisH_: well, I think my new version is now way better :) 2011-11-28T22:37:58 thestinger: cool, I assume it's not on the main server yet, since you haven't uploaed in a few weeks (strcat, right?) 2011-11-28T22:38:02 yeah 2011-11-28T22:38:07 a lot has changed 2011-11-28T22:38:20 I basically have a completely new bot 2011-11-28T22:38:31 I haven't had time to optimize/clean it up fully so I haven't reuploaded yet 2011-11-28T22:38:34 I also saw you had several versions on Fluxid last time I was on there. 2011-11-28T22:38:37 been adding too many features 2011-11-28T22:38:50 http://ants.fluxid.pl/player/strcat_flock there's my best version with my old combat 2011-11-28T22:38:57 it just assumes enemies don't move 2011-11-28T22:39:15 _jedimindtricks and _foodfight and proper combat basically using a payoff matrix, but they don't really work yet 2011-11-28T22:39:43 the version on the site basically doesn't know about enemies at all :) 2011-11-28T22:40:25 thestinger: Here's one where we were in the same game: http://ants.fluxid.pl/replay.1630 2011-11-28T22:41:03 I'm Ombedor8 in that game. 2011-11-28T22:41:39 ah, nice 2011-11-28T22:42:35 still using Go? :) 2011-11-28T22:43:09 I've actually grown to somewhat like C++ now... but I would hate it without the C++11 features 2011-11-28T22:43:42 Yes, still using Go, and my current code now uses goroutines, which was interesting to learn the strenghts and weaknesses of. 2011-11-28T22:45:00 I have one goroutine for doing all the combat calcs, and one for all the noncombat stuff, and a main one to collect the results and send them to the server. 2011-11-28T22:45:16 neat 2011-11-28T22:45:21 goroutines are really cool 2011-11-28T22:45:49 thestinger: neat is actually a programming language developped by some lisp programmer hanging around in the D channel 2011-11-28T22:45:58 And for a while I had another one sleeping until the turn limit was close, wake up and tell the others to stop working and send the known orders, but there were scheduling problems. 2011-11-28T22:46:46 So I had to abandon that and just have the main worker goroutines just check the time themselves every so often and that is very reliable and only slightly slower. 2011-11-28T22:46:52 *** besh has joined #aichallenge 2011-11-28T22:46:59 I guess you would have to add the explicit scheduling yields everywhere 2011-11-28T22:47:36 damn this programming language inflation. it feels like 1920 2011-11-28T22:47:38 * avdg has a compiler without c++11 and would need another computer to fix that problem 2011-11-28T22:47:44 my C++ code uses a lot of lambdas and higher-order functions now 2011-11-28T22:47:57 Yes, although what I actually do is use channels to coordinate it all by letting the workers pass a token between each other and whoever has the token gets the CPU, and whenever the token changes hands is when I check the time. 2011-11-28T22:48:32 *** replore_ has quit IRC (Remote host closed the connection) 2011-11-28T22:49:08 Those are great, and I'd love to use them, but since the go compiler doesn't do much automatic optimization right now I have to avoid them for speed reasons. 2011-11-28T22:49:15 and I have 'const' on almost everything, it's like ghetto haskell 2011-11-28T22:49:18 thestinger: I'm new to functional programming, can you show me a good example where the execution speed is as high as for non-functional code, but the solution is more concise/shorter? 2011-11-28T22:49:57 well, I have a single BFS implementation 2011-11-28T22:50:13 I pass in a lambda which changes what it does with every iteration 2011-11-28T22:50:34 before I had 4 different implementations 2011-11-28T22:50:49 so this cut the binary size down a lot, and there's a huge speed gain (maybe due to cache) 2011-11-28T22:50:57 ah ok. I recently had some code that I thought should be run 3 times with different actions taken 2011-11-28T22:51:43 [this](Location loc, int distance) { set this->something++ or whatever } 2011-11-28T22:51:51 it gets difficult when the 3 or 4 implementations differ in more than just a single location that can be replaced by a function pointer / lambda 2011-11-28T22:51:55 so I can pass something like that into a function, and set something in an object 2011-11-28T22:51:57 *** treeform has joined #aichallenge 2011-11-28T22:52:37 map, fold and filter are the obvious examples of higher-order functions 2011-11-28T22:53:16 I never thought about passing more than the local function scope (aka closure). object references are a whole new dimension 2011-11-28T22:53:36 when I figuring out the C++ lambdas this was the first thing I implemented: http://paste.pocoo.org/show/514276/ 2011-11-28T22:54:08 sadly you can't you the range based for with gcc 4.5 on the server (but that's not important) 2011-11-28T22:54:15 so I can do 2011-11-28T22:54:36 cont = filter([](int i) { return i < 10; }, cont); 2011-11-28T22:54:49 for any of the standard library containers 2011-11-28T22:55:09 rather than writing for loops everywhere 2011-11-28T22:55:32 I'm not really using that but I just made it to see if C++ lambdas were any good :P 2011-11-28T22:55:54 implementing fold would be more useful 2011-11-28T22:56:06 ok, would that have been more ugly with function pointers? 2011-11-28T22:56:11 here is something cool from Go: you can call a closure as a goroutine. Pretty wild. 2011-11-28T22:56:22 ChrisH_: channels of channels of functions? :P 2011-11-28T22:56:29 ChrisH_: noone knows what a goroutine is 2011-11-28T22:56:39 mleise: lightweight thread 2011-11-28T22:56:57 mleise: think coroutine in a lightweight thread 2011-11-28T22:57:07 and they can multiplexed over real threads (but not for this contest ofc) 2011-11-28T22:57:13 arrrgh finally I get beautifulsoup to parse fluxid pages 2011-11-28T22:57:28 meh, beautifulsoup 2011-11-28T22:57:32 isn't it valid html? 2011-11-28T22:57:35 BenJackson: doesn't it offer json? 2011-11-28T22:57:43 thestinger: it just has no useful attributes 2011-11-28T22:57:54 @amstan: for player results? dunno! 2011-11-28T22:57:55 BenJackson: Run as fast as you can and don't look back. 2011-11-28T22:58:07 BenJackson: well.. find out, maybe ping Fluxid 2011-11-28T22:58:26 it's much easier to do that in json that parse things 2011-11-28T22:58:27 mleise: yeah, you can't do much with function pointers 2011-11-28T22:58:34 and they are really ugly without std::function in C++ 2011-11-28T22:59:16 because with function pointers, the functions have to be defined globally 2011-11-28T22:59:24 sigh.. 2011-11-28T22:59:34 i have that i wanna make an awesome game feeling 2011-11-28T22:59:38 return array( pipe!( readText, split, map!(to!double) )( filename ) ); // who knows what this does? 2011-11-28T22:59:48 you can't capture state like a lambda, or even have nested functions 2011-11-28T23:00:52 amstan: I know that. But It is not like I'm satisfied with another pac man clone any more :-( 2011-11-28T23:00:55 2 26 1.11538461538 2011-11-28T23:00:55 3 32 1.28125 2011-11-28T23:00:55 4 53 1.62264150943 2011-11-28T23:00:55 5 54 1.75925925926 2011-11-28T23:00:55 6 32 2.46875 2011-11-28T23:00:58 7 49 2.32653061224 2011-11-28T23:01:00 8 42 2.21428571429 2011-11-28T23:01:03 9 25 2.92 2011-11-28T23:01:05 10 24 3.08333333333 2011-11-28T23:01:09 that's # players, # of games with that many plaers, my average place in those games 2011-11-28T23:01:15 on fluxid 2011-11-28T23:01:42 *** jstemmer has quit IRC (Ping timeout: 244 seconds) 2011-11-28T23:01:43 not sure if that's randomness or the particular maps or what 2011-11-28T23:02:13 randomness? i don't think so 2011-11-28T23:02:17 it seems fairly consistent 2011-11-28T23:02:21 mleise: the nice thing about std::function is that it's generic, that filter function can take a function pointer, functor or lambda as an argument 2011-11-28T23:02:24 it is odd you get higher rating with 10 players 2011-11-28T23:02:26 looks like above 5 players there is a fair bit of randomness 2011-11-28T23:02:42 besh: that means "averaging 3rd place" 2011-11-28T23:02:45 *** avdg has quit IRC (Quit: Leaving.) 2011-11-28T23:02:49 vs basically 1st in all 1-v-1 2011-11-28T23:02:52 wait.. nvm, what happened at 6? 2011-11-28T23:02:59 oh in that case it makes sense. 2011-11-28T23:03:06 apparently I screw the pooch around 6 2011-11-28T23:03:21 which is not inconsistent with the aichallenge results :) 2011-11-28T23:03:34 BenJackson: that's weird then, lol 2011-11-28T23:03:42 i would have expected that to be map errors 2011-11-28T23:04:13 I could have written the sql for that about 1013408124 times faster than parsing it out of html 2011-11-28T23:07:01 thestinger: I took a look at Rust. It has nice ideas but I cannot evaluate a language from what is there. How will the tools be? Will it work well in all practical fields? What about unit testing? How good will the compiler be? For now it is mostly an idea and probably a seemingly clean language design. But that is how other languages started out as well ^^ 2011-11-28T23:07:45 yeah 2011-11-28T23:08:02 I really like how you can have this special pattern matching switch-case thing to write a nice "direction to angle" function 2011-11-28T23:08:21 or "direction vector to angle" to be precise 2011-11-28T23:08:25 *** treeform_ has joined #aichallenge 2011-11-28T23:12:02 *** treeform has quit IRC (Ping timeout: 244 seconds) 2011-11-28T23:14:40 *** jstemmer has joined #aichallenge 2011-11-28T23:16:23 *** fpcfan has quit IRC (Ping timeout: 258 seconds) 2011-11-28T23:17:03 mleise: giving closures references to objects/containers and then passing them to generic functions has definitely cleaned up my code a lot 2011-11-28T23:17:18 amstan: I can just ignore issues with maps featuring 1-square wide gaps, right? 2011-11-28T23:17:31 BenJackson: no 2011-11-28T23:17:32 well I mean lambdas 2011-11-28T23:17:44 BenJackson: there might be bigger paths around 2011-11-28T23:18:24 isn't a lambda closing over some outer scope a closure? 2011-11-28T23:21:54 mleise: that sounds right to me 2011-11-28T23:27:52 *** ChrisH_ has quit IRC (Quit: Page closed) 2011-11-28T23:33:10 *** TheLinker has quit IRC (Quit: Bye) 2011-11-28T23:36:03 my bots rating goes up during the night and goes down during the day :) 2011-11-28T23:36:34 on fluxid? 2011-11-28T23:36:42 yeap 2011-11-28T23:36:58 i guess the strong engines connect during the day 2011-11-28T23:37:26 my mu slowly drops until I improve something 2011-11-28T23:38:07 yay, another big bugfix :) 2011-11-28T23:38:25 Hmm flock seem to working though :) 2011-11-28T23:38:55 yeah, _next _flock and _dense are basically the same 2011-11-28T23:39:10 I'm working on better combat atm 2011-11-28T23:39:34 *** rwest_ has joined #aichallenge 2011-11-28T23:39:53 so I have found out I can be "lone survivor" and still come in 2nd 2011-11-28T23:39:54 yes that is the key. But I don't know how to go about it. 2011-11-28T23:39:57 lame 2011-11-28T23:40:34 I heard some min-max talks here but I don't know how that can be applied with imperfect information.. maybe a shallow one. 2011-11-28T23:40:57 https://en.wikipedia.org/wiki/Prisoner%27s_dilemma I'm just treating it like this 2011-11-28T23:41:08 so no prediction beyond the current turn 2011-11-28T23:41:13 rwest: you just time out and get that 1 point 2011-11-28T23:42:03 the goal is very much to raze hills 2011-11-28T23:42:14 not get more ants, not kill other ants 2011-11-28T23:42:30 thestinger: wouldn't that require cooperation between players ? 2011-11-28T23:42:33 although those help 2011-11-28T23:42:44 besh: no 2011-11-28T23:43:09 atm I just do it a really simple way 2011-11-28T23:43:18 I pick out a defensive set of moves for myself, and an offensive set 2011-11-28T23:43:27 besh: I killed all the ants on the board, just not the hill yet, had I killed the 2 hills left, I would have won 2011-11-28T23:43:36 the same thing for the "enemy" (I just have them all attack me) 2011-11-28T23:43:50 rwest_: ah that is interesting 2011-11-28T23:43:56 then I run 2x2 battle simulations and pick the best result 2011-11-28T23:44:06 but don't you get bonus points in that situation? 2011-11-28T23:44:10 eventually I'll do a _lot_ more than just 4 evaluations per battle 2011-11-28T23:44:11 so it counts as if you'd killed the hills 2011-11-28T23:44:25 hmmm 2011-11-28T23:44:30 he had 2 hills left 2011-11-28T23:44:36 btw first version of my bot is playing its first game 2011-11-28T23:44:36 I got 4 bonus points 2011-11-28T23:44:43 thestinger: So you assume the worst (the paronoid algorithm i suppose). All players gang up on you 2011-11-28T23:44:51 yeah 2011-11-28T23:44:54 is it not 3 points to kill the hill yourself? 2011-11-28T23:45:00 I think it's 2 2011-11-28T23:45:10 ahh I see 2011-11-28T23:45:11 ok then 2011-11-28T23:45:20 I still think lone survivor should be win condition 2011-11-28T23:45:33 regardless of how many points the person in first has 2011-11-28T23:45:34 besh: before, I just pretended enemies never moved so that my bot could break through defenses, etc. 2011-11-28T23:46:00 yes that is what I still do 2011-11-28T23:46:26 strcat_jedimindtricks and strcat_foodfight will be using my new combat code 2011-11-28T23:46:35 it had a bug so it hasn't actually worked yet 2011-11-28T23:46:40 probably still doesn't work properly xD 2011-11-28T23:48:01 my combat code tries to place ants on enemy's attack_radius + 1 border 2011-11-28T23:48:17 then goes in for the kill when it sees it outnumbered the opponent 2011-11-28T23:48:40 problem is i don't check if it is suicidal to place an ant at a certain location. 2011-11-28T23:49:21 The attack rules are complicated to implement and I am not sure if i understand it either. 2011-11-28T23:49:59 http://aichallenge.org/specification_battle.php 2011-11-28T23:50:08 the math/pseudo-code at the bottom explain it well 2011-11-28T23:50:11 *** antimatroid1 has quit IRC (Ping timeout: 244 seconds) 2011-11-28T23:50:20 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-28T23:51:16 yes, if it was something like "you control a location if you attack it more than the opponent" then it would have been easy. 2011-11-28T23:51:54 But it says that "the ants you attack should be attacked more than you are , for you to survive", which is difficult for me to implement 2011-11-28T23:53:42 What I mean it is not enough to know you are attacked, but also by which ants to resolve the battle. Anyway I am sure others find it easy though. 2011-11-28T23:54:21 definitely not easy to figure out combat 2011-11-28T23:54:53 *** delt0r_ has quit IRC (Ping timeout: 252 seconds) 2011-11-28T23:55:05 it's hard to know how aggressive you should be 2011-11-28T23:55:15 even the top bots end up in a lot of standoffs they could win 2011-11-28T23:55:50 yes most are cautious. 2011-11-28T23:56:30 that's the characteristic of min-max 2011-11-28T23:57:26 maybe one can try learning. Be aggressive see what ants get killed then be cautious in that area. I never used the dead ants input but it could be meant for that kind of analysis. 2011-11-28T23:57:39 well you have to adjust how you evaluate the score