2011-02-06T00:00:08 typically if it takes any more than 1.5 times the amount of time an equivalent C program would take i treat it as a bug 2011-02-06T00:00:23 Impressive. 2011-02-06T00:00:35 * antimatroid still doesn't understand haskell very well :( 2011-02-06T00:00:41 i am in limbo with no language i like 2011-02-06T00:00:56 Although I kid. Performance on CPU-bound tasks is so unimportant these days. I haven't written a CPU-bound program in like forever. 2011-02-06T00:01:00 and naive haskell often beats naive C. however, superoptimized C will always win 2011-02-06T00:01:03 antimatroid: I think most people are like that with Haskell. Until they have the "Woah, I can see the monads" moment. 2011-02-06T00:01:22 monads are vastly overrated 2011-02-06T00:01:36 they are useful, but have little to do with "getting" haskell 2011-02-06T00:01:58 jmcarthur: Hmm…well you don't really understand how some important things, like IO, work without them. 2011-02-06T00:02:06 sure you do 2011-02-06T00:02:09 I admittedly am using "monad" as my Haskell buzzword. 2011-02-06T00:02:16 IO with do notation is just imperative programming 2011-02-06T00:02:28 i really like how types are handled from what i've seen of haskell 2011-02-06T00:02:40 and maybe you could get away with understanding the difference between execution and evaluation, but that's not really the same as understanding monads 2011-02-06T00:02:45 it's working, except for the distance checks, just need to order them 2011-02-06T00:02:52 i would be happy with c++ if there were a few adjustments 2011-02-06T00:03:02 jmcarthur: You can treat it like imperative programming, but I don't think it's precisely the same thing. But I'm a Haskell newbie, so I could be totally off. 2011-02-06T00:03:25 jbroman: it's precisely the same thing. the IO monad is the embodiment of imperative programming, embedded as a DSL within haskell 2011-02-06T00:03:58 jbroman: once you learn the "monad way" you can do thing *beyond* mere imperative programming by using haskell as a meta language, but the imperativeness of IO itself is still there 2011-02-06T00:04:03 *do things 2011-02-06T00:04:13 j3camero: can we discuss creating new ants 2011-02-06T00:04:28 i'll discuss it :P 2011-02-06T00:04:39 I wrote a piece that would only create a new ant if 1 and only 1 force was within range. 2011-02-06T00:04:59 I'm thinking that range can be different than the combat range 2011-02-06T00:05:07 like at distance 1 2011-02-06T00:05:28 jbroman: it is for this reason that i see IO as a kind of "giving up" on functional programming. we can't figure out a way to do this stuff declaratively yet, so we just use imperative programming instead 2011-02-06T00:06:25 what about you get a spawned ant if you walk off a square containing food? 2011-02-06T00:06:34 jmcarthur: sometimes I want my computer to do different things when I use it... 2011-02-06T00:06:35 jmcarthur: That's exactly why Haskell quarantines like that. You sometimes need it for a few things (like IO), but you're supposed to write most of your code in a purely functional way and only use the IO monad for IO. 2011-02-06T00:06:54 jbroman: yes, the quarantine is a good thing 2011-02-06T00:07:00 jbroman: but that doesn't make it less of a "sin bin" 2011-02-06T00:07:14 antimatroid: food is blocking, since it can become an ant, so I'd prefer you just need to be next to it 2011-02-06T00:07:23 IO is where you go when you admit to yourself that you haven't thought of a good way to do it declaratively 2011-02-06T00:07:34 it's also blocking so I don't have to have 2 layers of a matrix to contain the info. :) 2011-02-06T00:08:02 jbroman: the "monad" characterization of IO actually came *after* IO and is not special at all 2011-02-06T00:08:26 you can't have two ants 1 away from a piece of food can you? 2011-02-06T00:08:31 from opposing teams? 2011-02-06T00:08:37 What if two different colors are within range of food then the food just goes away? 2011-02-06T00:08:50 if you handle food after fights 2011-02-06T00:09:02 I was thinking it would just stick around until 1 force drove off the other 2011-02-06T00:09:08 but... 2011-02-06T00:09:14 McLeopold: well, for example, functional reactive programming as a kind of declarative, interactive, continuous, concurrent interface, which characterizes a lot of systems that we currently just stick in IO 2011-02-06T00:09:17 j3camero: that has a good side affect 2011-02-06T00:09:44 remember how we were talking about passageways should have less food? 2011-02-06T00:10:01 Ah yes. The no mans land will have no food. 2011-02-06T00:10:03 this is a natural way to make food more reliable in a protected area 2011-02-06T00:10:19 food disappears if within distance of 2 ants 2011-02-06T00:10:26 McLeopold: that is, it allows you to interact with the real world (in certain ways) while still being declarative. it's just an example of one direction we could go instead of IO for some things 2011-02-06T00:11:08 jmcarthur: that computer comment was a total joke. I don't have enough brain power for a haskell discussion 2011-02-06T00:11:13 heh 2011-02-06T00:11:17 hang on, if you made food change when you are ajdacent (not diagonally) to it and you process that after conflicts, wouldn't that always work? 2011-02-06T00:11:18 :) 2011-02-06T00:12:10 wait, no, nevermind me 2011-02-06T00:12:29 * jmcarthur works on his purely functional real-time graphics library 2011-02-06T00:12:29 I don't like it. Having food mid battle would seem to be kind of messy. My vote it to make food go away if two enemies arrive at the same moment. 2011-02-06T00:12:50 having food mid battle what? 2011-02-06T00:12:58 yeah, I kinda agree 2011-02-06T00:13:20 although food could appear just behind a defense, helping it out 2011-02-06T00:14:36 So do we have any ants-specific code yet? I'm looking and I see planet_wars but not zombies or ants 2011-02-06T00:14:48 you have to switch branches 2011-02-06T00:14:55 simpleants branch 2011-02-06T00:15:07 j3camero: git checkout -b origin/simpleants 2011-02-06T00:15:19 Okay. 2011-02-06T00:15:26 i think that's not right 2011-02-06T00:15:41 git checkout -b simpleants remotes/origin/simpleants 2011-02-06T00:15:46 -b is for making new branches 2011-02-06T00:15:49 there we go 2011-02-06T00:16:00 well, it's also for linnking to an existing branch 2011-02-06T00:16:15 Err...yeah. I didn't think you needed the "remotes/", but that's what I meant. 2011-02-06T00:16:18 well... with a new branch 2011-02-06T00:16:25 also, you may want to try and pull my changes from my fork 2011-02-06T00:16:26 So does that branch ever get merged into the main branch? 2011-02-06T00:16:35 it's a new branch pointing to the same head as another branch 2011-02-06T00:16:52 IMO, simpleants should be a different repo, not a branch 2011-02-06T00:17:04 Oh god. Mind is getting blown by this DVCS business. WHICH REPO IS THE REAL ONE??? 2011-02-06T00:17:08 because it's a different logical project 2011-02-06T00:17:16 neither 2011-02-06T00:17:26 I would've done them as separate repos too, but I only recently started paying attention. 2011-02-06T00:17:52 Okay given as we're at the start now, let's organize this the right way. How should we be doing this? 2011-02-06T00:18:12 of course nobody was interested in darcs :P j/k 2011-02-06T00:18:15 j3camero: We should really have separate projects for separate codebases and use branches for branching changes. 2011-02-06T00:18:19 antwars as a directory in the main branch? 2011-02-06T00:18:28 ^ or that 2011-02-06T00:18:30 I want to also set up some continuous integration awesomeness, so if that has any bearing then yeah. 2011-02-06T00:18:32 that would be okay 2011-02-06T00:18:40 antwars in the main branch 2011-02-06T00:19:11 yeah my intuition is just to create a zombies directory beside the planet_wars directory. 2011-02-06T00:19:11 Although the master branch is currently hosting work on the rewrite (Zeta) engine, so maybe that ought to be a separate repo? 2011-02-06T00:19:15 I dunno. 2011-02-06T00:19:23 the rewrite should be completely separate 2011-02-06T00:19:29 That would also be my intuition jbroman. 2011-02-06T00:19:32 clean break from all old stuff 2011-02-06T00:19:47 In an ideal world we would also have an "aichallenge" github account to group these repos together. 2011-02-06T00:20:01 (As opposed to it strictly being under amstan's.) 2011-02-06T00:20:02 I think we do somewhere don't we? 2011-02-06T00:20:25 \exists github.com/aichallenge, no clue who owns it 2011-02-06T00:20:26 jbroman: yes, i was intending to do that, just been lazy 2011-02-06T00:20:30 actually 2011-02-06T00:21:08 we could just make the official repo on the ai-contest server or something, with write access only by privileged users 2011-02-06T00:21:19 and then github could be the main "working" repo 2011-02-06T00:21:21 jmcarthur: but then we loose github 2011-02-06T00:21:25 nono 2011-02-06T00:21:28 keep using github 2011-02-06T00:21:40 you mean a mirror? 2011-02-06T00:21:44 jmcarthur: What does that get us? 2011-02-06T00:21:44 what's the point? 2011-02-06T00:21:44 amstan or j3camero can keep a github mirror 2011-02-06T00:22:01 it gets us independence from github's occasional flakiness, for one 2011-02-06T00:22:07 jbroman: i own it, we can switch i guess 2011-02-06T00:22:13 jmcarthur: DVCS means that we get that anyways. 2011-02-06T00:22:13 I'm just in svn withdrawal. 2011-02-06T00:22:22 and a repo with only priv. write access 2011-02-06T00:22:28 We can theoretically pull from each other if we want to. 2011-02-06T00:22:39 jmcarthur: if github goes down, we can push at any point from our local repos 2011-02-06T00:22:44 sure 2011-02-06T00:22:44 jmcarthur: And the aichallenge GitHub repo could be only privileged write access in theory. 2011-02-06T00:22:52 McLeopold: have you got a sample game for us yet? :P 2011-02-06T00:23:11 i was just thinking it would be nice to have a goto repo in such a case, but that's just me 2011-02-06T00:23:37 so we don't have to wait for somebody else to stick one up 2011-02-06T00:24:32 j3camero: i've never felt svn withdrawal. i was happy the moment i left it :P 2011-02-06T00:24:32 antimatroid: almost, just working on the distance changes 2011-02-06T00:25:07 j3camero: hginit.com <- it's not git, but it will get you to distributed 2011-02-06T00:25:41 j3camero: i thought you had used darcs before or something, which should have gotten you through the basics of DVCS at least 2011-02-06T00:25:42 i guess a cron git pull could be setup on the main site 2011-02-06T00:25:45 just for mirroring purposes 2011-02-06T00:26:20 There is an ai-contest user on github. 2011-02-06T00:26:30 I sort of think I created it, but I am unable to login to it. 2011-02-06T00:26:37 haha 2011-02-06T00:26:38 j3camero: yeah, let's use aichallenge 2011-02-06T00:26:39 Maybe danielvf did it. 2011-02-06T00:26:47 j3camero: you have owners over that now 2011-02-06T00:29:54 Awesome thanks. 2011-02-06T00:30:22 So can we grab the stuff that's currently under your account amstan, and move it over to aichallenge? 2011-02-06T00:30:37 j3camero: just hold on for a second, i want this neatly done 2011-02-06T00:31:14 sent this to github support: http://pastebin.com/nnmfVxtP 2011-02-06T00:32:14 I think all the people who have working copies based off the amstan version are pretty experimental. 2011-02-06T00:32:26 I don't think we would be breaking anybody's shit by just moving it over. 2011-02-06T00:32:38 Or am I missing something. 2011-02-06T00:32:42 i'm not touching an engine till there is something more concrete, mcleopold has done the most 2011-02-06T00:32:50 but i think he was intending for it to be thrown awa 2011-02-06T00:32:59 j3camero: it's distributed. nobody cares which one is the "main" one ;) 2011-02-06T00:33:02 Yeah that's what he said earlier I think. 2011-02-06T00:33:04 Ideally, I think Zeta should be in a separate repo, and the other stuff should all be in one branch (master) in separate directories. 2011-02-06T00:33:24 Agreed jbroman. 2011-02-06T00:33:41 jmcarthur: i'm just worried about the forks, where it says McLeopold / aichallengeforked from amstan/aichallenge 2011-02-06T00:33:56 jmcarthur: the forked from repo cannot be changed 2011-02-06T00:33:57 Does it matter? 2011-02-06T00:34:08 jmcarthur: so by doing it through github staff they might be able to 2011-02-06T00:34:27 that's just aesthetic though, isn't it? 2011-02-06T00:34:32 Would he be able to push into the new repo under aichallenge anyways? 2011-02-06T00:34:33 jmcarthur: yeah, sure, lol 2011-02-06T00:34:39 * jmcarthur shrugs 2011-02-06T00:34:45 we don't really care then :P 2011-02-06T00:34:49 * antimatroid keeps making a sample bot 2011-02-06T00:34:51 jmcarthur: there's also 15 watchers on the repo i have 2011-02-06T00:34:51 Well, there's git's magic "pull request" stuff etc., but…I would probably just destroy and recreate my Github fork if needed. 2011-02-06T00:35:08 amstan: delete it and fork from the new one :P 2011-02-06T00:35:19 ok.. fine 2011-02-06T00:35:32 are we doing ant hills? 2011-02-06T00:35:34 actually.. i'll be forking the one from my repo into aichallenge 2011-02-06T00:35:37 then deleting mine 2011-02-06T00:35:39 and how are we doing scoring? 2011-02-06T00:35:50 j3camero: also, notice how i ported the wiki over 2011-02-06T00:36:05 yes i saw that 2011-02-06T00:36:33 woot, it's working 2011-02-06T00:36:41 with the food disappearing rule 2011-02-06T00:36:47 If the GitHub staff are happy to move stuff for us, though, it isn't really a problem. I don't think we're in a "OMG must be done in next hour" mode. 2011-02-06T00:37:02 antimatroid: good question. There are a few proposals. One involves introducing anthills that spew points. Another is to score according to how much food you ate. Another is to score according to how many ants you killed. 2011-02-06T00:37:20 Hardcore Forking Action 2011-02-06T00:37:34 I think whatever discourages cherry picking is good. 2011-02-06T00:37:35 Yeah amstan let's just move stuff over. I don't think anybody's grown any roots in your account's copy. 2011-02-06T00:37:53 @forget repo 2011-02-06T00:37:53 amstan: Job's done. 2011-02-06T00:37:53 just me ;) 2011-02-06T00:38:02 @learn repo as https://github.com/aichallenge/aichallenge 2011-02-06T00:38:02 amstan: As you wish. 2011-02-06T00:38:05 @repo 2011-02-06T00:38:06 amstan: repo = https://github.com/aichallenge/aichallenge 2011-02-06T00:38:08 dang, how do you do the crying emoticon 2011-02-06T00:38:15 Lovely. 2011-02-06T00:38:22 :`( 2011-02-06T00:38:27 i'll be working on the wiki now 2011-02-06T00:38:32 @repo 2011-02-06T00:38:33 j3camero: repo = https://github.com/aichallenge/aichallenge 2011-02-06T00:38:34 repo 2011-02-06T00:38:38 awesome 2011-02-06T00:38:41 :'( 2011-02-06T00:38:42 repo 2011-02-06T00:38:47 McLeopold: was that cherrypicking remark about git stuff or game stuff? 2011-02-06T00:38:48 @repo 2011-02-06T00:38:49 j3camero: repo = https://github.com/aichallenge/aichallenge 2011-02-06T00:38:54 game stuff 2011-02-06T00:39:13 scoring based on food eaten discourages camping. 2011-02-06T00:39:14 so, I think I favor kills. 2011-02-06T00:39:22 maybe we could do kills and births? 2011-02-06T00:39:22 j3camero: i think who killed who might be a bit hard to work out? 2011-02-06T00:39:25 combined 2011-02-06T00:39:36 antimatroid: it's not 2011-02-06T00:39:41 change what you score for each game :D 2011-02-06T00:39:42 there we go: https://github.com/aichallenge/aichallenge/wiki/_pages 2011-02-06T00:39:45 McLeopold: in that case go for it 2011-02-06T00:39:53 antimatroid: you could go with ants lost instead. Would be pretty much the same. 2011-02-06T00:39:57 I'm removing groups at a time, so everyone in the group gets credit for a percentage of the total kill value 2011-02-06T00:39:58 a death is a kill? 2011-02-06T00:40:15 a frag, you mean :P 2011-02-06T00:40:22 hold on.. i still have to give access 2011-02-06T00:40:27 amstan: I can has access? 2011-02-06T00:40:33 a death is a point, I think jmcarthur made fun of me for suggesting that 2011-02-06T00:40:37 i still like the idea of having ant hill that also net points and have a view radius, but it's maybe getting a bit like that snowballs snowmen then 2011-02-06T00:40:51 organizations don't work they same way.. apparently they have teams 2011-02-06T00:40:59 McLeopold: oh, right, that one where you try to suicide your ants while not being wiped out 2011-02-06T00:41:08 yep 2011-02-06T00:41:32 if you sit in the corner gaining ants, but don't use them, you don't get points 2011-02-06T00:41:37 I think the anthills are a distraction, since it only takes one ant to accupy them (costs nothing). 2011-02-06T00:41:46 but then, kills will do that to, since it is 1:1 or greater 2011-02-06T00:41:52 amstan: Yeah. Assign users to teams, give teams some level of access to repos. 2011-02-06T00:41:55 If you sit in the corner, you quickly stop getting new ants too. 2011-02-06T00:42:15 j3camero, not really. 2011-02-06T00:42:38 if you hold on to a small piece of land, and don't fight, you should slowly accumulate more than the opponents who are fighting 2011-02-06T00:42:49 then you can rush them 2011-02-06T00:42:50 who's apinkin again? 2011-02-06T00:43:02 pgpaskar_: want commit access? 2011-02-06T00:43:05 Anecdotally, if you camp on a small patch of land, you quickly die. 2011-02-06T00:43:17 only if attacked 2011-02-06T00:43:37 jbroman: done, i think 2011-02-06T00:43:37 amstan: just hand out commit access to anybody in this channel for now. Whatever. Worst case we can clean up after a vandal. 2011-02-06T00:44:00 so... points for every ant you get and every death? 2011-02-06T00:44:02 um, you can just pull in our changes from forks 2011-02-06T00:44:12 or is every going for mass fights at the end? 2011-02-06T00:44:19 1 point per ant-turn 2011-02-06T00:44:20 j3camero: accoun is in the channel... 2011-02-06T00:44:29 you get a point for every ant you have on each turn 2011-02-06T00:44:35 that would avoid combat though 2011-02-06T00:44:35 i like that 2011-02-06T00:44:42 amstan: exercise some judgement, but hand out commit access liberally. 2011-02-06T00:44:49 j3camero: and since this is github they don't need push access actually 2011-02-06T00:44:53 amstan: just let us fork the project, then you can watch changes and pull in the ones you like 2011-02-06T00:45:00 j3camero: they can fork at any time, make their changes, then pull what we want 2011-02-06T00:45:05 but there would be benefits to getting 1:3 kills and stuff that way 2011-02-06T00:45:07 jmcarthur: combat is for getting more territory for food? 2011-02-06T00:45:08 k sounds good 2011-02-06T00:45:28 antimatroid: yes, or for that (rare?) case that you can kill more enemies than your own 2011-02-06T00:45:28 j3camero: we should get a public email for @ai-contest 2011-02-06T00:45:38 i say go with one point per ant per turn for the moment and see how it goes in early testing... 2011-02-06T00:45:40 j3camero: pr@ ? lol 2011-02-06T00:45:58 amstan: we already have the @ai-contest.com email addresses better to use those. 2011-02-06T00:46:16 yeah, but this should be a publicly usable email 2011-02-06T00:46:21 something like.. info@ 2011-02-06T00:46:28 admin@ 2011-02-06T00:46:31 similar to exec@csclub 2011-02-06T00:46:35 266 turns with no food conflict, it looks like an edge case 2011-02-06T00:46:55 No man just put the CSC office phone number. They love getting calls from disenchanted contestants I hear. 2011-02-06T00:46:57 McLeopold: ? 2011-02-06T00:47:00 I'll get kill group stats soon 2011-02-06T00:47:23 jmcarthur: if food is in range of 2 different ants, remove it 2011-02-06T00:47:32 oh that's what you're talking about 2011-02-06T00:48:10 j3camero: oh man.. i got in trouble for that actually, lol 2011-02-06T00:48:24 you know csc... always blame amstan 2011-02-06T00:49:43 lol. How is it your fault that some crazy person called the office? 2011-02-06T00:50:05 j3camero: it was about those damn school/organizations updates 2011-02-06T00:50:29 There was no obvious way to contact contest organizers on the website 2011-02-06T00:50:32 Who cares what it was about. It was just some crazy dude. 2011-02-06T00:50:46 Therefore everyone saw "Computer Science Club" on the site and looked up that contact info. 2011-02-06T00:51:01 Maybe a "submit your org name" page? 2011-02-06T00:51:06 j3camero: actually.. it was the ceo for some gaming company that ebering had personal contact with 2011-02-06T00:51:10 wait hang on, someone called uw about updating organisations for the ai contest? 2011-02-06T00:51:15 that is gold 2011-02-06T00:51:23 antimatroid: yes, was in the office at the time 2011-02-06T00:51:28 antimatroid: The CEO of a game producing company. 2011-02-06T00:51:43 did you get free games? 2011-02-06T00:51:56 anyway.. moving on.. 2011-02-06T00:52:05 Yeah I remember who he was. But cmon. We don't have to attach any legitimacy to his craziness just because he is the CEO of something or other. 2011-02-06T00:52:10 who is apinkin??? 2011-02-06T00:52:13 McLeopold: For not responding promptly to forum posts. 2011-02-06T00:52:19 this is driving me crazy, lol 2011-02-06T00:52:20 McLeopold: if ant's aren't to have id, you could almost just print each player a char map each turn 2011-02-06T00:52:38 probably 2011-02-06T00:52:41 j3camero: In fairness, he said that he had tried to get the org added, was told "go away, post in the other forum", posted there, and days later nothing had been done. 2011-02-06T00:53:00 it'd mean a lot less input to receive... 2011-02-06T00:53:01 I realize it was chaotic by that point, but he wasn't crazy. 2011-02-06T00:53:22 And people were all like "the presence of crazy people on this planet means that Jeff must be doing a horrible job with the AI contest" and other equally brilliant inferences. 2011-02-06T00:53:43 you did go awl 2011-02-06T00:53:59 j3camero: OK, I think we're done here. 2011-02-06T00:54:06 If we want to relive that thread, 2011-02-06T00:54:09 can we talk input people? 2011-02-06T00:54:11 we can read our email histories. 2011-02-06T00:54:14 no, lets talk ants 2011-02-06T00:54:15 i'm writing a bot 2011-02-06T00:54:15 or git 2011-02-06T00:54:39 903 turns, the movie might be too big for imgur 2011-02-06T00:54:52 try imageshack otherwise, they always did me well 2011-02-06T00:57:52 903 turns, with a high score of 41. HunterBot doesn't understand hills... 2011-02-06T00:58:07 amstan: perhaps later, if i can even contribute much 2011-02-06T00:58:25 McLeopold: oh god, you've gone and indexed things x y :( 2011-02-06T00:58:46 j3camero: take note, grids should be indexed [row][col] not [x][y]!! 2011-02-06T00:58:57 this dimkadimon, he just replies to every topic possible on the suggestions forum 2011-02-06T00:59:01 Meh, as long as its consistent. 2011-02-06T00:59:04 amstan: yep : 2011-02-06T00:59:24 j3camero: actually.. it should be a[y][x] 2011-02-06T00:59:25 how about lat and long? 2011-02-06T00:59:29 if you wanna print it you're screwed 2011-02-06T00:59:56 [y][x] is far superior 2011-02-06T01:00:27 *** elimisteve is now known as elimisteve_fake 2011-02-06T01:00:29 How does numpy do it? 2011-02-06T01:00:33 x,y right? 2011-02-06T01:00:34 *** elimisteve_fake is now known as elimisteve 2011-02-06T01:00:36 For arrays? 2011-02-06T01:00:38 howevery you want 2011-02-06T01:00:49 j3camero: numpy is weird.. it has a matrix datastructure 2011-02-06T01:00:50 arrays are matrices 2011-02-06T01:00:56 matrices should be indexed row, col 2011-02-06T01:01:06 and it's easier for printing both maps and debugging stuff 2011-02-06T01:01:11 it just makes life easier 2011-02-06T01:01:21 and in lower level languages is also faster 2011-02-06T01:01:25 due to locality 2011-02-06T01:01:45 at least considering that you typically care about row operations, not column 2011-02-06T01:01:57 we care about both 2011-02-06T01:02:01 well, PIl uses: [x, y] 2011-02-06T01:02:04 and when you do care about column operations, *then* you decide whether to transpose for it or not 2011-02-06T01:02:37 Okay final call: should we call this thing ants or zombies? 2011-02-06T01:02:39 *** chris___0076 is now known as chris_0076 2011-02-06T01:02:48 I vote zombies, because it will instantly double pageviews. 2011-02-06T01:02:48 oh... with the current radius for fighting, can you fight something through a wall? 2011-02-06T01:02:49 monkeys and bananas 2011-02-06T01:02:55 j3camero: not zombies 2011-02-06T01:02:56 it doesn't really matter 2011-02-06T01:03:00 *** tapwater has quit IRC (Quit: tapwater) 2011-02-06T01:03:07 antimatroid: elaborate 2011-02-06T01:03:15 it's so overdone 2011-02-06T01:03:32 ants has been a running theme, i don't mind but i don't see why change? 2011-02-06T01:03:40 Dude. You get to write an AI whose job is to survive a zombie attack. 2011-02-06T01:03:51 ... as zombies 2011-02-06T01:04:06 fighting ant colonies makes slightly more sense 2011-02-06T01:04:17 nothing about this game screams "zombie" to me 2011-02-06T01:05:45 Which is more likely to get clicked on Reddit: ants or zombies? :-P 2011-02-06T01:05:53 boobs 2011-02-06T01:05:57 hmmmm 2011-02-06T01:05:57 but that's not gonna work 2011-02-06T01:06:00 you make a good point sir 2011-02-06T01:06:07 i think reddit would go for ants 2011-02-06T01:06:16 not necessarily over the top of zombies 2011-02-06T01:06:20 but i think ants has the appeal 2011-02-06T01:06:28 they get excited over any shit like this 2011-02-06T01:06:29 j3camero: i could not get the guy with the ants artwork onboard, he expected money: http://www.johnny3d.promail.ca/iak/iak.png 2011-02-06T01:06:30 hmm... killing through walls? 2011-02-06T01:06:51 McLeopold 2011-02-06T01:06:51 aXb? 2011-02-06T01:06:56 yes 2011-02-06T01:06:59 imagine more X's above and below if you want 2011-02-06T01:07:14 do they die? 2011-02-06T01:07:41 if I'm looking for connected ants, it might not be to hard to check a few points between for walls 2011-02-06T01:07:51 This could be the logo: http://1.bp.blogspot.com/_05RmVdK-3OY/SUbZFoTqOkI/AAAAAAAAAfo/fqASa0n6_iU/s400/ZombieKidcolored-1.jpg 2011-02-06T01:08:19 if we did manhattan distance we could factor in walls a bit more easily 2011-02-06T01:08:24 "All your brain are belong to us" 2011-02-06T01:08:34 i think for zombies you'd need to have "killed" agents changing sides 2011-02-06T01:08:34 Zombies seems unnecessarily contrived. Ants is the name we've used so far, and I think it makes sense. 2011-02-06T01:08:39 which would be messy with n player 2011-02-06T01:08:44 it might not *always* make sense, but walls would be attack blockers at least, except around corners 2011-02-06T01:08:47 McLeopold: it can apply to any game: all your colonies are belong to us 2011-02-06T01:09:00 I'm doing real distance 2011-02-06T01:09:05 McLeopold: all your paper, all your cycles 2011-02-06T01:09:14 i would use manhatten distance 2011-02-06T01:09:25 lol RPS. Seems like such a poor game choice looking back. 2011-02-06T01:09:27 that's the metric used for travel distance, why not just use it for everything? 2011-02-06T01:09:32 k, let's have a vote 2011-02-06T01:09:52 It looks like ants is the consensus here. 2011-02-06T01:10:02 j3camero: i always play rock in real life, i find most people play scissors 2011-02-06T01:10:09 So what do we actually call it? Ant Wars doesn't sound right to me. 2011-02-06T01:10:25 But Planet Wars does: 2011-02-06T01:10:29 Colony Wars? 2011-02-06T01:11:08 so no forum poll of win? http://ai-contest.com/forum/viewtopic.php?f=21&t=1311 2011-02-06T01:11:10 Hungry Hungry Termintes 2011-02-06T01:11:14 Omnomnomnom 2011-02-06T01:11:31 ant rush? 2011-02-06T01:11:33 Anthunt? 2011-02-06T01:11:45 Termite trouble 2011-02-06T01:11:47 * amstan is deleting the topic, all sad like zoidberg 2011-02-06T01:11:49 PIXEL EAT FOOD 2011-02-06T01:11:59 jmcarthur: +1 2011-02-06T01:12:21 Zombies VS Ants 2011-02-06T01:12:44 Killer Ants. 2011-02-06T01:12:55 seriously, i say call the kettle black. they're pixels 2011-02-06T01:13:17 Pixel Army 2011-02-06T01:13:18 and redditors would click on PIXEL EAT FOOD 2011-02-06T01:13:27 ;) 2011-02-06T01:13:36 jmcarthur: true, reddit upboats do matter 2011-02-06T01:13:37 Pixel March 2011-02-06T01:13:52 Pixel Derby 2011-02-06T01:13:55 Pixel Rush 2011-02-06T01:14:02 pixel ant? 2011-02-06T01:14:03 MechZombies 2011-02-06T01:14:05 Pixel Shuffle 2011-02-06T01:14:09 Pixel Power 2011-02-06T01:14:31 Pixel Parcour 2011-02-06T01:14:44 i designate McLeopold the role of writing the example bot called snakebot 2011-02-06T01:14:55 haha 2011-02-06T01:14:58 awesome idea 2011-02-06T01:15:07 lol 2011-02-06T01:15:09 yes 2011-02-06T01:15:17 I'll just make it like real snake, eat food, get longer! 2011-02-06T01:15:18 Ant Assault 2011-02-06T01:15:24 Bug Brigade 2011-02-06T01:15:35 Pixel Ants. PAnts for short 2011-02-06T01:15:37 Zombie Blitzkrieg. 2011-02-06T01:15:52 SeargAnt. 2011-02-06T01:15:53 have we got rage bot? 2011-02-06T01:16:00 i'll do that with this one i'm writing 2011-02-06T01:16:01 And Rage 2011-02-06T01:16:03 *ant 2011-02-06T01:16:08 antimatroid: the one we have now is ragebot 2011-02-06T01:16:10 (lame pun, but meh) 2011-02-06T01:16:12 poo 2011-02-06T01:16:19 :P 2011-02-06T01:16:20 Pixel Clash 2011-02-06T01:16:26 My final entry was AntBot... 2011-02-06T01:16:27 Pixel Carnage 2011-02-06T01:16:40 but there's no carnage 2011-02-06T01:16:43 Lexip? 2011-02-06T01:16:50 Oh nice 2011-02-06T01:16:51 tna? 2011-02-06T01:17:08 tna haha 2011-02-06T01:17:10 too nuch antformation 2011-02-06T01:17:13 Dance Dance Zombie Evolution 2011-02-06T01:17:29 I had a TA in first year who put the T & A in Teaching Assistant. 2011-02-06T01:17:51 all these names suck 2011-02-06T01:17:53 PixRoll 2011-02-06T01:17:58 Dance Dance Zombie Evolution Hero 2011-02-06T01:18:01 Ants. 2011-02-06T01:18:08 Zombie Swarm 2011-02-06T01:18:11 jbroman best suggestion yet 2011-02-06T01:18:25 http://en.wikipedia.org/wiki/Antz 2011-02-06T01:18:29 PIXEL EAT FOOD 2011-02-06T01:18:33 oh i think i said that one already 2011-02-06T01:18:37 *** Zannick has quit IRC (Read error: Operation timed out) 2011-02-06T01:18:42 *** Zannick has joined #aichallenge 2011-02-06T01:18:43 ant eat pixel 2011-02-06T01:18:48 zombie eat ant 2011-02-06T01:18:55 food eat pixel 2011-02-06T01:19:02 ants vs aliens 2011-02-06T01:19:04 but who was pixel?! 2011-02-06T01:19:06 s/aliens/zombies 2011-02-06T01:19:15 Color Crusade. 2011-02-06T01:19:23 pixels vs. pixels 2011-02-06T01:19:34 Let's go with cows, and call it "Mad Cow" 2011-02-06T01:19:47 sarah palin might take offense 2011-02-06T01:19:57 let's just call it Bikeshed and be done with it. good grief 2011-02-06T01:20:07 spoon 2011-02-06T01:20:10 Let's go with angry citizens and call it "Pro-Democracy Protest". Current events = popular, right? 2011-02-06T01:20:29 http://csclub.uwaterloo.ca/~amstan/aichallenge/simpleantswithfood.gif : #ff0000 vs #000000 vs #ffffff vs %ffff00 2011-02-06T01:20:32 egyption protesting? 2011-02-06T01:20:43 too long 2011-02-06T01:20:45 lol 2011-02-06T01:20:46 too soon? 2011-02-06T01:21:02 antimatroid: I may have been alluding to that. 2011-02-06T01:21:04 AntRoit 2011-02-06T01:21:06 Riot 2011-02-06T01:21:19 or ZombieRiot 2011-02-06T01:21:53 i suggest we stay with just plain and simple "ants" 2011-02-06T01:22:16 AntZombieRiot 2011-02-06T01:22:23 Yeah, I keep going back to Ants. 2011-02-06T01:22:24 I am leaning towards ants 2011-02-06T01:22:33 Not ant war or anything. Just ants. 2011-02-06T01:22:46 Disney might sue us. Then we could just run Tron instead. 2011-02-06T01:22:57 j3camero: disney used "antz" 2011-02-06T01:23:02 The Somewhat Ant-Inspired Pixel-Represented Artifical Intelligence Challenge In Which One Creates An Artifical Intelligence With The Goal Of Eating More Food Than The Entries Of Other Contestants 2011-02-06T01:23:07 j3camero: They can't trademark the name of an insect. 2011-02-06T01:23:24 Oh man nobody caught it. Disney owns Tron too :-D 2011-02-06T01:23:30 jbroman: watch them try :P 2011-02-06T01:23:52 antimatroid: Frame the C&D letter. 2011-02-06T01:24:10 i don't do english real good :P 2011-02-06T01:24:12 a C&D is actually a great way to get publicity 2011-02-06T01:24:21 if you whine and complain 2011-02-06T01:24:31 reddit laps that shit up 2011-02-06T01:24:39 and then go ahead and change the name like you lost 2011-02-06T01:24:41 big headlines 2011-02-06T01:24:53 or "fight it" which is even better 2011-02-06T01:25:00 Oh my god can we arrange to have someone send us a C&D letter? 2011-02-06T01:25:04 lol 2011-02-06T01:25:10 jmcarthur: like pidgin did? 2011-02-06T01:25:20 what did pidgin do? 2011-02-06T01:25:28 jmcarthur: Became Pidgin. 2011-02-06T01:25:29 Dude we could just make up some company that has a reason to not like us and write ourselves a letter. Put that up on reddit = instant karma and more contestants. 2011-02-06T01:25:39 jmcarthur: (Previously gaim) 2011-02-06T01:25:46 i actually know mark spencer and i don't know the details around this 2011-02-06T01:25:53 *** AlliedEnvy has quit IRC (Read error: Connection reset by peer) 2011-02-06T01:26:03 oh right, nevermind 2011-02-06T01:26:09 j3camero: "Hugo Chavez declares war on Google AI Challenge" 2011-02-06T01:26:09 aol hated it 2011-02-06T01:26:35 i think this was after mark already gave up maintaining it anyway 2011-02-06T01:26:38 *** AlliedEnvy has joined #aichallenge 2011-02-06T01:26:53 i think input should just be a char map 2011-02-06T01:27:02 YES jbroman! 2011-02-06T01:27:24 * jmcarthur waits for it to get shortened a bit... 2011-02-06T01:27:31 "Hugo Chavez declares war on Google" 2011-02-06T01:27:37 j3camero: Alternately, replace ai-contest.com with the DHS "domain seizure" page temporarily. 2011-02-06T01:27:48 Ohhhhh yes. 2011-02-06T01:27:58 So many ways to quadruple my karma. 2011-02-06T01:28:03 Moar 2011-02-06T01:28:04 (Reddit would hate us for doing this, but we would get karma.) 2011-02-06T01:28:08 only your reddti karma 2011-02-06T01:28:12 *** elimisteve has quit IRC (Ping timeout: 245 seconds) 2011-02-06T01:28:13 *reddit 2011-02-06T01:28:25 Everybody loves a good publicity stunt. 2011-02-06T01:28:38 whatever happened to just flashing your tits 2011-02-06T01:28:55 jmcarthur: That can be your job. 2011-02-06T01:29:01 perfect 2011-02-06T01:29:08 jmcarthur: that's only popular on 4chan 2011-02-06T01:29:11 What's great is that we could then go on Reddit with throwaway accounts and do a "It's shit like this, Google" post to out ourselves and that would get even MOAR pageviews :-D 2011-02-06T01:29:11 so.. are we using mcleopolds engine or starting fresh or going with what j3camero had? 2011-02-06T01:29:22 amstan: you hang out in circles that i don't then :P 2011-02-06T01:29:48 McLeopold's was throwaway to begin with i think 2011-02-06T01:29:55 so was mine 2011-02-06T01:29:58 and it's based on j3camero's 2011-02-06T01:30:06 so starting fresh i assume 2011-02-06T01:30:10 I think I'm just starting anew. 2011-02-06T01:30:19 Like, we didn't have anything that's any use. 2011-02-06T01:30:43 Can I write up some io rules for you then? and then everyone can critique? 2011-02-06T01:30:51 Yup for sure. 2011-02-06T01:31:04 Mines getting there 2011-02-06T01:31:06 didn't we decide on json? 2011-02-06T01:31:11 It's not a bad start 2011-02-06T01:31:34 Oh hell no. 2011-02-06T01:31:46 wow, what's wrong with json? 2011-02-06T01:32:00 Nothing's wrong with it. 2011-02-06T01:32:05 i think there was a bit of consensus on key value1 value2 value3\n 2011-02-06T01:32:11 means every noob has to set up a library to compile with there favorite language 2011-02-06T01:32:34 janzert: welcome to the party :) 2011-02-06T01:32:37 It's a dependency, which does not fly with starter packages. Starter packages have to "just work" in the worst kind of way. 2011-02-06T01:32:46 but i think most people agreed that it would make sense if we used json to just stick the libs and a complete build env in the starter packs 2011-02-06T01:32:48 makes sense 2011-02-06T01:32:51 janzert: the solution for that was to include the library in the starter package, as maybe 1 file 2011-02-06T01:32:55 io is easy anyway, i've never understood the json idea 2011-02-06T01:33:24 It's just way too big a hammer for the problem. We can avoid using JSON here. 2011-02-06T01:33:32 json just takes the thinking out of the communication format and it's extensible 2011-02-06T01:33:33 MESSAGETYPE freeformtext 2011-02-06T01:33:38 * janzert is just lurking watching things go by through the fog of nasty head cold :/ 2011-02-06T01:33:41 its the smallest hammer available 2011-02-06T01:33:52 but yeah, the simple type-tagged lines format is fine, IMO 2011-02-06T01:33:54 MAP 34 56 TRUE 2011-02-06T01:33:57 as long as it's consistently used 2011-02-06T01:34:11 ANT id x y 2011-02-06T01:34:25 no ids! 2011-02-06T01:34:26 uppercase hurts my eyes :P 2011-02-06T01:34:40 Dude caps lock is cruise control for cool. 2011-02-06T01:34:44 +1 for uppercase being eye hurtful 2011-02-06T01:34:52 J3CAMERO: IF YOU SAY SO 2011-02-06T01:34:53 billy mays is dead. sorry. 2011-02-06T01:34:55 OH YEAH, I'M FEELING THE COOL NOW 2011-02-06T01:34:59 jbroman: aaaa 2011-02-06T01:35:09 PIXEL EAT FOOD 2011-02-06T01:35:15 dammit that just slipped out 2011-02-06T01:35:22 lol 2011-02-06T01:35:47 ANT player_id x y 2011-02-06T01:35:54 is probably more what you want 2011-02-06T01:36:05 ant x y 2011-02-06T01:36:13 or something like that 2011-02-06T01:36:54 so i created an ants directory, git added it. But when I try to git commit it says there's nothing to commit. 2011-02-06T01:37:05 git likes files 2011-02-06T01:37:06 http://imgur.com/3MaGb 2011-02-06T01:37:20 just to prove the current death and birth rules are working... 2011-02-06T01:37:25 j3camero: git doesn't track folders, add files in it and it'll like you 2011-02-06T01:38:22 thats messed up 2011-02-06T01:39:00 Hey if we all just have code files on our computers and we send them back and forth by email, is that a DVCS? 2011-02-06T01:39:02 which branch is being used for ants? 2011-02-06T01:39:22 j3camero: You kid, but the kernel team did just that (well, with patches) for a long time. 2011-02-06T01:39:28 okay, pushed latest changes to git 2011-02-06T01:39:46 email for patches is a common thing in darcs, actually 2011-02-06T01:39:55 Zannick: if we're extending the ants idea that jeff initiated, then simpleants 2011-02-06T01:39:56 although darcsden at least has forking a la github 2011-02-06T01:40:31 git does also support the email workflow 2011-02-06T01:40:34 you guys are going to hate my distance code, though 2011-02-06T01:40:39 Man, I just really love SVN. 2011-02-06T01:40:44 ... 2011-02-06T01:40:49 did we decide on mannhat distance? 2011-02-06T01:40:51 * jmcarthur punchifies j3camero in the face 2011-02-06T01:40:58 haha okay okay 2011-02-06T01:41:01 2011-02-06T01:41:06 McLeopold: no decision was made i think 2011-02-06T01:41:25 j3camero: have you seen this? http://www.youtube.com/watch?v=4XpnKHJAok8 , see this! 2011-02-06T01:42:43 Aw man 1:10:15 2011-02-06T01:42:49 TL;DR? 2011-02-06T01:43:17 j3camero: "Git is awesome and everything else is stupid." ~Linus Torvalds 2011-02-06T01:43:34 Okay when I do git status it say "On branch pw". Is this normal? Should I maybe be working on some other branch? 2011-02-06T01:43:51 this one is much shorter ;) http://www.youtube.com/watch?v=iOGmwA5yBn0 2011-02-06T01:44:14 j3camero: Currently, the default branch is "pw". 2011-02-06T01:44:15 but more boring overall 2011-02-06T01:44:19 j3camero: that's up to you. pw has all the code from last time 2011-02-06T01:44:24 You can checkout other branches if you want to work on them. 2011-02-06T01:44:29 j3camero, McLeopold: http://pastebin.com/0VErj4qF 2011-02-06T01:44:38 but simpleants is where you previously put the ants stuff 2011-02-06T01:44:38 that's what I imagine would work well? 2011-02-06T01:44:43 j3camero: if you want to work on ants do "git checkout -b simpleants origin/simpleants" 2011-02-06T01:45:35 we'll later merge ants into whatever contest framework we want to use 2011-02-06T01:45:39 amstan: I did that command with remotes. did I need that? 2011-02-06T01:46:08 McLeopold: not sure 2011-02-06T01:46:41 @repo 2011-02-06T01:46:41 McLeopold: repo = https://github.com/aichallenge/aichallenge 2011-02-06T01:47:12 did you guys get control of that yet? 2011-02-06T01:47:12 oh, and each player is to return "go\n" at the end of each turn including turn 0 2011-02-06T01:47:19 or is the repo somewhere else? 2011-02-06T01:47:29 McLeopold: yep, it's ours 2011-02-06T01:47:42 should I see jeff's changes yet? 2011-02-06T01:47:52 McLeopold: if he pushed 2011-02-06T01:48:03 dang, it's forked from yours 2011-02-06T01:48:35 McLeopold: so? 2011-02-06T01:49:04 sweet, I'm connected on the fork graph, so you can pull my changes 2011-02-06T01:49:18 can you do that from github itself? 2011-02-06T01:50:10 i'm looking into it 2011-02-06T01:50:22 you know what.. i'll just do it locally, safer then 2011-02-06T01:51:04 McLeopold: what do you think of that io? it would make it simpler i think 2011-02-06T01:51:15 i accidentally copied across that stuff from the bottom 2011-02-06T01:51:47 you on etherpad? 2011-02-06T01:52:01 hang on, i'll put it there 2011-02-06T01:52:09 McLeopold: what's with all these txt files? 2011-02-06T01:52:28 and html? 2011-02-06T01:52:40 map files 2011-02-06T01:52:57 the viewer helps me step through battle resolution steps 2011-02-06T01:53:01 it's for debugging 2011-02-06T01:53:38 it's rather disorganized 2011-02-06T01:53:52 well, yeah 2011-02-06T01:53:58 I was following the leader... 2011-02-06T01:54:46 so, the value is in the ant_map.py file 2011-02-06T01:55:17 as soon as bots are properly setup with a communication protocol, then you can get rid of the deepcopy stuff and speed it up 2011-02-06T01:56:05 so why is there txt files and png files for maps now? 2011-02-06T01:56:35 because .txt is easier :P 2011-02-06T01:57:01 *** chris__0076 has joined #aichallenge 2011-02-06T01:57:32 I think it is useful to prefix the lines with a letter, like we did before 2011-02-06T01:58:23 if you do it like that, it's not necessary 2011-02-06T01:58:34 what you wrote is good 2011-02-06T01:58:41 I think that covers it 2011-02-06T01:58:51 except for matching up coordinates, maybe? 2011-02-06T01:59:31 should we send text of the entire map and have '?' chars be unexplored? 2011-02-06T01:59:59 *** chris_0076 has quit IRC (Ping timeout: 240 seconds) 2011-02-06T02:00:11 you mean ~ = ?, yeah i like that? 2011-02-06T02:00:17 oh, just saw that, yeah 2011-02-06T02:00:19 what about matching up coordinates? 2011-02-06T02:00:26 ? is cooler 2011-02-06T02:01:02 # can be wall, if we don't do comments 2011-02-06T02:01:36 the player is always 'a'? 2011-02-06T02:02:09 hmmm yeah i guess 2011-02-06T02:02:27 aichallenge: Alexandru Stan simpleants * r0b287a2 / (README.md README): Added stuff to the readme - http://bit.ly/e29itZ 2011-02-06T02:03:34 k, going to bed 2011-02-06T02:04:21 aichallenge: chris0076 simpleants * r0e0c4ea / map.py : Made the image interaction a tad bit faster. - http://bit.ly/eN546N 2011-02-06T02:06:19 Okay I'm heading out for the night. 2011-02-06T02:06:30 Gonna have some tea and read cheap sci fi novels then go to sleep. 2011-02-06T02:08:48 Oh sweet I did a commit and a push. 2011-02-06T02:09:26 God damn github has a nice interface. Is there anything like this but open source that I could set up at work? 2011-02-06T02:09:31 Right now I'm using InDefero. 2011-02-06T02:09:35 oh, cia is following amstan/aichallenge 2011-02-06T02:09:39 and not aichallenge/aichallenge 2011-02-06T02:09:44 Zannick: yeah.. about to fix 2011-02-06T02:12:27 j3camero: so you don't want to do that merging idea? and still continue working in the simpleants branch/ 2011-02-06T02:13:30 j3camero: i was thinking to do everything ants related in this branch: https://github.com/aichallenge/aichallenge/tree/simpleants 2011-02-06T02:13:36 j3camero: even delete everything there and start over 2011-02-06T02:13:43 j3camero: then merge it into that pw branch 2011-02-06T02:28:44 Why have a different branch for this contest? 2011-02-06T02:28:50 Why not just a different directory? 2011-02-06T02:29:38 j3camero: merging 2011-02-06T02:30:12 j3camero: Do you mean "I am merging them", or "They are in different branches due to merging"? 2011-02-06T02:30:25 amstan* 2011-02-06T02:30:45 jbroman: so it's easy to merge stuff later 2011-02-06T02:31:21 jbroman: when someone wants to fork/branch the code because of a change in the ants engine they'll want to work on ants, and not have to worry about other stuff like the website 2011-02-06T02:31:52 i guess it could work.. 2011-02-06T02:32:37 So the "cd" into the ants subdir? 2011-02-06T02:32:47 And merging is particularly trivial for changes to separate files. 2011-02-06T02:32:58 fine 2011-02-06T02:37:34 amstan: in what branch did jeff create the ants/readme file? 2011-02-06T02:37:43 McLeopold: master 2011-02-06T02:38:32 well crap, I do "git checkout master" and I get the simpleants stuff? 2011-02-06T02:39:27 McLeopold: wait.. darn, sorry 2011-02-06T02:39:30 McLeopold: not master, pw 2011-02-06T02:39:53 doesn't that stand for planet wars? 2011-02-06T02:40:10 yes, it should have been renamed 2011-02-06T02:40:24 to "current contest"? 2011-02-06T02:40:29 yes 2011-02-06T02:40:33 okay 2011-02-06T02:40:59 epsilon and zeta 2011-02-06T02:41:06 i'll do that tomorrow 2011-02-06T02:41:20 hmm... I'm not getting his file? 2011-02-06T02:41:35 McLeopold: make sure you have origin set to aichallenge/aichallenge 2011-02-06T02:42:07 Well, I don't have commit access directly, so I'm going off of my fork. 2011-02-06T02:42:16 make sure your fork is up to date then 2011-02-06T02:42:48 I've done "git remote add official https://gitgub.com/aichallenge/aichallenge.git" 2011-02-06T02:42:58 git checkout master 2011-02-06T02:43:04 git pull official master 2011-02-06T02:43:22 I thought you said pw? 2011-02-06T02:43:22 darn! 2011-02-06T02:43:24 pw 2011-02-06T02:43:27 yes 2011-02-06T02:43:30 bam, there it is 2011-02-06T02:43:43 this is so confusing, lol 2011-02-06T02:43:49 lol 2011-02-06T02:43:53 we have to make sure we have properly defined terms 2011-02-06T02:43:54 I'm getting it... 2011-02-06T02:44:02 master and pw are bad, lol 2011-02-06T02:44:52 past, present, fruture 2011-02-06T02:44:54 future * 2011-02-06T02:44:55 if I "git checkout pw" then "git fetch official" it should do the same thing? 2011-02-06T02:45:18 McLeopold: fetch only downloads the changes, doesn't merge them in the branch 2011-02-06T02:45:30 the branch will still point to the old changes 2011-02-06T02:45:47 fetch+merge=pull 2011-02-06T02:45:53 okay 2011-02-06T02:46:04 but I could pull, then merge and still be ok 2011-02-06T02:46:20 ugh.. 2011-02-06T02:46:21 i mean, fetch, then pull 2011-02-06T02:46:27 dang! 2011-02-06T02:46:30 nevermind 2011-02-06T02:46:52 "git pull official pw" = "git fetch official" + "git merge official/pw" 2011-02-06T02:50:57 *** elimisteve has joined #aichallenge 2011-02-06T02:51:16 oh crap, I've got a simpleants merged with a master? 2011-02-06T02:51:37 this is jeff's fault 2011-02-06T02:51:40 totally 2011-02-06T02:51:56 McLeopold: don't push? lol 2011-02-06T02:52:09 I might just wipe it all out and start over 2011-02-06T02:52:17 with the pulls 2011-02-06T02:52:31 McLeopold: s/officia/upstream 2011-02-06T02:52:49 I already had an upstream 2011-02-06T02:52:52 which was yours 2011-02-06T02:53:04 mine's not going to be used anymore though 2011-02-06T02:53:10 it's there for backwards compatibility 2011-02-06T02:53:17 ok 2011-02-06T03:37:02 are we still using the apache license for code? 2011-02-06T03:42:13 No. 2011-02-06T03:43:17 any particular license? i tend to use gpl for the things i post publicly 2011-02-06T03:44:54 oh... are you actually giving relative information? 2011-02-06T03:44:58 that can suck for debugging 2011-02-06T03:45:20 *** boegel has joined #aichallenge 2011-02-06T03:45:33 huh? 2011-02-06T03:45:54 gpl tends to suck for commercial stuff. But it's awesome for non-profit stuff. 2011-02-06T03:46:22 There is always WTFPL http://sam.zoy.org/wtfpl/ 2011-02-06T03:47:22 Does anyone know if WTFPL is an actual legal license? If so, I am totally down. 2011-02-06T03:48:21 i doubt "do what the fuck you want to" is the correct legal wording for it 2011-02-06T03:50:00 sure, it's a 'legal' license. But I'm pretty sure it's never been tested in court to see if the legal meaning is what you think it means :P 2011-02-06T03:50:25 Has the GPL? 2011-02-06T03:51:05 i can barely even imagine how the wtfpl would land in court 2011-02-06T03:51:16 I'm not sure any of the times the GPL went to court it has come down to an actual decision 2011-02-06T03:51:39 maybe if someone who put something under the wtfpl decided to reassert under the bern convention or something 2011-02-06T03:51:53 Let's do it. 2011-02-06T03:51:54 which would be extremely silly 2011-02-06T03:51:56 Zannick: yeah, that would seem to be about it 2011-02-06T03:52:26 i personally am not really a fan, but sure 2011-02-06T03:54:43 * janzert has MIT as his preferred license but doesn't really care much 2011-02-06T03:55:02 it matters so little 2011-02-06T03:55:09 yep 2011-02-06T03:55:19 well, in general 2011-02-06T03:55:25 in this case 2011-02-06T03:55:40 er, i'm tired 2011-02-06T03:55:43 * Zannick sleep 2011-02-06T03:55:53 janert: why do you like MIT in particular? 2011-02-06T03:57:23 basically it has about the fewest restrictions on what anyone can do with it, while still being a serious license 2011-02-06T03:57:51 also it's popular enough that a lot of people will know right off what it is 2011-02-06T03:57:58 and it's nice and short :) 2011-02-06T03:58:28 at least those are a few things off the top of my head :P 2011-02-06T04:02:18 How is it better than BSD or Apache? 2011-02-06T04:02:36 They are both pretty short and let you do basically whatever you want. 2011-02-06T04:03:13 used to use BSD before MIT came along, it suffers from the confusion over the 3 clause and 2 clause version mostly 2011-02-06T04:03:47 and I've never looked into the apache license real close since I'm happy with MIT 2011-02-06T04:04:16 and looking at it again, it's nowhere near as short 2011-02-06T04:04:32 *** mega1 has joined #aichallenge 2011-02-06T04:05:51 I though that the MIT came first then the BSD 2011-02-06T04:06:01 thought 2011-02-06T04:06:38 Whoa, there's a license shorter than Apache? 2011-02-06T04:07:37 delt0r: hmm, not actually sure when the MIT license first came out 2011-02-06T04:07:50 I know BSD has been around since the late 70's 2011-02-06T04:08:08 I guess I just became aware of the MIT license several years after BSD 2011-02-06T04:08:30 actually wikipedia says MIT license was published in 1988 2011-02-06T04:09:01 j3camero: the actual license is a couple of pages long 2011-02-06T04:09:03 http://www.apache.org/licenses/LICENSE-2.0.html 2011-02-06T04:09:30 of course it covers several more situations that the BSD and MIT license don't 2011-02-06T04:09:38 I am impressed with the MIT license. The only requirement is that the permission notice be included. We can deal with that. 2011-02-06T04:10:40 wow, the engine runs so much faster outside of my virtualbox 2011-02-06T04:12:18 My understanding is that MIT ~= 2 clause BSD 2011-02-06T04:12:57 delt0r_: very close yes 2011-02-06T04:13:40 actually it's almost a one clause BSD 2011-02-06T04:14:09 it doesn't specifically separate binary redistribution 2011-02-06T04:14:44 Is it "compatible" with GPLv2? 2011-02-06T04:14:51 yep 2011-02-06T04:15:04 even 2 clause BSD is 2011-02-06T04:15:09 The FSF asserts that both are 2011-02-06T04:15:29 I'm pretty sure that's the primary reason the 2 clause BSD came about actually 2011-02-06T04:16:41 * janzert decides to try the sleep thing again as well 2011-02-06T04:21:17 *** sigh has joined #aichallenge 2011-02-06T04:21:41 not yet! 2011-02-06T04:21:53 I've got a sample game coming... 2011-02-06T04:22:13 ... :) 2011-02-06T04:22:16 sample games are good 2011-02-06T04:24:12 HunterBot really sucks 2011-02-06T04:24:29 i'm still devestated about conflict resolution 2011-02-06T04:24:54 McLeopold: hunt or gather... 99.9 times out of 1000 the best choice is to gather.... 2011-02-06T04:25:11 antimatroid: ?? 2011-02-06T04:25:45 ahh, now that I perused wikipedia some more delt0r is indeed right that the MIT license is older than BSD. 2011-02-06T04:26:08 and I was also misremembering that it was the 4-clause to 3-clause change that was made to make it GPL compatible 2011-02-06T04:26:22 really? wow my lucky week. Got a paper published... and i was right once :D 2011-02-06T04:26:24 my memory is already shot 2011-02-06T04:26:32 http://img143.imageshack.us/i/moviey.gif/ 2011-02-06T04:26:45 whoops 2011-02-06T04:26:53 forgot to clean the directory 2011-02-06T04:27:10 delt0r: congrats on the paper, and jmcarthur came up with really awesome resolution rules 2011-02-06T04:27:38 but it doesn't look like they'll be used 2011-02-06T04:28:31 what were these rules you speak off? 2011-02-06T04:29:00 delt0r_: are you asking me for strategy on this game already? 2011-02-06T04:29:22 to see if an ant dies: count all ants adjacent enemies, if there is an adjacent enemy whose count is <= a particular ant, it dies 2011-02-06T04:29:45 McLeopold: Well its kinda known from ecology and hunter gather simulations... gather is better most of the time... 2011-02-06T04:30:37 antimatroid: I thought thats what McLeopold is using 2011-02-06T04:31:15 delr0r_: jeff didn't like it 2011-02-06T04:31:25 delt0r_: you've got 16 hours of irc to catch up on 2011-02-06T04:32:03 We had quite an interesting discussion. I do say that was some nice IRC-ing. 2011-02-06T04:32:50 My daughter is amazed at "group chat" on facebook... I said she is more than 15 years late to the party 2011-02-06T04:33:13 *** Palmik has joined #aichallenge 2011-02-06T04:33:29 my favourite bash quote is referring to irc as multiplayer notepad 2011-02-06T04:35:20 IRC is awesome. 2011-02-06T04:35:35 I feel the discussion was worth it. I think we've nailed down the specs for a good game, this is simple and fun. 2011-02-06T04:35:54 So ant is the 100% decided next game then? 2011-02-06T04:36:10 ants 2011-02-06T04:36:12 j3camero: how about dots and boxes? 2011-02-06T04:36:28 Yes. Dots and boxes. It is 100% decided. 2011-02-06T04:37:16 (already got the bot...) 2011-02-06T04:37:32 (already got the engines...) 2011-02-06T04:37:51 delt0r_: we are going with Antz, for the disney rip-off value 2011-02-06T04:37:53 you guys messing with me 2011-02-06T04:38:04 Zomibie 2011-02-06T04:38:08 antz 2011-02-06T04:38:18 zombie ants 2011-02-06T04:38:19 Zombie Ants? 2011-02-06T04:38:23 i like it 2011-02-06T04:38:24 oh wait --its all sparkly vampires these days 2011-02-06T04:38:26 that's perfect 2011-02-06T04:38:28 k but actually we cant call it antz. For serious. 2011-02-06T04:38:33 how did we miss that 2011-02-06T04:38:57 my current vote is for zombie ants 2011-02-06T04:39:01 we need an artist... 2011-02-06T04:39:08 frontier 2011-02-06T04:39:10 and delt0r 2011-02-06T04:39:14 for visualisers 2011-02-06T04:39:22 welll 2011-02-06T04:39:27 visualize....pixels 2011-02-06T04:39:34 I am kinda stupid busy at the moment... 2011-02-06T04:39:34 delt0r_: i wasn't giving you any choice :P 2011-02-06T04:39:42 bleh alright 2011-02-06T04:39:56 someone else must make a jbotmanager for zombie ants 2011-02-06T04:40:06 http://1.bp.blogspot.com/_05RmVdK-3OY/SUbZFoTqOkI/AAAAAAAAAfo/fqASa0n6_iU/s400/ZombieKidcolored-1.jpg 2011-02-06T04:40:10 I was looking forward to your ZombieAnts java utility... 2011-02-06T04:40:21 however I may still have the time... i do have weekends 2011-02-06T04:40:31 and the skiing is crap at the moment 2011-02-06T04:40:53 delt0r are you from austrialia or something? 2011-02-06T04:40:54 we still need ranking stuff yeah? 2011-02-06T04:40:57 where are you that you can ski? 2011-02-06T04:41:01 NZer 2011-02-06T04:41:05 j3camero: it's summer here :P 2011-02-06T04:41:10 But i live in Austra 2011-02-06T04:41:14 Austria 2011-02-06T04:41:23 dude the skiing is perfect is autria 2011-02-06T04:41:29 Too warm 2011-02-06T04:41:35 lots of ice 2011-02-06T04:41:40 not enough snow 2011-02-06T04:42:00 its 10C at the top today at one of the closer fields 2011-02-06T04:42:24 2 weeks ago it was -5C at the bottom and -15C at the top 2011-02-06T04:42:37 which is more like it 2011-02-06T04:42:59 j3camero: I thought of another question for move resolution. My current implementation kills ants of the same color if they are sent to the same spot. 2011-02-06T04:43:30 because there really wasn't a good method for bumping them. 2011-02-06T04:44:20 I'm thinking it will be nicer for the novice programmers to not have to order their ants' orders. 2011-02-06T04:46:05 McLeopold: what does ordering moves have to do with it? 2011-02-06T04:46:36 if you take the bot's moves in order, you can just bump ants if the space isn't clear 2011-02-06T04:46:51 but then, the bot has to be smart about the order they put their moves in 2011-02-06T04:47:30 what if a bot wanted to send 4 ants in a circle? 2011-02-06T04:47:50 it is easier to just move all ants to a new map, and kill dups 2011-02-06T04:48:08 that last part is what I would have always expected? 2011-02-06T04:48:14 you don't have to order anything, and you give the bot the largest chance of all moves working 2011-02-06T04:48:27 yeah, i am not sure why anything would have needed ordering :P 2011-02-06T04:48:35 that was my issue, all good 2011-02-06T04:48:36 yes, for bots that do good moves, no problem 2011-02-06T04:48:55 but some may order to the same spot on accident 2011-02-06T04:49:13 j3camero: looking for an ok on the above logic 2011-02-06T04:49:59 http://img145.imageshack.us/i/moviek.gif/ 2011-02-06T04:50:12 antimatroid: does that link work for you? 2011-02-06T04:51:57 it does 2011-02-06T05:06:44 *** delt0r___ has joined #aichallenge 2011-02-06T05:08:28 *** delt0r_ has quit IRC (Ping timeout: 276 seconds) 2011-02-06T05:10:13 http://img833.imageshack.us/i/movief.gif/ 2011-02-06T05:14:48 McLeopold: is this a draft for the next contest? 2011-02-06T05:15:21 looks bloody cool 2011-02-06T05:20:06 good 2011-02-06T05:21:37 McLeopold: is this what the next contest may be like? 2011-02-06T05:24:59 yes 2011-02-06T05:28:49 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-02-06T05:30:11 *** McLeopold has left #aichallenge 2011-02-06T05:30:23 *** McLeopold has joined #aichallenge 2011-02-06T05:59:11 McLeopold: any time frame set yet? 2011-02-06T05:59:27 McLeopold: and, are you joining in? because it seems your bot is doing fairly well already ^_^ 2011-02-06T06:00:33 *** boegel has quit IRC (Quit: Leaving) 2011-02-06T06:23:20 *** boegel has joined #aichallenge 2011-02-06T06:46:06 *** mceier has joined #aichallenge 2011-02-06T07:29:57 *** Blkt has joined #aichallenge 2011-02-06T08:07:09 *** sigh has quit IRC (Remote host closed the connection) 2011-02-06T08:07:41 boegel: no time frame has been set 2011-02-06T08:07:48 stuff will be ready when it's ready 2011-02-06T08:07:55 antimatroid: ok, thx, just wondering :) 2011-02-06T08:12:18 McLeopold: I added characters to the start of lines again 2011-02-06T08:12:28 for input 2011-02-06T08:14:09 scratch that, it didn't make things any easier like i thought 2011-02-06T08:14:56 actually, it's still needed 2011-02-06T08:35:16 *** Naktibalda has joined #aichallenge 2011-02-06T08:52:46 *** Meatkat has joined #aichallenge 2011-02-06T08:55:56 *** boegel has quit IRC (Quit: Leaving) 2011-02-06T10:10:58 @j3camero what was the result of last nights discussion? We had a power cut here :( 2011-02-06T10:10:59 Meatkat: User error, it's not my fault. 2011-02-06T10:11:02 dur... 2011-02-06T10:11:39 @topic 2011-02-06T10:11:39 antimatroid: Official Google AI Challenge: http://ai-contest.com/ || Channel Logs: http://contestbot.hypertriangle.com/ || Congratulations to bocsimacko for first place! || Roadmap for the next two contests: http://www.ai-contest.com/forums/viewtopic.php?f=20&t=1238 2011-02-06T10:11:58 Meatkat: http://contestbot.hypertriangle.com/ 2011-02-06T10:12:01 but the logs are quite long 2011-02-06T10:29:01 wow... that was a really long discussion 2011-02-06T10:33:28 *** Blkt` has joined #aichallenge 2011-02-06T10:33:55 *** Blkt has quit IRC (Read error: Operation timed out) 2011-02-06T10:36:13 Also: I still stand 100% behind switching the theme to zombies. In fact from this minute forward I will be assuming said change has already happened. 2011-02-06T10:39:07 Having zombies running around eating people will increase traffic to the site about approximately 10,000%, it's science. 2011-02-06T10:40:31 Plus zombies makes a lot more sense. When was the last time you saw ant ant run into a piece of food and instantaneously asexually reproduce? 2011-02-06T10:41:05 Additionally there is no 'queen' nor is there a 'base' or any sort. 2011-02-06T11:01:00 i think i may have found a way to express the current combat algorithm in similar language to how i've been describing mine. maybe if i got this right then it would make a more direct comparison possible 2011-02-06T11:01:10 here's mine: A lives if A.opponents.length < A.opponents.map(.opponents.length).minimum 2011-02-06T11:01:20 here's the current one: A lives if A.opponents.map(.distanceTo(A)).minimum > A.opponents.map(lambda(E){E.opponents.map(.distanceTo(E)).minimum}).maximum 2011-02-06T11:01:45 at least i think that's the one we have in there right now 2011-02-06T11:01:54 it's the last one we discussed and seemed to treat positively 2011-02-06T11:01:58 *** boegel has joined #aichallenge 2011-02-06T11:02:52 antimatroid: ^^ 2011-02-06T11:03:10 i don't know who else to highlight. probably most relevant people aren't here right now 2011-02-06T11:03:38 *** choas has joined #aichallenge 2011-02-06T11:06:13 i don't want to start comparing them rigorously until somebody at least verifies that i got it right 2011-02-06T11:06:30 i know that formulation isn't the same as the algorithm currently being used 2011-02-06T11:06:39 but i think it is equivalent 2011-02-06T11:07:30 that was my attempt to make it possible to determine the outcome of a battle from the viewpoint of a single ant 2011-02-06T11:08:59 my biggest uncertainty is that i got some "minimum" and "maximum" things switched up, or that i used "<" instead of ">" or something 2011-02-06T11:14:14 *** amstan has joined #aichallenge 2011-02-06T11:14:14 *** ChanServ sets mode: +o amstan 2011-02-06T11:15:29 i can remove some redundancy from both i think 2011-02-06T11:16:22 *** Meatkat has quit IRC (Ping timeout: 250 seconds) 2011-02-06T11:17:09 mine can be simplified to: A lives if A.numOpponents < A.opponents.map(.numOpponents).minimum 2011-02-06T11:17:24 and the one i think is being used currently: A lives if A.minDistToOpponent > A.opponents.map(.minDistToOpponent).maximum 2011-02-06T11:17:50 any commits? 2011-02-06T11:18:05 assuming you define numOpponents and minDistToOpponent for each, of course 2011-02-06T11:18:23 dunno, i just got here about 15 minutes ago 2011-02-06T11:18:55 nope 2011-02-06T11:19:08 i thought of a way to describe the distance-based combat resolution in the same kind of language as my proposed algorithm, so now we can compare them more directly 2011-02-06T11:19:23 assuming i got it right 2011-02-06T11:28:03 *** amriedle has joined #aichallenge 2011-02-06T12:09:41 *** bhasker has joined #aichallenge 2011-02-06T12:09:47 *** Blkt` is now known as Blkt 2011-02-06T12:16:16 * pgpaskar_ kersplodes 2011-02-06T12:20:33 *** Frontier has joined #aichallenge 2011-02-06T12:21:24 *** bhasker has quit IRC (Quit: bhasker) 2011-02-06T12:30:48 *** boegel has quit IRC (Ping timeout: 245 seconds) 2011-02-06T12:35:43 *** boegel has joined #aichallenge 2011-02-06T12:38:06 *** dlila has joined #aichallenge 2011-02-06T12:55:10 *** boegel has quit IRC (Quit: Leaving) 2011-02-06T13:03:45 *** dr`away is now known as dr- 2011-02-06T13:07:19 *** delt0r_ has joined #aichallenge 2011-02-06T13:08:44 *** delt0r___ has quit IRC (Ping timeout: 245 seconds) 2011-02-06T13:15:22 *** Naktibalda has quit IRC (Remote host closed the connection) 2011-02-06T13:24:49 *** Naktibalda has joined #aichallenge 2011-02-06T13:42:20 *** Blkt` has joined #aichallenge 2011-02-06T13:44:31 *** Blkt has quit IRC (Ping timeout: 276 seconds) 2011-02-06T13:45:33 *** McLeopold has left #aichallenge 2011-02-06T14:26:22 *** Mathnerd314 has joined #aichallenge 2011-02-06T14:36:34 *** Blkt`` has joined #aichallenge 2011-02-06T14:37:54 *** Blkt` has quit IRC (Ping timeout: 250 seconds) 2011-02-06T14:51:20 *** delt0r___ has joined #aichallenge 2011-02-06T14:53:33 *** delt0r_ has quit IRC (Ping timeout: 276 seconds) 2011-02-06T15:13:32 *** iFire has quit IRC (Read error: Connection reset by peer) 2011-02-06T15:15:05 *** iFire has joined #aichallenge 2011-02-06T15:17:25 *** iFire has joined #aichallenge 2011-02-06T15:22:35 *** Accoun has quit IRC () 2011-02-06T15:25:01 *** Blkt`` has quit IRC (Quit: ERROR: do not makunbound t please!) 2011-02-06T15:35:39 *** Accoun has joined #aichallenge 2011-02-06T15:39:45 *** sigh has joined #aichallenge 2011-02-06T15:41:47 *** delt0r_ has joined #aichallenge 2011-02-06T15:42:55 *** delt0r___ has quit IRC (Ping timeout: 240 seconds) 2011-02-06T15:54:37 *** Naktibalda has quit IRC (Remote host closed the connection) 2011-02-06T16:07:40 *** sigh has quit IRC (Remote host closed the connection) 2011-02-06T17:14:42 *** sigh has joined #aichallenge 2011-02-06T17:16:03 *** mega1 has quit IRC (Read error: Operation timed out) 2011-02-06T17:31:01 *** dlila has quit IRC (Quit: Leaving) 2011-02-06T17:32:50 *** tapwater has joined #aichallenge 2011-02-06T17:38:56 *** Palmik has quit IRC (Read error: Connection reset by peer) 2011-02-06T17:40:50 *** choas has quit IRC (Quit: leaving) 2011-02-06T17:42:24 *** mceier has quit IRC (Quit: leaving) 2011-02-06T17:49:52 *** dr- is now known as dr`away 2011-02-06T17:51:25 *** McLeopold has joined #aichallenge 2011-02-06T18:02:19 *** amriedle has quit IRC (Quit: Lost terminal) 2011-02-06T18:15:16 jmcarthur: i'm playing with it now 2011-02-06T18:16:06 i think it works 2011-02-06T18:16:17 McLeopold: have you seen it? 2011-02-06T18:23:13 i'll restate 2011-02-06T18:23:34 mine: A lives if A.numOpponents < A.opponents.map(.numOpponents).minimum 2011-02-06T18:23:46 current: A lives if A.minDistToOpponent > A.opponents.map(.minDistToOpponent).maximum 2011-02-06T18:23:54 i still prefer yours 2011-02-06T18:23:57 me too 2011-02-06T18:24:14 but at least now it's clear that they are related in some way 2011-02-06T18:24:43 basically it's just by distance to opponents instead of number of opponents 2011-02-06T18:25:25 yep, jeff's argument seems to be that it's harder to do anything strategically good to break 1:1 odds with the second and that that's better 2011-02-06T18:25:31 i argue it does the same thing and that that's bad 2011-02-06T18:25:38 agreed 2011-02-06T18:26:28 i demand a poll! :P 2011-02-06T18:26:28 i just don't see why an AI contest would intentionally discourage AI 2011-02-06T18:28:59 jmcarthur: it should be easy for begginers as well 2011-02-06T18:29:08 do not discredit such contestants 2011-02-06T18:29:12 amstan: it is, it also provides them a clear path of improvement 2011-02-06T18:29:27 clearer* 2011-02-06T18:29:54 i think it discredits them to assume they want the contest dumbed down for them 2011-02-06T18:30:07 actually 2011-02-06T18:30:10 and it's like playing around with game of life working out how to best position players, everybody loves playing around with that 2011-02-06T18:30:10 this is the opposite of that 2011-02-06T18:30:15 antimatroid: seen what? 2011-02-06T18:30:17 this is intentionally making it hard to improve 2011-02-06T18:30:29 McLeopold: (10:11:45 AM) jmcarthur: mine: A lives if A.numOpponents < A.opponents.map(.numOpponents).minimum 2011-02-06T18:30:29 (10:11:57 AM) jmcarthur: current: A lives if A.minDistToOpponent > A.opponents.map(.minDistToOpponent).maximum 2011-02-06T18:30:45 McLeopold: my formulation of the current rules in relation to the ones we were liking before 2011-02-06T18:31:15 at least we are back to deterministic 2011-02-06T18:31:19 yeah 2011-02-06T18:31:21 agreed 2011-02-06T18:31:30 okay, superbowl party, cya 2011-02-06T18:31:39 ha, americans and their superbowl 2011-02-06T18:31:41 and I just posted 2011-02-06T18:31:43 have fun 2011-02-06T18:31:50 http://ai-contest.com/forum/viewtopic.php?f=21&t=1312 2011-02-06T18:31:58 * jmcarthur is american and doesn't give a flip about the superbowl 2011-02-06T18:32:01 I like the world cup as well. 2011-02-06T18:32:10 * jmcarthur cares about the world cup 2011-02-06T18:32:14 sort of 2011-02-06T18:32:18 more than the superbowl at least 2011-02-06T18:32:25 as long as france losses, I'm happy 2011-02-06T18:32:41 that means the last one was awesome 2011-02-06T18:32:56 *** McLeopold has left #aichallenge 2011-02-06T18:37:35 lol, i should suggest my version in the language of how the current algorithm has been described so far 2011-02-06T18:38:13 how about we sort each ant by how many opponents they are fighting and then remove them in groups, starting with the most opponents? 2011-02-06T18:38:43 *sort the ants 2011-02-06T18:39:46 wait what? 2011-02-06T18:40:15 i believe that is equivalent to my original algorithm, but described similarly to the current algorithm 2011-02-06T18:40:36 jmcarthur: i think there might be an issue with your wording 2011-02-06T18:40:55 the current one goes like: sort each ant by distance to opponents, then remove them in groups starting with the closest 2011-02-06T18:41:36 (it actually goes "sort each pair of ants...", but still) 2011-02-06T18:41:37 oh wait, nevermind 2011-02-06T18:41:45 it's confusing :) 2011-02-06T18:41:49 right 2011-02-06T18:41:53 :P 2011-02-06T18:42:03 *** Kingpin13 has joined #aichallenge 2011-02-06T18:43:23 ha, maybe we could just fill up the backlog with crap to make it too annoying to actually read back, then we can suggest a "compromise" to jeff and word it that way ;) 2011-02-06T18:43:25 i prefer this way of calculating it with the offense graph 2011-02-06T18:56:25 i've almost finished the structure for a c++ bot 2011-02-06T19:03:48 is ants the official game now? 2011-02-06T19:03:59 it would seem highly likely 2011-02-06T19:04:42 i see 2011-02-06T19:05:00 we're conflicted over the best conflict resolution algorithm 2011-02-06T19:05:28 yeah, that was always going to be tricky 2011-02-06T19:05:40 (10:11:45 AM) jmcarthur: mine: A lives if A.numOpponents < A.opponents.map(.numOpponents).minimum 2011-02-06T19:05:41 (10:11:57 AM) jmcarthur: current: A lives if A.minDistToOpponent > A.opponents.map(.minDistToOpponent).maximum 2011-02-06T19:05:52 thoughts? :P 2011-02-06T19:06:13 the first allows more strategic micro play, the conflict seems to be whether that is good or bad 2011-02-06T19:06:51 I think promoting micro is more interesting, as I remember discussing with jmcarthur weeks back 2011-02-06T19:07:05 jmcarthur and i agree with that 2011-02-06T19:07:32 some people seem to think that will discourage beginners if they get trampled by better bots 2011-02-06T19:07:52 beginners will always get trampled by better bots? 2011-02-06T19:07:54 but that should happen anyway, at least this gives them another avenue to try their hand at and a clearer path for improvement 2011-02-06T19:08:25 beginners got trampled by better bots in planet wars as well 2011-02-06T19:08:32 and in tron 2011-02-06T19:08:58 it's also bad for rankings (imo) if games aren't as much about skill but rather luck 2011-02-06T19:09:03 yeah 2011-02-06T19:09:04 more important is that there is a low barrier to entry 2011-02-06T19:09:43 it should be easy start of and improve right at the start 2011-02-06T19:10:03 yeah, people should be able to make a decent improvement on the starter bot within a couple of days 2011-02-06T19:10:30 but that's fairly simple, make the starter bots really stupid to start with, then make tutorials that point out some easy improvements 2011-02-06T19:10:40 I think more micro helps with that, because you can still making a functioning bot that ignores it, but it is a clear place where people can make improvements 2011-02-06T19:11:08 i'm going to make a forum post with a pill 2011-02-06T19:11:10 poll* 2011-02-06T19:11:27 :P 2011-02-06T19:11:27 :P 2011-02-06T19:12:08 I haven't looked at the forum in a while... I should go through it when I get home tonight 2011-02-06T19:12:43 i don't pay a whole lot of attention to it 2011-02-06T19:13:01 first i need to work out how to even make a poll 2011-02-06T19:13:39 amstan: how do i do polls in the forum? 2011-02-06T19:13:56 nevermind 2011-02-06T19:13:57 antimatroid: under the post there's a panel, with 3 tabs 2011-02-06T19:14:00 last one has polls 2011-02-06T19:37:12 *** chris__0076 is now known as chris_0076 2011-02-06T19:50:44 poll time: http://www.ai-contest.com/forum/viewtopic.php?f=21&t=1313 2011-02-06T19:55:50 *** Frontier has quit IRC (Quit: Ex-Chat) 2011-02-06T20:08:30 *** Kingpin13 has quit IRC (Quit: You're a kitty!) 2011-02-06T20:26:23 aichallenge: Jeremy Roman master * r2aa701f / (11 files in 3 dirs): Zeta worker development underway - http://bit.ly/et0I6s 2011-02-06T20:26:23 aichallenge: Jeremy Roman master * re3bf59e / (6 files in 3 dirs): adjust previous changes, a little cleanup - http://bit.ly/e6qqx1 2011-02-06T20:27:22 jbroman: that's what i wanted to do! 2011-02-06T20:27:29 jbroman: rename the branches 2011-02-06T20:27:42 amstan: Hmm? 2011-02-06T20:27:55 jbroman: master->zeta, pw->epsilon 2011-02-06T20:28:12 I have not done branch renaming. 2011-02-06T20:29:23 You can still rename them if you wish to do so. 2011-02-06T20:35:22 jbroman: sorry about the interruption, but just wanted to ease some of the confusion 2011-02-06T20:35:53 Interesting…why did that blow away my commits? 2011-02-06T20:36:01 jbroman: it shouldn't 2011-02-06T20:36:06 jbroman: just checkout the new branches 2011-02-06T20:36:14 https://github.com/aichallenge/aichallenge/tree/zeta/worker 2011-02-06T20:36:41 I see them not. 2011-02-06T20:36:46 ok, i can fix this 2011-02-06T20:37:07 I could of course re-commit them if it comes to that, but it's weird that a rename would be destructive at all. 2011-02-06T20:37:31 i think it's because i fetched and didn't merge before renaming 2011-02-06T20:37:45 i think a rebase should solve this, but i'm not familiar with them 2011-02-06T20:38:13 there! 2011-02-06T20:38:16 aichallenge: Jeremy Roman zeta * r2aa701f / (11 files in 3 dirs): Zeta worker development underway - http://bit.ly/et0I6s 2011-02-06T20:38:16 aichallenge: Jeremy Roman zeta * re3bf59e / (6 files in 3 dirs): adjust previous changes, a little cleanup - http://bit.ly/e6qqx1 2011-02-06T20:38:28 git checkout zeta && git merge e3bf59e8e4c7cbcf0fba35188137d6fa422f2b9d 2011-02-06T20:38:30 heheh 2011-02-06T20:38:44 <3 2011-02-06T20:41:20 jbroman: i see you made use of the logging module, finally some pythonic code in this contest, lol 2011-02-06T20:41:49 hmmmm might i suggest that the "starter tutorials" guide people to getting their bot running on the tcp server rather than the official this time? 2011-02-06T20:41:59 it might reduce the number of starter bots left at the end 2011-02-06T20:42:14 antimatroid: sure.. but there must be a tcp engine to do 2011-02-06T20:42:21 so... 2011-02-06T20:42:26 Making a TCP server is trivial. 2011-02-06T20:42:41 So amstan 2011-02-06T20:42:42 How are things 2011-02-06T20:42:42 You can even share the game-running logic with the rest of the codebase in theory. 2011-02-06T20:42:45 amstan: i'm hoping for an official tcp server along with the official visualiser being more like jbotmanager 2011-02-06T20:42:51 which should make it really easy for people 2011-02-06T20:43:49 pgpaskar_: good 2011-02-06T20:45:13 jbroman: also.. +1 for tabs 2011-02-06T20:45:47 amstan: Sadly GitHub displays them as width of 8 spaces. Alas… 2011-02-06T20:46:08 antimatroid: It might also be neat to let people "request" matches against specific people they know (ranked or unranked, I am unsure). 2011-02-06T20:47:01 jbroman: i think we should leave that for the rewrite 2011-02-06T20:47:15 antimatroid: we're working on zeta 2011-02-06T20:47:19 antimatroid: Oh, for sure. 2011-02-06T20:47:23 I have Zeta on the brain. 2011-02-06T20:47:34 * antimatroid hasn't really looked at anything for zeta yet 2011-02-06T20:47:46 i want another contest already :P 2011-02-06T20:48:12 antimatroid: Fear not, most effort is on ants right now. 2011-02-06T20:49:41 Is there an editor with configurable tab lengths per file extension? 2011-02-06T20:50:11 pgpaskar_: doesn't vi do this? 2011-02-06T20:50:23 pgpaskar_: attaches some metadata at the end of the files though 2011-02-06T20:50:27 @botrepo 2011-02-06T20:50:28 amstan: botrepo = http://github.com/amstan/contestbot 2011-02-06T20:50:31 pgpaskar_: TextMate does this. You can almost certainly do it with vim/emacs, too. 2011-02-06T20:50:43 pgpaskar_: # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: 2011-02-06T20:50:59 hmm 2011-02-06T20:50:59 how bare should a start bot be? 2011-02-06T20:51:10 antimatroid: ragebot should be fine 2011-02-06T20:51:43 i'm more thinking about data structures, i was going to make the strategy even stupider than rage bot 2011-02-06T20:51:57 In my humble opinion, starter bots should mostly serve to show how to use the plumbing (how to find the state of the game, issue orders and such). The strategy need not be non-trivial. 2011-02-06T20:52:14 jbroman: agreed 2011-02-06T20:52:14 (In fact, complex strategies could be confusing for newbies.) 2011-02-06T20:52:32 it should be easy for people to make their bot better than the starter bot 2011-02-06T20:52:36 so they can see quick improvements 2011-02-06T20:53:34 what if starter bots just wall hugged? it's really easy to improve upon that? 2011-02-06T21:07:23 *** delt0r___ has joined #aichallenge 2011-02-06T21:08:33 *** delt0r_ has quit IRC (Ping timeout: 240 seconds) 2011-02-06T21:58:44 i agree. a starter should be bare minimum, and a tutorial can actually get newbies started with any actual strategy 2011-02-06T22:03:31 jmcarthur: i'm making this literally walk into the first '.' square it sees, which leaves the very big improvement of keep painting outwards till you see something interesting, then make that move 2011-02-06T22:08:02 is . empty? 2011-02-06T22:15:45 yep 2011-02-06T22:15:50 it's done i think 2011-02-06T22:16:04 it wont work till an engine is going with new input format though 2011-02-06T22:16:15 it seems to work with sample game strings i pass it anyway 2011-02-06T22:19:43 jmcarthur: i take it you were the other person to vote on my poll? 2011-02-06T22:22:11 heh, yeah, just me so far i guess 2011-02-06T22:22:28 i haven't said anything because i don't think i have much to add to what you said 2011-02-06T22:23:08 yeah that's fine, it's people who haven't really contributed to the conversation that i want a response from 2011-02-06T22:23:54 aichallenge: Jeremy Roman zeta * r195b058 / (3 files in 2 dirs): forgot an import, replaced time limit with a context manager (seems more Pythonic) - http://bit.ly/dWo3mU 2011-02-06T22:24:35 i'm not going to argue about it so strongly anymore. i think i've been unreasonably aggressive and irritable 2011-02-06T22:25:14 i'm not so much arguing, just after the most interesting game 2011-02-06T22:25:53 I think the new distance-based mechanic is nicer than the previous 1:1 suggestion, so it doesn't matter much to me which of those two get chosen. 2011-02-06T22:29:30 jbroman: 1:1 is out, it's out of those two 2011-02-06T22:29:36 i think the first is far more interesting 2011-02-06T22:33:20 there may be even better ones to discover 2011-02-06T22:39:25 a crazy one that stands no chance of being accepted would be for ants to gain some sort of XP for each kill they get which makes them more powerful over time the longer they survive 2011-02-06T22:39:59 which means you'd want to use your weaker ones as fodder in order to maneuver your stronger ones into safe, useful positions 2011-02-06T22:41:04 hmmm would that be private information? 2011-02-06T22:41:09 dunno 2011-02-06T22:41:16 i think it could be compelling whether private or not 2011-02-06T22:41:23 actually i think it would be better as public information 2011-02-06T22:41:35 makes it more tactical and less guessing. guessing would be too crazy i think 2011-02-06T22:42:12 unless it's like stratego where the stats are revealed as you fight 2011-02-06T22:42:43 but yeah, if somebody said that was too complicated, i might agree... 2011-02-06T22:42:49 then again, i like some kinds of complicated 2011-02-06T22:43:14 i like something that is complicated because it's complicated, not because it's so messy it's complicated 2011-02-06T22:43:22 i'd still like to see a game where your bot has to program smaller bots on the fly ;) 2011-02-06T22:43:29 yeah that 2011-02-06T22:43:31 that's how i could best explain my like for pure over applied maths 2011-02-06T22:44:17 planet wars hit the head on the nail with that respect 2011-02-06T22:45:39 I actually like the idea of writing a limited amount of code that runs for an individual unit. The engine would then run copies of that code for each unit. (Maybe you would write code that runs on an Ant VM? Who knows.) So you don't get centralized control for free – you have to teach your units to co-operate. 2011-02-06T22:45:56 (Crazy idea which definitely doesn't work this contest, or possibly ever. But neat.) 2011-02-06T22:46:07 jbroman: originally we wanted each ant to run in a separate process, but there'd be tooooo much overhead for that 2011-02-06T22:46:41 there was even intentions of allowing bots to "communicate", but alas the overhead :( 2011-02-06T22:46:42 antimatroid: Yeah. But if you made a virtual machine which executed some domain-specific bytecode language, you could avoid that problem. 2011-02-06T22:46:57 i think that's moving away from being really simple 2011-02-06T22:47:06 Well, sure. It's crazy, I said. 2011-02-06T22:47:10 i quite like having to handle clearly defined io then getting to go to town 2011-02-06T22:47:48 to me part of the appeal of this contest is that you can write with whatever language and tools you want 2011-02-06T22:47:56 if you have to use a DSL, that's out the window 2011-02-06T22:48:15 jmcarthur: For sure. It has gigantic limitations that put it outside the scope of the contest. 2011-02-06T22:48:29 I was more saying that it's an interesting problem. 2011-02-06T22:48:30 Yeah that was the original ants idea. But I don't know if it's feasible. 2011-02-06T22:48:37 that's why i thought of a compromise where a central bot programs other little bots :D 2011-02-06T22:48:49 j3camero: i have a c++ starter bot once an engine is running with the new io 2011-02-06T22:49:00 it's as stupid as can be 2011-02-06T22:49:01 which in some ways is actually *easier* to code for 2011-02-06T22:49:18 zomg, context manager! 2011-02-06T22:49:24 since the central bot could just program a bot to do a sequence of commands and then come back for reprogramming 2011-02-06T22:49:35 amstan: Good or bad "zomg"? 2011-02-06T22:49:40 jbroman: awesome zomg 2011-02-06T22:49:43 of course, more powerful if you're able to avoid needing that 2011-02-06T22:50:00 http://codepad.org/wIDWDbcz that's the MyBot.cc file 2011-02-06T22:50:48 as you can see, the strategy could not be much simpler :P 2011-02-06T22:51:09 antimatroid: Sure it could. May I present to you…the "do nothing" bot! 2011-02-06T22:51:53 Just say go! 2011-02-06T22:51:54 jbroman: without doing nothing* :P 2011-02-06T22:52:30 while(1){printf("go\n");} 2011-02-06T22:52:52 i guess the engine won't be happy if it doesn't also read stdin 2011-02-06T22:52:56 jmcarthur: for(;;){printf("go\n");} 2011-02-06T22:53:05 Haha, mine's shorter. 2011-02-06T22:53:19 jbroman: forever(putStrLn"go") 2011-02-06T22:53:27 actually... 2011-02-06T22:53:30 jbroman: forever$putStrLn"go" 2011-02-06T22:53:32 boom 2011-02-06T22:53:42 python: print "go" 2011-02-06T22:53:49 antimatroid: loop it 2011-02-06T22:53:51 while 1: print "go", not as nice 2011-02-06T22:53:54 yeah i forgot 2011-02-06T22:53:59 i don't like python anyway 2011-02-06T22:54:53 http://codepad.org/7yQBe7Xp - state.h 2011-02-06T22:54:53 http://codepad.org/33oHSMez - state.cc 2011-02-06T22:54:56 Ruby: loop{puts"go"} 2011-02-06T22:55:07 i'll leave timer.h and general.h out, but it's just 5 files 2011-02-06T22:55:25 loop{p"go"} 2011-02-06T22:55:29 valid ruby 2011-02-06T22:55:36 jmcarthur: Naw, that puts double quotes around the word "go". 2011-02-06T22:55:46 oh? i didn't realize that... 2011-02-06T22:55:54 doh, it does 2011-02-06T22:55:57 jmcarthur: p is like Python's repr. 2011-02-06T22:56:00 i haven't rubied in a long time 2011-02-06T22:56:21 and like haskell's print, i imagine 2011-02-06T22:56:33 jmcarthur: Probably. I don't Haskell enough to know. 2011-02-06T22:56:56 print = putStrLn . show 2011-02-06T22:57:08 jmcarthur: Yeah, "p" is like that. 2011-02-06T22:58:53 antimatroid: what's with the loc.first and loc.second business? 2011-02-06T22:59:02 Bash: yes|sed s/y/go/ 2011-02-06T22:59:27 amstan: i do have a Location object for my bots, but i figured it was easier to minimise that for starter bots, so i just used pairs for locations 2011-02-06T22:59:37 antimatroid: but.. first and second? 2011-02-06T22:59:45 that's how you access pairs 2011-02-06T22:59:59 what about rows&cols or x&y? 2011-02-06T23:00:09 .first is row and .second is col 2011-02-06T23:00:31 amstan: "pair" is a standard type 2011-02-06T23:00:53 Those names are defined on std::pair 2011-02-06T23:01:00 oh, i see 2011-02-06T23:01:08 so there's no way to change them 2011-02-06T23:01:15 i could add the location struct back in 2011-02-06T23:01:20 then you get .row and .col 2011-02-06T23:01:40 and not pair written everywhere 2011-02-06T23:04:37 so what does your bot do? 2011-02-06T23:05:18 goes in all 4 directions at once? 2011-02-06T23:05:34 amstan: each ant will move the first open location 2011-02-06T23:05:51 oh, it's fairly stupid atm too, it will move two friend ants into the same square 2011-02-06T23:05:58 and wont move into a square of a friendly ant that is moving 2011-02-06T23:06:02 i can fix that fairly easily 2011-02-06T23:06:05 you should have something for detecting the enemy ants as well, i think that should be in the starter pack 2011-02-06T23:06:35 amstan: i was thinking the tutorial could pretty much walk people through scanning out with a stack to find something interesting to move towards 2011-02-06T23:06:47 that way people can make a HUGE improvement over the start relatively easily 2011-02-06T23:06:58 ok, sure 2011-02-06T23:07:15 i will fix up to change the state when an ant moves though 2011-02-06T23:08:05 actually, that's literally like 2 lines, perhaps that could be the first literally given improvement? 2011-02-06T23:11:15 well, 3 lines once I changed the function to take an int for the direction 2011-02-06T23:14:57 oh, there's a few bugs in there cause i deleted stuff i shouldn't have :P 2011-02-06T23:15:04 it does work what i have now though 2011-02-06T23:23:16 aichallenge: Alexandru Stan simpleants * rfa2bc17 / playback/.gitignore : added .gitignore to keep that folder there - http://bit.ly/igN4Py 2011-02-06T23:23:19 aichallenge: Alexandru Stan epsilon * r56a2f00 / (14 files in 3 dirs): merged branch simpleants (+12 more commits...) - http://bit.ly/hNDbBe