2011-04-20T00:00:20 *** smiley1983 has joined #aichallenge 2011-04-20T00:01:20 If I submitted a pull request, then pushed a new change, do I need to submit another pull request? The first one was not processed, so will it include my new bugfix when they process it? 2011-04-20T00:10:55 *** smiley1983 has quit IRC (Quit: leaving) 2011-04-20T00:25:10 antimatroid around? 2011-04-20T00:31:07 He don't seem to been 2011-04-20T00:31:42 We'll give him an alert message 2011-04-20T00:31:47 animatroid: 2011-04-20T00:36:37 bhasker: I'm certainly not the authority on matters like this, but might I ask why you're looking for him? 2011-04-20T00:36:44 just curious 2011-04-20T00:40:26 was just wondering how battle resolution is happening 2011-04-20T00:40:39 especially when multiple ants are around, 2011-04-20T00:41:02 do i just go ant by ant and hit them with 1/n ants in surrounding attack radius 2011-04-20T00:41:08 and then eliminate the ones that take more than 1 2011-04-20T00:41:24 to my understanding yes 2011-04-20T00:41:28 hmm k 2011-04-20T00:42:14 are you doing engine work? 2011-04-20T00:42:59 nope 2011-04-20T00:43:08 just playing around with a bot that i was writing 2011-04-20T00:45:02 ah I see. What language? 2011-04-20T00:46:22 c++ 2011-04-20T00:47:13 have a basic bot working trying to add a few features 2011-04-20T00:47:23 this time trying to be a bit more methodical about my bot 2011-04-20T00:47:56 what did your last one do? I saw it but I can't quite remember 2011-04-20T00:48:31 that was a simpe one it just hunts for food and if no food around goes after enemy bots 2011-04-20T00:48:38 with some BFS search to find shortest paths 2011-04-20T00:49:02 and some calculations to ensure closest ants go after food 2011-04-20T00:49:07 and not all of them 2011-04-20T00:49:21 but when i meant this time around, i meant this contest:) last contest my bot was a pile of heuristic rules 2011-04-20T00:50:39 oh haha. I have no experience with ai prior to now, but I'd ceratinly like to be around when the next game gets going to help make starters and such 2011-04-20T00:50:46 *** Mathnerd314 has quit IRC (Ping timeout: 252 seconds) 2011-04-20T00:51:16 heh 2011-04-20T00:51:22 its a lot of fun i will tell you 2011-04-20T00:51:27 especially once the contest starts 2011-04-20T00:52:58 *** Frontier has joined #aichallenge 2011-04-20T00:54:01 Oh god. I just discovered a pretty serious flaw in gedit. 2011-04-20T00:54:58 I had it set to insert tabs as spaces, but I got tired of deleting tons of spaces so I changed it back to tabs and now I 2011-04-20T00:55:14 *I'm getting tons of indent errors 2011-04-20T00:55:49 just get it to an autoindent 2011-04-20T00:57:26 I do have it set to autoindent. But it evidently doesn't recognize a tab with a space length set to four as equivalent to four spaces 2011-04-20T00:58:19 I think it only considers a tab of any size as one space, which fine as long as you consistently use only spaces or only tabs, but disasterous if you switch at some point in-between 2011-04-20T00:58:27 *which is fine 2011-04-20T01:02:08 use emacs:) 2011-04-20T01:02:14 all real programmers use emacs ;) 2011-04-20T01:03:03 haha so I've heard. 2011-04-20T01:04:22 I probably will soon. But first I'm gonna report this problem. I seriously doubt it's a common problem and it took me about ten minutes of getting the same indent error to figure out what was happening 2011-04-20T01:07:59 so are you taking part this time? 2011-04-20T01:08:46 In the competition? 2011-04-20T01:11:15 yup 2011-04-20T01:11:58 oh absolutely. I am excited 2011-04-20T01:12:44 this competition is my chance to learn some real programming 2011-04-20T01:13:05 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal) 2011-04-20T01:38:31 *** janzert has joined #aichallenge 2011-04-20T02:16:14 bhasker: an ant with AT LEAST 1 damage dies 2011-04-20T02:19:49 Indeed. Probably very very important. 2011-04-20T02:51:08 *** _0x47 <_0x47!~slash@p5B25EA95.dip.t-dialin.net> has joined #aichallenge 2011-04-20T03:07:06 *** needsch has joined #aichallenge 2011-04-20T03:07:06 *** Apophis_ has joined #aichallenge 2011-04-20T03:10:50 *** Apophis has quit IRC (Ping timeout: 246 seconds) 2011-04-20T03:15:33 *** Ice_Harley has joined #aichallenge 2011-04-20T03:15:48 *** needsch has quit IRC (Quit: Leaving.) 2011-04-20T03:16:56 <_0x47> hi guys, is there any example video of the new ants game? I don't get how it's going to work. :P 2011-04-20T03:25:10 Don't know about video, but you can download visualizer and see how simple bots are playing there 2011-04-20T03:25:45 visualizer is here: https://github.com/aichallenge/aichallenge 2011-04-20T03:29:08 *** berak has joined #aichallenge 2011-04-20T03:33:36 *** ltriant has quit IRC (Quit: Computer has gone to sleep) 2011-04-20T04:10:27 _0x47: also take a look here: http://marco-leise.homedns.org/antgui/stable/visualizer.php?game_id=2 2011-04-20T04:10:30 Frontier: what's the link to your visualieser :P 2011-04-20T04:10:32 oh :P 2011-04-20T04:10:42 good timing 2011-04-20T04:10:47 i know ;) 2011-04-20T04:10:48 and blast you for not knowing hobart! 2011-04-20T04:12:20 <_0x47> Frontier Ice_Harley thank you, awesome! 2011-04-20T04:16:15 *** sigh has joined #aichallenge 2011-04-20T04:23:16 *** Naktibalda has joined #aichallenge 2011-04-20T04:52:00 What happens in the case that 2 ants from one bot and one from another are all within spawn radius of a food square? 2011-04-20T04:53:56 according to the rules, the food dissappears without spawning an ant 2011-04-20T04:54:34 hmm, that's what I thought. 2011-04-20T04:55:21 I haven't really looked but doesn't it work that way? 2011-04-20T04:56:07 seems to. But I think I would prefer making the situation impossible 2011-04-20T04:57:42 I think the battle radius should always be more than twice the size of the spawn radius. 2011-04-20T04:59:49 It seems unfair that in a situation where one bot would definitely come out as the winner and then be able to claim its food square it can instead by destroyed by a single ant 2011-04-20T05:00:12 *** _0x47 <_0x47!~slash@p5B25EA95.dip.t-dialin.net> has quit IRC (Ping timeout: 246 seconds) 2011-04-20T05:00:12 *** _0x471 <_0x471!~slash@p3EE0B7F2.dip.t-dialin.net> has joined #aichallenge 2011-04-20T05:05:21 In theory a bot that came out poorly in battles could camp right outside the spawn radius of food squares and then move in as soon as an enemy ant was about to claim it, both keeping the bot from getting a new ant and preventing its scoring by killing the other ant. I feel like this must already be at the very least an unspoken rule. Unless my logic is flawed somewhere. 2011-04-20T05:05:57 *** aerique has joined #aichallenge 2011-04-20T05:08:24 if poor bot instead of camping claim food himself stronger bot will not only score for food, but will have more problems to fight with poor one :) 2011-04-20T05:08:45 *lose score for food 2011-04-20T05:18:06 *** boegel has joined #aichallenge 2011-04-20T05:29:30 guys, battles happen before spawning 2011-04-20T05:30:17 if they are within fight range, one player may get to spawn there, but if they aren't in fight range and that happens then the food disappears 2011-04-20T05:38:57 *** yasith has joined #aichallenge 2011-04-20T05:54:28 animatroid: My argument is that there shouldn't be cases in which 2 enemies can both be in the spawn range of food, yet not in each others' battle radii 2011-04-20T06:25:08 jaycobcoleman: But increasing the battle radius does not solve that. It is still possible to end with live ants of 2 parties inside each other battle radius. 2011-04-20T06:29:58 Well of course, that's what a battle is. I'm talking about the food's spawn radius. If it's less than half the size of the battle radius then there's no way that two ants can be in the spawn radius of the same food square, therefore we no longer have to deal with the wierd situation of food occasionally disappearing 2011-04-20T06:30:56 plus I think the gameplay would be more eventful 2011-04-20T06:31:32 from what I've seen people are tending to focus almost completely on food collection as opposed to fighting and it leads to a fairly uneventful game 2011-04-20T06:32:43 decreasing spawn radius and increasing battle radius would both get rid of the strange food despawning situation and increase each bot's need to be able to handle itself in a battle 2011-04-20T06:34:05 plus larger battle radius means more complex battle dynamics and more strategy involved in keeping your ants alive, potentially even when you're going up against an enemy with considerably more ants than yourself 2011-04-20T06:46:19 *** antimatroid has quit IRC (Ping timeout: 260 seconds) 2011-04-20T06:51:38 *** _0x471 <_0x471!~slash@p3EE0B7F2.dip.t-dialin.net> has quit IRC (Ping timeout: 252 seconds) 2011-04-20T06:52:05 *** _0x47 <_0x47!~slash@p3EE0BDA0.dip.t-dialin.net> has joined #aichallenge 2011-04-20T06:52:45 *** delt0r_ has joined #aichallenge 2011-04-20T06:53:08 *** Eruonen has joined #aichallenge 2011-04-20T06:54:09 *** delt0r___ has quit IRC (Ping timeout: 246 seconds) 2011-04-20T07:13:14 jaycobcoleman: No you are wrong, whatever the battle radius compared to the food spawn radius is, it is still possible that 2 enemies enter the food spawn radius simultanuously. 2011-04-20T07:16:40 I can't see any situation where that's possible 2011-04-20T07:20:25 *** FireFly has joined #aichallenge 2011-04-20T07:29:46 Ah, it is a bit hard to explain in text. But the basic setup is that two players, A and B are approaching the food with 2 ants each and player C provides each turn a sacrifice. 2011-04-20T07:30:37 Player A and B's ant see 3 enemy ants each and player C sees 4 enemy ants. 2011-04-20T07:31:15 Player A and B's ant receive eache 2 * 1/3 + 1/4 < 1 damage and C 's ant receives 2 * 2/3 > 1 damage 2011-04-20T07:31:47 So ant C dissappears and A's and B's move closer to the food. 2011-04-20T07:31:50 Repeat 2011-04-20T07:32:12 If these exact logistics do not work, you need some more supporting ants, but basically this is the idea. 2011-04-20T07:35:53 I was under the impression they didn't move until the battle was completely resolved. If this is the case instead then I most certainly agree 2011-04-20T07:38:32 *** Eruonen has quit IRC (Ping timeout: 240 seconds) 2011-04-20T07:40:31 Hm, maybe, so your impression is that there are multiple rounds of resolving fight until no two enemy ants are in the attack radius of each other. 2011-04-20T07:40:54 Might be the case, I thought not, but I have misread things before 2011-04-20T07:41:29 It is kind of important to know this exactly 2011-04-20T07:43:44 *** antimatroid has joined #aichallenge 2011-04-20T07:44:23 animatroid: we need information on battle resolution 2011-04-20T07:48:13 what about it? 2011-04-20T07:49:31 what happened to the logs? 2011-04-20T07:49:37 they used to be text files yeah? 2011-04-20T07:49:48 i liked being able to view them in the browser :\ 2011-04-20T07:50:12 In the case that there is battle and ants from more than one bot left does the battle continue until it's completely resolved or not? 2011-04-20T07:50:40 In other words can there be multiple iterations of the battle resolution method in one turn 2011-04-20T07:50:48 no there cannot 2011-04-20T07:51:28 alright, works for me 2011-04-20T07:51:46 and also I have no idea what happened with the logs 2011-04-20T07:52:07 what was the example that lead to this question? 2011-04-20T07:52:09 what's wrong with the logs? 2011-04-20T07:52:26 my browser downloads the files now 2011-04-20T07:52:36 instead of displaying them in the browser window 2011-04-20T07:52:47 from where? 2011-04-20T07:53:03 http://contestbot.hypertriangle.com/ 2011-04-20T07:53:17 two players, A and B are approaching the food with 2 ants each and player C provides each turn a sacrifice. [03:28] Player A and B's ant see 3 enemy ants each and player C sees 4 enemy ants. [03:28] Player A and B's ant receive eache 2 * 1/3 + 1/4 < 1 damage and C 's ant receives 2 * 2/3 > 1 damage [03:29] So ant C dissappears and A's and B's move closer to the food. [03:29] Repe 2011-04-20T07:53:33 ergh 2011-04-20T07:53:40 half-assed quoting of text 2011-04-20T07:53:41 just give me a small example situation :P 2011-04-20T07:54:01 haha let me think one up 2011-04-20T07:55:19 meh. It can't really get simpler. Just ignore the times and username and what it comes down to is "there's a battle situation and ants from more than one bot remain after its resolution" 2011-04-20T07:56:21 i know it's possible, anyway, point is they stay there at the start of next turn 2011-04-20T07:56:23 antimatroid: Ignore the fact how we get in this situation: ...AACBB.. with A, B and C players 2011-04-20T07:56:24 antimatroid: wtf, it is only today's log file 2011-04-20T07:56:41 sigh: weird aye? 2011-04-20T07:57:07 and there is no difference in the HTTP headers 2011-04-20T07:59:21 jaycobcoleman: btw, I think we can get rid of any "disappearing food" by making the spawn radius 1, which i want to do anyway 2011-04-20T07:59:34 <_0x47> Is there already a local testing tool like the JBotManager (Galcon)? 2011-04-20T07:59:48 no jbotmanager 2011-04-20T07:59:52 i would love for someone to make one 2011-04-20T07:59:59 Thank you! that's exactly what I was hoping for 2011-04-20T08:00:00 but the person who made jbotmanager is quite busy 2011-04-20T08:00:47 also, are you talking about issues with the channel logs? 2011-04-20T08:01:15 <_0x47> hm, this is beyond my skills. :( It would take too much time to create it, especially as I have my exams in May 2011-04-20T08:01:19 there's something strange about the log file for today 2011-04-20T08:01:33 _0x47: I have my exams in june 2011-04-20T08:02:34 Oh my, now I see it. 2011-04-20T08:03:32 antimatroid: But what about the situation ...A*B... with * food and A and B different players? 2011-04-20T08:03:45 battle happens before spawning 2011-04-20T08:04:20 it's harder to block "collisions" 2011-04-20T08:04:35 antimatroid: But this can happen after the battle 2011-04-20T08:04:39 because you might have a*.b, then the next turn aa.b where they can collide 2011-04-20T08:04:42 *** needsch has joined #aichallenge 2011-04-20T08:04:44 *** Ice_Harley has quit IRC (Ping timeout: 252 seconds) 2011-04-20T08:04:52 woudshoo: ah yeah, then it will disappear 2011-04-20T08:05:20 it would certainly make disappearing food much less likely 2011-04-20T08:05:47 yes, that is true, but I don't see the big benefit in that. Why is it an issue if food disappears? 2011-04-20T08:06:09 I just want to avoid disappearing food in general 2011-04-20T08:06:44 it just doesn't help anyone and it detracts from the value of superior strategy 2011-04-20T08:06:56 antimatroid: meh, just download all the logs to local disk 2011-04-20T08:07:58 the alternative is to not "kill" food, but then sections of the map might turn into deadlocks 2011-04-20T08:08:01 which we don't want 2011-04-20T08:08:24 sigh: my point is that sucks :P 2011-04-20T08:10:08 I have all the logs locally anyway, so I can grep them 2011-04-20T08:10:51 bhasker: has your kid made it out into the world yet? :P 2011-04-20T08:13:35 *** Eruonen has joined #aichallenge 2011-04-20T08:31:11 *** mceier has joined #aichallenge 2011-04-20T08:33:03 *** smiley1983 has joined #aichallenge 2011-04-20T08:34:52 smiley1983: you don't make me feel as bad about my sleeping pattern 2011-04-20T08:34:53 thanks 2011-04-20T08:36:05 it's 4:30 AM here 2011-04-20T08:43:54 :P 2011-04-20T08:43:57 it's 10 40pm here 2011-04-20T08:45:04 almost 15pm here 2011-04-20T08:45:34 Ha. "Pattern" is a generous term. 2011-04-20T08:46:01 i forget how sigh referred to my sleeping routine recently 2011-04-20T08:46:06 but it made me chuckle 2011-04-20T08:47:19 I like programming after I've been awake for a while. When there's something interesting to do, this encourages late nights to become later. 2011-04-20T08:48:02 yeah, i am often most productive in the middle of the night 2011-04-20T08:48:32 animatroid: Do you want to disable fighting across water? 2011-04-20T08:48:33 jaycobcoleman: You mention that you feel it is too much about food gathering. My experiments do not bear that out. 2011-04-20T08:49:03 a lot of the same food gathering methods will show up 2011-04-20T08:49:10 the real battle arena is going to be battles 2011-04-20T08:49:25 jaycobcoleman: i do, but i don't get to make the decisions 2011-04-20T08:49:28 The matches I've seen involving more complex bots have spendt most of their time collectin food. I don't think it should be about that at all 2011-04-20T08:49:35 I think it will boil down to: 1- all bots will have very good food gathering. To do it optimally is hard, but I think that is not needed. The battles is where the good bots distinguish themselves 2011-04-20T08:49:45 nobody has done enough to do game trees for battles yet 2011-04-20T08:49:53 it requires more effort, it's easy to play around with food gathering 2011-04-20T08:50:07 what does making game trees entail? 2011-04-20T08:50:11 But I think you see it is all about food because that is where you start implementing a bot. After that is done, battle is next. 2011-04-20T08:50:39 setting up nodes, creating the tree, iterating states, evaluating states, doing backward induction, extracting moves and making them etc. 2011-04-20T08:50:51 deleting all your memory if you're using c++ etc. 2011-04-20T08:51:09 I am playing around with a bot and am just starting to look at battles. This is the hard and really important bit. 2011-04-20T08:52:03 My bot loses quite a bit to Stocha's bot. But that is because Stocha's bot somehow places its ants much better, so my ants die when it encounters it. 2011-04-20T08:52:17 i plan to partition "battle ants" into sets of who can affect each other, then iteratively use a game tree to pick moves for x amount of time 2011-04-20T08:52:19 W.r.t food gathering, both bots are similar. 2011-04-20T08:52:23 then just move the rest towards their closest friend 2011-04-20T08:52:33 woudshoo: I could be wrong, and it's probably my fault, but I feel like you may be misinterpretting me. I think it should be a lot about battles 2011-04-20T08:53:08 jaycobcoleman: I am trying to say, don't worry, it will be about battles, we are just in the phase that everybody is concentrating on food. 2011-04-20T08:53:35 alright, good 2011-04-20T08:53:44 How will you select moves for consideration in the game tree? 2011-04-20T08:54:53 *** Ice_Harley has joined #aichallenge 2011-04-20T08:55:23 That is - do you plan to consider one ant's move to be one node in the tree, or will a node represent a "strategy"? 2011-04-20T08:55:58 I just created a function that for any given point will create a map based on the water information I have that shows the minimum number of moves it will take to get to that point from every other point on the map 2011-04-20T08:56:39 How long does it take to execute on a large map? 2011-04-20T08:57:50 I haven't noticed any significant delay. I don't have my bot running with it yet though, so I've just been testing the function itself. I also haven't tested it with very large maps yet. I'll do so shortly 2011-04-20T08:58:16 I've been considering a similar thing, but haven't gotten that far yet, and I was concerned about how much time it might take. 2011-04-20T08:59:20 I have several similar ideas that haven't quite played out yet, but they seem to go pretty quickly and i can see them as being phenominally useful 2011-04-20T09:00:09 Yes, building a map of pathfinding data early in the game could be exceptionally useful in the late game. :) 2011-04-20T09:00:09 smiley1983: unsure yet, i'm tempted to take the set of non-water moves for each ant then find the set of strategies that don't result in cycles to pick out strategies for each player 2011-04-20T09:00:28 otherwise i usually just move each of my ants over x layers, then move onto the other player 2011-04-20T09:00:47 pathfinding map is easy 2011-04-20T09:01:07 actually, no it's not, 2011-04-20T09:01:26 do you feel like telling your thoughts on that? :) 2011-04-20T09:01:40 on what? 2011-04-20T09:01:44 pathfindig 2011-04-20T09:01:49 *pathfinding 2011-04-20T09:01:55 breadth first search with a queue 2011-04-20T09:02:19 a* would be nice, but i don't see it working well when you don't have a specific target 2011-04-20T09:02:24 but bhasker thinks otherwise 2011-04-20T09:02:30 Is that executed per ant, per turn, or is the data built up over successive turns? 2011-04-20T09:02:53 you can do it from all ants simultaneously if you just want shortest paths to squares from any ant 2011-04-20T09:03:06 or you can search from an ant with a queue until you find something useful etc. 2011-04-20T09:03:59 I've actually experimented with all of these and can't figure out which ones I think will be most useful 2011-04-20T09:04:28 animatroid: again, I know you aren't in charge of the code, but if I make some ants.py additions to add the capability to disable battles over water do you think I could get them pushed? 2011-04-20T09:05:20 atm i plan to do something like the following: 2011-04-20T09:05:20 for up to 50% of the time - move battle ants with game trees 2011-04-20T09:05:20 move the rest of battle ants to their closest friends 2011-04-20T09:05:20 collect food 2011-04-20T09:05:20 pair enemy ants off with friend ants and move ants appropriately 2011-04-20T09:05:20 move ants towards not recently seen squares and other heuristics 2011-04-20T09:05:40 battles are happening over water 2011-04-20T09:06:39 antimatroid: Were you worrying about crossing paths when finding food? 2011-04-20T09:06:48 yes 2011-04-20T09:06:52 and in other situations 2011-04-20T09:07:54 Maybe it isn't really an issue, if a ---> p and b --> q and their paths intersect at x. The triangle inequality tells you that the paths a ---> q and b ---> p won't be longer (in total) of course they might still intersect at x. 2011-04-20T09:07:58 my best idea for that so far is a set > to indicate when a square will be taken 2011-04-20T09:08:16 and use that information while path finding 2011-04-20T09:09:19 *** ginDeVine has joined #aichallenge 2011-04-20T09:09:26 What I am struggling a bit is moving ants simultanuously. that is, move a pack of ants such that I do not create holes in the pack. 2011-04-20T09:09:59 that's tricky 2011-04-20T09:10:26 if you're happy to deal with the occasional "collision", you can move ants onto a square already containing an ant that hasn't moved yet 2011-04-20T09:10:37 animatroid, your ideas are just as crazy and elaborate as my own. The key difference is that you probably know how to implement them to some degree :P 2011-04-20T09:10:56 i had no idea at the start of tron, experience helps :P 2011-04-20T09:12:04 antimatroid: Hm, that sounds bad, suppose you move a pack and you encounter a corridor, suddenly all ants squeeze in the corridor and if you ignore that you could lose half your ants. 2011-04-20T09:12:20 i don't think you would lose half of them 2011-04-20T09:12:27 but you may lose one or two 2011-04-20T09:12:45 Maybe I should first ignore my own ants, prepare the moves and before issuing the orders check for conflicts 2011-04-20T09:12:45 on my squares i have int ant, vector newAnts, deadAnts 2011-04-20T09:13:12 when i move an ant i add it to newAnts, then in my ++ function for state, i process the information from new ants back to ant or dead ants 2011-04-20T09:13:28 that way in the game tree you can move enemies to collide and make a lot of other stuff simpler 2011-04-20T09:14:33 an interesting problem i can't work out how to solve is the following: 2011-04-20T09:15:29 when working out all moves for a set of your ants, you get the set of moves for each ant that doesn't move them to water, then take the cartesian product of those to get the set of all moves, but then you want to efficiently eliminate all elements that result in collisions 2011-04-20T09:16:33 antimatroid: That sounds like something that can be done with bit manipulation (Knuth, the art of computer programming Vol 4). But this is just instinct, no concrete idea. 2011-04-20T09:17:41 How about something like this: The ant pack is moving toward a destination. Sort the pack by crude distance from the target. Move all the ants whose "best path" is not obstructed. Put their previous locations into a list. Now: 2011-04-20T09:18:27 Something along the lines of making the ants on the map in bit vectors, create the state after the moves and count the nr of bits. THis sounds slow, but some the bit manipulations can be very fast. (although 10000 bits is about 312 4-byte words hm) 2011-04-20T09:18:31 Iterate over this list of "holes". Attempt to fill the hole with an ant who will improve its position in relation to the target by doing so. Add this ant's previous location to the holes list. 2011-04-20T09:18:34 here is a nice way of doing it 2011-04-20T09:18:56 iteratively search from all enemy ants and move the closest ant towards them 2011-04-20T09:19:03 that would do quite well 2011-04-20T09:19:10 smiley1983: Yes, I was thinking about that, but it is work :-( 2011-04-20T09:19:29 antimatroid: that is what I do now. But I need to pace my ants, they are now one by one walking into traps. 2011-04-20T09:19:36 yep 2011-04-20T09:19:39 hence the game tree :P 2011-04-20T09:19:51 It requires coding work - it probably wouldn't be very processor-intensive. 2011-04-20T09:20:13 smiley1983: Yes, but my cycles are expensive :-) (and I am lazy) 2011-04-20T09:20:51 Yes. It's not an approach suited to use within game trees. 2011-04-20T09:25:29 i'm still not opposed to doing a crazy engine where maps are on a klein bottle 2011-04-20T09:25:35 I'd like to explore the idea of a school of fish kind of movement, where a group of ants moves as a whole, but forms around enemy ants, just outside their battle radii before simultaniously collapsing onto them. 2011-04-20T09:26:06 look up swarm intelligence ;) 2011-04-20T09:26:24 I knew you'd have something for me :) 2011-04-20T09:26:29 Another possible solution: Attempt to move every ant in the pack, assuming its way will not be blocked by existing ants - only by their destinations. Then sort through this list of orders, discarding all the ones which are impossible because the ant ahead actually couldn't move 2011-04-20T09:27:55 That has problems of its own, though. Maybe it wouldn't work at all. 2011-04-20T09:28:15 it'd work 2011-04-20T09:28:29 you may end up getting stuck with some ants until something else comes into play 2011-04-20T09:29:14 You'd have to iterate over the list until you didn't cancel any orders 2011-04-20T09:29:14 Multiple times, that is 2011-04-20T09:30:23 no, i think you could do it better than that 2011-04-20T09:30:47 you should be able to do it in a single pass 2011-04-20T09:30:50 ... by pre-sorting the list by distance? 2011-04-20T09:31:38 if an ants movement is blocked, revert that ants move and continue reverting moves of any square it lands in 2011-04-20T09:31:51 you may do more than a single pass, but it wouldn't be a long iterative process 2011-04-20T09:32:10 i guess it's just changing where the iteration is 2011-04-20T09:33:02 Yes - it's probably better in many cases, though 2011-04-20T09:33:10 If it finds the target early 2011-04-20T09:33:39 "target" being the offending order 2011-04-20T09:37:34 It's possible that you could build "chains" of linked ants in memory while you make the moves, and then if one gets cancelled, just work your way back along the chain. 2011-04-20T09:38:16 *** sigh has quit IRC (Remote host closed the connection) 2011-04-20T09:38:56 *** UncleVasya has joined #aichallenge 2011-04-20T09:39:27 you could always move them around like a snake 2011-04-20T09:39:32 badger badger badger 2011-04-20T09:39:47 mushroom! mushroom! mushroom! 2011-04-20T09:40:13 good call 2011-04-20T09:47:00 smiley1983: you inquired as to how long my mapping would take on a large map. I tested it on a 120 x 120 and it took slightly more time than I'd like, but I should think psyco should cut down on that? I don't know, but a decent fraction of a second 2011-04-20T09:48:19 *** ginDeVine has quit IRC (Quit: ginDeVine) 2011-04-20T09:48:44 do we have approximate setup/turn times? 2011-04-20T09:48:47 *** bhasker has quit IRC (Quit: bhasker) 2011-04-20T09:48:56 *** ginDeVine has joined #aichallenge 2011-04-20T09:49:12 I doubt that they'll finalise those until the contest begins, or even later 2011-04-20T09:49:22 3 second / 1 second seems likely, though 2011-04-20T09:49:33 *** helo_ has joined #aichallenge 2011-04-20T09:50:58 what are you doing during setup? 2011-04-20T09:51:04 Yeah I agree. I guess I'll have to do some real testing then 2011-04-20T09:52:04 at this point I'm not doing anything significant in setup, but that'll certainly change 2011-04-20T09:52:14 Allocating memory, initialising data structures perhaps... 2011-04-20T09:52:23 yes indeed 2011-04-20T09:52:32 I'm not now, but will be experimenting with how much I can do 2011-04-20T09:52:54 how much memory each bot has? 2011-04-20T09:53:59 I have a considerably faster function that maps the minimum number of moves until an enemy ant can be at each square based on the information I have, which I'll certainly setup at the beginning and then maintain every turn 2011-04-20T09:54:20 saving routing tables from each map location to each should take lot of memory 2011-04-20T09:54:45 Yes, I've been thinking about that 2011-04-20T09:56:21 You don't really need each to each, but identifying a subset of vital network nodes is what I'm currently thinking of 2011-04-20T09:57:22 Then you can do a very short search from current location to nearest node when needed 2011-04-20T09:57:33 smiley1983: I will not save each to each, but I will cache calculated ones 2011-04-20T09:57:47 oh shit yeah, i really need to move back to two templates in my game theory library 2011-04-20T09:58:10 game theory not that useful, huh? 2011-04-20T09:58:17 then people can use it in their ai bots and just make like 2011-04-20T09:58:17 NGame game; (with < defined on state) 2011-04-20T09:59:06 antimatroid: do you use your library in your bot? 2011-04-20T09:59:16 it might be worthwhile to find articulation points for 1x1, {1x2, 2x1}, 2x2, .. blocks 2011-04-20T09:59:44 Ice_Harley: I attempted to use the zero sum simultaneous stuff for planet wars 2011-04-20T09:59:55 but it's too hard to iteratively make a simultaneous game 2011-04-20T10:00:10 and then not obvious what move you should make 2011-04-20T10:00:24 https://github.com/antimatroid/GTL 2011-04-20T10:00:29 a decent amount of it is up there 2011-04-20T10:00:46 except extensive form games or any algorithms for mixed strategy stuff 2011-04-20T10:01:16 there's even a function in NGame.cc for getting LaTeX code for an n-player simultaneous form game using Osbornes sgamevar.sty file 2011-04-20T10:01:54 articulation points is wrong 2011-04-20T10:02:04 find parts that will block those blocks 2011-04-20T10:02:09 in NAlgorithms.h: //returns all mixed strategy Nash equilibria of the given game .... //haha, good luck writing this :) 2011-04-20T10:02:17 due to the wrapping, articulation points are impossible 2011-04-20T10:02:31 Ice_Harley: are you at all familiar with how hard that is? :P 2011-04-20T10:02:56 there is no implementation that does it 2011-04-20T10:03:15 gambit has the best functions, but they aren't perfect 2011-04-20T10:03:44 the wiki stuff might be helpful :P 2011-04-20T10:04:10 i'm still adding it to github and not finding a lot of time 2011-04-20T10:05:34 Can you point me to any reading material about the articulation points you were talking about, or give a very brief run-down on what they are and why they don't work on a toroidal map? 2011-04-20T10:06:16 an atriculation point is a node that separates a graph if you remove it and all edges it is linked to 2011-04-20T10:06:30 with the symmetric maps, i'm pretty sure no articulation points will exist 2011-04-20T10:06:38 and they're slightly painful to find anyway 2011-04-20T10:07:08 Right. Thankyou :) 2011-04-20T10:07:09 i think what you really want to do is try to find "passages" such blocks can't traverse through that perhaps a single ant can? 2011-04-20T10:08:15 an idea i have for going around "traps" is as follows 2011-04-20T10:08:42 for any square adjacent to an enemy, see if an ant would die in that square if you had ants in any possible squares around it at the end of that turn 2011-04-20T10:08:59 if it dies no matter what, mark it as a trap square and treat it like water with path finding 2011-04-20T10:11:03 Will the vision, attack and spawn radii be fixed at some point, or will bots have to cope with a variable input in the final contest? 2011-04-20T10:11:06 *** ginDeVine has quit IRC (Quit: ginDeVine) 2011-04-20T10:11:14 it will be fixed in the final contest 2011-04-20T10:11:19 but bots should not hard code it 2011-04-20T10:11:24 at least not until it is finalised 2011-04-20T10:11:43 the parameters have been added right at the start so people can't bitch about parameters changing if they need to :) 2011-04-20T10:11:57 you might remember some bots broke when we varied the number of planets on maps in pw 2011-04-20T10:11:57 Yes, I like that. :) 2011-04-20T10:12:16 btw how did you like my new maps? :P 2011-04-20T10:12:25 Ha. Yes. 2011-04-20T10:12:25 that was my bad 2011-04-20T10:12:32 New maps for this game or last? 2011-04-20T10:12:37 planet wars 2011-04-20T10:12:51 the point symmetry ones? 2011-04-20T10:12:53 i split the contestants on that one, some loved them, others hated the late change 2011-04-20T10:12:54 yeah 2011-04-20T10:13:09 Sorry, line symmetry. 2011-04-20T10:13:15 I thought it was... interesting 2011-04-20T10:13:30 yeah, i didn't know what line/point symmetry was until after i went and made the map gen 2011-04-20T10:13:36 it's fun solving stuff on your own 2011-04-20T10:13:40 It did change things a bit, but any bots which couldn't cope had hard-coded unreasonable assumptions. 2011-04-20T10:13:47 IMHO 2011-04-20T10:13:58 that was my opinion 2011-04-20T10:14:17 and i had always assumed maps would change, so imo it was unfair on me to let people get away with assumptions they made 2011-04-20T10:14:30 It would have been better to have them from the beginning, but I found it interesting and inoffensive. 2011-04-20T10:14:38 but it was a LATE change, the plan is to not do that again and get variation early on 2011-04-20T10:15:16 i got paid out for doing it in polar coordinates 2011-04-20T10:15:25 pesky muggles 2011-04-20T10:15:31 polar? 2011-04-20T10:15:54 (r, theta) rather than (x, y) 2011-04-20T10:16:05 and i would randomly pick r and theta, then convert to x and y 2011-04-20T10:16:32 but it was like, pick a distance from the center, then pick an angle, then I would do symmetry by translating the angles 2011-04-20T10:17:09 I have a tendency to change my mind about standards in the middle of a project, and do new stuff the new way without changing all old stuff, and sometimes it leads to big headaches. :) 2011-04-20T10:17:10 i much prefer the problem of tiling maps on a torus with this 2011-04-20T10:17:28 i'm like that 2011-04-20T10:17:32 I like the fact that they specified row, column 2011-04-20T10:17:37 Saved me from confusing myself 2011-04-20T10:17:42 you can thank me for that :P 2011-04-20T10:17:49 Thank you :) 2011-04-20T10:17:49 it was x,y and i wouldn't shut up about it 2011-04-20T10:17:51 so it changed 2011-04-20T10:18:02 x,y indexing is inferior and i actually have a valid argument 2011-04-20T10:18:05 *** UncleVasya has quit IRC (Ping timeout: 260 seconds) 2011-04-20T10:18:20 with x,y indexing, you need to transpose the map when inputting/outputting 2011-04-20T10:18:23 In that case, than you indeed. Yes, you do. It's faster to print on the screen 2011-04-20T10:18:26 Yes 2011-04-20T10:18:32 which is confusing as hell 2011-04-20T10:18:53 Indeed, that's how I always get into trouble 2011-04-20T10:19:13 yeah, i cringe, and it wouldn't have been simple to treat the map differently 2011-04-20T10:19:23 as you would have needed to transpose your directions when outputting moves 2011-04-20T10:19:25 which is gross 2011-04-20T10:20:05 You could have made the internal representation correct, then transposed them for ugly starter pack functions, then changed them back to the correct way for your local copy. :) 2011-04-20T10:20:21 my only last complaint is the fact that we index function graphs as (x,y) the wrong way around 2011-04-20T10:20:31 matrices, writing on a page, in a file etc. we use row col 2011-04-20T10:20:42 why for that one thing do we use the opposite? 2011-04-20T10:21:12 Historical reasons, I guess 2011-04-20T10:21:28 Like miles :) 2011-04-20T10:21:30 like the direction of a current :P 2011-04-20T10:22:26 Do you have a sense of how much work is left to do before beta? 2011-04-20T10:22:50 *** Mathnerd314 has joined #aichallenge 2011-04-20T10:22:51 there is a checklist somewhere 2011-04-20T10:22:59 i haven't really been paying attention 2011-04-20T10:23:15 there's a link in the topic 2011-04-20T10:23:16 @topic 2011-04-20T10:23:16 antimatroid: Official Google AI Challenge: http://ai-contest.com/ || Channel Logs: http://contestbot.hypertriangle.com/ || Code Repo: http://github.com/aichallenge/aichallenge || Launch Checklist: https://github.com/aichallenge/aichallenge/issues?milestone=1 2011-04-20T10:23:44 <_0x47> Frontier: is there a way to use your visualizer as a bot testing system? 2011-04-20T10:23:58 Ah, your link works, unlike the one in the wiki :) 2011-04-20T10:24:06 _0x47: you can open copy_paste.html and paste replay data in there 2011-04-20T10:24:22 but you'll have to write your own stuff for linking your bot up to it 2011-04-20T10:24:24 *** ginDeVine has joined #aichallenge 2011-04-20T10:24:46 technically i think i'm responsible for the wiki, so i don't win there 2011-04-20T10:25:03 <_0x47> hm, k, thanks! 2011-04-20T10:25:47 In the wiki front page, "launch checklist" points here: https://github.com/aichallenge/aichallenge/issues/labels/launch 2011-04-20T10:26:42 fixed 2011-04-20T10:26:48 cheers 2011-04-20T10:27:42 *** needsch has quit IRC (Quit: Leaving.) 2011-04-20T10:30:20 Great :) 2011-04-20T10:31:29 oh man, no sleep and time for school. I'll talk to you guys layta 2011-04-20T10:31:37 *** jaycobcoleman has quit IRC (Quit: Page closed) 2011-04-20T10:32:17 i always like to get at least an hours sleep 2011-04-20T10:32:29 although i ended up doing an all nighter before my pdes exam last year 2011-04-20T10:32:38 *** MatmaRex has joined #aichallenge 2011-04-20T10:32:39 last semester was rough :P 2011-04-20T10:32:58 i did 5 units plus attended measure theory classes, and spent more time on planet wars than all of that 2011-04-20T10:34:51 Does anyone know what the "naive vision code" is which is supposed to be used for starter packs? https://github.com/aichallenge/aichallenge/issues/50 2011-04-20T10:35:08 look at my c++ bot 2011-04-20T10:35:52 https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/cpp/State.cc 2011-04-20T10:35:54 line 73 2011-04-20T10:36:12 RIght 2011-04-20T10:36:33 I searched for a "visible" function and didn't find one, so figured it wasn't there. I'll read that now. 2011-04-20T10:36:35 what would be an "obvious" improvement would be to add all ants locations to a queue and paint out simultaneously, DON'T do that 2011-04-20T10:36:36 it breaks 2011-04-20T10:36:57 the euclidean metric is painful for that 2011-04-20T10:37:43 it's to do with the fact that 2011-04-20T10:37:43 a.* 2011-04-20T10:37:43 .a. are a different distance from * yet the search distance isn't 2011-04-20T10:37:51 and you can end up having ants block paths etc. 2011-04-20T10:38:06 sigh is the most knowledgeable on this 2011-04-20T10:38:52 hello guys 2011-04-20T10:38:56 hello 2011-04-20T10:39:12 i'm here to write a Ruby starter bot for ants ;) 2011-04-20T10:39:24 i suppose i should get this as base? https://github.com/aichallenge/aichallenge/tree/epsilon/ants 2011-04-20T10:39:52 also, is the python bot good to base mine on? 2011-04-20T10:40:33 i would base it on the c++ one 2011-04-20T10:40:41 or any of the languages that based it off that 2011-04-20T10:40:52 Unless it's been fixed, the python one has some errors 2011-04-20T10:40:53 the python one hasn't been touched in a long time 2011-04-20T10:41:30 ah, okay. i'm not sure if i'm comfortable enough with c++ to use that one 2011-04-20T10:41:51 you are welcome to ask me any questions if you don't understand it 2011-04-20T10:42:00 but it's mostly pretty simple 2011-04-20T10:42:05 (i wrote it :)) 2011-04-20T10:42:15 oh. :) 2011-04-20T10:42:25 smiley1983: i should really be marking sLoc as visited at the start there :P 2011-04-20T10:42:52 you could probably pick any of the other languages and be alright too i think 2011-04-20T10:43:02 I just finished an OCaml one, and I mostly just followed the info on the wiki 2011-04-20T10:43:03 i just like to push people towards c++ :P 2011-04-20T10:43:08 haha 2011-04-20T10:43:20 smiley1983: i wrote that too, you can't escape me :P 2011-04-20T10:43:50 actually, you're not allowed to use java 2011-04-20T10:43:50 The python one is okay for the basic stuff, it just makes some mistakes in setting its init values and some helper functions 2011-04-20T10:43:53 because java sucks 2011-04-20T10:44:11 I'm glad to hear another voice saying that :) 2011-04-20T10:44:25 you'll be begging me to stop saying it if you hang around :P 2011-04-20T10:44:41 i'm slowly trying to learn haskell, i have had enough of c++ 2011-04-20T10:46:07 I've heard Haskell shares OCaml's functional philosophy (though takes it a bit further) so I'm inclined to think well of it. 2011-04-20T10:47:46 I like OCaml because it provides OO and procedural options, but nudges users in the direction of functional programming with nice List.fold_left more 2011-04-20T10:49:22 antimatroid: pfff, I've been doing some C++ lately and I'd be nowhere without valgrind 2011-04-20T10:49:52 antimatroid: it's too hard for me :) 2011-04-20T10:50:00 aerique: i've been told to use valgrind but never have 2011-04-20T10:50:20 i don't even know how to use proper debuggers :P 2011-04-20T10:50:30 i still use the cout method of debugging :P 2011-04-20T10:50:49 antimatroid: if your programs don't have leaks i'm most impressed :) 2011-04-20T10:51:04 *** Eruonen has joined #aichallenge 2011-04-20T10:51:10 the only time i ever really need to allocate memory is for trees 2011-04-20T10:51:14 antimatroid: i'm still a cout / printf / format debuffer myself 2011-04-20T10:51:15 and trust me, i know when they are leaking 2011-04-20T10:52:23 actually, i have Bug *bug so all my states in my game trees aren't making heaps of copies of it 2011-04-20T10:52:34 but that's trivial to clean up too 2011-04-20T10:53:07 oh, the clear functions in my ngame stuff for game theory are needed too 2011-04-20T10:53:09 antimatroid: i guess i just need more experience (getting which is quite sped up by using valgrind!) 2011-04-20T10:53:15 but yeah, there's no memory leakage 2011-04-20T10:53:46 i test memory by just doing something a ridiculous amount of times :P 2011-04-20T10:54:34 *** yasith has quit IRC (Ping timeout: 240 seconds) 2011-04-20T10:54:35 yeah, it basically comes down to the same thing except i now get the offending operator pointed out :) 2011-04-20T10:54:53 but it's pretty simple, if you use new, you need to use delete 2011-04-20T10:55:11 then some other cases where you have vectors of stuff 2011-04-20T10:55:47 aerique: I really like this https://github.com/antimatroid/GTL/blob/master/tools/Process.h 2011-04-20T10:56:05 it's not particularly fast, but you can run processes and interact with them like they're an iostream 2011-04-20T10:58:32 *** woudshoo has quit IRC (Read error: Connection reset by peer) 2011-04-20T10:58:56 it may not work on windows anymore 2011-04-20T10:59:02 *** woudshoo has joined #aichallenge 2011-04-20T10:59:07 but it wouldn't be hard to fix it back up so it would i don't think 2011-04-20T11:00:03 i don't care about windows 2011-04-20T11:02:15 neither anymor 2011-04-20T11:02:20 i was on xp until recently 2011-04-20T11:02:43 yeah, i recall that from the planet wars irc 2011-04-20T11:03:09 i have two complaints about ubuntu so far 2011-04-20T11:03:22 the scroll bar isn't almost indistinguishable from the non-scroll bar part 2011-04-20T11:03:30 and it's frozen on me 3 times already 2011-04-20T11:03:40 impressive :) 2011-04-20T11:03:50 is*** 2011-04-20T11:04:35 although i think one of the times it froze was very much my fault 2011-04-20T11:04:58 i had sigh running some code that was raping his memory, so he told me to run a "fix" I had, which promptly froze my computer 2011-04-20T11:06:13 i usually manage to freeze my linux by installing a new kernel and accidentally hibernating instead of rebooting 2011-04-20T11:07:07 *** yasith has joined #aichallenge 2011-04-20T11:09:04 https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/lolcode/MyBot.lol 2011-04-20T11:09:12 still my favourite bot 2011-04-20T11:09:31 I thought it was funny 2011-04-20T11:10:10 *** boegel has quit IRC (Quit: *poof!*) 2011-04-20T11:10:15 The scroll bar visibility should be fixable by fiddling with themes or suchlike 2011-04-20T11:10:35 but i like this theme :( 2011-04-20T11:11:02 I'm running Arch with openbox, no desktop environment, and my scroll bars are nice and visible. :) 2011-04-20T11:11:42 *** ginDeVine has quit IRC (Quit: ginDeVine) 2011-04-20T11:12:53 i prefer a pretty bare linux and x as well 2011-04-20T11:13:52 yeah, i have all those "special effects" things off 2011-04-20T11:14:06 i like to use my resources on useful stuff 2011-04-20T11:14:27 but you're probably still running Gnome or some other desktop environment? 2011-04-20T11:14:33 probably 2011-04-20T11:14:36 argh, i gotta go 2011-04-20T11:14:41 (i have no idea about this stuff :P) 2011-04-20T11:14:43 see ya 2011-04-20T11:14:50 *** aerique has quit IRC (Quit: ...) 2011-04-20T11:14:54 Ubuntu runs Gnome by default 2011-04-20T11:15:47 smiley1983: so what did you do for your planet wars strategy? 2011-04-20T11:15:49 It's responsible for much of the integration of desktop features - plug in a USB stick, get an icon on your desktop. Move into range of a wireless connection, offer a wireless dialog 2011-04-20T11:16:05 i basically defended anything i could from getting claimed, then used a game tree 2011-04-20T11:16:07 Um. I fiddled around with stuff and experimented. 2011-04-20T11:16:21 the game tree was very broken 2011-04-20T11:16:23 I ended up with a messy pile of heuristics 2011-04-20T11:16:37 but not much better when it wasn't as broken 2011-04-20T11:16:45 if not worse :P 2011-04-20T11:17:45 I had a bunch of simulation functions, like a lot of people did. What happens if all planets launch all ships at one planet. Use ownership change points to prevent losses, find easy gains 2011-04-20T11:18:05 a "move" in my game tree was sending enough ships from any number of planets either now or in the future so that the player couldn't possibly own it when my last lot of ships arrive 2011-04-20T11:18:24 *to one planet 2011-04-20T11:18:41 Yes, I devoted a lot of time to trying to get that right, and I don't think I ever did perfectly for all cases. 2011-04-20T11:19:15 i also had a "big first move" function where sometimes i would send everything to the middle on the first turn 2011-04-20T11:19:20 people laughed, but it worked for me 2011-04-20T11:19:22 I came into the contest a few weeks in, not really intending to get as drawn into it as I did. I didn't build my simulation structure properly from the beginning. 2011-04-20T11:19:37 i did multiple rewrites, so many bugs 2011-04-20T11:19:53 Yes, me too 2011-04-20T11:20:02 Some I never fixed 2011-04-20T11:20:55 I backtracked my last several days of coding and entered an earlier version in the contest because it seemed to be performing better, but I'll never know if that was the right decision 2011-04-20T11:21:18 *** Ice_Harley has quit IRC (Ping timeout: 252 seconds) 2011-04-20T11:21:47 i did the opposite 2011-04-20T11:21:57 Released untested? 2011-04-20T11:22:09 i did an all nighter, then on the morning decided on a completely new idea for my game tree, implemented it wrong and submitted it :P 2011-04-20T11:22:21 Wow :) 2011-04-20T11:22:24 *** berak has quit IRC (Quit: ChatZilla 0.9.84 [SeaMonkey 2.0a3/20090223135443]) 2011-04-20T11:22:29 it was leaking memory in fact :P 2011-04-20T11:22:45 It performed well 2011-04-20T11:22:53 i know, i was shocked 2011-04-20T11:22:59 it still makes me laugh 2011-04-20T11:23:01 Though perhaps could have performed even better? 2011-04-20T11:23:06 don't think so 2011-04-20T11:23:10 Right 2011-04-20T11:23:22 that problem stumped me (and everyone else) 2011-04-20T11:23:37 it was a cool problem though 2011-04-20T11:23:50 There was one bug I fixed - a clear, definite mistake - and after fixing, the bot became much weaker 2011-04-20T11:23:56 i worked with a friend on our tron bot 2011-04-20T11:24:02 that we expected to finish top 10 2011-04-20T11:24:19 The error was making it overly aggressive in certain situations, hence the superior performance :) 2011-04-20T11:24:21 and it was sitting around there more than a day into the contest before we got disqualified for timing out on one turn in one game 2011-04-20T11:24:31 i didn't shut up until that rule was changed for planet wars 2011-04-20T11:24:38 i didn't even realise it was a rule until it happened 2011-04-20T11:24:54 I was surprised to read that they were so harsh about disqualifying 2011-04-20T11:25:04 I didn't know about the tron contest when it was on 2011-04-20T11:25:04 yeah that was devestating 2011-04-20T11:25:20 I can only imagine, after all the work which must have gone in 2011-04-20T11:25:31 that was only 3 weeks, but still 2011-04-20T11:25:55 an unnecessarily harsh rule is what i call it 2011-04-20T11:26:51 Yes. Besides, looking at the lower ranks was funny in Planetwars, all the races to crash last. 2011-04-20T11:28:00 planet wars on a directed graph with a fog of war would be cool 2011-04-20T11:28:06 because the map would have sink holes 2011-04-20T11:28:16 where you go down that edge and can't get back to the rest of the graph 2011-04-20T11:29:02 Did any form of planet wars server or development occur after the contest? 2011-04-20T11:30:22 what do you mean? 2011-04-20T11:30:32 after the contest everyone basically lost interest 2011-04-20T11:30:36 Like an ongoing TCP server 2011-04-20T11:30:45 Yes, I guess that was inevitable 2011-04-20T11:30:46 zeroviz was up for a while 2011-04-20T11:30:49 but not overly used 2011-04-20T11:31:19 <_0x47> antimatroid: sorry to bother you again, but where can I find the copy_paste.html? i always get 404s... 2011-04-20T11:31:36 *** smiley1983 has quit IRC (Quit: leaving) 2011-04-20T11:31:51 in the visualizer directory? 2011-04-20T11:31:59 it normally just loads for me in the browser 2011-04-20T11:32:23 then you need to paste replay data in the text box and click load text or whatever 2011-04-20T11:32:31 <_0x47> let me check 2011-04-20T11:33:22 <_0x47> o you don't mean the one from Frontier, but from the git? 2011-04-20T11:34:49 https://github.com/aichallenge/aichallenge/tree/epsilon/ants/visualizer 2011-04-20T11:34:53 that folder 2011-04-20T11:35:22 <_0x47> antimatroid: works like a charm, cheers dude! :) 2011-04-20T11:36:18 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-04-20T11:37:06 np 2011-04-20T11:37:39 ruby bot writer back here 2011-04-20T11:37:42 "viewradius2" # view radius squared 2011-04-20T11:37:50 so i can assume radiu^2 is an int? 2011-04-20T11:38:06 ah, yes 2011-04-20T11:38:11 /can't read 2011-04-20T11:40:16 :) 2011-04-20T11:46:13 *** woudshoo` has joined #aichallenge 2011-04-20T11:46:31 *** woudshoo has quit IRC (Read error: Connection reset by peer) 2011-04-20T12:01:51 *** woudshoo` has quit IRC (Ping timeout: 246 seconds) 2011-04-20T12:03:50 *** ginDeVine has joined #aichallenge 2011-04-20T12:04:22 https://github.com/aichallenge/aichallenge/wiki/Ant-bot-input-output - formatting of this page is somewhat broken :( 2011-04-20T12:20:32 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86.1 [Firefox 4.0/20110318052756]) 2011-04-20T12:22:01 *** McLeopold has left #aichallenge 2011-04-20T12:28:04 hm. what python version do i need to run the game files? 2011-04-20T12:33:16 *** ginDeVine has quit IRC (Quit: ginDeVine) 2011-04-20T12:33:53 alright, nevermind, it's my stupidity once again. my question wasn't actually even about versions. 2011-04-20T12:55:40 alright. i have something that can be, with a dose of good will, called a Ruby starter bot. where do I post it? 2011-04-20T12:59:23 *** needsch has joined #aichallenge 2011-04-20T13:12:31 i posted it here, since that's where i was asked for it originally: http://ai-contest.com/forum/viewtopic.php?f=21&t=1361&p=8978#p8978 2011-04-20T13:12:48 i'm off, available by mail if needed. 2011-04-20T13:12:49 *** MatmaRex has left #aichallenge 2011-04-20T13:17:06 *** berak has joined #aichallenge 2011-04-20T13:26:06 *** amstan has joined #aichallenge 2011-04-20T13:26:06 *** ChanServ sets mode: +o amstan 2011-04-20T13:47:45 *** amstan_ has joined #aichallenge 2011-04-20T13:47:45 *** ChanServ sets mode: +o amstan_ 2011-04-20T13:49:48 *** ginDeVine has joined #aichallenge 2011-04-20T13:54:34 *** amstan has quit IRC (Ping timeout: 246 seconds) 2011-04-20T13:55:03 *** amstan_ is now known as amstan 2011-04-20T14:23:11 *** _0x47 <_0x47!~slash@p3EE0BDA0.dip.t-dialin.net> has quit IRC (Ping timeout: 260 seconds) 2011-04-20T14:27:13 *** _0x47 <_0x47!~slash@p5B25FC1A.dip.t-dialin.net> has joined #aichallenge 2011-04-20T14:35:06 *** _0x471 <_0x471!~slash@p3EE0A731.dip.t-dialin.net> has joined #aichallenge 2011-04-20T14:36:55 *** _0x47 <_0x47!~slash@p5B25FC1A.dip.t-dialin.net> has quit IRC (Ping timeout: 246 seconds) 2011-04-20T14:40:03 *** amstan has quit IRC (Remote host closed the connection) 2011-04-20T14:40:20 *** amstan has joined #aichallenge 2011-04-20T14:40:20 *** ChanServ sets mode: +o amstan 2011-04-20T14:40:50 *** Naktibalda has joined #aichallenge 2011-04-20T14:46:49 *** helo_ has quit IRC (Quit: Page closed) 2011-04-20T14:53:21 *** delt0r___ has joined #aichallenge 2011-04-20T14:55:38 *** delt0r_ has quit IRC (Ping timeout: 276 seconds) 2011-04-20T15:00:00 *** _0x47 <_0x47!~slash@p5B25E12B.dip.t-dialin.net> has joined #aichallenge 2011-04-20T15:00:10 *** _0x471 <_0x471!~slash@p3EE0A731.dip.t-dialin.net> has quit IRC (Ping timeout: 246 seconds) 2011-04-20T15:52:42 *** _0x47 <_0x47!~slash@p5B25E12B.dip.t-dialin.net> has quit IRC (Read error: Operation timed out) 2011-04-20T15:56:11 *** ginDeVine has quit IRC (Quit: ginDeVine) 2011-04-20T15:56:49 *** _0x47 <_0x47!~slash@62.224.171.254> has joined #aichallenge 2011-04-20T16:00:08 *** Apophis has joined #aichallenge 2011-04-20T16:02:16 *** Accoun has quit IRC () 2011-04-20T16:03:23 *** Apophis_ has quit IRC (Ping timeout: 246 seconds) 2011-04-20T16:11:35 *** woudshoo has joined #aichallenge 2011-04-20T16:11:46 *** _0x47 <_0x47!~slash@62.224.171.254> has quit IRC (Ping timeout: 260 seconds) 2011-04-20T16:12:32 *** berak has quit IRC (Read error: Connection timed out) 2011-04-20T16:13:27 *** berak has joined #aichallenge 2011-04-20T16:13:46 *** ginDeVine has joined #aichallenge 2011-04-20T16:14:48 *** Accoun has joined #aichallenge 2011-04-20T16:20:58 *** _0x47 <_0x47!~slash@p5B25E21D.dip.t-dialin.net> has joined #aichallenge 2011-04-20T16:43:43 *** woudshoo has quit IRC (Ping timeout: 240 seconds) 2011-04-20T16:46:06 *** berak has quit IRC (Ping timeout: 246 seconds) 2011-04-20T17:18:33 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110323143040]) 2011-04-20T17:36:02 *** sigh has joined #aichallenge 2011-04-20T17:47:42 *** Dolkar has joined #aichallenge 2011-04-20T17:48:23 hello there... anyone here? I've got a food spawning idea i want to share :) 2011-04-20T17:52:43 Basically.. You will spawn food in given range from starting point of every player equally and maybe also in the center of map. This way, everyone will try to get to the center first, which might result into a pretty nice watch. At the same time, you will have to protect and salvage your starting point against enemies, which will add a bit more strategy into the game: finding the best 2011-04-20T17:52:44 ratio between defense and offense. 2011-04-20T17:56:19 yeah, more like mineral patches in starcraft, etc. so you have to take and hold "bases" instead of randomly hunting 2011-04-20T18:00:08 ... and since you will need to move 'newly produced ants' into the battle, you can even pick on them and cut of the army from support 2011-04-20T18:00:40 *** ltriant has joined #aichallenge 2011-04-20T18:00:57 I would like to see tron back anyways... 2011-04-20T18:01:56 Dolkar: since the map is wrapped around, any point can be the center of the map 2011-04-20T18:02:01 also.. doing that will make it unfair 2011-04-20T18:02:19 because not all players are equally spaced from the center of the map 2011-04-20T18:02:27 hm.. forgot about the wrapping 2011-04-20T18:03:17 amstan: You can count the center point of the players' starting point 2011-04-20T18:04:36 By the way, wrapping ruins even more... it will be hard, for example, to count distance between two points. If it was me, I would get rid of the wrapping 2011-04-20T18:05:01 you can't do 7 player maps without the wrapping 2011-04-20T18:05:24 counting distance is not our problem, it's the bot's 2011-04-20T18:05:25 Why not? if they are big enough... 2011-04-20T18:05:30 make the map a giant regular heptagon? 2011-04-20T18:05:41 a1k0n: using integer positions? 2011-04-20T18:05:54 yeah it'd be a little funky 2011-04-20T18:06:05 won't be symmetric anymore 2011-04-20T18:06:20 it'd be symmetric 2011-04-20T18:06:32 plus or minus epsilon due to integer quantization 2011-04-20T18:06:47 epsilon should be 0 2011-04-20T18:06:52 Doesn't need to be symmetric and still be fair... 2011-04-20T18:07:30 uniform spawning is "fair", except it means a slight toehold grows exponentially as an advantage 2011-04-20T18:07:45 it's hard to quantify what's fair in those terms 2011-04-20T18:09:22 Anyways, any slight random unfairness will get lost with number of matches 2011-04-20T18:09:40 https://github.com/aichallenge/aichallenge/wiki/Food-Spawning 2011-04-20T18:09:51 your proposal is close to #2 2011-04-20T18:10:30 if additional "base" locations are found with N-fold symmetry with N players, it's fair enough. the games are going to be very stochastic. 2011-04-20T18:10:41 with random food spawning at all, there's no way to be completely fair 2011-04-20T18:11:02 player 1 might get food dropped on him on the first turn while other players don't for a while, and he has twice as many ants as everyone else then 2011-04-20T18:11:26 *** _0x47 <_0x47!~slash@p5B25E21D.dip.t-dialin.net> has quit IRC (Quit: Leaving.) 2011-04-20T18:11:56 that's why i disagree to use random spawns 2011-04-20T18:11:58 of course, the distribution will be equal in those bases 2011-04-20T18:12:01 or random everything 2011-04-20T18:12:05 however small it looks 2011-04-20T18:12:07 so, symmetric spawning? 2011-04-20T18:12:10 anything* 2011-04-20T18:12:21 a1k0n: yes, but we have 2 types of symmetries 2011-04-20T18:12:32 antimatroid only describes the one used for his mapgen 2011-04-20T18:12:55 No... Just an equal number of spawned foods in each of the players' bases each turn 2011-04-20T18:13:32 + into the center one (ones) 2011-04-20T18:14:39 By the way... please sorry my english, its not my native... 2011-04-20T18:15:23 haha. your english was totally fine until that sentence. 2011-04-20T18:16:10 Is that sentence wrong in some way? 2011-04-20T18:16:47 sorry is not really a verb. excuse, perhaps? 2011-04-20T18:17:43 Ah... thanks a lot :) I think i heard sentences like 'Sorry me...' and such though... 2011-04-20T18:21:18 *** mceier has quit IRC (Quit: leaving) 2011-04-20T18:33:59 *** sigh has quit IRC (Remote host closed the connection) 2011-04-20T18:49:51 @later tell _0x47: If you want to you can check out the git repository, install 'ant', go into the visualizer directory and execute 'ant run-visualizer'. That should compile a stand-alone version of the visualizer that can read input from stdin/file/http and run it with a sample file. 2011-04-20T18:49:51 Frontier: OK 2011-04-20T18:55:10 *** jaycobcoleman has joined #aichallenge 2011-04-20T19:19:54 * antimatroid really likes having wrapped edges 2011-04-20T19:20:02 it means you are basically surrounded on all sides 2011-04-20T19:20:13 and calculating distances between squares, while slightly harder, is not difficult 2011-04-20T19:22:10 i too am against asymmetry though 2011-04-20T19:25:44 I am quite against asymmetry 2011-04-20T19:26:31 Because it means I can't compare samples from areas I'm aware of and determine everyone else's starting positions :P 2011-04-20T19:26:49 how are starting positions going to help you later in the game? 2011-04-20T19:27:31 being aware of your safe starting area could be very important to determining how far you want to spread in search of food and how quickly 2011-04-20T19:28:00 strategies like that can be effective on some maps, but not others 2011-04-20T19:28:10 i prefer to write a strategy that is more general than that 2011-04-20T19:28:12 Maps can be asymmetric and still fair if the maps were more open 2011-04-20T19:28:27 Dolkar: but we want a large variety of maps 2011-04-20T19:28:31 both closed off and open 2011-04-20T19:28:55 and testing on asymmetric maps is much harder 2011-04-20T19:29:03 Just to throw people off we should have one map with no water 2011-04-20T19:29:04 or working out whether you actually performed better than another bot in a game 2011-04-20T19:29:09 i really don't like asymmetry 2011-04-20T19:29:14 antimatroid: I know.. you can make those open maps asymmetric... to somehow destroy such tactics relying on symmetry 2011-04-20T19:29:34 Dolkar: a better way to destroy symmetry tactics is to have lots of symmetry types 2011-04-20T19:29:38 jaycobcoleman: or no land :) 2011-04-20T19:29:55 we can do a different symmetry with 2^n player maps 2011-04-20T19:29:58 i will do that at some point 2011-04-20T19:30:04 I like the idea of a single winding stretch of land 2011-04-20T19:30:14 *** Frontier has quit IRC (Read error: Connection reset by peer) 2011-04-20T19:30:16 animatroid. I would like to see that 2011-04-20T19:31:03 *** Frontier has joined #aichallenge 2011-04-20T19:31:55 jaycobcoleman: allnighters are never worth it unless absolutely necessary btw 2011-04-20T19:32:21 I can't help it. I'm sort of an insomniac 2011-04-20T19:32:32 haha it's not like I was up late studying :) 2011-04-20T19:34:19 i don't sleep anywhere near enough, but i always try to get at least a few hours each night 2011-04-20T19:34:37 and can't do that too much 2011-04-20T19:36:02 *** bhasker has joined #aichallenge 2011-04-20T19:36:44 I'm a little bit insane. I've gotten about 4 hours of sleep in the last 3 days and I actually function fine. This isn't an uncommon situation 2011-04-20T19:37:24 maybe i'm just turning into an old man already 2011-04-20T19:37:24 You must drink lots of coffee... 2011-04-20T19:37:31 i don't drink coffee at all 2011-04-20T19:37:39 i hate the taste 2011-04-20T19:37:50 me too... 2011-04-20T19:38:18 i'm not a proper mathematician because of it :P 2011-04-20T19:39:23 I like iced coffee. But I never drink it. 2011-04-20T19:40:22 I do, however, drink tremendous amount of chocolate milk 2011-04-20T19:41:21 antimatroid baby not out yet but close! 2011-04-20T19:41:22 i drink ridiculous amounts of milo 2011-04-20T19:41:26 bhasker: :P 2011-04-20T19:41:28 probably tonight 2011-04-20T19:41:32 i'm waiting for a formal congrats 2011-04-20T19:41:41 hehe thanks:) 2011-04-20T19:41:47 I eat tons of peanuts every day... Its like a drug for me 2011-04-20T19:41:59 i HATE peanut butter more than coffe 2011-04-20T19:42:06 it is my least favourite form of actual food 2011-04-20T19:42:10 even the smell makes me gag 2011-04-20T19:42:10 so does anyone have any mac binaries of their bots 2011-04-20T19:42:14 that i can play my bot against! 2011-04-20T19:42:17 i'm not allergic to peanuts either 2011-04-20T19:42:24 i want to see how my stupid bot does 2011-04-20T19:42:24 *** Ttech has quit IRC (Quit: Your nick was overruled.) 2011-04-20T19:43:26 also since you are here i might as well ask you 2011-04-20T19:43:34 bhasker: You is having babby? 2011-04-20T19:43:38 yes 2011-04-20T19:43:41 I dont really want to make a bot until some final rules are published 2011-04-20T19:43:57 btw antimatroid 2011-04-20T19:44:24 how is battle resolution done, do i just walk through ants and distribute 1/n dmg to all ants in its vicinity and then eliminate the ants that take more than 1 damage 2011-04-20T19:44:38 all ants that take at least one damage 2011-04-20T19:44:39 but yeah 2011-04-20T19:44:42 i am trying to come up with a function that does local battle resolution 2011-04-20T19:44:46 so that i can evaluate moves 2011-04-20T19:45:03 yeah, i have a state++ function, except i haven't done damage battle resolution yet 2011-04-20T19:45:08 i wonder if i should just resolve all battles 2011-04-20T19:45:18 need that to do state evaluation in my game trees 2011-04-20T19:45:20 instead of trying to resolve the specific battle 2011-04-20T19:45:33 what does the actual engine do? 2011-04-20T19:45:34 is the damage needed to be dealt that turn? Or ants have something like HP? If so.. does it regenerate? 2011-04-20T19:45:46 a1k0n: it's open source if you want to look :P 2011-04-20T19:45:48 ants have 1 hp and it regenerates to full every turn 2011-04-20T19:45:54 i can't get the python one to work 2011-04-20T19:45:59 Dolkar: battle is stateless 2011-04-20T19:46:06 lots of syntax errors 2011-04-20T19:46:09 a1k0n: use python 2.7 2011-04-20T19:46:10 a1k0n: what isn't working 2011-04-20T19:46:11 not 3.1 2011-04-20T19:46:17 or 2.5 2011-04-20T19:46:19 oh. i didn't know there was a 2.7. i have 2.6. 2011-04-20T19:46:24 2.6 works fine 2011-04-20T19:46:31 on my macbook 2011-04-20T19:46:32 might not be 2.7, i don't know much about python 2011-04-20T19:46:38 but i know >3 doesn't work 2011-04-20T19:46:38 2. 6 should be fine 2011-04-20T19:46:44 2.7 is a mix of 2 and 3... 2011-04-20T19:46:54 a1k0n: have you run the play_one_game script? 2011-04-20T19:47:08 that's what i was trying to run. and now it works, because i did a python_select python26. 2011-04-20T19:47:11 apparently it was running 2.4. 2011-04-20T19:47:12 doh. 2011-04-20T19:47:14 2. 7 hasn't eliminated the deprecated modules yet 2011-04-20T19:47:39 okay, then grab the replay data out of the replay file in viewer directory, and paste it once you open copy_paste.html in viewer 2011-04-20T19:47:40 and voila 2011-04-20T19:47:52 evaluation function in this will be harder for state 2011-04-20T19:47:53 now bring it on :P 2011-04-20T19:47:56 since unlike planetwars 2011-04-20T19:48:03 one doesn't have complete data 2011-04-20T19:48:08 hmm, doing incremental battle resolution on proposed moves could be tricky. 2011-04-20T19:48:15 screw worrying about state evaluation 2011-04-20T19:48:28 might have to limit the resolution to some radius around the ant-to-move or something 2011-04-20T19:48:32 but then how do you evaluate your tree? 2011-04-20T19:48:33 be more worried about how you're going to do backward induction on an n-player non-zero sum game tree 2011-04-20T19:48:42 you have many options depending on how much you want to cooperate :) 2011-04-20T19:49:13 this is the only game theory concept I currently have a decent hold on 2011-04-20T19:49:21 a1k0n: i'm going to just do all moves for ants, and evaluate the terminal nodes 2011-04-20T19:49:25 this game makes a lot more sense to do genetic programming on 2011-04-20T19:49:37 fair enough. that sounds painful though. 2011-04-20T19:49:54 unless you break ants into small groups or something. 2011-04-20T19:49:55 why? 2011-04-20T19:50:06 yeah, i will partition them into sets of ants that can affect each other 2011-04-20T19:50:09 well, a game tree search doing that has a whole lot of fan-out 2011-04-20T19:50:14 then just do as many of those trees as i can 2011-04-20T19:50:19 makes sense 2011-04-20T19:50:36 then probably move the rest of my "battle ants" towards their closest friend or something 2011-04-20T19:50:54 a1k0n: What's your background prior to the last competition? 2011-04-20T19:51:00 he won tron :P 2011-04-20T19:51:29 yeah, then i made some lame heuristic bot for planetwars that was, due to sheer luck, in #1 for the first week or two of the planetwars contest 2011-04-20T19:51:32 http://csclub.uwaterloo.ca/contest/rankings.php 2011-04-20T19:51:33 then i played minecraft 2011-04-20T19:52:04 but anyway, i don't have a good answer to "what's your background". i dropped out of college to do a video game startup (vendetta-online.com) and taught myself a bunch of stuff 2011-04-20T19:52:09 oh, sorry. I meant prior to tron 2011-04-20T19:52:41 also, love minecraft 2011-04-20T19:52:41 currently i do machine learning for anti-abuse purposes and user prediction stuff 2011-04-20T19:52:49 1.5 2011-04-20T19:53:45 and... i gotta go 2011-04-20T19:54:18 see ya 2011-04-20T19:54:35 bhasker: as for evaluating trees... you have a few options 2011-04-20T19:55:00 like 2011-04-20T19:55:15 if you don't want to cooperate, bring up the best payoff for the player whose node it is, then the worst for each other players 2011-04-20T19:55:23 (also i work with bhasker) 2011-04-20T19:55:39 if you want to cooperate, bring up the best payoff for any drawing best node of the player whose making the decision 2011-04-20T19:55:57 or if you want to get really technical, use tit for tat as to who you will cooperate with in your tree 2011-04-20T19:56:08 but it wont be easy working out who did and didn't cooperate 2011-04-20T19:56:17 hmm k 2011-04-20T19:56:37 i guess the problem comes from you not knowing how much losing those ants matters to your enemies 2011-04-20T19:56:40 or which enemy 2011-04-20T19:56:43 I fiddle with creating opponent classes, but I think I'm abandoning that idea 2011-04-20T19:56:49 since you don't know completely how many ants each one has 2011-04-20T19:57:04 so in some case it might be better to battle the weaker and run from the stronger etc 2011-04-20T19:57:05 i'm pretty sure if you don't want to worry about cooperation, you can basically treat all enemy ants as working collectively against you as one player, but having to worry about the different ant label with battle resolution 2011-04-20T19:57:15 so that you can gain territory 2011-04-20T19:57:24 You can make a good guess by the amount you've encountered and your awareness of the map 2011-04-20T19:57:36 i guess some probability model makes sense 2011-04-20T19:57:46 i think i will calculate per turn how much of the map is visible 2011-04-20T19:58:11 and use that as a way to gauge approximate value of each enemy but its still kind of hand wavy 2011-04-20T19:58:33 bhasker: you also don't know how good they are 2011-04-20T19:58:42 true 2011-04-20T19:58:52 with zero sum, the terminal node that gets predicted is the worst outcome you can get playing your strategy 2011-04-20T19:59:05 animatroid: that was also intended to be in the opponent class that isn't happening 2011-04-20T19:59:06 this is no longer the case with non-zero sum, as their loss is not necessarily your gain 2011-04-20T20:00:08 yes 2011-04-20T20:00:29 shall make it quite interesting i think 2011-04-20T20:01:07 bhasker: to be more accurate you can map the minimum number of moves based only on the information you have till an enemy could be on each square, then each turn -1 from each element and overlay the new data. Then you get more information than only what is currently visible to you 2011-04-20T20:01:45 jaycobcoleman: that's quite neat 2011-04-20T20:01:45 not sure i follow you jay 2011-04-20T20:01:48 i hadn't thought of that 2011-04-20T20:01:56 I acutally have this implemented already 2011-04-20T20:02:03 that's super neat 2011-04-20T20:02:14 why thank you :) 2011-04-20T20:02:41 you calculate how many move sit will take an emeny to take over your whole territory? 2011-04-20T20:02:51 actually, how do you handle dead ants? 2011-04-20T20:03:08 what do you mean? 2011-04-20T20:03:09 not sure i follow the overlay part 2011-04-20T20:03:13 or ants they may be dead or alive, as they're no longer in view 2011-04-20T20:03:30 I see. I'm not sure yet. Imperfect system. In production 2011-04-20T20:03:45 I think I'm going to assume they're allive 2011-04-20T20:03:50 *alive 2011-04-20T20:04:28 *** Dolkar has quit IRC () 2011-04-20T20:04:28 actually, i don't think it really works the way i thought :p 2011-04-20T20:04:35 Yeah that would definitely work, because it's only a minimum value 2011-04-20T20:04:40 actually, yeah 2011-04-20T20:05:13 i'm unsure about how correct it would be 2011-04-20T20:05:29 *** Ttech has joined #aichallenge 2011-04-20T20:05:33 In my experience its been quite useful 2011-04-20T20:06:01 i would be inclined to just make the map each turn 2011-04-20T20:06:09 just to get a fuller picture of the map than you can see 2011-04-20T20:07:23 It would provide an incentive to send out scout ants to gather more information, which would simply avoid a battle at all costs and always move towards the areas of the map with less known information 2011-04-20T20:08:21 i don't like assigning roles to ants 2011-04-20T20:08:32 i start afresh each turn 2011-04-20T20:08:40 you could plop my bot into the middle of a game and it'd just run 2011-04-20T20:08:41 I've been toying with the idea of it 2011-04-20T20:09:14 I'll certainly experiment with both 2011-04-20T20:10:21 so question if have 2 ants of mine in range with 2 enemy ants so all 4 are in same range how much dmg does each ant take? 2011-04-20T20:10:48 should be one each 2011-04-20T20:11:10 so each friendly ant will dish 1/2 dmg to each of the enemy ants 2011-04-20T20:11:14 and vice versa right 2011-04-20T20:11:20 yes 2011-04-20T20:11:48 and all 4 ants die 2011-04-20T20:14:01 I'm considering taking a year off to do an internship or two and learn vast amounts of programming after I finish my required education. 2011-04-20T20:14:25 don't 2011-04-20T20:14:32 why's that? 2011-04-20T20:14:41 just get college over and done with 2011-04-20T20:14:48 you will never learn vast amounts of programming 2011-04-20T20:14:50 you have long summers you can intern over 2011-04-20T20:15:01 you will probably end up just fixing bugs 2011-04-20T20:15:19 or wose 2011-04-20T20:15:20 or maintaining a system that no one cares about:) 2011-04-20T20:15:39 its rare that you will get a really great internship project that too an year long 2011-04-20T20:16:28 The internships weren't really meant to be so connected with the learning vast amount of programming 2011-04-20T20:16:36 that's what I'll do on my own time 2011-04-20T20:16:54 ah 2011-04-20T20:17:04 you can do that while at college 2011-04-20T20:17:11 the first couple of years of classes are pretty breezy 2011-04-20T20:17:36 Yeah but I'm poor. I need money for college and I'm not getting a loan 2011-04-20T20:17:44 you in the us? 2011-04-20T20:17:49 yeah 2011-04-20T20:17:54 Alaska 2011-04-20T20:18:30 i'll be $35k in debt at the end of this year, but I don't have to pay a cent back until I start earning over $40k a year and the only iterest is it being pegged to cpi 2011-04-20T20:19:12 do you have the marks for a scholarship? 2011-04-20T20:19:52 the problem with inflated grades these days is you don't get the smartest kids with the highest grades pre uni, just those who put the most effort in 2011-04-20T20:19:57 Not the marks, but I've won competitions and such 2011-04-20T20:20:27 yeah I'm in all very advanced classes but don't get very good grades :p 2011-04-20T20:20:38 that's a lot like me 2011-04-20T20:20:45 but you need to pick the grades up at uni 2011-04-20T20:21:12 I think the fact that I'll be paying/working for it might help 2011-04-20T20:21:18 if you take the harder classes as early as possible, the rest of them become fairly easy though 2011-04-20T20:21:53 although you end up replacing a lot of the easier ones with even harder ones you wouldn't have imagined doing 2011-04-20T20:21:55 but that's a good thing 2011-04-20T20:21:56 where in alaska jaycob, was there last year, beautiful place 2011-04-20T20:22:15 did a week long trip of alaska just not enough, have to go back for a 3-4 week trip 2011-04-20T20:22:16 Anchorage. Where nearly everyone is :) 2011-04-20T20:22:21 ah 2011-04-20T20:22:33 we flew into anchorage, went to seward then back upto denali 2011-04-20T20:22:37 and back to anchorage 2011-04-20T20:22:52 couldn't make it to fairbanks or valdez etc, maybe next trip 2011-04-20T20:23:02 college is overrated 2011-04-20T20:23:15 i am not so sure about that statement 2011-04-20T20:23:17 talking to someone who's about to have a baby fills me with nostalgia 2011-04-20T20:23:24 fairbanks is nice 2011-04-20T20:23:33 jmcarthur: depends on the course, college and person :P 2011-04-20T20:23:34 seward smells like shit 2011-04-20T20:23:49 though the train ride to seward is outstanding 2011-04-20T20:24:02 i loved it , compared to the train ride to denali 2011-04-20T20:24:02 I haven't taken it 2011-04-20T20:24:03 my problem with uni is that it seems like they try to be all things to all people 2011-04-20T20:24:05 which is boring as hell 2011-04-20T20:24:20 we took trains in the full dome cars to seward and to denali 2011-04-20T20:24:27 it was one of the best train rides i have taken 2011-04-20T20:24:30 I did a bus ride through denali. It was terrible 2011-04-20T20:24:31 the views are just outstanding 2011-04-20T20:24:31 people go in with all kinds of wild expectations, and the uni tries to meet their insane demands 2011-04-20T20:24:51 while at the same time making money 2011-04-20T20:25:00 yep, i think it should be a crime how low the entry requirements are for engineering at my university 2011-04-20T20:25:07 the drop out rate is like 50% in first year 2011-04-20T20:25:17 antimatroid i think thats a problem with higher education in a lot of places 2011-04-20T20:25:20 people go in with no idea of what the degree entails 2011-04-20T20:25:27 so it has to be attractive, apparently inexpensive, easy to stay in, not scary, etc. 2011-04-20T20:25:31 but i think still some of the nicer institutions aren't that easy to get into 2011-04-20T20:25:31 Living in Alaska makes you not appreciate its beauty. At least for most people 2011-04-20T20:25:34 *** FireFly has quit IRC (Quit: swatted to death) 2011-04-20T20:25:47 i like university for what it's meant to be, a higher learning institution 2011-04-20T20:25:50 partly cause the fact that it's always cold is annoying as hell 2011-04-20T20:25:54 i am very against most other aspects they have become 2011-04-20T20:25:55 that i agree 2011-04-20T20:25:56 and then there's the negative stigma that vocational schools have 2011-04-20T20:26:02 it is cold there:) 2011-04-20T20:26:12 people think they have to go to *uni* because ITT tech isn't prestigious enough 2011-04-20T20:26:13 i love the california weather 2011-04-20T20:26:17 well it isn't always cold, but winter is like 8 months out of the year 2011-04-20T20:26:19 yeah i don't like that either 2011-04-20T20:26:23 most of my friends are tradies 2011-04-20T20:26:41 and then uni gets bogged down with non-academic stuff 2011-04-20T20:26:46 Is a substantial amount of this group from australia? 2011-04-20T20:26:47 anchorage weather is kinda lousy though 2011-04-20T20:26:50 keeps raining all the time 2011-04-20T20:26:50 and vocational schools get no recognition at all 2011-04-20T20:26:55 my university souly cares about being a business 2011-04-20T20:26:58 lousy indeed 2011-04-20T20:27:12 next time though i also want to goto kenai peninsula 2011-04-20T20:27:13 they have to keep their attendence up 2011-04-20T20:27:17 and see the big salmon eating grizzlies 2011-04-20T20:27:31 eh. Actually not so much rain. 2011-04-20T20:27:31 yes, but imo it should be run like a business with academic interests in mind 2011-04-20T20:27:36 my university misses that last part 2011-04-20T20:27:38 there's not philosophy that "everybody needs higher education!" 2011-04-20T20:27:42 s/not/this/ 2011-04-20T20:27:47 not sure where "not" came from 2011-04-20T20:28:11 jmc i think most people do need higher education, at least 4 yrs after school 2011-04-20T20:28:15 i'd rather the quality of basic education be better 2011-04-20T20:28:16 school just doesn't prepare you 2011-04-20T20:28:21 the maths and physics department is great, and there's some great people in other departments, but other than that I despise my uni 2011-04-20T20:28:23 MS maybe not 2011-04-20T20:28:42 i didn't pay attention much before uni, i have very large gaps of knowledge 2011-04-20T20:28:46 K+12 doesn't give you enough to go do a job in the real world 2011-04-20T20:28:56 depends on what job 2011-04-20T20:28:57 *our* K-12 program sucks 2011-04-20T20:29:10 well i studied in india and it ain't much better there 2011-04-20T20:29:13 who is *our*? 2011-04-20T20:29:18 US 2011-04-20T20:29:29 Oh, where are you from? 2011-04-20T20:29:30 india is in the same bubble 2011-04-20T20:29:40 a lot of my friends were able to do a vocational building program at the start of year 11 and just transition to an apprenticeship that year 2011-04-20T20:29:42 i'm in alabama 2011-04-20T20:29:48 bhasker: where do you live? 2011-04-20T20:29:49 bachelors' isnt good enough to find jobs, unless its an engineering bachelors 2011-04-20T20:29:50 but this really just applies across the country, IMO 2011-04-20T20:29:52 bay area 2011-04-20T20:30:01 but i am in indian 2011-04-20T20:30:11 so studied/lived most of my life in india 2011-04-20T20:30:13 i have a bachelors and none of my employers have cared at all 2011-04-20T20:30:15 am in indian :P 2011-04-20T20:30:15 moved to the US only 4 yrs ago 2011-04-20T20:30:22 i'm just as well off with no degree 2011-04-20T20:30:24 *** needsch has quit IRC (Quit: Leaving.) 2011-04-20T20:30:34 well i don't think its the fact that employers care 2011-04-20T20:30:45 its just that school just doesn't teach you what a bachelors does 2011-04-20T20:30:48 jmcarthur: i think with cs/programming the perceived need of a degree by a lot of people is far too high 2011-04-20T20:30:55 and more importantly it gives you the time to deeply explore certain areas 2011-04-20T20:31:01 which school doesn't 2011-04-20T20:31:05 but for things like physics/maths/engineering/economics etc. an undergraduate degree is necessary 2011-04-20T20:31:08 i learned almost zero from my uni 2011-04-20T20:31:26 yes, uni is not necessary for learning programming 2011-04-20T20:31:30 the problem with CS/programming is most uni's have horrible profs 2011-04-20T20:31:33 i learned the most programming on my own time 2011-04-20T20:31:33 and too many people think it is 2011-04-20T20:31:36 since anyone worth anything is out making money 2011-04-20T20:31:39 in the real world 2011-04-20T20:31:46 heck, even the K-12 program taught me more programming than my BS did 2011-04-20T20:31:58 Meh. Two years of Calculus and AP Physics. I feels like that's good enough for any practical application of math 2011-04-20T20:31:59 and university is meant to get you started with learning, the good students do a lot of learning outside those classes 2011-04-20T20:32:01 unless you are at one of the top universities 2011-04-20T20:32:19 jaycobcoleman: ahahaha :P 2011-04-20T20:32:19 fyi : i am horrible at math :-\ 2011-04-20T20:32:26 to me, the main problems with universities is that people go hoping to make more money 2011-04-20T20:32:32 jmcarther: what do you do? 2011-04-20T20:32:39 since my 11th grade i spent so much time programming that my math and physics suffered terribly 2011-04-20T20:32:50 i don't know any physics 2011-04-20T20:32:57 animatroid: What's so funny, huh? 2011-04-20T20:32:58 well, barely any 2011-04-20T20:33:08 "Meh. Two years of Calculus and AP Physics. I feels like that's good enough for any practical application of math" 2011-04-20T20:33:35 jaycobcoleman: i'm between jobs. past job was antitamper and forensics on linux, and my next job is likely to be high frequency trading (have an offer, just haven't accepted yet) 2011-04-20T20:33:52 My physics education was honestly useless 2011-04-20T20:33:58 *has been 2011-04-20T20:34:10 that's because they don't teach physics before uni 2011-04-20T20:34:14 or anything properly before uni 2011-04-20T20:34:25 not like physics/maths 2011-04-20T20:34:54 i learned a lot of physics in K-12 2011-04-20T20:34:55 pretty much all of applied science for such fields is using maths to model that aspect of the universe 2011-04-20T20:35:34 the education system in the area i grew up in was among the top on the country though 2011-04-20T20:35:53 whereas the uni i went to... well, it has a decent reputation, but i thought it sucked 2011-04-20T20:36:44 My calc has been very good, but we did physics without calculus because there weren't enough students that had already taken calculus :/ 2011-04-20T20:36:49 but yeah, i think university is generally a terrible thing for people to attend just to learn how to program 2011-04-20T20:36:53 there are much better ways 2011-04-20T20:36:56 I just tried in Firefox 3: visualizer with the 120x120 / 500 turns game, zoomed, fog on and "letters on ants" on. I got a frame every 20 seconds or so ^^ 2011-04-20T20:37:12 haha 2011-04-20T20:37:28 jaycobcoleman: fyi , maths students continue taking calculus classes for years, it gets a lot harder 2011-04-20T20:37:44 Oh no I'm aware. 2011-04-20T20:37:51 Sounds unpleasant 2011-04-20T20:38:04 depends on how the class is taken 2011-04-20T20:38:05 although I've always been incredibley good at math 2011-04-20T20:38:11 if it's taught as a computation class then yes 2011-04-20T20:38:18 if you actually get some maths then no 2011-04-20T20:38:29 What do you mean? 2011-04-20T20:38:47 most maths before university teaches you how to compute the answer to a problem 2011-04-20T20:38:55 but doesn't really go into detail as to why these methods work 2011-04-20T20:39:08 uni level math teached you how to derive those methods, ideally 2011-04-20T20:39:11 *teaches 2011-04-20T20:40:06 oh haha I'm pretty good with understanding why things work because I never study for the tests, so when I come across a problem I have to create a method to solve it 2011-04-20T20:40:08 antimatroid: i dislike your distinction between math and computation, though. IMO, computation should *be* a math, but nobody teaches it that way at all. our languages are partly to blame, though 2011-04-20T20:40:18 It's the best way to learn math :) 2011-04-20T20:40:33 jmcarthur: i consider numerical methods etc. to be math 2011-04-20T20:40:44 but the actual solving of a problem using one on paper for example? 2011-04-20T20:40:46 computation 2011-04-20T20:41:05 finding the derivative of a function, computaiton 2011-04-20T20:41:07 oh, you mean the *execution* of a computation 2011-04-20T20:41:12 yes 2011-04-20T20:41:36 most maths prior to university is doing that, and they don't really explain why the method works 2011-04-20T20:41:41 to me, the *description* of a computation is ideally mathematical in nature (beyond just numerical methods) 2011-04-20T20:42:35 like one doesn't really get given the full picture for why derivatives work until one takes an analysis class (unless one goes to a very top university) 2011-04-20T20:43:35 IMO the hand wavy presentation of derivatives as formulas involving infinitesimals would be perfectly fine if they would just give it some rigor 2011-04-20T20:44:34 most people teaching it probably haven't studied mathematics properly either though 2011-04-20T20:44:49 properly is probably not the right word 2011-04-20T20:44:52 but you know what i mean 2011-04-20T20:45:47 yeah, i need to keep in mind that most areas don't have awesome K-12 programs. all the physics and mathematics teachers at my high school were phds and also taught at the university level 2011-04-20T20:46:05 well, not all of them, but most of them 2011-04-20T20:46:49 i wish the K-12 programs didn't all suck 2011-04-20T20:52:33 yeah same 2011-04-20T20:52:45 but there just are't the reosources 2011-04-20T20:53:48 i wish there was a lot more self directed study before uni 2011-04-20T20:53:51 animatroid: if you want asymmetric maps to be slightly more consistent from bot to bot we can adapt the do_food_offset function so that rather than determining a relative location and then placing the food square on the location closest to that offset for each ant, it can look at each ant and find a location that will necessarily be the same distance away 2011-04-20T20:54:17 i don't like doing that 2011-04-20T20:54:28 why is that? 2011-04-20T20:54:54 because it's going too far to try and force fairness with asymmetry 2011-04-20T20:54:55 *** yasith has quit IRC (Ping timeout: 252 seconds) 2011-04-20T20:55:03 it may not be perfectly fair either 2011-04-20T20:55:32 and once you are all in view, the better ants will pretty much all collect in the same amount of time 2011-04-20T20:55:38 it should be if you use the acutal travel distance 2011-04-20T20:55:56 i don 2011-04-20T20:56:05 i don't see any reason not to use symmetric maps 2011-04-20T20:56:18 I agree 2011-04-20T20:56:33 I was under the impression that it was going to happen anyway though 2011-04-20T20:56:48 it will fail 2011-04-20T20:57:03 i really doubt many contestants will prefer asymmetric maps 2011-04-20T20:57:45 particularly those who are interested in seeing an as accurate as possible ranking of their bot relative to other people 2011-04-20T20:58:11 I concur. Who is ultimately making the decision as to what types of maps to use? 2011-04-20T20:58:42 not sure anymore, probably janzert/mcleopold and someone ese 2011-04-20T20:58:44 maybe sigh 2011-04-20T20:59:04 but they wont just ignore the opinion of others 2011-04-20T20:59:43 alright, opinions will be voiced. Now I'm gonna disappear for a while so I can play around with the idea of creating a map gen :) 2011-04-20T21:06:54 *** yasith has joined #aichallenge 2011-04-20T21:07:23 antimatroid this time around i am maintaining a wiki of all iterations of the bot and what each one does 2011-04-20T21:07:26 and what each one lacks 2011-04-20T21:07:35 should be interesting to read after the competition 2011-04-20T21:07:41 ah nice 2011-04-20T21:08:28 *** Eruonen has quit IRC () 2011-04-20T21:08:58 i like the fact that you're expecting a baby any time and you're programming for this :P 2011-04-20T21:09:41 well nothing to do right now wife is sleeping and i have nothing to do 2011-04-20T21:09:43 i'd be more impressed if you were your so 2011-04-20T21:09:48 i am guessing once the baby is here 2011-04-20T21:09:55 i won't be seen for 2-3 weeks:) 2011-04-20T21:10:01 yep 2011-04-20T21:10:12 zombhasker 2011-04-20T21:10:24 so i will be back probably only after the competition begins 2011-04-20T21:10:53 and work would be backlogged when i get back to work , so i don't know how much time i wil have this time around 2011-04-20T21:11:07 but i shall follow the competition nevertheless 2011-04-20T21:11:57 yeah, i'm going to be quite busy 2011-04-20T21:12:08 i suspect i'll end up implementing what i have in mind and just submitting that 2011-04-20T21:14:38 same here probably 2011-04-20T21:14:48 i doubt i will be able to do as many iterations as planetwars 2011-04-20T21:14:54 that was crazy 2011-04-20T21:15:20 though i can't wait to see the really good bots emerge should be fun to watch the games 2011-04-20T21:15:30 is anyone working on porting the tcp server? 2011-04-20T21:15:43 don;t think so 2011-04-20T21:15:57 hmm it would be a rather boring competition without the tcp server 2011-04-20T21:16:05 tcp server is what made it so much more fun 2011-04-20T21:16:50 there will be a tcp server 2011-04-20T21:16:54 that isn't an otpion 2011-04-20T21:21:13 *** suicidolt has joined #aichallenge 2011-04-20T21:32:42 multi-level-zoom and improvements to worst case scenarios (rendering only what is on screen): http://marco-leise.homedns.org/antgui/work/visualizer.php?game_id=3 2011-04-20T21:35:31 awesome 2011-04-20T21:35:50 If you compare http://marco-leise.homedns.org/antgui/stable/visualizer.php?game_id=3, you will see the difference when you zoom in and use letters over ants and the fog of war option. 2011-04-20T21:36:13 looks amazing 2011-04-20T21:36:45 *** yasith has quit IRC (Ping timeout: 258 seconds) 2011-04-20T21:37:02 :) would you mind if I added an option to see the ants as 'real' ants on muddy ground with water that reflects the sky? 2011-04-20T21:37:17 is that the hunter bot playing or one of your own? 2011-04-20T21:37:45 I don't know, I think I got that replay from antimatroid 2011-04-20T21:38:05 oh k 2011-04-20T21:40:59 frontier one thing that would be fun to watch 2011-04-20T21:41:08 would be to maybe highlight contested territtory 2011-04-20T21:41:10 like hotspots 2011-04-20T21:41:16 Btw, some advertising: The visualizer wrapped in Java is available from this location while my laptop is running on Linux: http://marco-leise.homedns.org/antgui/stable/visualizer/visualizer.jar 2011-04-20T21:41:19 maybe you could highlight concentrations of dead ants 2011-04-20T21:42:12 though i am not sure if replay has the data 2011-04-20T21:42:15 has that data* 2011-04-20T21:42:20 bhasker: you wouldn't believe how many ideas people have. I would probably need a separate menu for these special options. 2011-04-20T21:42:39 it would be an interesting way to get people to observe the main battles 2011-04-20T21:42:41 in these games 2011-04-20T21:43:00 we should probably update replay format to include dead ants 2011-04-20T21:43:13 *** antimatroid has quit IRC (Ping timeout: 248 seconds) 2011-04-20T21:43:18 no need to. I know when they die. 2011-04-20T21:43:26 ah true i guess you can track it 2011-04-20T21:44:03 the thing with ants is so many battles happen at the same time that its impossible to track most of it 2011-04-20T21:44:04 I'm tracking their locations as well. They are generated from nwse and - chars in a string. 2011-04-20T21:44:10 so someway to highlight would be good 2011-04-20T21:44:42 and some ideas from Supreme commander 2011-04-20T21:44:49 namely allowing range rings around ants 2011-04-20T21:44:59 though that would probably slow down the UI a lot 2011-04-20T21:45:13 that idea isn't even new ;) 2011-04-20T21:45:31 *** antimatroid has joined #aichallenge 2011-04-20T21:45:37 maybe you could enable it in the most zoomed in mode 2011-04-20T21:45:45 so when zoomed in, one could enable range rings 2011-04-20T21:45:51 to observe close battles better 2011-04-20T21:46:02 and also a ring around food 2011-04-20T21:47:28 so the battle radius would be drawn around ants and the spawn radius around food? is that your idea? 2011-04-20T21:48:10 yes 2011-04-20T21:48:42 you could probably enable it by default in zoomed in modes 2011-04-20T21:48:47 and disable it zoomed out modes 2011-04-20T21:48:57 but let the user enable/disable it 2011-04-20T21:49:24 supreme commander has some of the best mini map options :) 2011-04-20T21:49:45 *** antimatroid has quit IRC (Ping timeout: 240 seconds) 2011-04-20T21:49:50 i wish the replay format had the ability to output tracking information to the server 2011-04-20T21:49:53 per turn 2011-04-20T21:50:10 like a bot could give tags to a few positions every turn 2011-04-20T21:50:15 and the visualizer could render these tags 2011-04-20T21:50:25 so it would be a nice visual way to debug 2011-04-20T21:50:28 I missed this in planet wars, too. 2011-04-20T21:50:37 we could limit the number of tags per turn to 1 per bot 2011-04-20T21:50:50 to keep replay formats smal 2011-04-20T21:50:58 so each turn a bot could output a line like 2011-04-20T21:51:05 t X Y 2011-04-20T21:51:10 alongwith the orders 2011-04-20T21:51:30 and replay just stores that along 2011-04-20T21:51:38 so visualizer can then render these tags 2011-04-20T21:52:01 would be interesting especially if people want to like make adhoc groups and name/number them 2011-04-20T21:52:12 we have a lot of ants though. imagine 500 tags beeing drawn on screen 2011-04-20T21:52:13 like unit groups in RTS 2011-04-20T21:52:29 well by default it should be disabled 2011-04-20T21:52:39 and the viwere can turn them on per bot 2011-04-20T21:52:44 and its not one tag per ant 2011-04-20T21:52:49 but rather one tag per turn 2011-04-20T21:52:55 ah i see 2011-04-20T21:53:14 or maybe a bot can have 10 tag slots totall 2011-04-20T21:53:20 and each turn update each tag slot 2011-04-20T21:53:24 or the one it wants 2011-04-20T21:53:26 like 2011-04-20T21:53:29 *** suicidolt has quit IRC (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.16/20110323145543]) 2011-04-20T21:53:33 t X Y 2011-04-20T21:53:42 so at most each bot can have 10 tags on screen at any time 2011-04-20T21:54:12 the server can just reject any tag numbers > # allowed tags and not record them 2011-04-20T21:54:33 You should talk with sigh then, who works on the engine. Whe would be the one who adds that information to the replays. 2011-04-20T21:54:42 @sigh 2011-04-20T21:54:42 i know... 2011-04-20T21:55:10 will your visualizer break if it gets lines that it can't understand? 2011-04-20T21:55:19 or does it just skip over them 2011-04-20T21:55:48 @tell sigh 2011-04-20T21:55:48 bhasker: (tell ) -- Tells the whatever is. Use nested commands to your benefit here. 2011-04-20T21:55:50 no, we are using JSON now. so it would be adding a field to an object 2011-04-20T21:56:19 @tell sigh how about an idea of allowing each bot 10 tag slots which can be used to emit text to replays at certain locations 2011-04-20T21:56:20 bhasker: Error: I haven't seen sigh, I'll let you do the telling. 2011-04-20T21:56:20 And adding fields never hurts 2011-04-20T21:56:30 ah k 2011-04-20T21:56:45 i guess i will talk to sigh when he is online next 2011-04-20T21:56:59 i believe that would make for some very interesting data to see visually 2011-04-20T21:58:47 I don't know how to add the gui for that though 2011-04-20T22:02:28 *** antimatroid has joined #aichallenge 2011-04-20T22:04:09 floating transparent tags 2011-04-20T22:04:37 since its a java applet i am guessing you can draw small floating text which has an alpha transluency 2011-04-20T22:04:42 so it blends with the background 2011-04-20T22:04:55 so you can still see what happening below the tag 2011-04-20T22:09:18 bhasker, sure. but i meant the ui elements to enable or disable the tags per player 2011-04-20T22:09:39 can just be a button per player? 2011-04-20T22:09:54 show tags on/off 2011-04-20T22:10:01 bhasker: how do you like my food collection compared to hunter bots? :P 2011-04-20T22:10:15 its pretty neat though too many ants going for one food 2011-04-20T22:11:18 that's not the food collection doing that 2011-04-20T22:11:23 that's the heuristic afterwards 2011-04-20T22:11:58 bhasker: I should not overload the ui with buttons. It will become confusing when you first see the interface. Look at Google Chrome, which may be an extreme case with its slim interface, but it only displays the important stuff and hides menus for example. 2011-04-20T22:12:01 it's difficult to send one ant to a region of not recently seen squares 2011-04-20T22:12:15 ah k 2011-04-20T22:12:18 well one way to do that 2011-04-20T22:12:19 Frontier: yeah menus are good 2011-04-20T22:12:22 which my bot is doing 2011-04-20T22:12:25 is to just track to enemy 2011-04-20T22:12:30 in most cases that would be outwards 2011-04-20T22:12:33 i really like simplicity, google is moving away from it :( 2011-04-20T22:12:41 check my bot playing 2011-04-20T22:12:46 i can blame sigh for that now 2011-04-20T22:12:48 he works there 2011-04-20T22:12:57 antimatroid: you want me to implement menus? hmm... 2011-04-20T22:12:58 btw frontier i have uploaded your visualizer on http://bhasker.net/ants/copy_paste.html 2011-04-20T22:13:10 Frontier: i don't care anymore, i have everything i want :) 2011-04-20T22:13:25 http://pastebin.com/bYpgjqmK 2011-04-20T22:13:27 i was referring to hiding too many options just being visible, simplicitly is nice 2011-04-20T22:13:35 lol, yes you never quit crying for features until a few weeks ago ;) 2011-04-20T22:13:49 frontier if you want to mail me your latest visualizer i can upload it to my website 2011-04-20T22:13:53 yeah, but then i got them all 2011-04-20T22:14:18 anyway, i'm off to get some lunch 2011-04-20T22:14:37 it's fun being the opposite of everyone in the world 2011-04-20T22:14:37 bhasker: do you have the git repo checked out? 2011-04-20T22:14:43 yes 2011-04-20T22:14:45 is it committed? 2011-04-20T22:15:04 not the latest version, let me do some testing on that first. 2011-04-20T22:16:31 once stuff is commited you can run 'ant deploy' in the visualizer directory. That will install all the visualizer files in a target directory including the applet for IE etc. 2011-04-20T22:17:04 hmm k 2011-04-20T22:17:16 you don't sound convinced? :) 2011-04-20T22:17:29 *** antimatroid has quit IRC (Read error: Connection reset by peer) 2011-04-20T22:17:42 *** antimatroid has joined #aichallenge 2011-04-20T22:19:02 there are no actual new features in the latest version anyway. It is mostly a performance optimization. 2011-04-20T22:20:12 bhasker: are you on linux or on windows? 2011-04-20T22:20:24 my laptop is mac but my website runs on linux 2011-04-20T22:20:47 *** AlliedEnvy_ has quit IRC (Read error: Connection reset by peer) 2011-04-20T22:21:16 I haven't tested the ant script on mac yet :p. Maybe it works out of the box. 2011-04-20T22:23:33 *** AlliedEnvy has joined #aichallenge 2011-04-20T22:24:21 heh i just copied the visualizer directory over to my server 2011-04-20T22:24:23 seems to work fine 2011-04-20T22:24:28 didn't use any ant script to install last time 2011-04-20T22:25:00 If you only need copy_paste.html that is fine. 2011-04-20T22:25:12 yea 2011-04-20T22:27:05 oh and it is the only way, too since the deploy script was meant for the contest server which will not provide a copy_paste.html ^^ 2011-04-20T22:27:23 (it will be there, but as a .zip download) 2011-04-20T22:27:33 ah k 2011-04-20T22:28:42 IE 8 users cannot use copy_paste.html though since it doesn't use the Java applet, but only JavaScript and HTML5, part of which is not supported by IE 8. 2011-04-20T22:31:18 ie 8 users should go and jump off a cliff 2011-04-20T22:31:57 ah k 2011-04-20T22:33:59 and everyone should use c++, i know ;) 2011-04-20T22:35:40 Frontier: just not java :P 2011-04-20T22:36:15 i'm reasonable 2011-04-20T22:36:16 :P 2011-04-20T22:36:17 Java is so flexible, you must love it 2011-04-20T22:36:27 flexible? 2011-04-20T22:36:42 can't overload variables/functions or operators? 2011-04-20T22:36:46 how is that flexible? 2011-04-20T22:36:46 antimatroid are you on mac? 2011-04-20T22:36:53 nope sorry 2011-04-20T22:37:07 i'm a student, i can't afford their ridiculous prices 2011-04-20T22:37:27 You see games like Minecraft, database applications, web servers, web applications etc etc written in Java. And you can profile it, debug it, it offers full runtime reflection. It is an amazing language. 2011-04-20T22:37:28 :P 2011-04-20T22:37:41 except it's java :P 2011-04-20T22:38:11 i know my hate of java is irrational, it adds to the fun of it for me :P 2011-04-20T22:38:20 operator overloading doesn't add much. It is a function call after all, that looks like a basic operation, 2011-04-20T22:39:01 hmm i need someones bot to test against:-\ 2011-04-20T22:39:01 Just use the right tool for the job, as they say. 2011-04-20T22:39:03 ahem, 2011-04-20T22:39:04 Matrix C = add(A, product(C, power(D, 3))); vs 2011-04-20T22:39:04 Matrix C = A + C * (D^3); 2011-04-20T22:39:09 what version of linux are you on? 2011-04-20T22:39:56 composing functions with infix notation is a hell of a lot easier 2011-04-20T22:40:03 or whatever it is 2011-04-20T22:40:55 Matrix C = A.add(C.product(D.power(3))); <- see, the operator stays infix ;) 2011-04-20T22:41:06 it's still gross 2011-04-20T22:41:59 i personally could not live without operator overloading 2011-04-20T22:43:14 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-04-20T22:43:52 but there are not enough operators for all operations. for example i use ^ for the cross product, you use it for power. 2011-04-20T22:48:19 Scala FTW. Any function is an infix operator. (and Haskell to a lesser degree) 2011-04-20T22:48:28 At least I have never seen a language and library that is as clean as Java. Most other languages offer constructs that lead to conflicts: operator overloading, macros, ... 2011-04-20T22:49:39 different ways to do the same thing 2011-04-20T22:50:05 It is enough to discuss the use of tabs vs spaces in a company ^^ 2011-04-20T22:51:56 jbroman: How do you write a pythonic "print x" in Scala then? 2011-04-20T22:52:23 What do you mean by "a pythonic 'print x'"? 2011-04-20T22:53:03 print is a function with an argument x, but i cannot imagine how to write that in infix notation 2011-04-20T22:53:25 *** delt0r_ has joined #aichallenge 2011-04-20T22:53:51 Scala still has the Java-like syntax. 2011-04-20T22:54:05 so there is always an object involved? 2011-04-20T22:54:09 So you can still call System.out.println("asdf") etc 2011-04-20T22:54:37 or foo(4) if the function is local 2011-04-20T22:54:50 *** delt0r___ has quit IRC (Ping timeout: 252 seconds) 2011-04-20T22:54:59 To my knowledge, you can't call a one-argument function like "foo x". 2011-04-20T22:55:06 But you can as foo(x) 2011-04-20T22:55:28 Python 3 removed that as well. It is always print(x) from now on. 2011-04-20T22:55:38 But if you have a function bar on object y, you can do either "y bar z" or "y.bar(z)" 2011-04-20T22:56:00 hmm, I guess it is faster to write code without dots and brackets 2011-04-20T22:56:16 It is reasonably nice for DSL-type stuff, and you can invent whatever infix operators you like. 2011-04-20T22:56:43 are you limited to ascii named for functions? 2011-04-20T22:56:54 You want unicode names? 2011-04-20T22:56:55 Lemme check. 2011-04-20T22:58:40 I might want to define ⊕ for some object, or ⊇. 2011-04-20T22:58:40 Yup, seems to work. 2011-04-20T22:58:57 This executed correctly: 2011-04-20T22:58:57 def føü(ß: Int) = ß 2011-04-20T22:59:23 that's cool. 2011-04-20T23:00:13 how is the operator precedence evaluated? 2011-04-20T23:00:40 a foo x * 10 may be difficult without brackets 2011-04-20T23:01:34 by the operator's first character: 2011-04-20T23:01:37 (all letters) 2011-04-20T23:01:37 | 2011-04-20T23:01:37 ^ 2011-04-20T23:01:38 & 2011-04-20T23:01:38 < > 2011-04-20T23:01:39 = ! 2011-04-20T23:01:39 : 2011-04-20T23:01:39 + - 2011-04-20T23:01:39 * / % 2011-04-20T23:01:39 (all other special characters) 2011-04-20T23:01:55 Though in ambiguous cases, it's probably good style to use parentheses. 2011-04-20T23:02:05 as i imagined, so functions are evaluated last 2011-04-20T23:02:44 You can certainly come up with cases which are completely opaque to the compiler (in which case, write clearer code). 2011-04-20T23:03:21 You can't define your own precedence rules, if that's what you're thinking, but going down that road can be fishy. 2011-04-20T23:12:02 *** ahmedhelal has joined #aichallenge 2011-04-20T23:14:05 frontier: why not use x for cross product? 2011-04-20T23:16:13 define that in c++ please :) 2011-04-20T23:16:47 i can't, i hate not being able to use anything as an opetator 2011-04-20T23:16:57 another reason i want haskell 2011-04-20T23:18:42 *** smellyhippy has quit IRC (Ping timeout: 248 seconds) 2011-04-20T23:23:20 *** amstan has joined #aichallenge 2011-04-20T23:23:20 *** ChanServ sets mode: +o amstan 2011-04-20T23:35:08 *** bhasker_ has joined #aichallenge 2011-04-20T23:38:18 *** bhasker has quit IRC (Ping timeout: 252 seconds) 2011-04-20T23:53:53 *** yasith has joined #aichallenge 2011-04-20T23:54:34 actually, i think composing functions with prefix notation is much easier 2011-04-20T23:54:50 infix notation just looks more like math that i'm used to, that's all 2011-04-20T23:55:45 c = add a . product c . power d 2011-04-20T23:55:56 or whatever 2011-04-20T23:56:08 that of course assumes the 3 is a parameter, i guess 2011-04-20T23:56:17 c = add a . product c $ power d 3 2011-04-20T23:56:52 actually, for the prefix version i think it makes more sense for the 3 (which i'm assuming means "cubed") to be the first parameter 2011-04-20T23:57:11 c = add a . product b . power 3 2011-04-20T23:57:31 so then you just apply c to an argument :) 2011-04-20T23:58:16 *** Mathnerd314 has quit IRC (Ping timeout: 276 seconds)