2011-04-23T00:00:05 so you have to call that from python. 2011-04-23T00:00:33 i guess it's easy enougth to wrap though 2011-04-23T00:00:45 where are the tests results by the way ? 2011-04-23T00:00:59 amstan: i take it you just want me to look over the converted versions of the wiki pages? 2011-04-23T00:01:45 antimatroid: yeah 2011-04-23T00:03:08 antimatroid: also.. this: 2011-04-23T00:03:19 So the tcp server will simply provides sets of games. And then the ranking can use anyset and be run from default skill up to 2011-04-23T00:03:34 contestbot: newdesign 2011-04-23T00:03:34 amstan: newdesign could be http://home.hypertriangle.com/~andrew/aicontest/. 2011-04-23T00:03:38 antimatroid: ^^ 2011-04-23T00:03:51 yeah i saw the design :) 2011-04-23T00:05:05 amstan: the banner at the top is really high 2011-04-23T00:05:13 that might take up a lot of room on a laptop screen 2011-04-23T00:05:32 antimatroid: it's 960px wide, should be fine 2011-04-23T00:05:40 i just need to understand the playonegame script a litlle better, and i have all the material i need for building up a lightweight tcp server i guess. 2011-04-23T00:05:48 antimatroid: he developed it on a 1280x800 2011-04-23T00:06:13 i think i saw that there is a lightweigt http server for viewing games. 2011-04-23T00:06:18 it also forces itself to stay fixed width? 2011-04-23T00:06:26 antimatroid: most websites do this 2011-04-23T00:06:27 haven't most websites given up on that horrible practice? 2011-04-23T00:06:31 oh 2011-04-23T00:06:41 how do the lightweight http works ? 2011-04-23T00:07:20 it seems silly when it uses like half of my screen 2011-04-23T00:07:25 antimatroid: it's like impossible to do cross browser properly 2011-04-23T00:07:43 yeah i can survive 2011-04-23T00:08:00 it would be better if i had a rewiew of the ants dir content. i guess i'll wait of sigh and mcleopold then 2011-04-23T00:08:06 antimatroid: github, youtube, our old site, facebook 2011-04-23T00:08:21 i hate how thin googles results are now 2011-04-23T00:08:22 anyway 2011-04-23T00:08:24 those muggles 2011-04-23T00:08:26 going to tim hortons now 2011-04-23T00:08:29 cya 2011-04-23T00:08:32 bye 2011-04-23T00:08:39 *** Stocha has quit IRC (Quit: Page closed) 2011-04-23T00:09:01 *** computerwiz_222 has quit IRC (Ping timeout: 250 seconds) 2011-04-23T00:12:55 *** amstan has quit IRC (Ping timeout: 250 seconds) 2011-04-23T00:18:15 *** Ice_Harley has quit IRC (Ping timeout: 252 seconds) 2011-04-23T00:40:30 *** amstan has joined #aichallenge 2011-04-23T00:40:30 *** ChanServ sets mode: +o amstan 2011-04-23T00:41:03 and i'm back 2011-04-23T00:41:10 antimatroid: so.. what do you think? 2011-04-23T00:43:30 *** McLeopold has joined #aichallenge 2011-04-23T00:43:38 McLeopold: hey 2011-04-23T00:44:11 hi 2011-04-23T00:44:42 McLeopold: i got this done: https://github.com/aichallenge/aichallenge/issues/61 2011-04-23T00:45:35 nice 2011-04-23T00:45:47 I'll be working on the web site ranking pages tonight 2011-04-23T00:45:59 McLeopold: also, what do you think of this: http://home.hypertriangle.com/~andrew/aicontest/ 2011-04-23T00:48:35 It's okay, but it looks a less "professional" for some reason. 2011-04-23T00:48:43 I can't really say why... 2011-04-23T00:50:13 with the "spring 2011" text, red on green is always a bad choice, to vibrant 2011-04-23T00:50:29 The padding on the section ought to be a bit more 2011-04-23T00:50:47 A few lines here and there to give it a bit more structure would look nice 2011-04-23T00:50:48 yeah, i'll keep them in mind for my friend, i didn't actually make it 2011-04-23T00:51:09 but it would be a potential theme replacement, right? 2011-04-23T00:51:33 The "Ants" text is bigger than the "Google AI Challenge" text which I don't think is appropriate. 2011-04-23T00:52:17 Yeah, I like the triangle and the 2 colors of green. The ants are pretty cool. 2011-04-23T00:52:34 The blue background doesn't feel like it matches. 2011-04-23T00:52:48 *** computerwiz_222 has joined #aichallenge 2011-04-23T00:53:01 Do you know the font used for the word "Ants"? 2011-04-23T00:53:09 McLeopold: idk, ask computerwiz_222 2011-04-23T00:53:20 McLeopold: it's the Ubuntu font 2011-04-23T00:53:37 I am really impressed with that font face, it looks sharp in a lot of applications 2011-04-23T00:54:33 also.. that potential layout is a work in progress 2011-04-23T00:57:07 computerwiz_222: the ubuntu font does look good. see my comments above, and I've got a link for you. 2011-04-23T00:58:35 computerwiz_222: http://designfestival.com/the-cicada-principle-and-why-it-matters-to-web-designers/ 2011-04-23T00:59:02 *** jayocbcoleman has joined #aichallenge 2011-04-23T00:59:12 * antimatroid agrees with McLeopolds sentiments 2011-04-23T00:59:28 amstan: i haven't given it a decent comb yet sorry, looks alright 2011-04-23T00:59:34 it would be cool to have a randomize looking background across the whole site that mimics the visualizer somewhat 2011-04-23T00:59:40 although the font may be a bit small for the example parts? 2011-04-23T00:59:53 ^^ that would be awesome 2011-04-23T01:00:11 computerwiz_222 is the maker of it 2011-04-23T01:00:17 talk to him 2011-04-23T01:00:19 the sample game on the home page should be using the visualiser as well :) 2011-04-23T01:00:33 not some youtube video of an old revision of a visualiser 2011-04-23T01:03:06 antimatroid: what homepage are you looking at? 2011-04-23T01:03:07 thanks for the comments 2011-04-23T01:03:23 the red text really makes a difference (it's white now) 2011-04-23T01:03:31 antimatroid: planet wars 2011-04-23T01:03:34 McLeopold: ^ 2011-04-23T01:03:44 computerwiz_222: oh wow 2011-04-23T01:03:54 and yes some lines are on the way 2011-04-23T01:04:04 computerwiz_222: try a shadow under the white 2011-04-23T01:04:07 this was whipped up in less than 3 hours 2011-04-23T01:04:14 amstan: brb 2011-04-23T01:05:20 McLeopold: anyway.. going back to coding.. i reset the branch to a previous commit 2011-04-23T01:05:26 McLeopold: when it works all you have to do is push 2011-04-23T01:05:34 yeah, okay 2011-04-23T01:05:53 I really ought not do that, I was just trying to get something out before I left for awhile. 2011-04-23T01:06:00 yeah 2011-04-23T01:06:09 I had just gotten a new laptop, so I didn't have a website running yet... 2011-04-23T01:08:00 antimatroid: have you seen how i'm implementing the content on the website using the wiki? 2011-04-23T01:08:23 it pretty much looks like this: https://github.com/aichallenge/aichallenge/blob/epsilon/website/problem_description.php 2011-04-23T01:08:47 then the script goes over it with a regex and when it matches, it replaces it with a rendering of the markdown 2011-04-23T01:09:02 it works even when it has stuff inside it 2011-04-23T01:09:10 tasty 2011-04-23T01:09:18 bbs, going to cook a burrger 2011-04-23T01:09:26 all i have to do is hook it up with the installer 2011-04-23T01:09:38 *** Mathnerd314 has quit IRC (Read error: Connection reset by peer) 2011-04-23T01:13:42 well.. there's the reddit spike: https://github.com/aichallenge/aichallenge/graphs/traffic 2011-04-23T01:13:54 47000 views on the repo 2011-04-23T01:13:55 lol 2011-04-23T01:18:05 haha 2011-04-23T01:18:19 oh good. It seems I spelled my own name wrong 2011-04-23T01:18:29 *** jayocbcoleman has quit IRC (Quit: Page closed) 2011-04-23T01:18:54 *** jaycobcoleman has joined #aichallenge 2011-04-23T01:19:45 jaycobcoleman: you know you can use /nick to change your name.. 2011-04-23T01:20:03 meh 2011-04-23T01:20:08 No i really didn't 2011-04-23T01:20:22 I have little IRC experience 2011-04-23T01:20:49 well now you know!(*in a bill nye the science guy voice*) 2011-04-23T01:21:37 :P However, a more pressing matter. Strategy guides are gonna take some doing...Do we have someone in mind for that? 2011-04-23T01:21:52 jaycobcoleman: do you want to do it? 2011-04-23T01:22:11 Not sure I have quite the strategy know-how 2011-04-23T01:22:22 I would nominate animatroid :) 2011-04-23T01:23:00 But of course I'll contribute any ideas I have 2011-04-23T01:24:40 In even MORE important news it's my 18th birthday! 2011-04-23T01:25:02 jaycobcoleman: cool 2011-04-23T01:25:15 contestbot: rainbow Happy birthday! 2011-04-23T01:25:15 amstan: Happy birthday! 2011-04-23T01:26:09 jaycobcoleman: happy birthday 2011-04-23T01:26:13 : ) I'm gonna be busy for the next couple of days, but after that I'll try to get some ideas down on paper 2011-04-23T01:26:16 pitty drinking age is 21 over there :P 2011-04-23T01:26:56 Haha well if I wanted to drink I don't think I'd care too much about that 2011-04-23T01:33:53 so bad_words.php is my favorite file. 2011-04-23T01:34:17 Who was it that had to sit there for 5 minutes thinking of all the bad words people could possibly try to use? 2011-04-23T01:44:40 probably jeff 2011-04-23T01:46:29 Who would jeff be? Unfortunately I don't know anybody by first name. 2011-04-23T01:46:44 j3camero 2011-04-23T01:47:45 McLeopold: This would be a better way to deal with dead ants overwriting food http://pastebin.com/LJ4puTCY 2011-04-23T01:48:55 *** McLeopold has left #aichallenge 2011-04-23T01:49:19 blast, Well Jeff did a phenominal job 2011-04-23T01:49:28 *** McLeopold has joined #aichallenge 2011-04-23T01:51:35 jaycobcoleman: can you explain what the code is doing differently from the current method? 2011-04-23T01:52:53 The list will be returned to the bot exactly as before, with the exception that dead ants will be marked first, so if any overwriting is done it'll be the food overwriting the dead ants 2011-04-23T01:53:13 I just have vector deadAnts for each square :) 2011-04-23T01:53:27 Oh, that's a change to the engine 2011-04-23T01:53:42 yes 2011-04-23T01:53:48 A bot should be able to handle any input order 2011-04-23T01:54:12 but the input order won't be variable 2011-04-23T01:54:13 It would be bad to have someone rely on input ordering 2011-04-23T01:54:42 I think my if statement I added today does a good job of resolving it. 2011-04-23T01:55:01 alright well then leave that in 2011-04-23T01:55:08 does your bot give them information for multiple dead ants on a square? 2011-04-23T01:55:08 If someone else writes a better engine, we don't need them to conform to an input order rule 2011-04-23T01:55:27 yes, I have a dead list they can run through 2011-04-23T01:55:52 ah, i should write a function to update my score at some point 2011-04-23T01:55:57 and make sure it agrees with the engine 2011-04-23T01:55:58 dead ants are also marked on the map if they want to look that way, but may not be acurrate if food spawned 2011-04-23T01:56:00 I do still think we should make the change in the engine though because there are so many starter packages being made I this is a problem very easily overlooked 2011-04-23T01:56:13 but we won't make bots dependent on it 2011-04-23T01:56:25 I'd prefer the break early, break often approach. 2011-04-23T01:56:38 McLeopold: then ants should walk onto water and die :P 2011-04-23T01:56:42 We should randomize the engine's output to make sure people don't write sensitive bots 2011-04-23T01:56:53 that's probably a good idea 2011-04-23T01:57:09 people have already been caught out not realising their moves to water were being blocked 2011-04-23T01:57:15 why do ants walk into water? 2011-04-23T01:57:24 so you know you're making stupid moves 2011-04-23T01:57:30 break early, break often? :P 2011-04-23T01:57:55 oh, the engine should be able to be put in a verbose mode for testing where they get that feedback, only official games will ignore stuff 2011-04-23T01:58:19 oh, can we change spawn radius to 1? :P 2011-04-23T01:58:24 yes 2011-04-23T01:58:28 and attack to 4 2011-04-23T01:58:34 ok sure 2011-04-23T01:58:41 :) 2011-04-23T01:59:01 *** ahmedhelal has quit IRC (Read error: Connection reset by peer) 2011-04-23T01:59:32 *** ahmedhelal has joined #aichallenge 2011-04-23T01:59:32 jaycobcoleman: with the engine, I would be more concerned about speed and wouldn't want the sorting to take place 2011-04-23T01:59:57 do you want to shuffle the inputs? 2011-04-23T02:00:06 not really :) 2011-04-23T02:00:48 McLeopold: how useful is it if people don't know how many players started in the game? 2011-04-23T02:01:02 because it's going to give us quite strict conditions on game dimensions for symmetric maps 2011-04-23T02:01:08 less useful than if they did? 2011-04-23T02:01:32 *** amstan_ has joined #aichallenge 2011-04-23T02:01:32 *** ChanServ sets mode: +o amstan_ 2011-04-23T02:01:51 to hide the number of players, the dimensions need to be divisible by all possible numbers of players to be used 2011-04-23T02:02:04 otherwise you start to give people an idea of how many there were 2011-04-23T02:02:05 I don't think we need to ensure that they can't determine number of players. Variety of maps is more important, I think. 2011-04-23T02:02:08 *** computerwiz_222 has quit IRC (Ping timeout: 246 seconds) 2011-04-23T02:02:11 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-04-23T02:02:23 my argument then would be perhaps we just tell people how many players started 2011-04-23T02:02:53 why? 2011-04-23T02:02:54 so some people don't get some stupid tiny advantage from actually working out how many players there might have been, althought it also helps work out row and col translate then i guess 2011-04-23T02:02:56 which we don't want 2011-04-23T02:03:20 If they do work it out and get a small advantage, good for them. 2011-04-23T02:03:42 I'd consider than part of the problem spec, determining number of players. 2011-04-23T02:03:49 okay, well i shall still try to work out how to make it as hard as possible at some point 2011-04-23T02:03:53 animatroid: I liked your 120x120 idea 2011-04-23T02:04:08 *** sids_aquarius has quit IRC (Ping timeout: 258 seconds) 2011-04-23T02:04:09 jaycobcoleman: doesn't offer much variation with respect to dimensions though 2011-04-23T02:04:13 and variation is fun 2011-04-23T02:04:29 Map variation is way more important than hiding number of players. 2011-04-23T02:04:57 sure, i like the competition being about who can come up with the best strategy to play the game though 2011-04-23T02:05:02 *** Frontier has joined #aichallenge 2011-04-23T02:05:09 anyway, I have an easy way to count number of players no matter what you do :) 2011-04-23T02:05:16 not who could find the coolest little "exploits" for information 2011-04-23T02:05:23 McLeopold: ? 2011-04-23T02:05:26 Tell me your secrets!!! 2011-04-23T02:07:16 explore the map an produce a voroni diagram using antimatroids painting algo, or any others until you get defined borders with other ants, ignoring water somewhat. Then divide the total area by that number. Round up or down and the error rate will probably be very low. 2011-04-23T02:07:51 McLeopold: i just thought of a way to stop some information about food being implicit 2011-04-23T02:08:00 It doesn't rely on finding other ant starting positions. 2011-04-23T02:08:02 but it's a little involved, so not sure if people would be keen.. 2011-04-23T02:08:13 okay, what's the method 2011-04-23T02:09:06 for each live food square, keep a list of ants that have seen it while it's been there, then for a dead food square, keep it there until it's been told to every ant that it's no longer there 2011-04-23T02:09:18 and they get told if they're in view of that location 2011-04-23T02:09:40 a dead food square here would have to count one that spawned to an ant 2011-04-23T02:10:02 yeah, that's how rts games work 2011-04-23T02:10:26 that way people don't need to come up with a way of checking whether old food information is outside the current view radius 2011-04-23T02:10:26 razed buildings in the fog of war dissapear when you explorer the area again 2011-04-23T02:10:38 which means distinguishing new and old food information after having read state information 2011-04-23T02:10:39 that would be nice 2011-04-23T02:11:12 so, the protocol would change to kill food squares? 2011-04-23T02:11:44 yeah, all food squares die, but some spawn, and if an ant has seen a food square, they are told next time that location is in view that it died 2011-04-23T02:12:16 you can't have more than 1 piece of dead food information waiting for you per location 2011-04-23T02:12:25 why not? 2011-04-23T02:12:30 oh, I know why 2011-04-23T02:12:34 because in order to see a second food square there, you need to collect the information for the old one dying 2011-04-23T02:12:38 because you haven't seen the second one 2011-04-23T02:12:42 yep 2011-04-23T02:12:57 okay, but dead ants are different from used food 2011-04-23T02:13:11 so you could really just have a single list per square of ants waiting to get dead food information 2011-04-23T02:13:23 yeah, this is only for food information 2011-04-23T02:13:51 being told an ant appears on top of food is being told the food morphed, so if it was morphed out of site, you don't get told which bot it went to 2011-04-23T02:14:11 what? 2011-04-23T02:14:41 so, what happens in the input when a bot sees the food dissapear? 2011-04-23T02:14:43 if you get ant information on a square that you could see as food last turn, you know that food square went to that player 2011-04-23T02:14:53 right 2011-04-23T02:15:08 you would get information like 2011-04-23T02:15:09 K r c (kill food at r c) 2011-04-23T02:15:30 and then you only ever need to delete food information when told 2011-04-23T02:15:37 so you only ever need to be sent food information once too 2011-04-23T02:15:58 so, to know food was spawed, there are 3 possibilities, it's visible and an ant appears, it's visible and the food is gone, or it's not visible and you are told the food is gone 2011-04-23T02:16:03 later 2011-04-23T02:16:27 what? 2011-04-23T02:16:35 food spawning from an ant appearing? 2011-04-23T02:16:48 or ant spawning? 2011-04-23T02:16:50 food can disappear if 2 ants are next to it 2011-04-23T02:16:54 yes 2011-04-23T02:17:16 i would call that food dying, an ant spawning if it turns to an ant and food spawning when food appears 2011-04-23T02:17:39 I'm just trying to think if we should send a line that food is gone *and* a line that a new ant has appeared. 2011-04-23T02:17:57 even if that's information from a previous turn? 2011-04-23T02:18:04 i don't think so 2011-04-23T02:18:13 no, only for visible food 2011-04-23T02:18:32 you could do that by changing the a to s for that ant information 2011-04-23T02:18:39 if the ant was spawned that turn 2011-04-23T02:19:05 the problem with my food idea is all starter bots will need to change 2011-04-23T02:19:12 it's kinda of a big change since we have so many starter bots written, but I do like the idea 2011-04-23T02:19:18 yeah 2011-04-23T02:19:35 If we are going to do it, now is the time 2011-04-23T02:19:44 let it mull for a while 2011-04-23T02:19:51 hopefully a few others can consider the idea too 2011-04-23T02:19:56 *** sids_aquarius has joined #aichallenge 2011-04-23T02:20:04 I'm only concerned about the input being very consistant. 2011-04-23T02:20:15 janzert: your opinion on that might be nice :P 2011-04-23T02:21:11 basic idea is this: first time a food square is in view of an ant they get told food is there, then if a food square "dies" (from disappearing or spawning into an ant) then all ants that saw the food get told it "died" next time they are in view of that square 2011-04-23T02:22:03 I wouldn't user the 'd' line for that. I think death should only refer to ants. 2011-04-23T02:22:14 yeah, that's why i suggested k before 2011-04-23T02:22:24 how about 's' for spawn? 2011-04-23T02:22:32 spawn food? 2011-04-23T02:22:39 or spawn ant? 2011-04-23T02:22:41 the food "spawns" or "morphs" 2011-04-23T02:22:51 the food "spawned" 2011-04-23T02:23:08 and are we differentiating food information that is just becoming visible opposed to a brand new piece of food? 2011-04-23T02:23:23 no 2011-04-23T02:23:34 i would leave it as f for that then 2011-04-23T02:23:49 'a' and 'd' only refer to ants. 'f' and 's' only refer to food. 2011-04-23T02:24:04 so f would be dead food? 2011-04-23T02:24:08 and s is new food information? 2011-04-23T02:24:22 no, the other way around 2011-04-23T02:24:32 what does s stand for? 2011-04-23T02:24:36 spawn? 2011-04-23T02:24:37 spawn is for generation no? 2011-04-23T02:24:45 hmm... 2011-04-23T02:25:01 why not f and k? 2011-04-23T02:25:03 it's kinda of a bad term all around 2011-04-23T02:25:05 Whatever you're talking about now sounds very interestingand important and while I don't have any time now I'll definitely take the time to read through it tomorrow and then you will have my opinions!! whether you want them or not! 2011-04-23T02:25:06 *** sids_aquarius has quit IRC (Ping timeout: 252 seconds) 2011-04-23T02:25:14 *** jaycobcoleman has quit IRC (Quit: Page closed) 2011-04-23T02:25:43 a=ant, f=food <- that makes sense 2011-04-23T02:26:12 u=used food? 2011-04-23T02:26:20 yep 2011-04-23T02:26:27 d=dead ant 2011-04-23T02:26:39 that will work 2011-04-23T02:26:55 except sometimes it isn't used, just removed 2011-04-23T02:27:01 r=removed food? 2011-04-23T02:27:12 that might be clearer 2011-04-23T02:27:35 i'm quite torn, i think this is much better than current, but i don't like changing the format so much 2011-04-23T02:27:46 so, with food fully visible, do we send an ant line and a removed line, or just let the removed be implied? 2011-04-23T02:28:31 We are only adding 'r' lines to the bot input, it would be totally backward compatible. 2011-04-23T02:28:32 if an ant can see a food square spawn into an ant, they would get an a and u line? 2011-04-23T02:28:35 r* 2011-04-23T02:28:59 oh, so keep giving f lines every turn? 2011-04-23T02:29:03 older starter bots would ignore the 'r' lines and still assume if they can't see it, it's not there 2011-04-23T02:29:06 you could strip that, but might be better to keep it 2011-04-23T02:29:08 oh yeah... 2011-04-23T02:29:19 i think you could keep them and everything would still work 2011-04-23T02:29:25 that would save on data transfer 2011-04-23T02:29:30 but not too much? 2011-04-23T02:29:40 i don't like making all the starter bots change 2011-04-23T02:29:50 I don't mind :) 2011-04-23T02:30:07 it should be a few lines to a well written bot in the update function 2011-04-23T02:30:19 yeah, stop deleting food information and process r lines 2011-04-23T02:30:48 let's get sigh's opinion on it 2011-04-23T02:30:55 yep 2011-04-23T02:30:58 I'm for it, plus removing extra 'f' lines 2011-04-23T02:31:30 that would get rid of my complaints about implicit information 2011-04-23T02:31:30 I little starter bot shakeup will make the community closer :) 2011-04-23T02:32:10 okay, so the downside is that a single turn's input doesn't give you the full state 2011-04-23T02:32:24 it didn't before 2011-04-23T02:32:28 not for water information 2011-04-23T02:32:33 ture 2011-04-23T02:32:35 true 2011-04-23T02:32:43 but that's kinda different 2011-04-23T02:32:54 but we can give the r lines and all the f lines 2011-04-23T02:33:07 keep state information and current bots working fine, while eliminating implicit information 2011-04-23T02:33:14 only downside there is we're using more data than necessary 2011-04-23T02:33:32 but the reply format is so different, it doesn't affect that 2011-04-23T02:33:34 *** _flag <_flag!~flag@69.165.173.172> has quit IRC (Quit: Lost terminal) 2011-04-23T02:33:41 so, yeah, keep the 'f' lines 2011-04-23T02:33:58 okay, i will get sigh onto implementing the r lines at some point 2011-04-23T02:34:19 cool 2011-04-23T02:34:59 now i need to go and read your idea about getting the number of players :P 2011-04-23T02:35:39 i see, have a running estimate? 2011-04-23T02:35:48 i would be curious to see how well it worked 2011-04-23T02:35:49 yeah 2011-04-23T02:35:55 ideally what one is wanting is row and col translate 2011-04-23T02:36:02 we want to make that as hard as possible for people to get 2011-04-23T02:36:13 once they get that, they can duplicate water information 2011-04-23T02:36:25 I don't think that matters too much, it's not like you have a base to protect 2011-04-23T02:36:35 no, but it's good for path finding 2011-04-23T02:36:36 oh, I see 2011-04-23T02:37:11 a fix for that is more symmetries 2011-04-23T02:37:16 which we can do at least one of 2011-04-23T02:37:18 My thought was you only need to know when there are lots of players, so you know not to waste ants 2011-04-23T02:37:37 no, but that information is helpful too 2011-04-23T02:37:50 Like in multi-player galcon, there is a waiting phase and an all out attack phase. You just need to know when to switch modes. 2011-04-23T02:37:53 i want to minimise how much ranking matters based off how well people could use that information 2011-04-23T02:38:00 rather than just their strategy for playing the game 2011-04-23T02:38:58 I'm thinking map and player count smarts are part of the game. 2011-04-23T02:39:19 sure, like i would argue it's stupid not to have screen watching as part of the game for goldeneye 2011-04-23T02:39:24 We can still try an make it hard, but it's not a priority. 2011-04-23T02:39:26 but i still prefer to minimise the usefulness of it :P 2011-04-23T02:39:39 haha 2011-04-23T02:39:44 I've got a funny story about that 2011-04-23T02:39:49 ... 2011-04-23T02:40:30 I always pwned my friend a halo, so once we gave me the top half of the screen and pushed the folded up ping-pong table to block my vision of the lower half... 2011-04-23T02:40:46 He actually starting winning after that. :D 2011-04-23T02:40:52 aha 2011-04-23T02:41:12 imo if you're playing on a screen like that you just have to accept it as part of the game 2011-04-23T02:41:16 same goes with mario kart etc. 2011-04-23T02:41:22 Yeah, that's what I always said 2011-04-23T02:41:39 i really want to do mario kart ai :( 2011-04-23T02:41:53 Sometimes you want to play a game where you can sneak around, but then you need a system that supports it. 2011-04-23T02:41:58 i think people should be able to use my game theory library with ai bots 2011-04-23T02:42:10 if they write their state classes with the right operators 2011-04-23T02:42:36 What I need to learn is how to make an alpha-beta tree with a nash equilibrium. 2011-04-23T02:43:17 you're usually finding subgame perfect nash equilibria to play in ai game trees 2011-04-23T02:43:20 *** sids_aquarius has joined #aichallenge 2011-04-23T02:43:26 you just evaluate it the same as usual 2011-04-23T02:43:33 with a and b at each node 2011-04-23T02:43:57 well, for a node in alpha-beta, you need to know who's making the move, right? 2011-04-23T02:44:06 so you know to pick the min or the max 2011-04-23T02:44:07 you could probably do some kind of n-player alpha beta tree (with n alpha's and beta's at each node) 2011-04-23T02:44:22 backward induction is going to be more tricky in this 2011-04-23T02:44:31 the game isn't even close to zero sum 2011-04-23T02:44:42 you have a few options depending on how much you want to cooperate 2011-04-23T02:44:57 planet wars was sort of zero-sum, once the neutrals were taken 2011-04-23T02:44:58 (which i think is going to make it really cool) 2011-04-23T02:45:08 even with the neutrals i could treat it as zero sum 2011-04-23T02:45:19 yeah, I did 2011-04-23T02:45:27 zero sum is basically saying your gain is my loss and vice versa 2011-04-23T02:45:34 you don't have anything like that with this 2011-04-23T02:45:35 overtime, the growth outweighed the neutrals 2011-04-23T02:45:52 well, my gain in territory is your loss 2011-04-23T02:46:08 there is constant territory and constant food rate 2011-04-23T02:46:25 with backward induction, if everyone was playing optimally, you would bring up the best payoff for the player making the move at each node, then the worst of the drawing payoffs that gave that "best" strategy 2011-04-23T02:47:00 but given it's not zero sum, the predicted outcome for that isn't the worse case situation that can happen to you, with zero sum if they play less than optimally, you can only do better, that doesn't happen here 2011-04-23T02:47:10 okay, but at each node, isn't everyone making a move? 2011-04-23T02:47:15 so if you don't want to trust enemies at all, you will bring up the worst outcome for any player not moving at a node 2011-04-23T02:47:39 no, i tend to just treat these games as though it's a sequential game 2011-04-23T02:47:43 like when you suicide in galcon :D 2011-04-23T02:47:48 where my enemies get to move optimally against my moves first 2011-04-23T02:48:01 that's unclear 2011-04-23T02:48:15 i move my ants first, then let the enemy choose what they would like to do, then i pick my moves based on that 2011-04-23T02:48:22 "you will bring up the worst output" -> galcon suicide 2011-04-23T02:48:26 it's not "correct" to do that, but it generally works 2011-04-23T02:48:28 *outcome* 2011-04-23T02:49:00 the alternative is to treat it as a normal form game 2011-04-23T02:49:02 isn't a nash -eq suppose to solve the who goes first delima? 2011-04-23T02:49:16 no, a game can have lots of nash equilibria 2011-04-23T02:49:22 possibly none in pure strategies 2011-04-23T02:49:31 but it considers simultaneous moves 2011-04-23T02:49:43 have you seen my normal form games stuff? 2011-04-23T02:49:55 remember, I'm not math heavy 2011-04-23T02:50:10 https://github.com/antimatroid/GTL/tree/master/ngame 2011-04-23T02:50:20 https://github.com/antimatroid/GTL/wiki 2011-04-23T02:50:36 check the examples for the ngame wiki part 2011-04-23T02:51:09 the two player example for formatted output will make the most sense 2011-04-23T02:51:29 that's a game with 2 players, each with just 2 strategies each 2011-04-23T02:51:31 so, a "strategy" could be the same as "the set of moves to make this turn" 2011-04-23T02:51:41 yep 2011-04-23T02:52:00 and the strategy set is also possible cominations of move available to a player 2011-04-23T02:52:16 say you are moving a set of ants, for each ant find the set of moves that doesn't land them on water, then take the cartesian product of these moves and you have your set of moves for a player 2011-04-23T02:52:28 you can further eliminate the moves from that which result in cycles (collisions) 2011-04-23T02:52:38 ok 2011-04-23T02:52:52 what's the funny looking E mean? 2011-04-23T02:53:07 i intend to do something like that for finding my moves with ants that can land in battle, but it's hard to create a simultaneous game for x amount of time 2011-04-23T02:53:16 funny looking e? 2011-04-23T02:53:24 ∈ 2011-04-23T02:53:40 oh, 2 \in {2, 3} 2011-04-23T02:53:45 *** sigh has joined #aichallenge 2011-04-23T02:53:46 it's the "element of" relation 2011-04-23T02:54:05 it says that it's an element of the set 2011-04-23T02:55:21 i've added back in a second template for ngames, so people can specify what type to use for utilities and probabilities 2011-04-23T02:55:33 hopefully people could have say 2011-04-23T02:55:34 NGame aigame; 2011-04-23T02:55:52 then they need to have <, >= etc. operatons to use pure strategy functions 2011-04-23T02:56:12 and be able to call probabilityType(state) to use mixed strategy functions 2011-04-23T02:57:28 McLeopold: in the nalgorithms part it explains iterated elimination of strictly dominated strategies 2011-04-23T02:58:03 what that does is remove any strategies where there exists another strategy that always results in a better payoff for you, no matter what your enemies do 2011-04-23T02:58:26 *** Crivens has joined #aichallenge 2011-04-23T02:59:30 okay, I get the ngames stuff 2011-04-23T02:59:48 that's the correct way to represent these games 2011-04-23T02:59:56 but it's hard to iteratively make it for up to x time 2011-04-23T03:00:09 and hard to pick out a move to make 2011-04-23T03:00:39 so, if there are just 2 players with about 24 possible combinations of ant moves, this should be able to remove the stupid moves? 2011-04-23T03:00:55 yeah 2011-04-23T03:01:05 given a good payoff estimation function 2011-04-23T03:01:11 not sure how big you could make the game and get it to run within a second 2011-04-23T03:01:27 if you use just pure strategy stuff 2011-04-23T03:01:29 which would just be a board evaluation function after the 2 moves are tried 2011-04-23T03:01:36 your < operators can not rely on a single number 2011-04-23T03:01:48 but rather be like if(x < y) return that, else if ... 2011-04-23T03:02:10 which is quite neat 2011-04-23T03:02:37 so, at a given node, the trick is figuring out what the payoff are? 2011-04-23T03:03:59 for ngames you don't really have nodes 2011-04-23T03:04:19 you can just provide functions for ranking two states 2011-04-23T03:04:26 the matrix represents all possible things that could happen at a turn, right? 2011-04-23T03:04:49 i call it a tensor (for 2 players it's a matrix, 3 players a 3d cube, n players an n-d cube) 2011-04-23T03:04:52 but yeah 2011-04-23T03:05:07 isn't that a node in a mini-max? 2011-04-23T03:05:18 if you do give each state a single payoff value 2011-04-23T03:05:29 then you can say give each player in a 2 player game a payoff matrix 2011-04-23T03:05:43 but really you can treat them as a matrix of states that can be compared 2011-04-23T03:06:03 but you can calc the expected payout 2011-04-23T03:06:28 assuming an opponents move likelyhood is known 2011-04-23T03:06:29 if you're using just pure strategies, then indicating a pure strategy for each player indexes an element of the tensor 2011-04-23T03:06:42 only once you use mixed strategies must you have a way to give a payoff value to a state 2011-04-23T03:07:01 and the functions need to be able to call ProbabilityType(stateObject) 2011-04-23T03:07:06 but either way, you can get a single value out of the tensor 2011-04-23T03:07:27 which i think means writing "double operator=(double ans, State state)" 2011-04-23T03:07:55 yes, you can use game.u(player, nstrategy) which will return a reference to the State or utility value 2011-04-23T03:08:15 so you can say 2011-04-23T03:08:15 game.u(player, strategy) = state; when constructing for example 2011-04-23T03:08:25 so, then for each possible outcome, the trick is fine tuning the payout 2011-04-23T03:08:40 which is where building a tree may come in handy 2011-04-23T03:08:57 yeah, it's difficult to pick a move to make from such a representation in an ai game 2011-04-23T03:09:05 and it's hard to generate the game for x amount of time 2011-04-23T03:09:21 whereas with a tree, you can just have a queue of extendable nodes, and keep adding children to those 2011-04-23T03:09:23 you mean x amount of depth in the tree? 2011-04-23T03:10:03 i do have an EGame for extensive games that uses a game tree that isn't on github yet 2011-04-23T03:10:27 but it has information sets (so you can properly represent a simultaneous game with a tree) which you don't really wan to worry about for ai stuff i don't think 2011-04-23T03:10:38 i might write an AIGame struct at some point for ai trees 2011-04-23T03:11:10 eventually i want it to be quite easy to use it as a training ground with general games, i gave an NEngine there that uses my process struct to play a game with n bots 2011-04-23T03:11:20 I wonder if memory would be a fun ai game... 2011-04-23T03:11:35 you've seen core wars eyah? 2011-04-23T03:11:41 yeah, awhile ago 2011-04-23T03:12:04 i really want to set zeta up so it has lots of old games on there people can use as a training ground 2011-04-23T03:12:33 i think we should set them up to work as tcp setups with a few bots on our servers if there aren't enough outside players playing but at least one outside player requesting 2011-04-23T03:13:06 and then possibly add a few more other games / variations to old games, while still maintaining 1-2 specific tournaments each year 2011-04-23T03:13:53 it would also allow us to make some much more complicated and interesting games for people to play around with generally 2011-04-23T03:13:58 I think it should be a bit more static. 2011-04-23T03:14:08 i don't want user submitted games/engines 2011-04-23T03:14:17 I new submission plays until it's position is found, then it doesn't play anymore. 2011-04-23T03:14:29 unless a new submission need to play it to rank itself 2011-04-23T03:14:39 yeah, but even then if it was popular enough we'd need a few servers going always 2011-04-23T03:14:43 which is costly 2011-04-23T03:14:46 No, that will dillute the community 2011-04-23T03:14:56 user games 2011-04-23T03:15:10 but keep old games active is a good idea 2011-04-23T03:15:22 users can make games, but it needs to be a WELL made game, with considerable effort put in to make sure it's fully functional 2011-04-23T03:15:30 yep 2011-04-23T03:15:51 ants has been hard, and even with all this effort, I think planetwars may still be a better game 2011-04-23T03:16:00 i disagree 2011-04-23T03:16:05 i think planet wars was a cooler problem 2011-04-23T03:16:10 but i think ants will be a much better ai game 2011-04-23T03:16:21 there's just more obvious stuff to work on and visibly watch the rewards of 2011-04-23T03:16:22 *** delt0r_ has joined #aichallenge 2011-04-23T03:16:49 maybe, I just think we lack good game balance, but we won't know until we are in the middle of the contest 2011-04-23T03:16:51 like path finding, using information, food collection, battles, etc. 2011-04-23T03:17:13 yeah, there are more algo's to implement, so people will learn more ai stuff 2011-04-23T03:17:14 whereas after a little bit with planet wars, it was all just messy and banging against a brick wall 2011-04-23T03:17:46 it's impossible to tell how the balance will go 2011-04-23T03:17:50 but i think it will work alright 2011-04-23T03:18:08 at least we have good battle, that helps a lot 2011-04-23T03:18:10 people will do better with an improved food collection to a point, then they will need to improve on battling 2011-04-23T03:18:26 and neither of those are trivial 2011-04-23T03:18:43 then there's other aspects like diverting ants around "traps", spreading ants out, bunching them up etc. etc. 2011-04-23T03:19:02 there is so much to play around with that i expect to see lots of variation with good quality bots, making it an ideal ai game :P 2011-04-23T03:19:16 yeah, there will be lots of variation 2011-04-23T03:19:31 with pw, after I made the top stop, *everyone* implemented a funnelling system 2011-04-23T03:19:49 funneling was necessary 2011-04-23T03:19:57 i could that redistribution 2011-04-23T03:20:23 dmj made it pretty far without funnelling 2011-04-23T03:20:31 i had the following types of moves : defensive, offensive, expansionary, redistributive and redirective 2011-04-23T03:21:25 i'm not sure how many had redirective 2011-04-23T03:21:35 I think you're right in that with ants, there may not be an obvious best strategy, other than food collection as a base. 2011-04-23T03:21:44 what is redirective? 2011-04-23T03:22:55 a move had a single destination and fleets being sent from multiple sources at multiple times, if i could redirect a fleet when it was available to a planet closer to an enemy planet that could make it's second trip in time for the last expected fleet to arrive, then i would redirect it and assume it would be used again optimally later 2011-04-23T03:23:18 yeah, I did that too 2011-04-23T03:23:41 yep, i don't think it was unique, but i don't think it was as popular as funnelling etc. 2011-04-23T03:24:09 sigh: when did you sneak in? 2011-04-23T03:24:47 we have a new feature request 2011-04-23T03:25:15 what's that now? 2011-04-23T03:26:41 *** berak has joined #aichallenge 2011-04-23T03:27:07 each square will have a set of players waiting to be told a food square has been removed from it, if a food square is on a square visible to an ant, that player is added to the set, if the square is visible to a player in the set, they are send a line "r row col" to indicate a food square was removed at that location 2011-04-23T03:27:20 that way people don't need to delete food square information unless explicitly told to 2011-04-23T03:27:55 we could only send f lines once per player then too, but we've decided in order to keep things non-broken to keep sending that every turn it's visible 2011-04-23T03:28:28 plus you can choose to implement a dumber bot with the full food state every turn 2011-04-23T03:30:51 what's the advantage of doing that? 2011-04-23T03:31:18 it gets rid of that implicit information argument 2011-04-23T03:31:31 a bot doesn't have to clear food info every turn 2011-04-23T03:31:39 where you are only implicitly told food is no longer there that was when it went out of view if you aren't told it's there when you get back in view 2011-04-23T03:31:57 and in order to do that, you need to be able to differentiate between new and old food information after reading state information 2011-04-23T03:32:11 i'll have a look into it, but it seems not really necessary 2011-04-23T03:32:39 antimatroid: what if new food spawned on a space that you need to be told an old food was removed? 2011-04-23T03:32:52 when you see it, you'll get an 'r' and 'f' line at the same turn 2011-04-23T03:33:21 McLeopold: ahh, good point 2011-04-23T03:33:27 we'd need to make sure r strictly came first 2011-04-23T03:33:39 or we could ignore it 2011-04-23T03:33:46 ignore it? 2011-04-23T03:33:59 does the bot need to know anything happened with the old food? 2011-04-23T03:34:21 ah yeah they don't 2011-04-23T03:34:25 food is still there, for all they know it could have stayed there, or turned into 1000 ants 2011-04-23T03:34:41 yeah, the specs are quite iffy on this 2011-04-23T03:34:55 do people only get old about food that they've seen already? 2011-04-23T03:34:59 yes 2011-04-23T03:35:12 they get added to a squares set if they are in range of a food square 2011-04-23T03:35:35 then aren't removed from the set unless they are in range of the square without food there, and sent the r line 2011-04-23T03:35:36 I'd say only send an r line if the last time they saw a square it had food, and it is land now. 2011-04-23T03:35:46 yep as above 2011-04-23T03:36:17 so, a live or dead ant is enough info to infer that the food was removed 2011-04-23T03:36:36 ? 2011-04-23T03:36:47 you seed food at 1,1 then walk away 2011-04-23T03:36:53 i want an r line even if i get an a or d line for the same square 2011-04-23T03:37:02 later when you come back you get 'a 1 1', the food was removed 2011-04-23T03:37:31 then it's as simple as "see food, mark square as food" "get r line, remove food" 2011-04-23T03:37:45 even for food that was visible the whole time? 2011-04-23T03:37:56 yep 2011-04-23T03:38:00 okay 2011-04-23T03:38:09 i think these things should be as simple as possible 2011-04-23T03:38:45 that essentially doubles the food lines sent to a bot 2011-04-23T03:38:59 how? 2011-04-23T03:39:13 you are on average going to see food information more than once 2011-04-23T03:39:15 if you see food, at some point you will need an r line sent 2011-04-23T03:39:36 oh, yeah, so it double the first time you see food 2011-04-23T03:39:53 and i don't want to flood maps with food either 2011-04-23T03:40:03 i think the game would be boring if the maps are completely flooded 2011-04-23T03:40:24 if we wanted more ants, i'd rather use a larger map 2011-04-23T03:41:06 but i think we're already extending ourselves past realistic sizes for games 2011-04-23T03:41:44 a half decent food collection heuristic can take me more than 200ms with c++ on a flooded map 2011-04-23T03:41:56 which sort of limits how interesting people can make things 2011-04-23T03:42:38 i had always been a fan of ranking the best strategy rather than the best strategy with fairly limiting time limits 2011-04-23T03:44:45 yeah, time limits aren't part of the problem spec IMO 2011-04-23T03:45:05 atm 1 second will be quite restrictive 2011-04-23T03:45:09 and memory is a worry too 2011-04-23T03:45:37 ah this will be a programming challenge then :) 2011-04-23T03:45:45 even with the sigwait or whatever, each bot is still going to be using memory yeah? 2011-04-23T03:46:02 i think we need to consider either smaller maps or longer than 1 second time limits 2011-04-23T03:46:35 * Frontier thinks about how you could capture sigwait and ignore it 2011-04-23T03:49:31 sigwait isn't ctrl-z, right? it is something you call from within your own program. 2011-04-23T03:52:24 it's meant to stop that process from doing anything i think 2011-04-23T03:52:30 it might be sigstop 2011-04-23T03:52:56 yeah that's the one, sigstop cannot be caught by the bots. 2011-04-23T03:55:58 doesn't help with memory usage though 2011-04-23T03:56:13 hey, I think I can sql inject the contest server... 2011-04-23T03:59:59 yup, I can 2011-04-23T04:06:55 *** amstan_ has quit IRC (Ping timeout: 250 seconds) 2011-04-23T04:18:46 *** sigh has quit IRC (Ping timeout: 252 seconds) 2011-04-23T04:20:08 *** sigh has joined #aichallenge 2011-04-23T04:31:30 McLeopold: oh, why? i thought php offers secure wrapper functions? 2011-04-23T04:37:09 Frontier: PHP is many things... secure is not one of them ;) 2011-04-23T04:37:24 it's how you use it 2011-04-23T04:37:44 the confirmation code on the address bar gets passed directly to the sql server 2011-04-23T04:37:54 no sanitizing 2011-04-23T04:38:02 ouch 2011-04-23T04:39:32 so Old jonny drop tables would be an issuse 2011-04-23T04:39:36 I was thinking of mysql_real_escape_string. Anyone who uses php and MySQL should know that strings must be escaped :) 2011-04-23T04:39:38 yep :) 2011-04-23T04:39:58 http://xkcd.com/327/ 2011-04-23T04:40:02 you could look at the old googlecode for the blame 2011-04-23T04:43:44 pesky annoying people 2011-04-23T04:43:58 life would be easier if one didn't have to worry about them 2011-04-23T04:56:58 *** _0x47 <_0x47!~slash@p5B25F5A9.dip.t-dialin.net> has joined #aichallenge 2011-04-23T05:10:19 I think it was a bad idea from the start to enter sql text directly. Any string with a ' can cause undesired behaviour. Precompiled statements with place holders for example are a better way to do it. 2011-04-23T05:10:35 I agree 2011-04-23T05:13:00 when is the release for the ants planned? 2011-04-23T05:18:40 *** woudshoo has joined #aichallenge 2011-04-23T05:25:31 *** smellyhippy has quit IRC (Read error: Connection reset by peer) 2011-04-23T05:28:08 *** smellyhippy has joined #aichallenge 2011-04-23T05:40:12 sids_aquarius: whenever it's ready :) 2011-04-23T05:40:25 we're planning to do a 2 week beta testing period once things are almost ready 2011-04-23T05:46:58 *** smellyhippy has quit IRC (Ping timeout: 260 seconds) 2011-04-23T05:48:34 McLeopold: sending food information every turn makes it easier for people to not expect food to still be there when out of view if they choose to as well 2011-04-23T05:50:04 *** smellyhippy has joined #aichallenge 2011-04-23T05:52:31 *** Crivens has quit IRC (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org) 2011-04-23T05:58:56 *** McLeopold has quit IRC (Read error: Connection reset by peer) 2011-04-23T05:59:10 *** McLeopold has joined #aichallenge 2011-04-23T06:00:17 *** stocha has joined #aichallenge 2011-04-23T06:00:26 http://xkcd.com/327/ yeah that one make me laugh every time 2011-04-23T06:01:14 what is this food discussion ? 2011-04-23T06:01:23 is there something wrong with food ? 2011-04-23T06:02:52 i don't understand this "r" stuff. what is it useful for ? 2011-04-23T06:03:03 *** woudshoo has quit IRC (Ping timeout: 250 seconds) 2011-04-23T06:05:01 i think the sending seen food is okay. Complicating that on the server side would need a usecase that shows that it is important. 2011-04-23T06:05:46 are the sample bots that playgame uses broken now? 2011-04-23T06:05:54 like the "i don't understand what's happening if i don't know the last ants move" for the dead ant stuff 2011-04-23T06:05:58 antimatroid, McLeopold? 2011-04-23T06:06:22 stocha: currently, if you go out of view of a food square, then it is removed while out of view and you come back in view, the only thing telling you it's not there is the fact that the engine isn't telling you food is there 2011-04-23T06:06:41 antimatroid: what's wrong with that ? 2011-04-23T06:06:48 in order to work this out, you need to be able to differentiate between new and old food after processing information and it requires dealing with vision information to do it 2011-04-23T06:07:03 what's wrong with that ? 2011-04-23T06:07:36 whereas if you get an r line for a food square that was removed since the last turn you saw the square in view, then all you need to do is see food information and mark a location as food, then not remove that until you see information saying the food is removed 2011-04-23T06:08:05 if want to solve every issues, simply take the fog out of the game. it would be simpler for strategy planning. less random. but with fog, i'm happy with the current food system 2011-04-23T06:08:07 sigh: the old starter bots will all still work fine with the above r lines 2011-04-23T06:08:30 antimatroid: that's not the issue... they are *currently* broken for me 2011-04-23T06:08:31 this is only a "problem" because the io format is silly 2011-04-23T06:08:37 oh sorry 2011-04-23T06:08:40 how is it silly ? 2011-04-23T06:08:48 it gives implicit information 2011-04-23T06:08:50 inconsistent interface to the distance method 2011-04-23T06:09:03 sigh: play_one_game works on my machine 2011-04-23T06:09:07 it shouldn't be a game about who can correctly make use of any implicit information without bugs 2011-04-23T06:09:19 it should be a contest of who can come up with the best strategy to play the game 2011-04-23T06:09:41 it doesn't give implicit information. it simply do not give information. what's wrong with it ? it's a fog of war features. It's the bot responsability to try to guess what's happening in the fog. 2011-04-23T06:09:50 that is implicit 2011-04-23T06:10:03 then take out the fog. 2011-04-23T06:10:06 they don't get given information in the fog 2011-04-23T06:10:16 you can use the old Dune2000 system 2011-04-23T06:10:17 they explicitly get told there isn't food on a square they can see 2011-04-23T06:10:26 you fully see every explored area. 2011-04-23T06:10:29 ok, I didn't have the latest version of the repo 2011-04-23T06:10:39 otherwises, there will always be hiden information you can guess 2011-04-23T06:10:43 McLeopold: yeah, current version works 2011-04-23T06:10:49 making the engine more complicated for that doesn't sound right. 2011-04-23T06:10:53 cool 2011-04-23T06:10:55 what the? 2011-04-23T06:11:04 sorry, thought I had pulled :) 2011-04-23T06:11:45 what i like about the current food system, is that bot can simply go for seen food. 2011-04-23T06:11:47 have you guys ever played onslaught tower defence? 2011-04-23T06:11:59 stocha: you can continue going for just seen food if you want to 2011-04-23T06:12:05 what's that McLeopold ? 2011-04-23T06:12:12 you can ignore the r lines and wipe food information each turn 2011-04-23T06:12:13 a flash game 2011-04-23T06:12:20 or you can retain food information and use the r lines 2011-04-23T06:12:21 antimatroid: but you are making the engine more complicated for no reason. 2011-04-23T06:12:28 what does this game do ? 2011-04-23T06:12:31 but it doesn't require people to calculate information implicitly either way 2011-04-23T06:12:39 it does. 2011-04-23T06:12:42 it's like any other tower defence game 2011-04-23T06:12:43 you have to plan for food 2011-04-23T06:12:50 without even knowing the spawning rules 2011-04-23T06:12:56 so make the engine send the spawning rule 2011-04-23T06:13:12 and then the probability of a food being on any unseen square. 2011-04-23T06:13:19 that would be more usefull 2011-04-23T06:13:25 and the bot can't do it on its own 2011-04-23T06:14:15 stocha: I don't get your argument, you can continue doing things as you are now, and it makes life easier for other people, so what's your complaint? 2011-04-23T06:15:11 surely you agree that having a contest where ones strategy is what's important, not their ability to correctly calculate implicit information, is important? 2011-04-23T06:15:17 my complaints is that you are taking bot responsability into the engine. making it more complicated. i don't understant. Simpler is better. so i won't agree to making thing more complicated when there is no reason to. 2011-04-23T06:15:39 it will make a bot simpler 2011-04-23T06:15:44 ^^ 2011-04-23T06:15:50 the engine complexity is of no concern 2011-04-23T06:16:04 making bots complicated to handle data is prone to bugs and not what the contest is really about 2011-04-23T06:16:05 information simplicity is 2011-04-23T06:16:15 antimatroid: calculating implicit information will always be good when you only have very partial information to start with. Take out the fog. Better take out the unknown part. 2011-04-23T06:16:30 that's not implicit information 2011-04-23T06:16:33 that's unknown information 2011-04-23T06:16:37 they are completely different 2011-04-23T06:16:56 if you see an ennemy ant 2011-04-23T06:17:01 and then you get away 2011-04-23T06:17:07 you have an implicit ant . 2011-04-23T06:17:16 then anything could have happened to that ant when you see that square again 2011-04-23T06:17:17 contrary to food, it can even move. 2011-04-23T06:17:27 same go with food. 2011-04-23T06:17:32 what's the implicit information? 2011-04-23T06:17:34 anything can happen to food, if you don't see it. 2011-04-23T06:17:43 yes, and we don't tell people what happened to it 2011-04-23T06:17:49 only that the square is now land 2011-04-23T06:17:49 it can be eat, i can then respawn anything can happen. 2011-04-23T06:18:06 currently my bot forget if it goes out of food radius (example it is killed) 2011-04-23T06:18:21 most if the time, the food won't be there when it get to see the square again 2011-04-23T06:18:25 as do all bots, and one can continue doing that if they want to 2011-04-23T06:18:26 stocha, it issue is when they come back, we *don't* tell them the food spot is land, they have to derive that information 2011-04-23T06:18:32 what use is knowing there was a food there then ? 2011-04-23T06:18:32 it just allows people to do it either way easily 2011-04-23T06:18:37 that should not be the responsibility of the bot 2011-04-23T06:18:52 we do tell them: every square is alnd 2011-04-23T06:19:01 we don't send land info 2011-04-23T06:19:02 then if it is said to be a food, it is a food 2011-04-23T06:19:05 nothing wrong with that 2011-04-23T06:19:12 the "water" feature is far more complicated. 2011-04-23T06:19:23 aichallenge: sigh epsilon * r501a27c / ants/ants.py : Inform bots about food which has been removed (only if they have seen the food before) - http://bit.ly/e7aWLx 2011-04-23T06:19:26 you're ignoring the difference in what the bots have to do to obtain information that is "known" 2011-04-23T06:19:30 antimatroid, McLeopold: try that ^^ 2011-04-23T06:19:36 i could see the point into sending seen water. not into sending disapeared food. 2011-04-23T06:19:42 it is considered ideal if players can make use of knowable information as easily as possible 2011-04-23T06:20:06 sigh: okay, i'll play with it tonight and get back to you :) 2011-04-23T06:20:21 i do not see that having to track food state make using information easier. 2011-04-23T06:20:58 because in order to know whether old food information is no longer relevant you need to track whether food information is new or old and delete old food information for a seeable square after passing input 2011-04-23T06:21:25 that is a lot harder than receiving an r line and deleting that food information 2011-04-23T06:21:27 i sure don't need to do that. be it in the bot ore the engine. 2011-04-23T06:21:36 then revert back to my policy on idealness of being able to use information 2011-04-23T06:21:39 the engine send every position that a food is seen to. 2011-04-23T06:21:48 just because you don't need to do it, doesn't mean other people don;t 2011-04-23T06:21:55 bot know that there is no food seen, but where the engine tells. 2011-04-23T06:22:10 for example sending the seen square list would be more usefull 2011-04-23T06:22:31 i simply give my opinion (in broken english) 2011-04-23T06:22:32 sigh: it only gives information for a square that currently doesn't contain food yeah? 2011-04-23T06:22:44 then you can do whatever you want. especially if it is backward compatible 2011-04-23T06:23:11 the input size would go up a lot if we did that 2011-04-23T06:23:21 but people will start to use it. and find new way to screw their bot with it 2011-04-23T06:23:25 the input format has been somewhat designed to try and minimise the size of it 2011-04-23T06:23:32 and if you need another implementing of the engine, it will be made harder. 2011-04-23T06:23:51 you also give yourself a chance of putting but into the "r" feature. 2011-04-23T06:23:55 engine side 2011-04-23T06:24:15 then i don't see the value of all that. that is it. maybe everybody else does. 2011-04-23T06:24:23 i see the cost though. 2011-04-23T06:24:48 then there is this other argument : at this point, you shouldn't be changing the engine. 2011-04-23T06:24:57 because we are so close to launch. 2011-04-23T06:25:03 we haven't even made it to beta period 2011-04-23T06:25:03 we aren't that far yet 2011-04-23T06:25:05 the engine can change 2011-04-23T06:25:19 and old bots still work fine 2011-04-23T06:25:25 it can change, but it doesn't means it should change without good reasons. 2011-04-23T06:25:37 there are good reasons^^^^ 2011-04-23T06:25:50 okay. i wanted to point out that i see no good reasons. 2011-04-23T06:26:11 we want the contest to be easy for people to participate in... 2011-04-23T06:26:12 McLeopold: one possible problem case, but i think it's fine 2011-04-23T06:26:12 *** needsch has joined #aichallenge 2011-04-23T06:26:24 a food square disappears with a new one spawning there between turns 2011-04-23T06:26:31 so make a poll about it, and see if people thinks there are good reasons. 2011-04-23T06:26:32 need to make sure the r line is not sent in that case as well 2011-04-23T06:26:34 if a bot wants to attempt to track food that it can't see, we've made it easier for that bot 2011-04-23T06:26:54 how is it easier ? 2011-04-23T06:26:54 and it's no harder for anyone else to continue doing things 2011-04-23T06:26:59 are you kidding? 2011-04-23T06:27:03 no 2011-04-23T06:27:08 i don't see it being easier 2011-04-23T06:27:11 because you don't need to use the vision code to determine if the food is gone 2011-04-23T06:27:28 but you need the vision code for other purpose 2011-04-23T06:27:34 the vision code is mandatory 2011-04-23T06:27:44 no, it is optional for starter bots 2011-04-23T06:27:48 yes, but you need to use the vision code in order to determine this information 2011-04-23T06:27:57 mm i din't try that hypothesis 2011-04-23T06:27:58 this other method, you see an r line and set a bool variable to false 2011-04-23T06:28:02 it could not be much simpler 2011-04-23T06:28:28 so you are trying to make vision code optional. 2011-04-23T06:28:34 that seems valid then. 2011-04-23T06:28:35 if someone wants to try and speed up their code, they can now drop the vision stuff, and not be slowed down 2011-04-23T06:28:40 let's go with that then :P 2011-04-23T06:28:49 although i don't see how it make it more optional 2011-04-23T06:28:59 you didn't have to use vision code in fact. 2011-04-23T06:29:09 how else would you do it? 2011-04-23T06:29:12 i mean vision code can be usefull to more that tracking food 2011-04-23T06:29:27 and then you don't need vision code to have food right. so i still don't see the point 2011-04-23T06:29:38 simple : you go for everything is ground but already seen water 2011-04-23T06:29:47 and then you put food if the engine send a food this turn. 2011-04-23T06:29:51 that isn't giving you the implicit information 2011-04-23T06:30:06 you're providing a solution to a different problem 2011-04-23T06:30:10 the implicit information has no use. 2011-04-23T06:30:15 yes it does 2011-04-23T06:30:16 except for complex bots. 2011-04-23T06:30:21 quite complex one ideend 2011-04-23T06:30:31 if you see two food squares at the start and have to go out of range to get one, you want to go back to that location after etc. 2011-04-23T06:30:40 no you don't 2011-04-23T06:30:41 or if you have to go out of view on your path to the food 2011-04-23T06:30:46 you want to continue seeing it there 2011-04-23T06:30:48 YOU don't 2011-04-23T06:30:49 some do 2011-04-23T06:30:50 because the food might not be there 2011-04-23T06:30:53 remember where food is would be useful for a bot that is just starting out and has a few options for the first few food pieces 2011-04-23T06:30:58 so going back there is complex behavio 2011-04-23T06:31:17 bots that needs to do that will have a lot of features. tracking food will cause no problem to them. 2011-04-23T06:31:18 that is not too complex, to attempt a good starting path for collecting food 2011-04-23T06:31:27 we're only making it easier for people to process information that is knowable 2011-04-23T06:31:36 we aren't making it any easier for them to write actual strategies 2011-04-23T06:31:36 my bots are complex, and don't try to go for forgotten food. Although in some cases it would help them. 2011-04-23T06:32:02 a more useful informations is newly seen ground. 2011-04-23T06:32:07 that is implicit. 2011-04-23T06:32:43 that is pseudo explicit by the way all starter bots have been made 2011-04-23T06:32:43 yeah, but we already took that out :) 2011-04-23T06:32:52 :p 2011-04-23T06:33:02 so if no newly seen ground, then no complex food tracking. 2011-04-23T06:33:03 since we've changed the replay format, we could add it back 2011-04-23T06:33:10 that would really not make sense. to my oppinion. 2011-04-23T06:33:17 land information is so useless 2011-04-23T06:33:19 then the 'r' line just becomes an 'l' line later 2011-04-23T06:33:28 *** andy_ has joined #aichallenge 2011-04-23T06:33:33 land information is more usefull that "food might be here" 2011-04-23T06:33:34 and would up the amount of input quite a bit 2011-04-23T06:33:39 how? 2011-04-23T06:33:41 because it is "land is indeed here" 2011-04-23T06:33:48 you already have that 2011-04-23T06:33:50 food might be here is poor information indeed 2011-04-23T06:33:57 unless you give the probability of it being here 2011-04-23T06:34:14 but then why not give it for already seen empty squares as well. 2011-04-23T06:34:33 same reason we only give water information once 2011-04-23T06:34:37 to minimise the size of input 2011-04-23T06:35:01 then don't send the r stuff. that do help minimise size of input. unless you make food stateful 2011-04-23T06:35:21 wich would only be good, if it was planned that there will be huge amount of food to send. 2011-04-23T06:35:32 if you delete all ant information each turn, then "land" information is pretty much explicitly given 2011-04-23T06:35:40 no 2011-04-23T06:35:50 because you have land known vs unknown. 2011-04-23T06:36:05 *** smiley1983 has joined #aichallenge 2011-04-23T06:36:08 i fail to see how you can make that difference without knowing viewed squares. 2011-04-23T06:36:08 that is easily calculated in most starter bots 2011-04-23T06:36:14 let's do a test 2011-04-23T06:36:20 again, you're left to the vision code if you want to know the difference 2011-04-23T06:36:24 smiley1983: can i get your opinion on something as a test? 2011-04-23T06:36:29 yes 2011-04-23T06:37:03 we have added a new line to bot input: "r row col" indicates that a location you can see that contained food last time you saw it no longer does 2011-04-23T06:37:12 I noticed 2011-04-23T06:37:16 do you think it is a good idea to give such a line? 2011-04-23T06:37:30 it means that some food information isn't implicit 2011-04-23T06:37:38 knowing we want to release the engine as soon as possible 2011-04-23T06:37:45 and the old engine seems to work fine. So does the bots. 2011-04-23T06:37:50 stocha: np, it's already implemented :P 2011-04-23T06:37:51 stocha: that's not a stated goal 2011-04-23T06:38:21 and that you need complex behavior to guess what are the known ground vs unknown map. 2011-04-23T06:39:03 before in order to see if old food information was no longer relevant for a visible square, you had to differentiate between old and new food information after passing input, now you can just see food and mark the location as food, then delete the food information iff you see an r line 2011-04-23T06:39:17 okay. but i feel that closing the spec as soon as possible is always implicit :p 2011-04-23T06:39:28 which is all about dealing with information, say if you have to go out of view near the start to get other food, or on your path to collect the food 2011-04-23T06:39:37 stocha: it's unknown :P 2011-04-23T06:39:46 I think it's probably a good idea in theory, but not necessary - working that out could be added as a suggested (and therefore allowed) helper function for starter packs. I'm a bit wary of changing the spec. 2011-04-23T06:39:53 stocha: what we're doing now used to happen after the contest officially opened :P 2011-04-23T06:40:07 but the old bots work fine anyway? 2011-04-23T06:40:23 ah he already have experience in implementing some spec it seems :p 2011-04-23T06:40:30 and it's the kind of thing that can be done buggily and isn't really relevant to one's strategy, it's more processing implicit information, which is silly 2011-04-23T06:41:06 antimatroid: how do you resolve between land and unknown territory, that is implicit too 2011-04-23T06:41:16 it is true that giving code into the start bot solve the issue as well. 2011-04-23T06:41:20 and has an effect on pathfinding 2011-04-23T06:41:33 McLeopold: my starter bot provides a "lastSeen" int variable for each square 2011-04-23T06:41:38 and updates that information for them 2011-04-23T06:41:45 0 indicates a non-seen square 2011-04-23T06:42:05 couldn't you use that to determine your food 2011-04-23T06:42:16 It's also not needed information - many bots will be forgetting food between turns (tracking it is unreliable anyway, might not be there when you get back) 2011-04-23T06:42:23 not easily 2011-04-23T06:42:27 it'd be messy and gross 2011-04-23T06:42:44 i think implicit information is bad 2011-04-23T06:42:57 you will remember i was opposed to not sending land/water information :P 2011-04-23T06:43:09 yes 2011-04-23T06:43:13 smiley1983: but it's information some people will want to use 2011-04-23T06:43:29 I think land would be too much, but food is a low enough amount it's ok. 2011-04-23T06:43:36 imo if information is "knowable", it is ideal that people are able to use it easily if they want to 2011-04-23T06:44:01 which means implicit information is a big no no imo 2011-04-23T06:44:06 let's see how the starter bot people do with the change 2011-04-23T06:44:12 cya 2011-04-23T06:44:16 bye 2011-04-23T06:44:35 and I'm on wave 542 of onslaught tower defence http://www.towerdefence.net/games-24-Onslaught.php 2011-04-23T06:45:12 smiley1983: you didn't really help my point of asking you :P 2011-04-23T06:45:23 I'm not opposed to the change. Though your argument there about knowable information could be extended to BFS pathfinding 2011-04-23T06:45:42 sure 2011-04-23T06:45:58 I'm a bit of a fence-sitter on the issue, since it's not going to affect me greatly 2011-04-23T06:46:00 i think mine is slightly more reasonable :P 2011-04-23T06:46:11 I think you're right about it being a desirable feature 2011-04-23T06:46:30 And the starter packs can be easily modified 2011-04-23T06:46:41 they don't even need to be if we don't want 2011-04-23T06:46:51 we could make that a starter tutorial idea 2011-04-23T06:46:56 if people want to track that information 2011-04-23T06:47:04 as it's dead easy to make the change 2011-04-23T06:47:12 send the first seen ground 2011-04-23T06:47:24 *** Ice_Harley has joined #aichallenge 2011-04-23T06:47:26 it's hardly more costly than sending the first seen water 2011-04-23T06:47:27 stop deleting food information each turn and delete it with an r line 2011-04-23T06:47:31 and make things so much simpler. 2011-04-23T06:47:47 you will still send all food seen right ? 2011-04-23T06:47:51 yes 2011-04-23T06:48:03 we debated that, and decided it best to allow it work both ways 2011-04-23T06:48:19 Doing otherwise would break current starter packs :) 2011-04-23T06:48:24 yes 2011-04-23T06:48:34 it makes things less worse. almost acceptable as in : you are complicating life for yourself 2011-04-23T06:48:38 that was the biggest issue when McLeopold and i liked the idea so much 2011-04-23T06:48:53 we didn't want to break current bots, so we were happy when we realised we could have the best of both world 2011-04-23T06:48:55 s 2011-04-23T06:49:22 Is the change official enough to warrant changing the wiki I/O spec stuff, and modify my starter pack? 2011-04-23T06:49:22 i still thing you need the g feature. 2011-04-23T06:49:28 first seen ground. 2011-04-23T06:49:35 i think so 2011-04-23T06:49:42 i will change the wiki after 2011-04-23T06:49:49 I would actually be in favour of that, but it should be done soon if at all, I think 2011-04-23T06:49:49 i don't know if we should change the starter bots? 2011-04-23T06:50:04 people might start to ask question about the r feature also. So make a faq to anwser the why of it :p 2011-04-23T06:50:11 i can add it to the start ideas for improving ones bot 2011-04-23T06:50:26 okay sure, maybe process the r line but still delete food information each turn? 2011-04-23T06:50:36 then we can tell people to just remove one line if they want to use that information? 2011-04-23T06:50:53 stocha: I will explain it in the specs 2011-04-23T06:50:57 Like with r, g (ground) shouldn't break starters 2011-04-23T06:51:06 then make a forum post pointing out the change 2011-04-23T06:51:18 especially you have to explain why you send that but not first seen ground. that's important. 2011-04-23T06:51:24 i was mad about it even before the r feature. 2011-04-23T06:51:51 i don't understand the importance of differentiating between not seen squares and land? 2011-04-23T06:52:11 and my c++ starter bot actually does give that information 2011-04-23T06:52:15 i don't understand your not understanding it :p 2011-04-23T06:52:28 Unseen squares should be treated as impassable by bfs 2011-04-23T06:52:40 At least in some cases 2011-04-23T06:52:48 if(!state.grid[r][c].lastSeen) //square hasn't been seen 2011-04-23T06:53:02 smiley1983: i assume they're land for path finding 2011-04-23T06:53:11 *** delt0r___ has joined #aichallenge 2011-04-23T06:53:46 So was I until recently. Surely it's incorrect in some cases, though. Usefully incorrect, perhaps, but not always what you want 2011-04-23T06:53:58 antimatroid: did you tryed your bot on very scarce food map ? if not you should 2011-04-23T06:54:14 stocha: I have but why? 2011-04-23T06:54:25 i haven't used the implicit information yet 2011-04-23T06:54:27 you have to used unknown square in this case 2011-04-23T06:54:34 i hadn't got around to working out the least gross way of doing it 2011-04-23T06:54:41 *** delt0r_ has quit IRC (Ping timeout: 252 seconds) 2011-04-23T06:55:00 yes, if i move towards a square that isn't visible 2011-04-23T06:55:05 otherwise i do nothing 2011-04-23T06:55:16 if there's no enemies and they aren't used for food collection 2011-04-23T06:55:23 still i think the rule should be ask to at least five person before modifying the specs. 2011-04-23T06:55:45 it makes life easier for some people, and no harder for others 2011-04-23T06:55:50 i don't see how anyone could argue with that 2011-04-23T06:56:07 you asked two person, and they both agree it wasn't desirable. 2011-04-23T06:56:27 sigh: do you have an opinion in favour or against the change? 2011-04-23T06:56:30 the spec are a public thing 2011-04-23T06:56:38 so far it's 2 yays, 1 nay and 1 meh 2011-04-23T06:56:46 maybe people learned them by hart. and will have to relearn them or something :p 2011-04-23T06:56:59 Because people will feel obliged to modify starter packages even if it isn't necessary :) 2011-04-23T06:57:06 people have been explicitly told not to take the specs as final yet 2011-04-23T06:57:10 and that they will change 2011-04-23T06:57:24 Yes, I agree - this is the time to change things, if at all 2011-04-23T06:57:26 they've been told to expect that if they choose to play around now 2011-04-23T06:57:29 really it's not a "no no" for me. only a "no". It's good spec management that's all. 2011-04-23T06:57:45 So let's get first seen ground added :) Unless there's a good reason not to 2011-04-23T06:58:03 i don't mind on that one 2011-04-23T06:58:08 then add it 2011-04-23T06:58:09 you will need to get mcleopold to agre 2011-04-23T06:58:14 and convince sigh to program it 2011-04-23T06:58:18 it would make the r thing i don't care :p 2011-04-23T06:59:19 I guess the argument against it is bloating of data files 2011-04-23T06:59:32 but don't change the spec after the beta launch. Unless you have compeling arguments and full support from many people :p 2011-04-23T06:59:41 it just means you always send a water or land square for every square on the map 2011-04-23T06:59:51 it's not a particularly costly increase i don't think 2011-04-23T06:59:58 Only the ones seen, siurely 2011-04-23T07:00:01 surely* 2011-04-23T07:00:48 * janzert really wishes the bot protocol had stuck with character maps, it seems simpler and simpler all the time 2011-04-23T07:01:01 janzert: yeah i was just thinking that 2011-04-23T07:01:06 on some water heavy maps, some square will never been seen. but well. 2011-04-23T07:01:26 on those map there will be fewer ground to send as well. 2011-04-23T07:01:34 janzert: yeah but some squares contain more than one lot of information 2011-04-23T07:02:35 how does it break the stick with map characteres ? 2011-04-23T07:02:45 or ants are not on the map ? 2011-04-23T07:02:53 with a character map I wouldn't send dead ants, food removal, etc. 2011-04-23T07:02:55 what? 2011-04-23T07:03:07 need dead ants to work out how good your opponents are 2011-04-23T07:03:11 its seems that dead ants have its uses. 2011-04-23T07:03:29 it is used to track the last move of ants. 2011-04-23T07:03:34 unless you sent their moves 2011-04-23T07:03:46 or at least I would send those separate from the map itself 2011-04-23T07:03:52 otherwise you don't know where your opponent moved before diing. wich seems to be puzling to some 2011-04-23T07:04:09 *** andy_ has quit IRC (Ping timeout: 252 seconds) 2011-04-23T07:04:09 although arguably it could be a feature :p 2011-04-23T07:04:17 i was in favour of char maps too, but i don't like the idea of changing back now 2011-04-23T07:04:23 the map would just be the current state and is all a bot would 'have' to pay attention to 2011-04-23T07:04:42 chanching now would mean support from a few people. 2011-04-23T07:04:54 the rest is sort of extra information a bot can pay attention to if desired 2011-04-23T07:05:40 i could agree to sticking to character map. if i was in a position to understand the meaning of it. 2011-04-23T07:05:58 a..b* <- character map 2011-04-23T07:06:32 by meaning of it i mean : i don't know all the character map. i don't know how much stuff the change would break. 2011-04-23T07:06:47 starter packs would need significant change 2011-04-23T07:06:49 all bots would have to process input completely differently 2011-04-23T07:07:27 *** choas has joined #aichallenge 2011-04-23T07:07:39 another option is sending information about every visible square each turn 2011-04-23T07:07:39 so i would agree only if you really don't care about launch date :p 2011-04-23T07:07:41 including water 2011-04-23T07:07:52 I'm off for most of the day, don't have too much fun debating what else to add to the bot protocol ;) 2011-04-23T07:08:00 that's not attractive option antimatroid 2011-04-23T07:08:06 that sound a lot risky. 2011-04-23T07:08:10 i didn't say it was :P 2011-04-23T07:08:36 but it certainly is the first thing to try. if you have very small maps. 2011-04-23T07:08:56 or very low ant count. 2011-04-23T07:09:19 stateless protocol is desirable. but i agree that sometime it might cost just too much 2011-04-23T07:09:34 still the not sending first seen ground seemed plain wrong :p 2011-04-23T07:10:58 you would have to test on a 256x256 map though. With almost full ground. 2011-04-23T07:11:35 how much bigger does that make the replay. 2011-04-23T07:11:45 uh well. the replay is unafected. 2011-04-23T07:11:47 mmgn. 2011-04-23T07:12:15 i don't see a good reason then :p It could make games slightly slower that's it. 2011-04-23T07:14:32 *** smiley1983 has quit IRC (Quit: leaving) 2011-04-23T07:28:52 *** smellyhippy has quit IRC (Quit: Take your stinking clause off me you damn dirty predicate!) 2011-04-23T07:33:15 *** stocha has quit IRC (Quit: Page closed) 2011-04-23T07:34:56 *** smellyhippy has joined #aichallenge 2011-04-23T07:40:23 *** FireFly has joined #aichallenge 2011-04-23T07:40:35 *** Eruonen has joined #aichallenge 2011-04-23T07:44:33 question for anyone 2011-04-23T07:44:46 *** Naktibalda has joined #aichallenge 2011-04-23T07:44:50 what happens if you have a priority queue of something that can result in cyclic ordering? 2011-04-23T07:44:58 and you add these to the priority queue? 2011-04-23T07:45:10 will it ever break? or just sometimes give a weird ordering? 2011-04-23T07:47:45 how can you have a priority queue with cyclic ordering? 2011-04-23T07:49:38 anyway, it will break standard priority queues which rely on a sensible ordering, so you can come up with consistent semantics for this data structure then don't call it a priority queue 2011-04-23T07:50:25 sigh: the idea is that it wont get into an ininite loop break 2011-04-23T07:50:33 i don't mind if the ordering is sometimes a bit weird 2011-04-23T07:50:46 i'm thinking of ways to use heuristics to deepen game trees smarter 2011-04-23T07:51:17 and i'm not sure i can guarantee what i have in mind for ordering states will give a partial order, but it will be close enough that i may not mind a bit of iffyness here and there 2011-04-23T07:51:40 the idea would be, extend the tree where current decisions will be made 2011-04-23T07:54:52 well you can certainly try putting it into an ordinary priority queue, but can't really guarantee that you won't get degenerate results 2011-04-23T07:55:02 yep 2011-04-23T07:55:10 but that could potentially work quite well with this i think 2011-04-23T07:59:16 first think if you can come up with a consistent ordering 2011-04-23T07:59:30 having potentially cyclic ordering raises some red flags 2011-04-23T08:02:23 i think it will be consistent, i want to order states with a < function rather than number 2011-04-23T08:02:53 was just curious when i thought about if it had potential cycles 2011-04-23T08:22:27 nawww, my LaTeX didn't work with amstans conversion to html 2011-04-23T08:31:28 *** McLeopold has quit IRC (Read error: Connection reset by peer) 2011-04-23T08:33:22 *** McLeopold has joined #aichallenge 2011-04-23T08:55:59 *** choas has quit IRC (Ping timeout: 248 seconds) 2011-04-23T08:57:50 *** choas has joined #aichallenge 2011-04-23T09:06:20 *** McLeopold has quit IRC (Quit: Leaving.) 2011-04-23T09:15:43 *** choas has quit IRC (Ping timeout: 248 seconds) 2011-04-23T09:22:39 *** choas has joined #aichallenge 2011-04-23T09:32:48 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110323143040]) 2011-04-23T09:56:03 *** traysalter has joined #aichallenge 2011-04-23T09:57:13 *** traysalter has left #aichallenge 2011-04-23T10:25:48 *** sids_aquarius has quit IRC (Ping timeout: 260 seconds) 2011-04-23T10:26:08 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-04-23T10:32:00 *** Kingpin13 has joined #aichallenge 2011-04-23T10:41:36 *** Chris_0076 has joined #aichallenge 2011-04-23T10:41:45 *** Redgis has joined #aichallenge 2011-04-23T10:41:59 *** sids_aquarius has joined #aichallenge 2011-04-23T10:42:43 *** sigh has quit IRC (Ping timeout: 264 seconds) 2011-04-23T10:57:03 *** sids_aquarius has quit IRC (Ping timeout: 252 seconds) 2011-04-23T11:14:42 *** sids_aquarius has joined #aichallenge 2011-04-23T11:38:16 *** smiley1983 has joined #aichallenge 2011-04-23T11:42:31 *** kaemo has quit IRC (Ping timeout: 252 seconds) 2011-04-23T11:54:53 *** McLeopold has joined #aichallenge 2011-04-23T12:03:25 *** bhasker has joined #aichallenge 2011-04-23T12:11:30 *** Chris_0076_ has joined #aichallenge 2011-04-23T12:14:05 *** Chris_0076_ has quit IRC (Client Quit) 2011-04-23T12:14:25 *** Chris_0076 has quit IRC (Ping timeout: 250 seconds) 2011-04-23T12:19:22 *** smiley1983 has quit IRC (Quit: leaving) 2011-04-23T12:26:01 *** smiley1983 has joined #aichallenge 2011-04-23T12:26:34 *** McLeopold has quit IRC (Quit: Leaving.) 2011-04-23T12:27:01 I seem to remember reading somewhere about issuing special orders to make your ants change colour (or otherwise distinguish themselves) in the visualizer. Maybe in someone's custom visualizer 2011-04-23T12:27:15 Am I dreaming or does this feature really exist somewhere? 2011-04-23T12:27:37 I've looked again through the documentation, forums and IRC logs and I'm beginning to think I made it up 2011-04-23T12:34:09 *** sids_aquarius has quit IRC (Ping timeout: 252 seconds) 2011-04-23T13:11:26 *** needsch has quit IRC (Quit: Leaving.) 2011-04-23T13:18:06 *** Naktibalda has joined #aichallenge 2011-04-23T13:25:42 *** Eruonen has quit IRC (Ping timeout: 258 seconds) 2011-04-23T13:30:42 *** skynetz has joined #aichallenge 2011-04-23T13:36:30 *** needsch has joined #aichallenge 2011-04-23T13:38:02 *** Cerealklr has joined #aichallenge 2011-04-23T13:38:16 *** needsch1 has joined #aichallenge 2011-04-23T13:38:19 *** Cerealklr has left #aichallenge 2011-04-23T13:39:33 *** computerwiz_222 has joined #aichallenge 2011-04-23T13:40:55 *** needsch has quit IRC (Ping timeout: 264 seconds) 2011-04-23T13:47:13 *** needsch has joined #aichallenge 2011-04-23T13:50:58 *** needsch1 has quit IRC (Ping timeout: 240 seconds) 2011-04-23T13:52:10 *** Ice_Harley_ has joined #aichallenge 2011-04-23T14:05:27 *** Mathnerd314 has joined #aichallenge 2011-04-23T14:06:41 *** McLeopold has joined #aichallenge 2011-04-23T14:12:53 argh 2011-04-23T14:12:58 some asshole gave me reddit gold 2011-04-23T14:13:07 mold or gold? 2011-04-23T14:13:11 gold 2011-04-23T14:13:25 isn't that a good thing? 2011-04-23T14:13:35 no, the gold thing is ridiculous 2011-04-23T14:13:43 it was nice of the person, don't get me wrong there 2011-04-23T14:13:52 but there's no way for me to say i don't want it :\ 2011-04-23T14:14:04 can't you give it away 2011-04-23T14:14:14 i don't think so, i'll try 2011-04-23T14:15:00 nope, i might be stuck with it for a month 2011-04-23T14:16:37 lol, /r/lounge is worse than circlejerk 2011-04-23T14:23:27 *** Chris_0076 has joined #aichallenge 2011-04-23T14:25:10 *** smiley1983 has quit IRC (Quit: leaving) 2011-04-23T14:30:37 aha, some guy claims to have written a 15x15 game of life in their naive days 2011-04-23T14:30:49 without arrays or indices* 2011-04-23T14:32:02 McLeopold: have a question about bot input. When I see enemy first time his number will be 1? Or his number somewhere on server, for example 3? 2011-04-23T14:32:26 when you see the first enemy for the first time, it will be one 2011-04-23T14:32:38 so, 1 is the first enemy bot seen, 2 is the second 2011-04-23T14:33:51 so server will remember order I investigate enemies? 2011-04-23T14:34:43 aren't we always player 1? 2011-04-23T14:34:47 or are we player 0? 2011-04-23T14:34:52 we - 0 2011-04-23T14:35:05 talking about enemies 2011-04-23T14:35:30 yes the engine will remember which player is which for oyu 2011-04-23T14:35:43 ok, thanks 2011-04-23T14:35:49 if we want to hide the number of players this is necessary 2011-04-23T14:36:48 yes, I am reading your yesterday talk about this. 2011-04-23T14:38:48 *** sids_aquarius has joined #aichallenge 2011-04-23T14:44:35 *** amstan has joined #aichallenge 2011-04-23T14:44:35 *** ChanServ sets mode: +o amstan 2011-04-23T14:44:59 *** Eruonen has joined #aichallenge 2011-04-23T14:53:09 *** delt0r_ has joined #aichallenge 2011-04-23T14:53:44 *** delt0r___ has quit IRC (Read error: Operation timed out) 2011-04-23T14:59:37 *** Ice_Harley_ has quit IRC (Quit: Page closed) 2011-04-23T15:05:04 *** McLeopold has quit IRC (Quit: Leaving.) 2011-04-23T15:06:12 *** amstan has quit IRC (Remote host closed the connection) 2011-04-23T15:07:54 *** amstan has joined #aichallenge 2011-04-23T15:07:54 *** ChanServ sets mode: +o amstan 2011-04-23T15:08:53 contestbot: betatest 2011-04-23T15:08:54 amstan: betatest could be http://hypertriangle.com:13080/. 2011-04-23T15:08:58 contestbot: newdesign 2011-04-23T15:08:59 amstan: newdesign could be http://home.hypertriangle.com/~andrew/aicontest/. 2011-04-23T15:13:45 *** McLeopold has joined #aichallenge 2011-04-23T15:18:35 McLeopold: hey 2011-04-23T15:34:33 *** kaemo has joined #aichallenge 2011-04-23T15:44:21 *** Accoun has quit IRC () 2011-04-23T15:56:37 reddit implemented a new feature 2011-04-23T15:56:51 you can now have comments highlighted that were posted since the last time you viewed a page 2011-04-23T15:57:10 oh no, that's the stupid gold thing 2011-04-23T15:57:14 one can see all comments too 2011-04-23T15:58:17 *** Accoun has joined #aichallenge 2011-04-23T15:58:29 *** jaycobcoleman has joined #aichallenge 2011-04-23T16:00:59 *** mceier has quit IRC (Quit: leaving) 2011-04-23T16:02:37 *** Ice_Harley has quit IRC (Quit: Page closed) 2011-04-23T16:15:17 animatroid: what is food input going to be given as in the new method you and McLeopold were discussing? 2011-04-23T16:15:18 *** mceier has joined #aichallenge 2011-04-23T16:42:14 jaycobcoleman: there is an additional line of input on will receive 2011-04-23T16:43:05 "r row col" means that there is no longer food at that location, if you see a square that contains food, then the first turn in which you see that square and it doesn't contain food, you get the r line 2011-04-23T16:45:31 okay so if it disappears and another one is put in its place before you see it again then it won't give you a remove message, correct? 2011-04-23T17:00:27 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110323143040]) 2011-04-23T17:00:34 *** berak has quit IRC (Quit: ChatZilla 0.9.84 [SeaMonkey 2.0a3/20090223135443]) 2011-04-23T17:18:50 jaycobcoleman: correct 2011-04-23T17:19:06 if i don't respond when i was recently around, feel free to antimatroid me 2011-04-23T17:24:22 alright :) 2011-04-23T17:38:29 *** bhasker has quit IRC (Quit: bhasker) 2011-04-23T17:41:56 *** jaycobcoleman has quit IRC (Quit: Page closed) 2011-04-23T17:44:03 *** McLeopold has quit IRC (Quit: Leaving.) 2011-04-23T17:54:15 *** amriedle has joined #aichallenge 2011-04-23T17:58:03 *** Chris_0076 has quit IRC (Ping timeout: 250 seconds) 2011-04-23T18:11:31 *** choas has quit IRC (Quit: leaving) 2011-04-23T18:25:04 *** jaycobcoleman has joined #aichallenge 2011-04-23T18:27:45 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-04-23T18:53:20 there's no good way of vertically slicing arrays in python, is there? WIthout outside modules I mean 2011-04-23T19:07:20 *** sigh has joined #aichallenge 2011-04-23T19:08:41 ah, there we go. I will now repeat my question 2011-04-23T19:08:50 sigh: there's no good way of vertically slicing arrays in python, is there? WIthout outside modules I mean 2011-04-23T19:09:16 zip(*foo) 2011-04-23T19:09:46 will give you vertical slices 2011-04-23T19:09:57 What I want is to refer to a tiled section of an array 2011-04-23T19:10:13 so combination of vertical and horizontal 2011-04-23T19:10:22 tiled section? 2011-04-23T19:10:29 just a section 2011-04-23T19:10:42 with horizontal and vertical constraints 2011-04-23T19:11:07 nah, you have to do that manually, I think 2011-04-23T19:11:11 I guess you can do it with lambdas? 2011-04-23T19:11:47 mer. Thing like lamdas are what I'm hoping to avoid in this situation 2011-04-23T19:11:49 I would count that as manually :) 2011-04-23T19:12:58 it irritates me that I can't do something like somearray[2:5][3:9] 2011-04-23T19:14:04 well, think about what that is actually doing, you can't really write an object which will behave that way 2011-04-23T19:14:06 would slicing the array horizontally and then using zip allow me to take a section like that? 2011-04-23T19:14:20 numpy does that 2011-04-23T19:14:30 array[1:3, 3:5] 2011-04-23T19:16:29 hmmm 2011-04-23T19:17:15 ah yes... if you do it all in one pass then it is possible :) 2011-04-23T19:17:18 last week i had to work out how to use multidimensional arrays in GAUSS 2011-04-23T19:17:28 yeah... normal python arrays can't do taht 2011-04-23T19:17:33 while it's really gross to make them, they did have a neat function for pulling matrices out of them 2011-04-23T19:20:57 can I expect the server to have some amount of non-standard modules? 2011-04-23T19:23:43 you can request that something be installed if you need it 2011-04-23T19:24:15 Alright I figured 2011-04-23T19:27:30 So why did we give food a spawn radius as opposed to making an ant walk on top of it to collect? 2011-04-23T19:30:11 if ant walked on top, where would you spawn the new ant? 2011-04-23T19:30:34 in the ants previous position or the closest one to it 2011-04-23T19:30:47 anything else throws off any sort of predictive arrays 2011-04-23T19:30:58 which I would love to have 2011-04-23T19:31:10 that would require a stupidly annoying spec to make it consistent 2011-04-23T19:31:10 without them being either inaccurate or incredibly complex 2011-04-23T19:31:25 what if the position is no longer vacant? 2011-04-23T19:31:47 like I said, closest to it 2011-04-23T19:32:00 which there's already a function created to find in the engine 2011-04-23T19:32:09 then you could get ants spawning far away 2011-04-23T19:32:17 and how do you define closest? 2011-04-23T19:32:31 movement-wise 2011-04-23T19:33:04 and how do you decide between mutliple points that are equally close? 2011-04-23T19:33:14 randomly 2011-04-23T19:33:33 randomly or arbitrarily? 2011-04-23T19:33:51 *** skynetz has quit IRC (Quit: .) 2011-04-23T19:34:23 I'm not sure that it really matters 2011-04-23T19:34:32 though I understand your distinction 2011-04-23T19:34:50 which would you prefer? 2011-04-23T19:35:19 randomly, otherwise you might bias the spawning, and other engines could not replicate 2011-04-23T19:35:35 so now you've made a complicated spawning algoritm, which could result in ants spawning in odd places 2011-04-23T19:35:56 there's still more complications 2011-04-23T19:36:18 what if two ants spawn in the same turn and they want to spawn in the same place 2011-04-23T19:36:41 simple list problem 2011-04-23T19:36:47 how so? 2011-04-23T19:37:25 the engine creates a list of the locations that each ant wants to spawn and will only do so with each new ant if the location isn't already in that list 2011-04-23T19:38:12 but now you've made spawning dependant on order? 2011-04-23T19:38:24 *** computerwiz_222 has quit IRC (Remote host closed the connection) 2011-04-23T19:39:16 I see what you mean. 2011-04-23T19:39:52 I can't see an issue arising from that unless both pieces of food are being consumed by the same bot, in which case it doesn't matter 2011-04-23T19:39:53 the current engine is very careful about doing things in an order independent way 2011-04-23T19:40:16 imagine a 1 length corridor: aa*.*aa 2011-04-23T19:40:44 next move all ants move towards the center 2011-04-23T19:41:30 I understand that there are serious issues with this method as well, but it's irritating that I can't have a predictive array of where enemy ants are and are not without also being aware of every piece of food between them and that location 2011-04-23T19:41:40 consider this instead then 2011-04-23T19:42:16 spawn radius of 1, which I believe we discussed anyway, and then each new ant has to wait one turn after being spawned to move 2011-04-23T19:42:23 sort of like a birthing process 2011-04-23T19:42:44 why? 2011-04-23T19:43:29 to a predictive array consuming food on your way to a location is almost like teleporting 2011-04-23T19:43:43 so it can't account for that jump in movement without knowing the food is there 2011-04-23T19:44:04 and if you can see that area to know that it's there then there's nothing to predict 2011-04-23T19:44:39 well, you just have to deal with that :P 2011-04-23T19:45:49 :P 2011-04-23T19:50:43 *** amstan has joined #aichallenge 2011-04-23T19:50:43 *** ChanServ sets mode: +o amstan 2011-04-23T19:53:59 what's going on? 2011-04-23T19:55:27 I'm gettin ready for a prom! 2011-04-23T19:56:15 from which I took a break to whine at sigh about spawning methods :P 2011-04-23T19:57:13 *** Eruonen has quit IRC (Ping timeout: 260 seconds) 2011-04-23T20:00:14 *** kaemo0 has joined #aichallenge 2011-04-23T20:02:55 *** Eruonen has joined #aichallenge 2011-04-23T20:04:18 ugh.. prom 2011-04-23T20:04:54 bad experience? or just the idea? 2011-04-23T20:07:07 *** FireFly has quit IRC (Remote host closed the connection) 2011-04-23T20:07:14 *** bhasker has joined #aichallenge 2011-04-23T20:09:59 *** amriedle has quit IRC (Ping timeout: 252 seconds) 2011-04-23T20:20:23 *** bhasker has quit IRC (Quit: bhasker) 2011-04-23T20:34:50 *** sids_aquarius has quit IRC (Ping timeout: 276 seconds) 2011-04-23T20:37:57 *** suicidolt has joined #aichallenge 2011-04-23T20:45:43 *** mceier has quit IRC (Quit: leaving) 2011-04-23T20:50:56 *** sids_aquarius has joined #aichallenge 2011-04-23T21:06:46 *** _0x47 <_0x47!~slash@p5B25F5A9.dip.t-dialin.net> has quit IRC (Quit: Leaving.) 2011-04-23T21:16:35 *** computerwiz_222 has joined #aichallenge 2011-04-23T21:31:59 *** suicidolt has quit IRC (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.16/20110323145543]) 2011-04-23T21:40:27 *** McLeopold has joined #aichallenge 2011-04-23T21:40:53 *** amriedle has joined #aichallenge 2011-04-23T21:41:05 amstan: did you want to discuss something? 2011-04-23T21:48:41 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 240 seconds) 2011-04-23T21:50:09 McLeopold: well.. i was just wondering if you're working on something 2011-04-23T21:51:14 *** Eruonen has quit IRC () 2011-04-23T21:52:11 jaycobcoleman: oblig xkcd http://xkcd.com/422/ 2011-04-23T21:53:11 McLeopold: computerwiz_222 wants us to spell the title as Ai challenge, lowercase i so it's not confused with L 2011-04-23T21:53:23 McLeopold: but i disagree, AI is an acronym. What do you think? 2011-04-23T21:53:40 i had a few people read it as AL challenge today when i was showing non-programmers 2011-04-23T21:53:54 like the name Al lol 2011-04-23T21:54:07 unfortunately no lan parties to be seen :) 2011-04-23T21:54:14 *** jaycobcoleman has quit IRC (Quit: Page closed) 2011-04-23T21:54:52 I think it should be spelled as AI (uppercase letters). Acronyms are acronyms. 2011-04-23T22:08:19 *** Redgis has quit IRC (Quit: ... mains libres) 2011-04-23T22:08:52 amstan: how about using a better font :P 2011-04-23T22:09:40 sigh: like? 2011-04-23T22:10:09 i dunno anything about fonts, but something that distinguishes between I and l, at least for the title :P 2011-04-23T22:11:00 amstan: your html conversions lost my LaTeX :( 2011-04-23T22:11:29 sigh: that means getting a serif font, and that's meh 2011-04-23T22:12:35 *shrug* then you are stuck with it looking like Al :P 2011-04-23T22:12:56 as an aside, "Ai" makes it sound like a word (also translates to love in japanese) 2011-04-23T22:13:59 i intend to try and get more "asians" involved this time (not sure how yet, spamming subreddits?) 2011-04-23T22:14:09 so make sure it's not too ridiculous for them :P 2011-04-23T22:14:19 why did you put "asians" in quotes 2011-04-23T22:14:43 and why don't they want to participate in the google love challenge? :P 2011-04-23T22:14:47 because i'm sure someone would probably try to rip me a new one if i mistakenly called the people in a country asians :P 2011-04-23T22:15:05 *** amriedle has quit IRC (Quit: Lost terminal) 2011-04-23T22:15:40 o_O 2011-04-23T22:16:02 i still don't see how jaycobcolemans spawning idea was meant to make anything easier 2011-04-23T22:16:16 it was meant to make his bot easier to write 2011-04-23T22:16:30 i get that, but i don't know how 2011-04-23T22:16:35 i can only see how it makes life harder 2011-04-23T22:17:16 because then food doesn't affect how long it takes an ant to get form A to B 2011-04-23T22:17:21 *from 2011-04-23T22:18:19 *** McLeopold has quit IRC (Quit: Leaving.) 2011-04-23T22:18:35 yes, there are problems with that idea, but I think that was his contention 2011-04-23T22:18:40 it's actually quite simple to keep an availability map to use future ants 2011-04-23T22:18:48 yeah okay 2011-04-23T22:19:10 btw, did you have a look at the removed ants data? 2011-04-23T22:23:01 not yet 2011-04-23T22:23:06 do you mean removed food? 2011-04-23T22:23:50 yeah, that 2011-04-23T22:23:55 aichallenge: sigh epsilon * ra51f2ff / ants/ants.py : Ensure that removed ants are listed in an deterministic way - http://bit.ly/h4qVpA 2011-04-23T22:24:10 ^^ that commit message should say removed food :) 2011-04-23T22:26:35 alright i've pulled it 2011-04-23T22:26:43 i'll get my bot to tell me all the r moves it gets 2011-04-23T22:32:47 *** kaemo0 has quit IRC (Ping timeout: 250 seconds) 2011-04-23T22:33:13 *** kaemo has quit IRC (Ping timeout: 250 seconds) 2011-04-23T22:41:19 sigh: what file is the output data being put into now? 2011-04-23T22:42:11 the same place they've always been going 2011-04-23T22:42:41 like viewer/0.replay and viewer/0.stream if you are using play_one_game.sh 2011-04-23T22:42:47 *** McLeopold has joined #aichallenge 2011-04-23T22:44:07 hmmm weird, my computer isn't making it :\ 2011-04-23T22:46:04 my bots debug file isn't being made either 2011-04-23T22:46:14 i think maybe the gitignore files are ruining me again? 2011-04-23T22:46:57 gitignore shoud have nothing to do with it 2011-04-23T22:47:16 bah, it's working now 2011-04-23T22:47:23 i don't even know what went wrong there :\ 2011-04-23T22:50:10 okay well i am getting the r lines 2011-04-23T22:50:37 sigh: the trickiest problem case i could think of is if a food square disappears and is imediately replaced by one 2011-04-23T22:50:43 does it correctly not give an r line for that? 2011-04-23T22:50:55 if you don't know i'll try to make it happen 2011-04-23T22:51:16 antimatroid: that would only happen if 2 enemy bots are next to it 2011-04-23T22:51:36 in which case it would look like the engine didn't remove the food correctly 2011-04-23T22:52:11 McLeopold: say you have: 2011-04-23T22:52:11 .a 2011-04-23T22:52:11 *. 2011-04-23T22:52:11 b. 2011-04-23T22:52:17 *** delt0r_ has quit IRC (Read error: Operation timed out) 2011-04-23T22:52:17 with a food square waiting to spawn where the food it 2011-04-23T22:52:44 sure once we change spawn radius to 1, not an issue, but to make sure it works right generally 2011-04-23T22:52:49 we are queueing up food, right? Can we ensure a 1 turn wait after the space is clear? 2011-04-23T22:53:07 i don't see any need to 2011-04-23T22:53:36 i don't know if we can have a draw for food anymore? 2011-04-23T22:53:42 *** delt0r_ has joined #aichallenge 2011-04-23T22:53:47 if we have battle2 = 4 and spawn2 = 1 2011-04-23T22:53:55 (sigh: we're changing those values :P) 2011-04-23T22:54:07 a.*.b <- the don't kill each other 2011-04-23T22:54:17 neither do they spawn 2011-04-23T22:54:28 the food stays there 2011-04-23T22:54:31 but then they both move 1 square closer 2011-04-23T22:54:40 then they kill each other 2011-04-23T22:54:50 good point 2011-04-23T22:56:07 what do we need to do to change the spawn and battle radius? 2011-04-23T22:56:16 like where are the defaults set? 2011-04-23T22:57:02 McLeopold: I think the starter bots should process the r lines, but also continue deleting food information each turn 2011-04-23T22:57:25 *** Chris_0076 has joined #aichallenge 2011-04-23T22:57:25 then we can tell people in the starter tutorial to stop deleting food information each turn if they want to maintain information of food outside of view 2011-04-23T22:57:53 in playgame.py 2011-04-23T22:58:50 antimatroid: I disagree with the starter bot thing. The starter bots should hide parsing and state update from contestents that don't want it, and be accurate. 2011-04-23T22:59:12 but different people are going to want to do a different thing here 2011-04-23T22:59:16 They should be updated to remember food not visible 2011-04-23T22:59:25 some will want to assume food will still be there, others will want to wipe the information 2011-04-23T22:59:48 i believe stocha and smiley1983 suggested they don't care to assume the food will still be there 2011-04-23T23:00:20 this way it's a matter of finding clear() in state and removing the line "isFood = 0;" in my bot 2011-04-23T23:01:05 this way people are told a simple way to get arguably more information while making them explore a little bit as to how everything gets done 2011-04-23T23:01:14 lets make the starter packs parse it, and provide a clear section where the bot author can choose the method 2011-04-23T23:01:21 yep sure 2011-04-23T23:01:27 maybe an "uncomment this to clear information" 2011-04-23T23:01:35 yep 2011-04-23T23:01:49 i like the idea of having stupid start bots 2011-04-23T23:01:54 The starter pack author can choose the default setting. 2011-04-23T23:02:15 The starter packs ignore the food info anyway. 2011-04-23T23:02:17 i could ifdefined it and let them set it in the make file :P 2011-04-23T23:03:10 wouldn't it be better to maintain 2 lists, known & potential? 2011-04-23T23:03:33 meh, some might 2011-04-23T23:03:40 but that's on them to write i think 2011-04-23T23:03:57 it's simple to tell from my bot now by checking the lastSeen information of the square and checking it with turn information 2011-04-23T23:04:16 I'm going to make the python bot know the difference 2011-04-23T23:04:34 what are you doing for vision? 2011-04-23T23:04:47 are you just distinguishing visible/notvisible? or when a square was last seen? 2011-04-23T23:04:51 I did a copy/paste of sigh's code 2011-04-23T23:05:20 Just the visible true/false function, as per the starter pack spec 2011-04-23T23:05:50 i should really just give them that 2011-04-23T23:06:12 that vision code is a bit non-intuitive, and the variable names are off because it was just part of a test script :P 2011-04-23T23:07:13 (it is correct, though) 2011-04-23T23:07:25 I modified it a little, and it looks clear in the starter bot 2011-04-23T23:07:36 cool 2011-04-23T23:07:46 I used the one where you setup vision_offests_2 2011-04-23T23:08:41 antimatroid: what do you think of lowering the vision radius? 2011-04-23T23:08:51 McLeopold: not too far 2011-04-23T23:08:54 but i'm for it 2011-04-23T23:09:12 people quickly see pretty much the whole map now 2011-04-23T23:09:25 i would like to significantly increase the default max turns 2011-04-23T23:09:27 to like 1000 2011-04-23T23:09:40 is it not that? 2011-04-23T23:09:45 it's 200 i think 2011-04-23T23:10:09 oh, yeah, we should do that as well 2011-04-23T23:10:18 sigh: I'm changing some defaults 2011-04-23T23:10:27 yeah, sure 2011-04-23T23:10:50 49 for radius? 2011-04-23T23:10:58 nah, somewhere in the middle 2011-04-23T23:11:09 oh wait, yeah 50 2011-04-23T23:11:17 or wahtever gives a nice circle in that region 2011-04-23T23:11:24 I look at it 2011-04-23T23:11:36 but distance 7 about 2011-04-23T23:11:47 i would go 63 2011-04-23T23:11:53 or a bit less 2011-04-23T23:12:10 that way you're making the circle ~ 2 squares less 2011-04-23T23:14:02 53 and 58 are two number to split, so 55 2011-04-23T23:15:05 i was going to say 48 looks good :P 2011-04-23T23:15:09 but i don't mind 2011-04-23T23:15:14 *** j3camero has joined #aichallenge 2011-04-23T23:15:38 The website design that amstan just sent me is amazing! 2011-04-23T23:15:46 Who created it? 2011-04-23T23:15:46 McLeopold: use 55 :) 2011-04-23T23:15:47 j3camero: thanks :) 2011-04-23T23:15:50 ^^ 2011-04-23T23:16:00 computerwiz_222: wicked job man! 2011-04-23T23:16:19 j3camero: I'm just glad you like it 2011-04-23T23:16:20 so.. spawn2 = 1, battle2 = 4, vision2 = 55, maxTurns = 1000 2011-04-23T23:16:30 j3camero: I noticed last night that the confirmation code was a path to do an sql injection attack during the last contest. oops :P 2011-04-23T23:16:43 antimatroid: yep 2011-04-23T23:17:03 McLeopold: yeah some benevolent people did point out a few other SQL injections that I left in there. Whoops my bad. 2011-04-23T23:17:40 Another advantage of using a framework in the future I guess... 2011-04-23T23:18:15 oh yeah, happy easter guys :P 2011-04-23T23:18:22 same to you 2011-04-23T23:19:19 I just saw the IRC link on the website design. This gives me an idea. Perhaps we should create some sort of web-chat interface to the IRC channel to boost the number of people who are able to access it. I know there is a webchat interface to freenode somewhere out there. Maybe we could use that. It would be so cool if the "IRC" link on the website just dropped the person right into the channel. 2011-04-23T23:19:27 aichallenge: McLeopold epsilon * r97b57ed / ants/ants.py : Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://bit.ly/hbFVBs 2011-04-23T23:19:27 aichallenge: McLeopold epsilon * re396f2f / (ants/playgame.py worker/server_info.py.sample): updated defaults to good choices now that we have attack method 'damage' - http://bit.ly/iadsXR 2011-04-23T23:19:43 j3camero: afaik, that was the plan 2011-04-23T23:19:50 but i'm new here so... 2011-04-23T23:20:34 computerwiz_222: I can tell you'll fit right in, haha. Plus I see lots of evidence that you're also from Canada. Nice to see :-) 2011-04-23T23:20:54 i like the idea of web client, also it would be nice to automatically drop them in the channel WITH the username with which they registered. 2011-04-23T23:21:02 haha, thanks 2011-04-23T23:21:05 that would be cool 2011-04-23T23:21:09 the username part 2011-04-23T23:21:11 Oh yeah that would be great. 2011-04-23T23:21:20 i can look into this 2011-04-23T23:21:27 Must be doable somehow. 2011-04-23T23:21:31 but i'm no whiz (contrary to what my username says :P) 2011-04-23T23:21:45 computerwiz_222: freenode has a webclient, you can probably skin it and embed it 2011-04-23T23:21:59 amstan: you read my mind 2011-04-23T23:22:06 I forget how the freenode webchat thingy works. Maybe there's some URL you can POST to with a requested nick. 2011-04-23T23:22:16 didn't freenode have a winge and make it hard for other web clients to connect to freenode? 2011-04-23T23:22:33 antimatroid: probably because of the host masks 2011-04-23T23:22:38 we don't have to use the freenode one 2011-04-23T23:22:49 there are third party ones that allow you to connect to any irc server 2011-04-23T23:22:53 I also have no objection to having our own dedicated webchat service. There must be an existing free webchat server we can set up on our machines. 2011-04-23T23:23:02 j3camero: exactly 2011-04-23T23:23:11 Doesnt even have to be IRC under the hood. 2011-04-23T23:23:17 j3camero: but that means we have to host our own irc network, that's no fun 2011-04-23T23:23:28 j3camero: developers like irc 2011-04-23T23:23:35 yeah, don't move away from irc 2011-04-23T23:23:41 Not necessarily. There could be a much simpler service we can set up. 2011-04-23T23:23:42 j3camero: yeah, don't deviate from irc, i can use it from my terminal! 2011-04-23T23:23:44 if i can't have it in pidgin i will bitch at you until it's fixed 2011-04-23T23:24:10 tabbed irc and msn is amazing 2011-04-23T23:24:10 also.. contestbot will die, we don't want that to happen 2011-04-23T23:24:12 do we? 2011-04-23T23:24:25 amstan: no thank-you 2011-04-23T23:24:39 We will always still have thhis channel. I'm just thinking whatever works best for the "unwashed masses". This channel might not be the best option if there are hundreds of people trying to use it all at once. It would be unreadable. 2011-04-23T23:25:04 j3camero: a valid point.. this needs some thought 2011-04-23T23:25:06 you wont get many of us hanging out on a web client just to answer peoples questions :P 2011-04-23T23:25:21 But yeah. If the easiest thing iis IRC based, then thats the way to go. 2011-04-23T23:25:23 whereas i am happy to answer them here, i think you're betting navigating them here somehow 2011-04-23T23:25:33 the problem that i see is that you will get noobs using the IRC over forum because the will get an answer faster. 2011-04-23T23:25:39 http://code.google.com/p/django-chat/ 2011-04-23T23:25:48 Siiick. 2011-04-23T23:25:59 computerwiz_222: that's fine, then the forums aren't as messy 2011-04-23T23:26:17 antimatroid: that means less people getting answers too 2011-04-23T23:26:24 yeah, just realised that :P 2011-04-23T23:26:31 we can form an faq that we add to 2011-04-23T23:27:00 and if people get especially bad at asking questions already answered in the specs, we can just point such people to the specs 2011-04-23T23:27:08 what if we had a developer channel and a contestant channel? 2011-04-23T23:27:24 computerwiz_222: yes +1 for that 2011-04-23T23:27:25 you are free to go in either.. but you won't get answered if you are asking contest-related questions 2011-04-23T23:27:33 many projects have that 2011-04-23T23:27:36 kde has like 10 channels 2011-04-23T23:27:38 lol 2011-04-23T23:27:52 I think the more people we have chatting (webchat or IRC, or both) the better. Getting information to diffuse from the core admin circle out to marginally attached contestants has been a big weak point in the past. The more people are chatting, the more well-informed people there will be to post on the forums. 2011-04-23T23:28:00 hmm, i don't like multiple chat windows though :P 2011-04-23T23:28:07 how about contestbot echos forums questions, and irc answers get auto-posted back to the forum? 2011-04-23T23:28:17 this could work 2011-04-23T23:28:26 but.. it's complicated 2011-04-23T23:28:27 McLeopold: that means contestbot will have to talk a lot 2011-04-23T23:28:49 and that someone needs to write a plugin for contestbot that reads the phpbb forum 2011-04-23T23:29:01 can we use stackexchange free for non-profit stuff? 2011-04-23T23:29:12 That would be way better than the forum 2011-04-23T23:29:19 McLeopold: we need to update the map file format 2011-04-23T23:29:31 so maps can let the engine know what type they are 2011-04-23T23:29:58 i would suggest a "type " parameter at the top 2011-04-23T23:30:05 mine could be "tileSymmetric" for example 2011-04-23T23:30:23 McLeopold: I'm not sure.. I don't think that we need to break form from irc + forum. I just think that we should get two IRC channels and keep the forum the way it sits. If you deviate from a standard (forums) you'll have to teach people how to use StackExchange.. 2011-04-23T23:30:24 antimatroid: I would call it "symmetry " 2011-04-23T23:30:33 computerwiz_222: but yeah that design is off the charts. I can't believe we are going to have an actual web design. This is huge. 2011-04-23T23:30:43 j3camero: thanks man 2011-04-23T23:30:48 McLeopold: yeah that's better 2011-04-23T23:30:56 sigh: do you want to update to handle that parameter? 2011-04-23T23:30:59 j3camero: i'm thinking that we can just change the color scheme and small changes year to year 2011-04-23T23:31:01 What is your background? Are you a student, or working, or what? 2011-04-23T23:31:04 computerwiz_222: I'm thinking stackexchange as a replacement, the forums really suck 2011-04-23T23:31:05 that is, "symmetry " 2011-04-23T23:31:18 my maps will be "symmetric tile" 2011-04-23T23:31:28 j3camero: I'm a comp. eng tech student and working in the Electronics field 2011-04-23T23:31:38 j3camero: i have a soft spot for design 2011-04-23T23:31:40 McLeopold: "symmetry assymetric"? 2011-04-23T23:31:42 Which school? 2011-04-23T23:31:53 Mohawk College of Applied Arts and Technology 2011-04-23T23:32:05 btw, i never fully introduced myself. 2011-04-23T23:32:12 "symmetry tile"** 2011-04-23T23:32:13 symmetry none 2011-04-23T23:32:25 yeah okay 2011-04-23T23:32:47 My name is Andrew. I'm a long friend of amstan and I have participated in this contest before (tron). I'm a long time lurker, though not much on irc, more through amstan. 2011-04-23T23:33:02 sigh: i'm also going to give you "row_translate value" and col_translate for such maps, which you can change to using if you do or don't want to :) 2011-04-23T23:33:08 Nice nice. I was going to say you're in the same town as amstan now. 2011-04-23T23:33:14 aichallenge: Alexandru Stan wwwdesign * r4be86f3 / (20 files in 7 dirs): added a css-only version, moved the old version to site-draft (+9 more commits...) - http://bit.ly/hfj4Ll 2011-04-23T23:33:18 yes, i am. 2011-04-23T23:33:33 also, i saw that visualizer yesterday. Whoever made it, nice work. 2011-04-23T23:33:34 computerwiz_222: it's now part of the source tree: https://github.com/aichallenge/aichallenge/commits/wwwdesign 2011-04-23T23:33:40 computerwiz_222: didn't participate in planet wars? 2011-04-23T23:33:42 amstan: sweet, thanks 2011-04-23T23:33:43 will you be in ants? 2011-04-23T23:33:44 computerwiz_222: btw I am just down the road in downtown TO, working. Just graduated from Waterloo. 2011-04-23T23:33:53 j3camero: congrats 2011-04-23T23:34:09 and by just he means last sept 2011-04-23T23:34:20 yeah, you graduated before i did :P 2011-04-23T23:34:43 * antimatroid went straight back to uni 2011-04-23T23:35:02 I won't be participating in the contests much. I'm a novice programmer, I usually learn to code something when I need it. (I implemented an Open Source Point of Sale System, while not requireing much programming i had to learn a new xml format for forms). 2011-04-23T23:35:38 i couldn't write something like that to save my life 2011-04-23T23:35:42 or anything gui related 2011-04-23T23:35:48 also.. how freaking buggy is unity. They better get this cleaned up for 11.04 release. 2011-04-23T23:36:02 although i'd really like to be able to make a gui for my game theory library, i need to learn how to use qt 2011-04-23T23:36:10 antimatroid: I'm in the same boat.. 2011-04-23T23:37:11 I used openbravo and configured it in a way that just barely works (but it just barely works so damn well.) 2011-04-23T23:37:39 That's an excellent quote. You are my new gmail status. 2011-04-23T23:38:19 TIL there exists gmail statuses 2011-04-23T23:38:34 j3camero: what status? 2011-04-23T23:39:02 it always surprises me when someone talks to me on gchat 2011-04-23T23:39:55 Oh yeah. I guess the existence of gmail statuses becomes clearer when you use Googlle Buzz. 2011-04-23T23:40:37 I think once every 6 months, someone uses buzz in my contacts. It really affects me for a few days lol 2011-04-23T23:40:59 So how is the ranking and scheduling coming along? (McLeopold?) 2011-04-23T23:41:37 j3camero: oh yeah, since we're talking about the status of our work: http://hypertriangle.com:13080/ 2011-04-23T23:41:44 j3camero: not a CI, but.. it's a good test server 2011-04-23T23:41:54 scheduling just needs to be tested, I still need to write the truescore updates after a game 2011-04-23T23:43:46 did we ever get a working email for daniel? 2011-04-23T23:43:57 we could see if he would be so kind as to work his magic again for a tcp server 2011-04-23T23:44:52 amstan: cool looks good. 2011-04-23T23:45:47 amstan: change that ants explanation 2011-04-23T23:45:58 antimatroid: it's on the wiki 2011-04-23T23:46:02 that was considered too mathsy for the specs page, let alone the very brief explanation 2011-04-23T23:46:02 antimatroid: the Ants page 2011-04-23T23:46:35 it's not on the specs page anymore :P 2011-04-23T23:46:40 i was told to get rid of it 2011-04-23T23:47:15 the specs page also is just a jumble of mess where the wiki had LaTeX 2011-04-23T23:47:42 amstan: just a guideline for writing the website. Ideally, 9 out of every 10 people who visit the website will not know what the Google AI Challenge is, or how it works. We need a landing page that introduces the idea to someone who has no idea what it's all about. It needs to convey very succinctly the basic idea: we help you write a program that plays a game. You submit your program and watch it play against other people's programs. Launching direc 2011-04-23T23:48:26 j3camero: I am willing to proofread stuff and make it look pretty in the eyes of an english teacher. 2011-04-23T23:48:35 Sweet 2011-04-23T23:48:41 it would be cool if the home page displayed an example game (perhaps we update this semi regularly with a decent game) 2011-04-23T23:48:58 antimatroid: computerwiz_222: this is the page that needs to be changed 2011-04-23T23:49:00 https://github.com/aichallenge/aichallenge/wiki/Ants 2011-04-23T23:49:04 lol 2011-04-23T23:49:09 that was fast 2011-04-23T23:49:16 i had it loaded 2011-04-23T23:49:27 It's not just grammar and spelling though. We need to take the right approach to framing the idea so that it sounds like "not math" 2011-04-23T23:49:38 yep 2011-04-23T23:49:44 n-player -> multi-player 2011-04-23T23:49:49 i can see it already 2011-04-23T23:49:56 haha yes exactly 2011-04-23T23:50:49 "Ants is a strategy game set on a rectangular grid with the edges wrapped. The objective is to create a computer program in a language of your choice that plays the game of Ants as intelligently as possible, which consists of eliminating the enemy colonies while taking over all of the resources." 2011-04-23T23:51:06 Ants is a multiplayer... 2011-04-23T23:51:26 It's sounding good yep. 2011-04-23T23:51:29 antimatroid: pretty good, pretty pretty pretty good (larry david, i had to) 2011-04-23T23:51:39 i ripped that from the specs page 2011-04-23T23:51:45 although i swapped the last sentence around 2011-04-23T23:51:50 i'm going to do the same on the specs page 2011-04-23T23:52:01 i will save that for the moment 2011-04-23T23:52:04 tbh.. you can take out more of those details 2011-04-23T23:52:11 wrapped edges for example 2011-04-23T23:52:30 if i never saw this thing before, i couldn't care less if the edges are wrapped unless i decide that i want to program in it 2011-04-23T23:52:39 What is key is that it has to sound really really easy. The number one place where we lose most people is whenn they go "ugh that sounds like work" and close the tab. We lose literally hundreds of thousands of people that way. This is part of the challenge of turning visitors into contestants. 2011-04-23T23:52:42 yes 2011-04-23T23:52:58 contestants, however small 2011-04-23T23:53:18 After that the attrition is generally smaller. 2011-04-23T23:53:49 yes, but i don't want people to get interested, come in and then go wtf is with ants walking off the sides 2011-04-23T23:54:10 antimatroid: yeah, good point 2011-04-23T23:54:24 visit the site -> make an account -> download a starter package -> submit the starter package -> follow a tutorial and change the starter package -> come up with your own idea to improve your bot. Those are the stages. At each stage, there is a massive amount of loss. 2011-04-23T23:54:25 i believe we need a real zinger paragraph, 5 - 7 sentences 2011-04-23T23:54:31 and then click here for more 2011-04-23T23:54:41 where you get all the juicy details 2011-04-23T23:55:35 I agree yes. Ultimately the sole purpose of the landing page is to catch people's interest and get them hooked. Even if that means being not so accurate or precise. 2011-04-23T23:56:02 The message realy needs to be: "You're going to do AI. Yes you. And it's going to be really really easy." 2011-04-23T23:56:16 you might be right 2011-04-23T23:56:20 i'll remove it from the intro page 2011-04-23T23:56:26 but it's staying on the specs page :P 2011-04-23T23:56:32 Oh for sure. 2011-04-23T23:56:41 yeah.. you don't want people saying "Artificial intelligence? I can't do that, no way, that's just for scientists." 2011-04-23T23:57:08 antimatroid: no way you can remove the fact of wrapped edges, this is important, but i don't believe that it needs to be in the attraction paragraph 2011-04-23T23:57:17 By the time someone is boothering to look at the formal specs, we can say things like "imagine ants on a toroidal body" without causing them to middle click the tab. 2011-04-23T23:57:24 so... now we have the following 2011-04-23T23:57:31 "Ants is a multi-player strategy game set on a rectangular grid. The objective is to create a computer program in a language of your choice that plays the game of Ants as intelligently as possible, which consists of eliminating the enemy colonies while taking over all of the resources." 2011-04-23T23:57:51 i feel like it's good to point out to people that their bot just has to be able to read input in a specific format and output it in a specific format 2011-04-23T23:57:57 yeah 2011-04-23T23:58:04 before i realised they were just doing that, i imagined it was a lot more complicated 2011-04-23T23:58:48 How about "ants is an awesome game where colonies of ants fight for domination! You get to control one of the colonies! get started now!" 2011-04-23T23:58:49 I think there's nothing wrong with that paragraph. But we need to back it up a bit. The landing page should introduce the concept of the Google AI Challenge, and maybe have a video of one of the games. No need to describe the game in words when a video will say it all. 2011-04-23T23:59:04 McLeopold: you made me want to get started 2011-04-23T23:59:06 let's go with that