2011-03-16T00:00:42 build systems? 2011-03-16T00:00:54 Let's stick with compile anything 2011-03-16T00:01:21 And let's say binary submission are not until zeta 2011-03-16T00:01:30 we are behind on launch enough already 2011-03-16T00:01:44 ok 2011-03-16T00:02:07 But I will add lolcode :D 2011-03-16T00:02:13 if you just want binary submissions they can be added into the current compilation framework easy enough 2011-03-16T00:02:27 don't need to be done before launch either 2011-03-16T00:02:38 janzert: yeah.. leave it for during the contest 2011-03-16T00:02:49 okay, but lets do everything else first 2011-03-16T00:03:27 janzert: you in etherpad? 2011-03-16T00:03:46 glancing at it occasionally yes 2011-03-16T00:04:29 janzert: can you put your name in? 2011-03-16T00:04:54 ok, did 2011-03-16T00:05:07 not sure why though :) 2011-03-16T00:05:17 have nothing to add right now 2011-03-16T00:05:25 so I know which color is a lurker? 2011-03-16T00:06:12 lol 2011-03-16T00:06:26 McLeopold: you can play with their names, i just did 2011-03-16T00:07:08 sweet 2011-03-16T00:07:19 McLeopold: so.. still, i wanna be able to play with stuff 2011-03-16T00:07:28 McLeopold: but the only thing i have working currently is the engine 2011-03-16T00:07:50 McLeopold: i'm unclear on what works and what doesn't, and what i need to do to make it work 2011-03-16T00:07:53 I'm about to check in the sql... 2011-03-16T00:07:57 s/engine/website 2011-03-16T00:08:12 create some users and submit some bots to start with 2011-03-16T00:08:31 but, wait for the sql... just a minute 2011-03-16T00:08:32 does trueskill_matchups create a database entry that a worker can get as a game task yet? 2011-03-16T00:08:56 janzert: idk, I've just created my own matches with the same 4 bots 2011-03-16T00:09:07 ok 2011-03-16T00:09:58 antimatroid: anything left to do for the map generator? 2011-03-16T00:10:35 aichallenge: Alexandru Stan epsilon * r5065f76 / README.md : added readme notice - http://bit.ly/huqjww 2011-03-16T00:11:58 McLeopold: his latest commit is https://github.com/aichallenge/aichallenge/commit/7c42428ff06d0c09878f52e67f15eb15232a8f1d 2011-03-16T00:13:06 aichallenge: McLeopold epsilon * rf7b1345 / (sql/0_schema.sql sql/1_data.sql website/visualizer): Updated schema for matchups. - http://bit.ly/gBem5N 2011-03-16T00:13:10 amstan: ok, pull the sql 2011-03-16T00:13:33 not again, lol 2011-03-16T00:14:00 nuking my db again, lol 2011-03-16T00:15:56 McLeopold: what about compile scripts for starter bots and tools 2011-03-16T00:16:03 McLeopold: what do you mean by tools? 2011-03-16T00:16:19 the starter tools will not be in the starter pack downloads now 2011-03-16T00:16:40 we need a make file to compile/zip and place in the website dir for download 2011-03-16T00:16:40 i see, ok 2011-03-16T00:16:47 so just the packaging for the sdk, right? 2011-03-16T00:16:51 yes 2011-03-16T00:17:13 where are the tools located? 2011-03-16T00:17:58 for running a game, you want ants/playgame.py, worker/engine.py, ants/ants.py 2011-03-16T00:18:21 but my playing with sys.path probably screws that up 2011-03-16T00:19:05 ok, so we don't actually have the tools setup for bot makers 2011-03-16T00:19:51 the tools should include the sample bots in python and java 2011-03-16T00:20:00 not yet 2011-03-16T00:20:06 but it is mostly there and clean 2011-03-16T00:20:28 and the cmd/sh scripts are tools as well 2011-03-16T00:20:34 oh.. about sample bots.. 2011-03-16T00:20:48 what about the java and python starter packs? 2011-03-16T00:20:51 are they finished? 2011-03-16T00:21:06 like.. are they usable by contestants? are they in a nice form? 2011-03-16T00:22:58 python is 2011-03-16T00:23:04 java needs some polish 2011-03-16T00:23:11 ok.. let me update the issue 2011-03-16T00:23:12 I can do the java one right now in about 10 minutes 2011-03-16T00:23:27 the MyBot.py is the starter pack one 2011-03-16T00:23:55 also.. was there any protocol changes recently? there were a lot of starter pack volunteers 2011-03-16T00:24:03 and i want to keep them informed of such things 2011-03-16T00:26:38 McLeopold: how about separating starter packs from sample bots? 2011-03-16T00:27:11 I think if we just standardize on starter packs being MyBot.*, then the makefile can sort it out 2011-03-16T00:27:33 Either way 2011-03-16T00:27:42 McLeopold: yes, but the starter pack for a language should not have multiple bots in it 2011-03-16T00:27:48 it'll confuse people 2011-03-16T00:27:49 No 2011-03-16T00:27:53 not at all 2011-03-16T00:28:08 also, what makefile? 2011-03-16T00:28:18 the one you are going to create? 2011-03-16T00:28:43 well.. there is a makefile right now: https://github.com/aichallenge/aichallenge/blob/epsilon/ants/bots/Makefile 2011-03-16T00:28:55 but it just archives the folders now 2011-03-16T00:29:04 doesn't do any kind of cleanup 2011-03-16T00:29:39 but are you saying that the makefile should only keep mybot.*? 2011-03-16T00:29:48 what about the dependecies? 2011-03-16T00:30:23 uh, let's go with separating the starter bots from the example bots 2011-03-16T00:30:39 that means my python and java support files will be dups 2011-03-16T00:30:48 does git have a fancy way of dealing with that? 2011-03-16T00:31:13 oh yeah 2011-03-16T00:31:26 if there's 2 files with the same content, it stores them as one 2011-03-16T00:32:00 but, I want to modify one and see the changes in the other dir 2011-03-16T00:32:06 softlink? 2011-03-16T00:32:13 and have it work in windows 2011-03-16T00:32:21 but i don't get it, why are you going to have dups? 2011-03-16T00:32:36 if we separate the starter and example bots 2011-03-16T00:32:54 a fix would need to be done to both 2011-03-16T00:32:59 python starter pack will have mybot.py, and ants.py, the sample bots will have the other python bots and ants.py 2011-03-16T00:33:28 yes 2011-03-16T00:33:31 ants.py will be the only dup 2011-03-16T00:33:40 unless we use softlinks, we'll have to edit them manually 2011-03-16T00:33:44 yes, so, no fancy git magic? 2011-03-16T00:33:54 yes, git can't emulate softlinks 2011-03-16T00:34:34 ok, here's my todo list: https://gist.github.com/872013 2011-03-16T00:34:37 anything that i should add? 2011-03-16T00:36:17 the visualizer hookup 2011-03-16T00:37:20 oh yes 2011-03-16T00:37:59 aichallenge: McLeopold epsilon * r3459b91 / (ants/test_bot.sh ants/bots/java/MyBot.java): Added java starter bot. - http://bit.ly/gMenrZ 2011-03-16T00:39:25 amstan: also, the worker doesn't send emails right now 2011-03-16T00:39:44 why does worker have to send emails? 2011-03-16T00:39:46 not sure if that should be the manager or the worker that does that 2011-03-16T00:39:52 submission failures 2011-03-16T00:39:57 compile failures? 2011-03-16T00:40:02 that too 2011-03-16T00:40:02 idk if you want worker for that 2011-03-16T00:40:12 you don't want 10 compilation failures because you have 10 workers 2011-03-16T00:40:29 the worker would only do it on a compile task 2011-03-16T00:40:51 the others wouldn't get the compile task, and shouldn't get the submission scheduled for a game 2011-03-16T00:41:11 but still, if the manager should send emails, then that needs to be fixed 2011-03-16T00:42:40 ok 2011-03-16T00:43:05 i'll look on it when i get familiar with the worker and manager 2011-03-16T00:46:18 aichallenge: McLeopold epsilon * rb4e7c66 / (3 files in 3 dirs): Removal of simplejson - http://bit.ly/fVvrNh 2011-03-16T00:47:20 McLeopold: oh yeah.. do you still need ants/viewer? 2011-03-16T00:47:44 yeah, I kinda like it for testing, but not for tools 2011-03-16T00:48:10 McLeopold: do you need the jquery that in there? can you link it to google api? 2011-03-16T00:48:28 it made it faster to test rather than pinging google every time 2011-03-16T00:48:47 ok 2011-03-16T00:48:55 if you remove it, then I'll just have the dir untracked 2011-03-16T00:50:06 I'm going to attempt the merge with sigh's stuff now. 2011-03-16T00:50:14 McLeopold: hold on 2011-03-16T00:50:26 ok, why 2011-03-16T00:50:32 aichallenge: Alexandru Stan epsilon * raa1fe96 / manager/ec2-check.py : fixed redundant import check - http://bit.ly/hXWTM7 2011-03-16T00:50:33 McLeopold: because of that ^ 2011-03-16T00:50:59 oops 2011-03-16T00:51:22 k, i'm going to bed 2011-03-16T00:51:28 cya 2011-03-16T00:52:01 McLeopold: oh.. wait, so what about this then? https://github.com/aichallenge/aichallenge/issues#issue/13 2011-03-16T00:52:21 yeah, still an issue 2011-03-16T00:52:35 whoever does that should look at the cleanup of jail users as well 2011-03-16T00:52:47 whoever does the jail users, that is 2011-03-16T00:53:32 amstan: how do I pull the fact the epsilon-new-schema is gone? 2011-03-16T00:53:41 McLeopold: just delete it manually 2011-03-16T00:53:46 ok 2011-03-16T00:53:48 git branch -d epsilon-new-schema 2011-03-16T00:54:18 oh, how do I pull trueskill again? 2011-03-16T00:54:25 hmm? 2011-03-16T00:54:50 it's a sub-repo 2011-03-16T00:55:24 you want to update it? 2011-03-16T00:55:30 just get the files 2011-03-16T00:55:41 Initializing the git submodules: 2011-03-16T00:55:43 git submodule init 2011-03-16T00:55:44 git submodule update 2011-03-16T00:55:47 from the README 2011-03-16T00:56:42 huh, no mapping for manager/trueskill 2011-03-16T00:56:55 are you serious? 2011-03-16T00:57:10 yes, for trueskill, flags c bot worked 2011-03-16T00:57:34 the mapping is pointed to itself 2011-03-16T00:58:01 coulda been me who did that... 2011-03-16T00:58:36 aichallenge: Alexandru Stan epsilon * rf079a47 / .gitmodules : fixed submodule mapping - http://bit.ly/e4G528 2011-03-16T00:59:04 apparently git mv does not move mappings 2011-03-16T00:59:10 ah 2011-03-16T00:59:11 bug report time? lol 2011-03-16T00:59:17 :) 2011-03-16T00:59:36 linus will probably tell you you're doing it wrong 2011-03-16T00:59:58 for all i know he's probably right 2011-03-16T01:00:06 lol 2011-03-16T01:00:14 only guido is always right, :) 2011-03-16T01:02:01 sigh: which branch do I merge? 2011-03-16T01:02:58 McLeopold: grep for sigh: http://contestbot.hypertriangle.com/channellogs/%23aichallenge/%23aichallenge.2011-03-15.log 2011-03-16T01:03:13 ok, just found it, epsilon only 2011-03-16T01:03:15 McLeopold: apparently epsilon 2011-03-16T01:03:34 McLeopold: if you wanna save that todo, put it in a wiki page 2011-03-16T01:03:42 here goes merging hell 2011-03-16T01:03:45 if you have more time, format them as separate issues 2011-03-16T01:03:56 idk.. merging is supposed to be fun with git 2011-03-16T01:04:02 it was designed to be fun 2011-03-16T01:04:11 amstan: it will always be there, on etherpad, I will move them to issues 2011-03-16T01:04:20 fun how? 2011-03-16T01:04:55 like, it's suppose to do it well without intervention? 2011-03-16T01:05:04 yeah, something like that 2011-03-16T01:07:25 k, i should really go to bed, lol 2011-03-16T01:21:28 aichallenge: McLeopold epsilon * r6f8145a / (ants/ants.py ants/bots/python/ants.py ants/playgame.py): (log message trimmed) 2011-03-16T01:21:29 aichallenge: Merge remote branch 'sigh/epsilon' into epsilon 2011-03-16T01:21:29 aichallenge: Conflicts: 2011-03-16T01:29:40 yay, conflicts 2011-03-16T01:30:15 McLeopold: if you want I can handle the merge when I get home 2011-03-16T01:30:36 or it is done 2011-03-16T01:30:52 sigh: just a few fixes left 2011-03-16T01:30:53 (I don't know how to parse that message) 2011-03-16T01:30:57 ok, cool 2011-03-16T01:31:17 It mostly went automatic 2011-03-16T01:31:26 yay for git 2011-03-16T01:31:29 :) 2011-03-16T01:56:04 aichallenge: McLeopold epsilon * r2c9f456 / (4 files in 2 dirs): Fixes to ensure playgame works with new ants game - http://bit.ly/eA9hLs 2011-03-16T01:57:23 sigh: I'd like to change the __str__ to get_replay 2011-03-16T01:57:32 yeah, no worries 2011-03-16T01:58:04 I have to make a change to replay anyway, which Frontier asked for 2011-03-16T01:58:50 okay, make sure to pull 2011-03-16T01:58:57 yup, will do 2011-03-16T01:59:18 *** delt0r_ has joined #aichallenge 2011-03-16T01:59:38 also, I'd like to attempt to support both formats 2011-03-16T01:59:54 so that the visualizer can watch games in progress 2011-03-16T02:00:27 make a function get_turn_replay or something 2011-03-16T02:02:21 don't put all that crap in engine.py 2011-03-16T02:02:21 *** delt0r___ has quit IRC (Ping timeout: 255 seconds) 2011-03-16T02:02:21 McLeopold: what do you mean anything to do with the map gen? 2011-03-16T02:02:30 sigh: are you going to make the change tonight? 2011-03-16T02:02:43 http://ietherpad.com/sMmBH9htlr 2011-03-16T02:02:52 we are trying to get a final todo list going 2011-03-16T02:03:05 amstan is going to start packaging everything together 2011-03-16T02:03:28 McLeopold: I'll rename __str__ and make the update that Frontier asked for 2011-03-16T02:03:29 I just want your input on anything you think is left to do 2011-03-16T02:04:01 also, there is a bug in do_spawn that _flag pointed out which is an easy fix 2011-03-16T02:04:08 sigh: you too, fill in the ehterpad if you have things you think are outstanding 2011-03-16T02:04:21 ok 2011-03-16T02:04:22 I'm going to move stuff from the etherpad to issues at some point 2011-03-16T02:05:59 tonight I will fix the replay format, fix some ordering bugs in do_spawn and do_attack as well as make it obvious that they are order independent 2011-03-16T02:06:08 McLeopold: I was hoping to try perlin noise again, but I think it should be alright as is for a general map gen 2011-03-16T02:06:12 I've done the work for the latter, just need to merge 2011-03-16T02:07:11 if I have time, and it's not too much work, I will neaten up the incremental replay format 2011-03-16T02:07:42 sigh: is the symmetric spawning do what we came up with the other day yet? 2011-03-16T02:07:46 doing* 2011-03-16T02:07:55 I haven't touched it 2011-03-16T02:08:02 since I last talked to you 2011-03-16T02:08:38 I'll keep that in the sym-food branch so watch that if you want 2011-03-16T02:09:03 sym-food branch in my repo 2011-03-16T02:09:38 aichallenge: McLeopold epsilon * r5169a1a / manager/trueskill_matchups.py : Merge remote branch 'stephen-smith/trueskill-matching' into epsilon - http://bit.ly/dVIPbw 2011-03-16T02:11:40 McLeopold: what kind of dimensions/no players do we want to start out with? 2011-03-16T02:11:56 i think it'd best to cast a net far too wide and then reduce it 2011-03-16T02:12:00 yes 2011-03-16T02:12:03 5 dimensions with 4.3 players 2011-03-16T02:12:08 :p 2011-03-16T02:12:29 2-26 players, with small, medium and large maps 2011-03-16T02:12:45 give me a min/max row numbers :) 2011-03-16T02:12:59 players * magic formula 2011-03-16T02:13:06 okay 2011-03-16T02:13:22 i need a minimum starting distance between players too 2011-03-16T02:13:36 lets say a small map is each player can't see each other and has about 200 land to themselves 2011-03-16T02:14:03 minimum starting distance = vision distance? 2011-03-16T02:14:05 which would be a starting distance of around 10? 2011-03-16T02:14:19 maybe a little bigger 2011-03-16T02:14:24 +1 2011-03-16T02:14:25 vision*2 2011-03-16T02:14:36 why 2*vision? 2011-03-16T02:14:44 so they can't see each others land at first? 2011-03-16T02:14:48 want to control what you can see 2011-03-16T02:14:52 i suppose 2011-03-16T02:15:20 what about starting it at vision then making it larger if people are too close? 2011-03-16T02:15:26 also with just vision you can see the symmerty immediately 2011-03-16T02:15:38 sigh: not necessarily 2011-03-16T02:15:39 also, green_tea argued for smaller vision, which I'm thinking might be more fun 2011-03-16T02:15:47 i think it'd be less strategic 2011-03-16T02:15:51 making it less fun 2011-03-16T02:16:09 if you are blindly fighting ants cause you can only just see beyond your fight radius, it's a little boring 2011-03-16T02:16:13 antimatroid: you can see 2*vision and symmetry could repeat with a period of vision 2011-03-16T02:16:32 sigh: good point, I think vision*2 is a good minimum 2011-03-16T02:16:39 sigh: i still thinks it's iffy working out what is symmetric 2011-03-16T02:16:50 but okay 2011-03-16T02:17:07 and 200x200 is a good max 2011-03-16T02:17:28 can the visualiser handle 200x200 reasonably? 2011-03-16T02:17:37 i think frontier estimated a realistic upper bound as lower than that 2011-03-16T02:17:40 the engine speed can't 2011-03-16T02:18:01 he'll need to fix that then 2011-03-16T02:18:15 he made that estimate before making anything 2011-03-16T02:18:23 based on the number of pixels on a standard laptop screen 2011-03-16T02:18:52 visualiser is one of the important parts of the comp, as it draws interest... if you can't visualize it then it's no good 2011-03-16T02:19:38 hence the "realistic" comment 2011-03-16T02:19:57 did anything ever get done about being able to zoom in? 2011-03-16T02:19:59 that would work 2011-03-16T02:20:12 just start everything as a single pixel if necessary and make people zoom 2011-03-16T02:22:35 ahh, i might have trouble with a magic function to pick min/max dimensions based on selected number of players 2011-03-16T02:22:39 http://aws.amazon.com/ec2/instance-types/ look at these instance type, go to the pricing page, figure jeff was willing to run 3 high cpu medium instances for the majority of the contest last time, then figure out what instance(s) give you the best resources and realize what your maximum simultaneous bots you can run at once is 2011-03-16T02:22:43 i use the dimensions to pick the number of players 2011-03-16T02:23:03 all that too say I'm not sure jeff has the budget to run more than maximum of 4 player games 2011-03-16T02:23:24 with the limiting factor being ram 2011-03-16T02:23:41 we need to work out how to let bots sequentially pick their moves each turn safely 2011-03-16T02:23:59 oh yeah, forgot about that 2011-03-16T02:23:59 that doesn't help ram use though 2011-03-16T02:24:02 then it really shouldn't be any different to playing a normal game ignoring enginer overhead 2011-03-16T02:24:10 hmmm, true 2011-03-16T02:24:13 was ram really a bottleneck? 2011-03-16T02:24:25 sigh: ram wasn't used much for pw, it will for this 2011-03-16T02:24:33 not in the past but it was only 2 players per game 2011-03-16T02:24:45 people WILL be successfully using tree's for battles in this, and trees use memory 2011-03-16T02:25:12 I'm not sure why it is more of an issue here than in planet wars, but ok 2011-03-16T02:25:17 and we had problem making java even run with less than access to 2GB as well 2011-03-16T02:25:20 (other than #players) 2011-03-16T02:25:29 oh ok 2011-03-16T02:25:41 because people weren't using memory like nothing else for their ideas 2011-03-16T02:25:41 janzert: per bot, or for 2 bots 2011-03-16T02:25:54 per jvm run 2011-03-16T02:25:55 you could see on tcp that very few people used most of their time either 2011-03-16T02:26:24 I now wonder if there aren't command line options to lower that, but I don't really know 2011-03-16T02:26:55 in short, we need decent funding 2011-03-16T02:27:04 we should get amazon to sponsor us with servers 2011-03-16T02:27:14 unlikely but worth a shot 2011-03-16T02:27:20 or at least find out from jeff what the budget is 2011-03-16T02:27:33 it's unknown i think 2011-03-16T02:27:50 he's been funneling in his own coin, which is not sustainable, and paying tax on donations he does take 2011-03-16T02:28:46 I know google did chip in for the last contest at least, but I'm not clear on how much 2011-03-16T02:33:49 janzert: when building nodejs, how do you get kqueue to be found? I installed the kqueue-dev package, but no luck 2011-03-16T02:34:59 one other note, if ram is the limiting factor in number of bots for a game, then in general for a worker to maximize its resource use it should run one game at a time with the engine running bots in a mix of simultaneous and sequential execution 2011-03-16T02:35:45 *** iFire` has joined #aichallenge 2011-03-16T02:35:48 basically with a bot for each core of the machine running simultaneously and the excess players waiting for a core to free up 2011-03-16T02:36:29 McLeopold: did you look at the worker_setup script? 2011-03-16T02:36:43 *** sigh has quit IRC (Ping timeout: 255 seconds) 2011-03-16T02:36:48 specifically the install_nodjs function 2011-03-16T02:37:03 janzert: apparently kqueue is bsd only, so I'm left with event.h and port.h not being found. 2011-03-16T02:37:28 it just does ./configure; make; make install basically though 2011-03-16T02:38:20 hmm, that sounds like configure got something wrong somehow 2011-03-16T02:38:42 I think for linux it should be using select or epoll or similiar 2011-03-16T02:39:06 ok, it doesn't need them, but I kinda want to know why 2011-03-16T02:39:25 *** iFire has quit IRC (Ping timeout: 250 seconds) 2011-03-16T02:40:57 want to know why it doesn't need them? 2011-03-16T02:41:31 because linux generally uses a different event notification method, e.g. select or epoll 2011-03-16T02:42:24 but I really know fairly little about any of them so... 2011-03-16T02:46:23 I do remember when kqueue was first introduced into freebsd though :P 2011-03-16T02:50:04 *** antimatroid has quit IRC (Ping timeout: 252 seconds) 2011-03-16T02:53:14 *** McLeopold has left #aichallenge 2011-03-16T02:53:26 *** closedbracket has quit IRC (Remote host closed the connection) 2011-03-16T03:04:32 *** antimatroid has joined #aichallenge 2011-03-16T03:13:47 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal) 2011-03-16T03:15:23 *** antimatroid has quit IRC (Ping timeout: 252 seconds) 2011-03-16T03:20:31 *** sketchyd_ has quit IRC () 2011-03-16T03:34:46 *** antimatroid has joined #aichallenge 2011-03-16T03:36:21 *** sigh has joined #aichallenge 2011-03-16T03:41:59 *** smellyhippy has joined #aichallenge 2011-03-16T04:19:36 *** aerique has joined #aichallenge 2011-03-16T05:03:52 *** smellyhippy has quit IRC (Quit: Take your stinking clause off me you damn dirty predicate!) 2011-03-16T05:20:37 *** smellyhippy has joined #aichallenge 2011-03-16T05:20:53 *** delt0r__ has quit IRC (Quit: Leaving) 2011-03-16T05:22:54 *** stocha has joined #aichallenge 2011-03-16T05:48:38 *** Naktibalda has joined #aichallenge 2011-03-16T05:49:17 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-03-16T06:09:11 *** aerique has quit IRC (Ping timeout: 250 seconds) 2011-03-16T06:15:38 *** kaemo has quit IRC (Read error: Operation timed out) 2011-03-16T06:33:48 *** aerique has joined #aichallenge 2011-03-16T06:49:56 *** Synesso has joined #aichallenge 2011-03-16T06:50:14 *** amstan has quit IRC (Quit: Konversation terminated!) 2011-03-16T06:50:21 *** amstan has joined #aichallenge 2011-03-16T06:50:21 *** ChanServ sets mode: +o amstan 2011-03-16T06:51:34 *** amstan_ has joined #aichallenge 2011-03-16T06:51:34 *** amstan has quit IRC (Read error: Connection reset by peer) 2011-03-16T06:51:37 *** ChanServ sets mode: +o amstan_ 2011-03-16T06:55:57 *** amstan_ has quit IRC (Ping timeout: 250 seconds) 2011-03-16T06:58:44 *** Synesso has quit IRC (Ping timeout: 252 seconds) 2011-03-16T07:00:02 *** mega1 has joined #aichallenge 2011-03-16T07:04:43 *** Synesso has joined #aichallenge 2011-03-16T07:05:56 Hi. I'm coming in via the web chat client. Can't connect with irssi. It reports "Unable to connect server irc.freenode.net port 6667 [Cannot assign requested address:". Any hints? 2011-03-16T07:06:14 web client dumped me after ~20 mins 2011-03-16T07:08:27 Synesso: nope, no idea. did you try irssi more than once? 2011-03-16T07:08:37 yes 2011-03-16T07:08:52 but i didn't try google.... will do that 2011-03-16T07:14:22 *** badgerhunt has joined #aichallenge 2011-03-16T07:15:00 badgerhunt is me on mIRC. I caved in to windows rather than struggle with irssi. :( 2011-03-16T07:15:04 *** Synesso has quit IRC (Quit: Page closed) 2011-03-16T07:48:46 *** needsch has joined #aichallenge 2011-03-16T07:48:59 *** olex has joined #aichallenge 2011-03-16T07:50:09 hi there. how is the scheduling for the Epsilon challenge? It says "Winter 2011" on Github. 2011-03-16T07:53:25 now it's a Spring 2011 2011-03-16T07:54:55 spring-summer would be great 2011-03-16T07:55:00 not yet: https://github.com/aichallenge/aichallenge => "This code will provide the basis for the next contest (Winter 2011)." ;) 2011-03-16T07:56:23 it is winter now though? :) 2011-03-16T07:56:38 is it not spring ? 2011-03-16T07:56:46 5 more days? 2011-03-16T07:56:54 oh 2011-03-16T07:57:28 well, unless you're in the southern hemisphere 2011-03-16T07:57:30 if i want to post a sample code, can i do that on the forum ? 2011-03-16T07:57:51 or is there a standard way to do that. 2011-03-16T07:58:05 sample code of what? 2011-03-16T07:58:24 i just want to post the random walk map generation code. 2011-03-16T07:58:51 it's straight forward 2011-03-16T07:58:59 a few lines. 2011-03-16T07:59:12 oh anywhere should be fine... although ideally you would fork the project on github :) 2011-03-16T07:59:21 a bit more to include tha bitMap object 2011-03-16T07:59:29 it's java. 2011-03-16T07:59:36 most github is not java :p 2011-03-16T08:00:09 anyway i never used github yet, 2011-03-16T08:00:22 and maybe it is less visible ? 2011-03-16T08:00:29 when do you expect "Epsilon" to start? 2011-03-16T08:00:59 [12:50] now it's a Spring 2011 2011-03-16T08:01:42 in 2-3 weeks probably 2011-03-16T08:01:50 this soon ? 2011-03-16T08:02:04 specification are not very clear to me right now :p 2011-03-16T08:02:42 for the ant game i mean. 2011-03-16T08:03:15 amstan said he's aiming for Fri + 2 weeks but probably wont happen 2011-03-16T08:04:19 stocha: definitely bring up any ambiguities you see in the specs... I know that some of the food generation and battle resolution aren't completely sorted out 2011-03-16T08:04:21 souldn't there be some beta testing before oppening the challenge ? 2011-03-16T08:04:48 there is sort of at the moment, from people who frequent the channel :P 2011-03-16T08:05:00 but it is still in dev 2011-03-16T08:05:05 Well : combat resolution i do not see the why of the two propositions :p i think it needs intense beta testing :p 2011-03-16T08:05:14 food generation : i think it needs intense beta testing 2011-03-16T08:05:30 map generation : i think it really needs some more prototyping /beta testing :p 2011-03-16T08:05:50 starting position : i think it needs some prototyping, /beta testing 2011-03-16T08:05:57 *** badgerhunt2 has joined #aichallenge 2011-03-16T08:05:57 :) 2011-03-16T08:06:16 thats about it. I didn't dig to much in message protocols, but it roughly seems right :p 2011-03-16T08:06:31 well, it's certainly not behind closed doors, you are welcome to test as much a you want, whenever you want 2011-03-16T08:06:33 :) 2011-03-16T08:06:37 i think the rules are where the work need be done. 2011-03-16T08:07:01 if you see a lot of issues, it's probably best to make a post on the forum 2011-03-16T08:07:02 I think you need an ubuntu machine to do some testing ? 2011-03-16T08:07:13 well i did post messages. 2011-03-16T08:07:22 maybe not in the right places though, but well. 2011-03-16T08:07:40 are you in involved in the release sigh ? 2011-03-16T08:07:42 no, it's run on windows and osx just fine 2011-03-16T08:07:55 i got osx on this laptop. 2011-03-16T08:08:03 so i guess i should have some testing then :p 2011-03-16T08:08:10 stocha: don't forget that the weeks of the challenge before the final ranking battle are also used to tweak settings 2011-03-16T08:08:16 i can always explain why i couldn't do it :p 2011-03-16T08:08:20 stocha: I'm doing a bit of dev in the backend here and there, but I haven't really been involved a huge deal in the game specs 2011-03-16T08:08:26 mostly for lack of time 2011-03-16T08:08:58 i think the previous two games where already beaten down. Because a lot of peoples already played them (humans) 2011-03-16T08:09:02 and specs where 2011-03-16T08:09:15 and speces about games mecanics where kinda of setled. 2011-03-16T08:09:27 yeah, I agree 2011-03-16T08:09:29 although i didn't try to figure it out to hard. 2011-03-16T08:09:43 so here you have a whole new process of making up a great challenge. 2011-03-16T08:10:05 I think that make "beta testing" really important part of setting up the challenge. 2011-03-16T08:10:30 and so i don't see point in the whole complexity of the current propositions. 2011-03-16T08:10:31 yup 2011-03-16T08:10:43 both for combat and map generation (and food generation also) 2011-03-16T08:10:48 i agree to some extent 2011-03-16T08:11:18 some of it is in an effort to be symmetrical and fair 2011-03-16T08:11:20 maybe there are plans already and i just don't know of them ? 2011-03-16T08:11:31 but then 2 weeks seems realy short ! 2011-03-16T08:11:43 unless it the eta before beta testing :p 2011-03-16T08:12:21 I would have posted some more on the forum you know, but i'm really uncomfortable with it 2011-03-16T08:12:29 especially since i'm so green here :p 2011-03-16T08:12:42 i guess it's not for me to do that. 2011-03-16T08:12:54 anyone: I've forked and created a scala starter pack. How do I test it? Do I need to build the ubuntu vm? Or is there a ready made exec zip like with planetwars? 2011-03-16T08:13:01 stocha: not to worry :) 2011-03-16T08:13:28 although, I'm not the best person to talk to about the big picture stuff 2011-03-16T08:13:39 do you know if there are plans for a tcp server where bot can be run on home machines and only the server is hosted by some volunteers ? 2011-03-16T08:14:05 Irc is good and all, but you need to be there at the right time. That seems impractical 2011-03-16T08:14:05 stocha: definitely, there will be one 2011-03-16T08:14:31 although reading the forum i understand that a lot was deciding upon on irc. 2011-03-16T08:14:44 yeah, that's true 2011-03-16T08:15:10 will it be an official tcp server, or will it be after the launch that some folk will set up one ? 2011-03-16T08:15:18 will it be used for testing the rules ? 2011-03-16T08:15:52 hopefully an official one, but again I haven't been listening in on the big picture stuff 2011-03-16T08:16:05 Are all the core team in the same university ? physically all in the same place. 2011-03-16T08:16:42 the admins - ie people with root access to the servers, yes, or at least in the same area 2011-03-16T08:16:43 I wouldn't like to open a thread about it, and find out it's common knowledge, or you just need to dig a bit to get the picture. 2011-03-16T08:17:00 but there are a lot more people helping out than that 2011-03-16T08:17:23 yet decisions where made on irc. Is there an official time for gathering ? 2011-03-16T08:18:20 evening in the us timezones is when it's most active, but I'm at work at that time so I don't really know 2011-03-16T08:18:34 I don't pay attention much to the forums either 2011-03-16T08:18:42 I just got roped into doing some code ^_^ 2011-03-16T08:18:57 what are you working on ? 2011-03-16T08:19:05 *** UncleVasya has joined #aichallenge 2011-03-16T08:19:22 just some bug fixes, new replay format, tidying up code 2011-03-16T08:19:25 badgerhunt2: so far i've tested my starter bot only by pasting it info from https://github.com/aichallenge/aichallenge/wiki/Ant-bot-input-output on stdin 2011-03-16T08:19:32 engine backend stuff 2011-03-16T08:20:03 badgerhunt2: maybe there's a working local engine now in the repo, but there wasn't a couple of weeks ago 2011-03-16T08:21:00 stocha: don't hesitate to post on the forums, nothing to be uncomfortable about 2011-03-16T08:21:16 it's hard to find the right place for the stuff i want to discuss 2011-03-16T08:21:30 also i'm affraid it could be offending for the already done stuff 2011-03-16T08:21:35 stocha: yeah, they still need to setup the forums for the current challenge 2011-03-16T08:21:58 like there is already a map generator of some sort, and i would like to just discuss how map generating should be done and tested uppon :p 2011-03-16T08:22:00 there was a lot of talk going on in the last hours. so the replays will be stored in a file system with folder name = game_id / 10,000 2011-03-16T08:22:03 stocha: nah, don't worry about offending someone, just ignore those people 2011-03-16T08:22:32 antimatroid wants the zoom implemented 2011-03-16T08:22:48 well, everyone is working for free. And i'm new to this. I don't want to detter some energy from the one doing the hard work. 2011-03-16T08:22:48 stocha: oh yes, if you want to talk about map generation talk to antimatroid 2011-03-16T08:23:18 should i send a private message on the forum to him then ? 2011-03-16T08:23:18 and don't worry about offending him 2011-03-16T08:23:41 stocha: public would be better, some other people might be interested and have info as well 2011-03-16T08:23:44 it would better to keep conversations in public 2011-03-16T08:24:14 aerique: tyvm - i can use the bot input in a unit test, substituing std.in for another stream. that will work well. 2011-03-16T08:24:16 if you are posting on the forum then just post to everyone 2011-03-16T08:24:40 but antimatroid is the one who cares most about map generation :P 2011-03-16T08:24:49 okay. i should have oppenned a new thread i guess. Stocha ideas or something :p 2011-03-16T08:24:51 he's usually here around this him, not sure where he is right now 2011-03-16T08:25:17 he is at the university too ? 2011-03-16T08:25:21 *** badgerhunt2 has quit IRC () 2011-03-16T08:25:26 yeah, but in australia 2011-03-16T08:25:35 badgerhunt2: i have some beginnings of a game engine if you're on linux but it's far from complete and might be more of a hassle than a help 2011-03-16T08:25:53 oh he's at university, not at *the* university 2011-03-16T08:26:02 okay :) 2011-03-16T08:26:03 badgerhunt: but it might help with some input and output problems 2011-03-16T08:27:16 we'll se how my post got responded too then and in few days i might try to open a new thread to talk about how to beta test the rules in order to tune them toward simplicity and enlightened enineering choices :p 2011-03-16T08:27:29 thanks sigh. 2011-03-16T08:28:59 Ugh: "Information about a water square will only be sent the first turn in which it is visible by one of your live ants.", what a hassle to keep track of. 2011-03-16T08:29:24 (on the engine side, i mean) 2011-03-16T08:29:42 *** kaemo has joined #aichallenge 2011-03-16T08:29:51 i wondered about that too aerique 2011-03-16T08:30:02 maybe they want to make bandwith optimization ? 2011-03-16T08:30:14 yes, i assume so 2011-03-16T08:30:15 it could be that there will be a lot of water seeing indeed. 2011-03-16T08:30:57 still a hassle but well. 2011-03-16T08:31:07 i'm going to ignore that spec for now :) 2011-03-16T08:31:10 someone talked about stateless desirability 2011-03-16T08:33:14 *** badgerhunt has quit IRC () 2011-03-16T08:34:14 so who wants me to visualize 200x200 maps Oo ? 2011-03-16T08:35:18 what map size should we expect for the tournament ? 2011-03-16T08:35:32 Yesterday I tried to beat HunterBot and I failed -.-. It took 500 turns until I finally lost. 2011-03-16T08:35:46 with a bot, or by hand ? 2011-03-16T08:35:52 Frontier: what are you using to play a game? 2011-03-16T08:36:32 with a bot... uh... it's not like I am already getting a head start. Honestly ^^. I need to test the visualizer 2011-03-16T08:36:41 is there an easy to show up a game on the forum ? i think now it's done with .gif. 2011-03-16T08:37:03 Fontier : but you had a server also, where did you find it ? 2011-03-16T08:37:21 i juste saw someone complaining he couldn't test is starting package. 2011-03-16T08:37:28 Frontier: it's not about you getting a head start for me, i just want to test my starter bot 2011-03-16T08:37:48 stocha: There is some work in progress here, but don't rely on that link: http://marco-leise.homedns.org/antgui/work/visualizer.php?game_id=1#visualizer 2011-03-16T08:38:32 it gives me a blank page ? 2011-03-16T08:38:50 Loading visualizer... - java undefined (Display method: HTML Canvas [autodetected]) - data_dir visualizer/ (Image directory) - codebase visualizer/java/ (Java codebase) - game_id 1 Reading replay passed in from php... Creating canvas... Parsing the replay.. 2011-03-16T08:38:58 nothing happens really. 2011-03-16T08:39:02 Ok there is a file called offline.html in the repo. So if you check out the git repo you get some offline tool to watch replays. The engine is there too. 2011-03-16T08:39:38 So there is an engine there for generating the output of the game, and then you can visualize them with offline.html ? 2011-03-16T08:39:40 stocha: what browser? maybe i am missing something 2011-03-16T08:40:01 i think it's called safari. 2011-03-16T08:40:21 stocha: that's what I do, yes. But there has been a change to the replay format a few hours ago. I am yet to update the visualizer. 2011-03-16T08:40:40 stocha: Ah ok, I haven't checked Safari last time 2011-03-16T08:40:49 what change ? how do i see that kind of change ? Are the specs gitted too ? 2011-03-16T08:40:56 (running it under wine on linux ^^) 2011-03-16T08:41:06 i had no problem wiewing the planet wars stuff though. 2011-03-16T08:41:37 stocha: I concerns only the replay format, so your bot is unaffected. I will update the Wiki page about that as soon as I see it working 2011-03-16T08:42:07 but how do you know of the change in the first place. How did it happened ? 2011-03-16T08:42:21 and why. 2011-03-16T08:42:37 i'm currious to understand what's going on :p 2011-03-16T08:42:37 stocha: It works for me in Safari, what is your browser version? 2011-03-16T08:42:43 what the workflow is. 2011-03-16T08:42:51 i'll try to get more information. 2011-03-16T08:43:08 Version 5.0.3 (6533.19.4) 2011-03-16T08:43:20 it's a french system base installation. 2011-03-16T08:43:56 Well I realized that on the last turn the visualizer cannot determine if an ant survives the game or dies in the last turn, as we just store the orders a bot issued. and in end game state there are obviously no more orders 2011-03-16T08:44:26 ? 2011-03-16T08:44:39 so I asked sigh to add some information for me that i can use to either keep or kill any ant in the last turn 2011-03-16T08:45:01 we now append an * to each command string if the ant survives the game 2011-03-16T08:45:04 is not the last turn all staying in place ? 2011-03-16T08:45:24 oh i probably misunderstood anyway :p 2011-03-16T08:45:53 the command are from the server not the client then ? 2011-03-16T08:45:57 if the game was played over 2 turns you have turn 0 and turn 1 where orders can be issued. then there is turn 2 which just displays the end result and isn't really played back 2011-03-16T08:46:32 in turn 2 there are no orders from any ant (not even 'do nothing'), so i would consider them dead 2011-03-16T08:46:36 so it's like every player issues no command for their ants. 2011-03-16T08:47:01 okay, so you need the do nothing to get it right :p 2011-03-16T08:47:02 stocha: Even more like 'the ants don't exist any more' 2011-03-16T08:47:09 correct :) 2011-03-16T08:47:25 okay :) 2011-03-16T08:48:12 still I'm wondering what happens in Safari. Can you look into the error console and check for any messages printed in red? ^^ 2011-03-16T08:48:47 i'll try. where is the error console ? :p 2011-03-16T08:49:39 i found no error console 2011-03-16T08:49:49 man, i really need to start using row-col instead of x-y 2011-03-16T08:50:14 i think you have to enable the developer menu first 2011-03-16T08:50:21 how do i do that ? 2011-03-16T08:50:48 found it 2011-03-16T08:51:16 marco-leise.homedns.org/antgui/work/visualizer/js/Buttons.js:80INDEX_SIZE_ERR: DOM Exception 1: Index or size was negative, or greater than the allowed value. 2011-03-16T08:51:39 what is your safari version? 5.0? 2011-03-16T08:52:23 5.0.3 i posted it earlier :p 2011-03-16T08:53:36 interesting enough : if i activate the "suivi des ressources" thingy, i can see some ant game running :p 2011-03-16T08:53:44 oh sorry, i was typing while you wrote that 2011-03-16T08:54:59 what's the map size ? 2011-03-16T08:55:09 80x60 roughly 2011-03-16T08:55:11 how do one post a game on the forum with your visualizer ? :p 2011-03-16T08:55:54 You cannot do much anything than posting the .replay file 2011-03-16T08:56:12 desolé, pas de .gif 2011-03-16T08:56:32 okay. then people will have to put it into their visualizeur 2011-03-16T08:57:29 yes that is the only way. 2011-03-16T08:57:39 http://emergent.unpythonic.net/software/01126462511-glif 2011-03-16T08:57:40 the line safari complained about was: ctx.drawImage(g.img, this.offset, 0, bs, bs, g.border, g.border + dy, bs, bs); 2011-03-16T08:57:51 i now nothing about java script, so i can't check if it's worth it :p 2011-03-16T08:58:05 is it ? 2011-03-16T08:58:12 do you see a but there ? 2011-03-16T08:58:15 bug 2011-03-16T08:59:55 with random food placement one can get chain reactions of ants spawning if multiple food tiles are within spawn distance of eachother 2011-03-16T08:59:58 i'll go back to my work 2011-03-16T08:59:59 The error message means while trying to draw an image the coordinates went out of the image boundaries. The image was smaller than expected 2011-03-16T09:00:35 aerique : can new ant spawn food on their birth turn ? 2011-03-16T09:00:57 stocha: And since you don't have any cached old images I really can't make a rhyme out of that. 2011-03-16T09:01:16 okay. 2011-03-16T09:01:53 stocha: i haven't been able to find when exactly food is spawned during a turn 2011-03-16T09:02:06 the strange thing is that now that the developper menu is on, it seems to work frontier 2011-03-16T09:02:24 and when ant are spawn also 2011-03-16T09:03:01 stocha: no, that's in the "Game State Update" here 2011-03-16T09:03:07 stocha: https://github.com/aichallenge/aichallenge/wiki/Ants-Game-Specification 2011-03-16T09:03:41 I don't think that is the cause. It might just be the internet connection. On the first load the images take some time to load. Maybe I was using them too early and their size was 0 or something. It is hard to check this kind of stuff locally. Planet Wars did not use any graphics 2011-03-16T09:04:25 (I do have code that waits until all images are loaded, but maybe it is broken somewhere) 2011-03-16T09:04:30 *** boegel has joined #aichallenge 2011-03-16T09:05:06 *** boegel_ has joined #aichallenge 2011-03-16T09:05:45 you are right aerique, they forgot the food spawn i guess. It would be at the end of the turn. 2011-03-16T09:06:10 you don't want to spawn food before food is consumed is suppose. 2011-03-16T09:09:28 *** boegel has quit IRC (Ping timeout: 260 seconds) 2011-03-16T09:14:11 i don't know, i was mostly thinking about the random placement of food, i'm seeing clumps of food with good chain reaction potential with a local experiment 2011-03-16T09:14:15 could be fun though 2011-03-16T09:15:16 but the game would devolve into a race for the food clumps if we'd only have maps with random food placement i think 2011-03-16T09:15:20 a chain reaction is when an ant pop out of a food, and then make another one pop out of an other food without a turn passing right ? 2011-03-16T09:15:37 no, i meant with one turn passing 2011-03-16T09:16:01 you are talking about no food spawning between turn then ? 2011-03-16T09:16:19 stocha: see https://github.com/aichallenge/aichallenge/wiki/Food-Spawning 2011-03-16T09:16:37 stocha: i don't understand your last statement 2011-03-16T09:17:55 so let's say we start with a map empty of food ... :p 2011-03-16T09:18:23 you are interested in when some food would colonize some part of the map somehow and now an ant arrive ? 2011-03-16T09:18:42 so the ant will begin to multiply at an exponential rate 2011-03-16T09:19:16 yes, sorta. depending on how much food is close together 2011-03-16T09:19:22 but as i understand it, it's supposed to only be ONE food per turn. So if bots are very active, it could hardly be many food accumulating. 2011-03-16T09:19:56 okey, i must have missed that :) then there is no problem 2011-03-16T09:20:27 it all comes to the speed of spawning food 2011-03-16T09:20:42 but then, how would chain gathering food be a problem ? 2011-03-16T09:21:00 is it not the same as food behing splited all over the map and gathered in a few turn ? 2011-03-16T09:21:05 then net + ant is the same. 2011-03-16T09:21:18 so it all comes down to how many food per turn/ game are generated. 2011-03-16T09:21:36 aka planet regeneration :p 2011-03-16T09:22:07 But then i don't understand all this need to try to make it fair, when we have so few test to back up engineering choices. 2011-03-16T09:22:36 their can t be more ant than there is ground though. so really i can not be a problem 2011-03-16T09:22:51 if ants are everywhere, there won't be food spawning anymore :p 2011-03-16T09:23:00 the net +ant will be the same, but it will be mostly ants of one player :) 2011-03-16T09:23:44 if it's perfectly random, then on average, the player will gain as many regeneration as he is farming ground. 2011-03-16T09:23:54 wich is probably "fair". 2011-03-16T09:24:34 we'll see :) 2011-03-16T09:24:37 the bigger the map, the fairer it is i guess. 2011-03-16T09:25:04 also you need enough ant before encountering others for it to be fair. but well. 2011-03-16T09:25:04 i'm not necessarily against it, but it's good to keep in mind 2011-03-16T09:25:30 sure. we need to test all the simplest rules, in order to decide how "fun" they are. 2011-03-16T09:25:41 still there are a lot of complex proposition right now. 2011-03-16T09:25:55 in map generation, food generation, combat solving. 2011-03-16T09:26:05 and the game has already been simplified from an initial proposal :) 2011-03-16T09:26:47 for people to be able to get right into it, it really has to be dead simple. But with complex behaviors then 2011-03-16T09:26:50 alike the game of go :) 2011-03-16T09:27:10 if you have very complex rules, and obvious optimal strategy it's a loss :p 2011-03-16T09:27:33 so you have to take some time figuring out how complex the perfect strategy seems to be. 2011-03-16T09:27:43 or how obvious. 2011-03-16T09:28:08 then you want the game to be fun to watch, but it's all hard to get right by mere imagination. 2011-03-16T09:28:47 so i don't get this "here is what the rule should be like + 10 lines of rules there". Without displaying some demos or something. 2011-03-16T09:29:53 somemone said : if it's too complex to solve with my mind, then it's not simple enough :p 2011-03-16T09:31:34 *** stocha has quit IRC (Quit: Page closed) 2011-03-16T09:33:24 *** UncleVasya has quit IRC (Ping timeout: 260 seconds) 2011-03-16T09:38:41 @later tell McLeopold, this time I didn't merge all the changes: bug fixes and rearrangement of code for making attack/spawn order independent in https://github.com/sigh/aichallenge/tree/ordering; get --seed working again in https://github.com/sigh/aichallenge/tree/seed; update replay format in https://github.com/sigh/aichallenge/tree/replay 2011-03-16T09:38:41 sigh: I think that worked... 2011-03-16T09:40:06 @later tell McLeopold, there is also the refactor branch (https://github.com/sigh/aichallenge/tree/refactor) which has the above 3 changes merged in as well as some changes which don't change the functionality... feel free to take it or leave it as you like 2011-03-16T09:40:06 sigh: Ready to serve. 2011-03-16T09:41:04 I should probably figure out how to make pull requests, but meh 2011-03-16T09:42:04 *** sigh has quit IRC (Remote host closed the connection) 2011-03-16T09:44:49 *** kaemo has quit IRC (Ping timeout: 252 seconds) 2011-03-16T09:59:51 *** delt0r___ has joined #aichallenge 2011-03-16T10:00:40 *** Frontier has quit IRC (Read error: Operation timed out) 2011-03-16T10:01:24 *** delt0r_ has quit IRC (Ping timeout: 248 seconds) 2011-03-16T10:02:50 *** Frontier has joined #aichallenge 2011-03-16T10:03:00 *** olex has quit IRC (Quit: Leaving.) 2011-03-16T10:03:10 *** needsch has quit IRC (Quit: Leaving.) 2011-03-16T10:09:46 *** stocha has joined #aichallenge 2011-03-16T10:15:16 *** delt0r___ has quit IRC (Ping timeout: 248 seconds) 2011-03-16T10:26:37 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal) 2011-03-16T10:31:00 *** amstan__ has joined #aichallenge 2011-03-16T10:31:00 *** ChanServ sets mode: +o amstan__ 2011-03-16T10:32:26 *** closedbracket has joined #aichallenge 2011-03-16T10:39:54 *** amstan__ is now known as amstan 2011-03-16T10:40:06 oh god... we are supposed to have less branches after a mergee 2011-03-16T10:40:08 not more 2011-03-16T10:40:30 It is interesting to see how the bots that are on the receiving end seek shelter in the cavings on the test map ^^ 2011-03-16T10:41:21 amstan: I never forked anything, but I doubt that's better. 2011-03-16T10:41:37 i'm just loling at it 2011-03-16T10:41:53 i open github to see how nice the repo looks now, and i just see tentacles 2011-03-16T10:42:12 and most of them are ahead of our branch: https://github.com/aichallenge/aichallenge/network 2011-03-16T10:45:50 actually, i think this is just sigh's rebase 2011-03-16T10:48:03 I'm currently working with sigh's 'replay' branch, but I convinced him of changes that don't break the replays from the current main branch, so I can check in my changes there. It's just that all ants will appear to die at the end of the match. :p 2011-03-16T10:48:39 and I found a note on ehterpad about replays being stored on the filesystem 2011-03-16T10:50:55 *** helo_ has joined #aichallenge 2011-03-16T10:55:22 i shouldn't have forked aichallenge but created a module instead 2011-03-16T11:02:38 *** stocha has quit IRC (Ping timeout: 255 seconds) 2011-03-16T11:14:59 *** aerique has quit IRC (Quit: ...) 2011-03-16T11:25:33 *** stocha has joined #aichallenge 2011-03-16T11:38:57 *** superflit has joined #aichallenge 2011-03-16T11:42:29 *** amstan_ has joined #aichallenge 2011-03-16T11:42:29 *** ChanServ sets mode: +o amstan_ 2011-03-16T11:42:31 *** amstan has quit IRC (Quit: Konversation terminated!) 2011-03-16T11:42:32 *** amstan_ is now known as amstan 2011-03-16T11:42:34 *** amstan is now known as amsta 2011-03-16T11:42:56 *** amsta is now known as amstan 2011-03-16T11:46:57 *** helo_ has quit IRC (Quit: Page closed) 2011-03-16T11:47:37 aichallenge: Marco Leise epsilon * rf7f01ca / ants/visualizer/js/Replay.js : added small change to the replay format - http://bit.ly/gKmWWt 2011-03-16T11:48:43 *** UncleVasya has joined #aichallenge 2011-03-16T11:50:43 * amstan looks around 2011-03-16T11:53:09 Frontier: is the offline visualizer supposed to work at the moment? 2011-03-16T11:53:17 i'm clicking the load text below button 2011-03-16T11:53:20 but nothing happens 2011-03-16T11:53:25 in both chrome and firefox 2011-03-16T11:54:01 lies -.- . It should really work with the replays generated by the fork: sigh/replay, hehe 2011-03-16T11:54:17 can i have a replay then? 2011-03-16T11:54:30 but otherwise it should generate an error message? does it say *anything* ? 2011-03-16T11:54:34 nope 2011-03-16T11:54:48 not even in the error log? 2011-03-16T11:54:55 i mean in the java console 2011-03-16T11:56:15 Frontier: http://i.imgur.com/rGuMg.png 2011-03-16T11:57:49 *** smellyhippy has quit IRC (Read error: Connection reset by peer) 2011-03-16T11:57:58 amstan: downloaded it few hours ago and it became work for me when I opened it in the newer browser. 2011-03-16T11:58:11 UncleVasya: which version? 2011-03-16T11:58:48 *** smellyhippy has joined #aichallenge 2011-03-16T11:59:24 amstan: It works fine in Opera, the other browsers seem to not find the scripts when the url is a file:// url 2011-03-16T11:59:34 I have to see what causes this 2011-03-16T11:59:45 oh, so then it'll work if i do the python webserver? 2011-03-16T11:59:53 Opera 9.64 - doesn't works; Opera 11.01 - okay (WinXP) 2011-03-16T12:00:32 *** stocha has quit IRC (Ping timeout: 252 seconds) 2011-03-16T12:00:44 *** boegel_ has quit IRC (Quit: *poof!*) 2011-03-16T12:00:49 oh wtf, shit. an illegal character. in the file 2011-03-16T12:01:10 Frontier: nope.. same thing 2011-03-16T12:04:31 localhost.localdomain - - [16/Mar/2011 11:58:27] "GET /offline.html HTTP/1.1" 200 - 2011-03-16T12:04:33 localhost.localdomain - - [16/Mar/2011 11:58:27] "GET /js/visualizer.js HTTP/1.1" 200 - 2011-03-16T12:04:34 localhost.localdomain - - [16/Mar/2011 11:58:27] code 404, message File not found 2011-03-16T12:04:35 localhost.localdomain - - [16/Mar/2011 11:58:27] "GET /favicon.ico HTTP/1.1" 404 - 2011-03-16T12:04:40 Frontier: i don't see it looking for any file ^ 2011-03-16T12:05:26 I know, it was from a tme when I was playing around with unicode characters, now I have some invalid, invisible stuff in it ^^ 2011-03-16T12:05:43 my opera version seems to skip it somehow, like the editors 2011-03-16T12:07:47 this is funny, if i cannot see it i have to rewrite the file from scratch ^^ 2011-03-16T12:08:38 aichallenge: Alexandru Stan epsilon * re541f69 / (13 files in 3 dirs): Merge branch 'epsilon' of https://github.com/Synesso/aichallenge into epsilon - http://bit.ly/e4Heug 2011-03-16T12:08:41 Frontier: what file? 2011-03-16T12:08:48 Frontier: can't you just convert it to ascii? 2011-03-16T12:11:04 I did copy the text that chome interpreted as ascii, now that works. but i get a security error now. I should have tested it *offline* and not through the web server. I thought it wouldn't change anything :/ 2011-03-16T12:11:05 *** mceier has joined #aichallenge 2011-03-16T12:12:37 Frontier: k, can you commit? 2011-03-16T12:13:14 The single file, sure. wait a sec 2011-03-16T12:14:11 *** McLeopold has joined #aichallenge 2011-03-16T12:14:27 aichallenge: Marco Leise epsilon * rde72397 / ants/visualizer/js/visualizer.js : fixed an invalid character in visualizer.js - http://bit.ly/fRpWRc 2011-03-16T12:14:28 aichallenge: Marco Leise epsilon * r00653ea / (13 files in 3 dirs): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://bit.ly/hRr2VT 2011-03-16T12:15:22 ugh.. pull before you commit 2011-03-16T12:15:41 Frontier: http://www.html5rocks.com/tutorials/file/dndfiles/ might be useful for local testing 2011-03-16T12:15:55 ok, now i do get a security exception in chrome 2011-03-16T12:16:07 I know, that's what i said 2011-03-16T12:16:32 It doesn't like that i colorize the fog of war buttons -.- 2011-03-16T12:16:49 Frontier: do you have a link so I can see it? 2011-03-16T12:16:52 This is reeeeaaaaalllllyyyyy pissing me off. Come on Chrome it is a local file! 2011-03-16T12:17:40 Frontier: firefox doesn't like it either though 2011-03-16T12:18:23 But in Firefox I can probably ask the user for permission 2011-03-16T12:18:58 McLeopold: the error message? 2011-03-16T12:19:14 just the current visualizer :) 2011-03-16T12:19:29 Frontier: now that i'm thinking about it.. it's secure 2011-03-16T12:19:45 you don't want any stupid html file to read files on your hd and send them over to a server 2011-03-16T12:19:50 http://marco-leise.homedns.org/antgui/work/visualizer.php?game_id=1#visualizer 2011-03-16T12:20:29 amstan: I'm just reading pixels of a canvas 2011-03-16T12:20:36 oh 2011-03-16T12:21:38 also, at the end, the fog of war covers everything 2011-03-16T12:21:41 sure, I could have loaded C:\Users\amstan\pics\knownname.jpg rendered that into a canvas, read out the pixel data and used ajax to send it to my secret server - but hey. then the ajax connection should fail, not reading the pixels ^^ 2011-03-16T12:22:08 amstan: That is part of the change that comes with the new engine in sigh/replay 2011-03-16T12:22:19 Frontier: no.. because connecting to the internet is much more useful than reading some stupid file of the person's hd 2011-03-16T12:23:16 Frontier: what change from sigh? 2011-03-16T12:24:33 So, some thoughts, the wood frame is ugly, the ants' movement should be smooth and continuous, there should be some controls and clicking on the timeline (which I assume is in the works.) 2011-03-16T12:24:41 The ant's command strings will end in '*' if they survive the game. So I know which ants to keep in the 'end turn'. 2011-03-16T12:25:03 Oh, hell no, that will not be the case. 2011-03-16T12:25:26 There will be an end turn variable for the replay format, not a '*' 2011-03-16T12:25:37 McLeopold: antimatroid asked for a frame, but the current one is arguably ugly, yes. i wanted it to look like a sandbox 2011-03-16T12:26:06 I'd rather not have a frame, but a drawning of the other side of the map 2011-03-16T12:26:14 McLeopold: either way I need to know if the ants actually die in the last turn or survive 2011-03-16T12:26:19 plus scrolling 2011-03-16T12:27:09 how about the ant line's "lastTurn" is something like -1 or undefined? 2011-03-16T12:27:40 That is what I want for the zoom mode in any case. Currently I'm wasting a lot of room, that's a fact. On the other hand it saves processing power and may be confusing when the board repeats several times 2011-03-16T12:28:17 you can just colorize the part that is not repeated, I don't think it will be confusing 2011-03-16T12:29:42 Frontier: are you okay with -1 for the last turn of an ant? 2011-03-16T12:29:51 but still it will be a lot slower to render all the small squares. It would be better than this frame, but I'm not sure about the performance impact 2011-03-16T12:30:08 At least make it an option 2011-03-16T12:30:17 McLeopold: sigh and me already implemented it the other way. 2011-03-16T12:30:43 Frontier: no, we need to change it 2011-03-16T12:31:31 Ok, but why? I don't see the format being used anywhere else but in the engine's output and the visualizer 2011-03-16T12:33:01 It's redundant info, '*' is used as food in char maps, other will want to make tools, so we ought to do good design from the start. 2011-03-16T12:34:08 well, we omitted the 'last turn' field for the ants, so it is not redundant 2011-03-16T12:34:31 You might convince me otherwise, but my first reaction to it is "eww". 2011-03-16T12:35:48 hmm... 2011-03-16T12:36:23 My intention was to make it easy for sigh to implement ^^. 2011-03-16T12:36:40 how about a '!' at the end if an ant dies? 2011-03-16T12:37:06 blah, I still don't like it 2011-03-16T12:37:43 It is still the same, just no reuse of * 2011-03-16T12:39:03 From the parser point of view I have to wait for all imput anyway and handle deaths at the end. The reason is that food may die or be converted. That is only clear from the appearance of a corresponding ant line. 2011-03-16T12:39:36 Yeah, I can see that as I'm thinking about it. 2011-03-16T12:40:26 And you do something different if the food disappears rather than become an ant? 2011-03-16T12:41:01 Sure, stuff that dies becomes black and shrinks, food that is converted to an ant just fades the color to the player color 2011-03-16T12:41:44 so, do you have a food disappear character in the spec now? 2011-03-16T12:41:48 The animation isn't smooth, because it is otherwise difficult to keep track of the kills and food conversions. 2011-03-16T12:42:02 no food has a life time or not 2011-03-16T12:42:15 ? 2011-03-16T12:42:31 If the foods end turn is undefined it survives the game, otherwise it is converted/killed 2011-03-16T12:42:56 do you want to know the different between converted/killed? I would think so 2011-03-16T12:43:23 McLeopold... i'm thinking about merging food/ant lines 2011-03-16T12:43:47 Yeah, that does make some sense 2011-03-16T12:44:02 |* possible cut here *| ... 2011-03-16T12:44:26 but that doesn't solve it yet 2011-03-16T12:45:06 maybe if food that dies has a conversion time, but playerId = -1 or something 2011-03-16T12:45:46 You would set the end time for an ant that survives to -1 ? 2011-03-16T12:48:49 I'm thinking... 2011-03-16T12:48:57 i see ^^ 2011-03-16T12:52:18 Frontier: I'm very much non-caring about the frame :) 2011-03-16T12:53:09 Frontier: http://ietherpad.com/TR0zbEqvx1 2011-03-16T12:53:43 *** superflit has quit IRC (Quit: superflit) 2011-03-16T12:55:12 antimatroid: ok to be honest I use it to draw over the ants that move out of the map :p 2011-03-16T13:00:05 *** computer1iz_222 has joined #aichallenge 2011-03-16T13:01:38 *** computerwiz_222 has quit IRC (Read error: Operation timed out) 2011-03-16T13:04:05 *** smellyhippy has quit IRC (Read error: Connection reset by peer) 2011-03-16T13:06:25 *** smellyhippy has joined #aichallenge 2011-03-16T13:06:25 *** smellyhippy has joined #aichallenge 2011-03-16T13:06:50 *** superflit has joined #aichallenge 2011-03-16T13:29:41 *** needsch has joined #aichallenge 2011-03-16T13:30:00 *** needsch1 has joined #aichallenge 2011-03-16T13:31:13 *** stocha has joined #aichallenge 2011-03-16T13:31:18 hi 2011-03-16T13:32:08 *** needsch has quit IRC (Disconnected by services) 2011-03-16T13:32:12 *** needsch1 is now known as needsch 2011-03-16T13:35:02 *** drain_bamage has joined #aichallenge 2011-03-16T13:41:56 *** UncleVasya has quit IRC (Ping timeout: 260 seconds) 2011-03-16T14:11:18 *** drain_bamage has quit IRC (Quit: Leaving) 2011-03-16T14:12:33 *** closedbracket has quit IRC (Remote host closed the connection) 2011-03-16T14:14:08 stocha: hi 2011-03-16T14:22:48 *** antimatroid has quit IRC (Ping timeout: 252 seconds) 2011-03-16T14:24:55 *** antimatroid has joined #aichallenge 2011-03-16T14:35:38 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.15/20110303024726]) 2011-03-16T14:46:25 *** bhasker has joined #aichallenge 2011-03-16T14:52:20 *** amstan has quit IRC (Ping timeout: 250 seconds) 2011-03-16T14:53:36 *** closedbracket has joined #aichallenge 2011-03-16T15:05:23 p 2011-03-16T15:12:31 there seems to be only one way to use the visualizer offline in Chrome. One has to pass it the --allow-file-access-from-files command-line argument. That is pretty annoying. 2011-03-16T15:13:24 i will have no bad talk of chrome :P 2011-03-16T15:14:04 Frontier: I got the local file to work with a file input tag 2011-03-16T15:15:37 McLeopold: JavaScript is allowed to access files using the file input tag, but it is not allowed to read the pixel data of images, because each file:// url has a different origin by design 2011-03-16T15:16:25 why do you need pixel data? 2011-03-16T15:16:43 I thought you just needed the replay text? 2011-03-16T15:17:04 I don't want to colorize 26 button images for fog and maybe other stuff. 2011-03-16T15:17:33 I just use a 48x48 png and colorize it for as many players as are in the replay file. 2011-03-16T15:18:20 In FireFox you can ask the user to allow that access. 2011-03-16T15:18:35 http://www.html5rocks.com/tutorials/file/dndfiles/ try the third example, png files load in chrome for me 2011-03-16T15:18:52 But, it may not be supported in all browsers yet. 2011-03-16T15:19:10 opera doesn't care about security at all and Safari is still to be tested. 2011-03-16T15:22:05 McLeopold: I can load files and I can read their binary data, probably. But I need a decoded png and I need it without the user browsing for the button gfx in the file explorer 2011-03-16T15:22:35 I see 2011-03-16T15:22:42 i dont want to write a png decoder in javascript, you know? 2011-03-16T15:23:40 Someone probably already has... 2011-03-16T15:25:10 *** stocha has quit IRC (Ping timeout: 252 seconds) 2011-03-16T15:25:13 uh... maybe. like that gameboy emulator in javascript. real kick ass stuff 2011-03-16T15:25:55 Safari is like Opera: Security? What is it? I cannot check IE right now. 2011-03-16T15:26:17 oh wait, i use the applet there so that doesn't count 2011-03-16T15:27:15 i guess I'll just have to ignore Chrome for now. :( 2011-03-16T15:31:12 That means I will catch the security error and skip the colotization of button graphics 2011-03-16T15:35:45 *** Naktibalda has joined #aichallenge 2011-03-16T15:45:20 *** stocha has joined #aichallenge 2011-03-16T15:45:54 if the visualizer suffers compatibility issues, that may be the source of a lot of frustration. 2011-03-16T15:46:18 is there absolutely no ways to get things done with more standard stuff ? 2011-03-16T15:48:29 stocha: It is just the color of the buttons in Chrome when the visualizer is loaded from a local file. 2011-03-16T16:11:07 *** Accoun has quit IRC () 2011-03-16T16:16:54 okay, no big worry then ? :p 2011-03-16T16:22:48 stocha: not really. besides that I try to be as standard as possible and try everything in all major browsers now and then. 2011-03-16T16:23:58 *** amstan has joined #aichallenge 2011-03-16T16:23:58 *** ChanServ sets mode: +o amstan 2011-03-16T16:26:44 I'm currently reading this funny thread: http://bytes.com/topic/javascript/answers/580772-how-change-browser-settings-dynamically-through-javascript 2011-03-16T16:26:44 Someone has a product that only works when he can change the browser security settings from JavaScript to allow the download of a ActiveX component. 2011-03-16T16:29:27 It's like: To use our web site you must first buy and install Windows, use no other browser than IE and allow the execution of arbitrary code. 2011-03-16T16:29:46 *** Accoun has joined #aichallenge 2011-03-16T16:30:24 Man, and I'm just asking to apply a filter to an image locally. 2011-03-16T16:33:52 *** sigh has joined #aichallenge 2011-03-16T16:37:42 *** sigh_ has joined #aichallenge 2011-03-16T16:38:31 *** iFire has joined #aichallenge 2011-03-16T16:41:49 *** iFire` has quit IRC (Ping timeout: 240 seconds) 2011-03-16T16:44:11 aichallenge: Marco Leise epsilon * rf03baf3 / (5 files in 3 dirs): worked around security issues in firefox and chrome when using the offline visualizer: chrome has no colored buttons, firefox asks for permission - http://bit.ly/eS96Xd 2011-03-16T16:47:58 amstan: "get visualizer hooked up to replays, files are in website/games/use the game_id // 10000 to get the dir, then the game_id with a ".replay" to get the file" <- can you elaborate a bit on this? :) 2011-03-16T16:48:14 sure 2011-03-16T16:48:27 Frontier: on which part? 2011-03-16T16:48:32 when a game is finished, a replay file will exist on the main website 2011-03-16T16:48:35 Frontier: apparently replays are stored in files, in a games folder 2011-03-16T16:48:48 so, we need a php page that will take a game_id parameter, and load up the viewer 2011-03-16T16:49:09 I read: from the directory where visualizer.html is, I go into ./website/games//.replay 2011-03-16T16:49:21 yes 2011-03-16T16:49:35 McLeopold: The cool thing is: we need no php! 2011-03-16T16:49:48 Frontier: i was about to ask for that 2011-03-16T16:49:50 we need something 2011-03-16T16:49:56 html 2011-03-16T16:50:01 ok 2011-03-16T16:50:06 static cache-friendly stuff :p 2011-03-16T16:50:14 Frontier: wait wha? 2011-03-16T16:50:57 amstan: Something wrong? 2011-03-16T16:51:07 Frontier: how are you doing this then? 2011-03-16T16:51:14 get variables parsed by javascript? 2011-03-16T16:51:46 http://www.driedger.ca/classics-2/Image142.jpg 2011-03-16T16:52:12 amstan: Sure, and it works. I did that in my first prototypes weeks ago. 2011-03-16T16:52:23 lol 2011-03-16T16:52:40 well you can replace that box by the ... step 2011-03-16T16:53:35 I was not sure if you meant 'id modulo 10,000' or just a division 2011-03-16T16:53:43 integer division 2011-03-16T16:53:46 Frontier: integer division 2011-03-16T16:54:03 or, drop 4 digits on the right 2011-03-16T16:54:04 Frontier: 43243 -> 43/43243.replay 2011-03-16T16:54:12 4 digits! 2011-03-16T16:54:21 oh.. 10000, 4/43242.replay 2011-03-16T16:54:26 :) 2011-03-16T16:54:55 this is really a performance issue. should i cut off parts of the string or use divide and floor ^^ 2011-03-16T16:55:22 string 2011-03-16T16:55:35 isn't there an int div? 2011-03-16T16:55:39 in javascript? 2011-03-16T16:55:41 lol no 2011-03-16T16:55:46 javascript only has floats 2011-03-16T16:55:52 they use double precision for everything 2011-03-16T16:56:00 so what's wrong with divide then floor? 2011-03-16T16:56:09 nothing 2011-03-16T16:56:28 why bother, he gets a string to begin with, then must translate the number to a string at the end? 2011-03-16T16:56:32 actually i prefer: (game_id / 10000) | 0 2011-03-16T16:56:57 huh? 2011-03-16T16:57:10 |0? 2011-03-16T16:57:19 McLeopold: you're right 2011-03-16T16:57:28 that calls an internal int function which chops the decimals off 2011-03-16T16:57:31 another miracle of JavaScript. it is binary OR and converts the number to an int43 2011-03-16T16:57:34 *int32 2011-03-16T16:57:39 *** kaemo has joined #aichallenge 2011-03-16T16:57:57 :O lol 2011-03-16T16:58:08 bit operations require integer operands, so JavaScript converts the double to an int 2011-03-16T16:58:34 *** sigh_ has quit IRC (Remote host closed the connection) 2011-03-16T16:58:48 and i hope and pray that some JavaScript implementations actually see what I try to do and store the result as an integer, not a double 2011-03-16T17:00:03 ok, enough said. I'll quickly implement the game replay download 2011-03-16T17:00:48 oh wait... there are php-includes in the html now ^^ 2011-03-16T17:08:16 how do i divide a string by 10,000 in php? 2011-03-16T17:12:01 ok done 2011-03-16T17:12:56 *** Mathnerd314 has joined #aichallenge 2011-03-16T17:16:32 *** delt0r___ has joined #aichallenge 2011-03-16T17:18:52 amstan: I think you don't want me to go into 'website'. The visualizer.php is already in a directory named 'website' 2011-03-16T17:20:07 aichallenge: McLeopold epsilon * r4b88a7d / (10 files in 6 dirs): Added functional test to worker - http://bit.ly/enreaM 2011-03-16T17:20:34 Frontier: no, you can go ahead 2011-03-16T17:21:04 so its just games/0/1.replay, correct? 2011-03-16T17:23:26 aichallenge: Marco Leise epsilon * r76588e3 / (ants/visualizer/js/Application.js website/visualizer.php): visualizer requests replays via http instead of generating a html file with the replay embedded - http://bit.ly/eldYXO 2011-03-16T17:27:05 aichallenge: Marco Leise epsilon * r0404a20 / ants/visualizer/js/Application.js : fixed a litte problem - http://bit.ly/hKmiWX 2011-03-16T17:30:11 aichallenge: McLeopold epsilon * r1c1035e / (4 files in 2 dirs): 2011-03-16T17:30:12 aichallenge: Merge remote branch 'sigh/refactor' into epsilon 2011-03-16T17:30:12 aichallenge: Conflicts: 2011-03-16T17:30:41 amstan: look how neat we are keeping the graph 2011-03-16T17:37:02 *** Chris_0076 has joined #aichallenge 2011-03-16T17:54:58 *** stocha has quit IRC (Quit: Page closed) 2011-03-16T18:00:03 *** delt0r_ has joined #aichallenge 2011-03-16T18:01:31 *** delt0r___ has quit IRC (Ping timeout: 246 seconds) 2011-03-16T18:05:22 *** mega1 has quit IRC (Read error: Operation timed out) 2011-03-16T18:13:54 McLeopold: in do_attack_closest what is the significance of "for distance in range(1, 10)", what is 10? 2011-03-16T18:15:52 either way, the description of this method on https://github.com/aichallenge/aichallenge/wiki/Ants-Game-Specification needs to be made more explicit 2011-03-16T18:17:26 when refactoring it, I kept the functionality the same, but I don't really understand all the decisions 2011-03-16T18:22:48 *** superflit has quit IRC (Quit: superflit) 2011-03-16T18:24:01 *** chris__0076 has joined #aichallenge 2011-03-16T18:25:43 *** Chris_0076 has quit IRC (Ping timeout: 240 seconds) 2011-03-16T18:32:34 *** superflit has joined #aichallenge 2011-03-16T18:36:47 *** chris__0076 has quit IRC (Quit: Leaving) 2011-03-16T18:42:42 *** superflit has quit IRC (Quit: superflit) 2011-03-16T18:43:39 sigh: I'm working on the code right now 2011-03-16T18:44:41 sigh: 10 was a hard coded distance value. I was looking for everything range 1, then removing it, then continuing up until 10 2011-03-16T18:44:59 I though I changed that to use the game options, but I must have merged it away 2011-03-16T18:46:00 McLeopold: ah i see 2011-03-16T18:46:15 the description wasn't fleshed out, because antimatroid doesn't want it picked :) 2011-03-16T18:46:36 :) 2011-03-16T18:46:49 so, I should be done in a few and can push 2011-03-16T18:46:58 The change is for a modified replay format 2011-03-16T18:47:07 http://ietherpad.com/TR0zbEqvx1 2011-03-16T18:47:27 imo, the battle resolutions specs should be sorted out as a matter of priority 2011-03-16T18:47:37 and, it looks like you've got a row/col or col/row confusing in the code somewhere? 2011-03-16T18:47:50 I have? o_O 2011-03-16T18:48:41 part of the reason I use loc everywhere rather than row, col is to avoid that mistake 2011-03-16T18:49:11 could be my refactor, still looking 2011-03-16T18:53:55 nope, it was just coincidental data 2011-03-16T18:56:04 I think we should just go with the option 2 battle resolution and see if Jeff even remembers/notices it when he comes back :P 2011-03-16T18:56:04 aichallenge: McLeopold epsilon * r3dcf31b / (5 files in 3 dirs): Modifed replay format to combine ants and food - http://bit.ly/ffVNzv 2011-03-16T19:00:22 *** Kingpin13 has joined #aichallenge 2011-03-16T19:01:17 janzert: isn't option 1 the one everyone wants 2011-03-16T19:01:41 man, there's a lot of ones in that sentence 2011-03-16T19:02:19 I don't think so but it's certainly possible that I reversed them 2011-03-16T19:03:14 * janzert looks up the spec 2011-03-16T19:03:43 *** amriedle has joined #aichallenge 2011-03-16T19:03:54 ahh, yeah looks like I did 2011-03-16T19:07:12 *** davidjliu has joined #aichallenge 2011-03-16T19:15:50 *** davidjliu has quit IRC (Ping timeout: 252 seconds) 2011-03-16T19:17:07 janzert: do you see any issue in limiting the pool of available players to those not in a waiting matchup? 2011-03-16T19:18:51 it becomes a problem when the ratio of active players to games per minute is low 2011-03-16T19:19:09 so during the general contest no it isn't a problem 2011-03-16T19:19:28 during the finals when trying to limit play to the top few players it became a problem 2011-03-16T19:19:56 how many matchups were in the queue? 2011-03-16T19:20:12 about 3-5 minutes worth 2011-03-16T19:20:28 which includes what percent of players left? 2011-03-16T19:20:48 it was up to 75% 2011-03-16T19:20:57 yeah, that would hurt it 2011-03-16T19:20:59 roughly 2011-03-16T19:21:14 you don't play bots on the other side of the rotation 2011-03-16T19:21:24 * janzert nods 2011-03-16T19:21:42 if I can make this so a matchup is created only when requested, I don't think it would be a problem 2011-03-16T19:21:54 it's the reason the cutoff ended up staying at 1000 2011-03-16T19:22:11 without fixing that I couldn't lower it any farther 2011-03-16T19:22:21 and I didn't have any time to fix it :/ 2011-03-16T19:22:51 I may just remove seed players then 2011-03-16T19:23:13 from being selected as seed players 2011-03-16T19:24:04 or take all the players in the queue and order them at the end of the seed list (in the order their game is in the queue) 2011-03-16T19:24:15 I think that is really the right way to do it 2011-03-16T19:24:38 of course it's also more complex 2011-03-16T19:24:42 yeah 2011-03-16T19:24:54 but if we can always produce a list of all users, then it always works 2011-03-16T19:25:07 just mess with the ordering 2011-03-16T19:25:20 yep 2011-03-16T19:26:26 one other thing regarding the game queue 2011-03-16T19:27:24 actually maybe the problem I'm thinking of is irrelevant with the new schema 2011-03-16T19:27:32 let me look :) 2011-03-16T19:28:33 looks like it could still be a problem... 2011-03-16T19:28:54 when handing out a game task the server should do a last minute check that all the submissions involved are still active 2011-03-16T19:29:17 for the last contest with only 2 player games the game was simply discarded if that wasn't the case 2011-03-16T19:30:01 it might be better to try and see if the user has a new submission that is ready if the one involved in the game has been invalidated 2011-03-16T19:30:22 and only throw the game out if there isn't a replacement submission ready yet 2011-03-16T19:31:27 what if the older one just played anyway 2011-03-16T19:32:22 it's a bit of a waste of resources, but I suppose with n-player games not a complete waste at least 2011-03-16T19:32:43 it would matter less if I get the matchup table to only have as many matchups as there are workers 2011-03-16T19:33:10 and do a pairing every time a game is turned in then? 2011-03-16T19:33:16 yes 2011-03-16T19:33:19 that's my goal 2011-03-16T19:33:20 hmm, might work 2011-03-16T19:33:33 it makes finding the mu so much faster 2011-03-16T19:33:55 rather than doing games based on mu's that are several games behind 2011-03-16T19:34:01 why not eliminate the queue altogether 2011-03-16T19:34:14 just do the pairing on demand when a game task is requested 2011-03-16T19:34:21 so I don't make myself crazy when doing the rankings 2011-03-16T19:34:32 oh, yeah, that 2011-03-16T19:35:09 more accurately when a task is requested and no compile tasks are pending 2011-03-16T19:35:14 it will be close, but I still want to use server idle time to do it 2011-03-16T19:35:23 so that it is ready 2011-03-16T19:35:33 just keep the queue at workers + 1 2011-03-16T19:35:37 or so 2011-03-16T19:35:44 or even just 1 2011-03-16T19:35:47 except workers + 1 is hard to determine 2011-03-16T19:36:22 so, a task is requested, the game is handed out and spawns a process to generate the next 2011-03-16T19:36:49 yeah, that would work so long as it does something sensible if another is requested before the first is generated 2011-03-16T19:36:56 usually, that will happen just after a game result 2011-03-16T19:37:32 the second request could wait for the entry to be available, then start generating it's own 2011-03-16T19:37:33 like generate the pairing without spawning a process 2011-03-16T19:37:52 I use that term loosly 2011-03-16T19:38:08 maybe spawn off the generation before trying to hand out a pairing 2011-03-16T19:38:13 I'm really hoping for a mysql procedure 2011-03-16T19:38:43 well, that introduces a delay, that's why I'd rather have one waiting 2011-03-16T19:38:48 then it will start generation of however many parallel requests are in progress 2011-03-16T19:38:52 aichallenge: Marco Leise epsilon * raffece3 / (4 files): replay file can set player colors - http://bit.ly/dZkGgj 2011-03-16T19:39:02 I mean spawn it off so it executes in parallel 2011-03-16T19:39:10 of grabbing the one that should be in the queue 2011-03-16T19:39:21 the handing out will be instant, so it doesn't really matter 2011-03-16T19:39:49 yep, but say 5 requests come in for a game at once 2011-03-16T19:40:26 if the generation starts at the beginning of the request can they happen in parallel instead of waiting for each one to complete? 2011-03-16T19:40:28 they would chain 2011-03-16T19:40:29 *** Kingpin13 has quit IRC (Quit: You're a kitty!) 2011-03-16T19:40:36 oh, I see now 2011-03-16T19:40:44 yes, if the generation is at the end 2011-03-16T19:40:47 yeah :) 2011-03-16T19:41:32 right now, it would be php doing this 2011-03-16T19:41:40 now that I think about it more I'm not sure how parallelizable the pairing generation will be anyway though 2011-03-16T19:43:44 *** olexs has joined #aichallenge 2011-03-16T19:44:06 *** Cyndre has quit IRC (Quit: Leaving) 2011-03-16T19:44:29 I do really like the idea of having a very small queue with additional pairing triggered either by a request or turn in 2011-03-16T19:45:46 maybe just have a queue low water mark configuration setting that could be manually adjusted to approximately the number of workers and have two pairings generated whenever the queue length dropped below that 2011-03-16T19:46:19 if it is fast enough, maybe just calculating on the fly is best 2011-03-16T19:46:25 less work 2011-03-16T19:46:28 for me 2011-03-16T19:46:46 I'm gonna try that and see how it goes 2011-03-16T19:46:51 *** Cyndre has joined #aichallenge 2011-03-16T19:46:51 yeah, if it's fast enough 2011-03-16T19:47:37 any idea what the pairing speed complexity is? 2011-03-16T19:48:16 i.e. rough big O notation 2011-03-16T19:50:31 picking the seed user will be linear 2011-03-16T19:51:33 choosing number of players seems linear in the number of games played by the seed 2011-03-16T19:52:06 choosing map, linear from number of maps 2011-03-16T19:53:39 hmm, just noticed point 4.3 for choosing players 2011-03-16T19:53:46 OK, so quick question for those who care: should the jail include a chroot? It is (yet) another layer of protection, but a bit of a hassle (all of the programming languages, etc. must be installed in the chroot environment). Do people think it's necessary? I'm on the fence myself at this point. 2011-03-16T19:53:58 I think that needs to be dropped, it forces the tournament to be a round robin initially 2011-03-16T19:54:18 jbroman: I'd like it to 2011-03-16T19:54:53 and then the programming languages should *only* be installed in the chroot 2011-03-16T19:55:03 not in the general worker environment 2011-03-16T19:55:10 janzert: I'm ignoring most of the text in the current trueskill matchmaking and going with my first idea 2011-03-16T19:55:16 Which makes sense. As long as people are willing to tolerate that. 2011-03-16T19:55:46 willing to tolerate it how? 2011-03-16T19:55:57 McLeopold: oh, ok :/ 2011-03-16T19:56:05 Stupid things like the fact that you can't do apt-get install without chrooting first. 2011-03-16T19:56:17 ahh, well no one should be doing that at all 2011-03-16T19:56:27 uh.. does that mean you have to install all dependencies there too? 2011-03-16T19:56:28 except the worker setup script 2011-03-16T19:56:35 Frontier: Exactly. 2011-03-16T19:56:36 Frontier: yes 2011-03-16T19:56:39 oh sh... 2011-03-16T19:57:01 ? 2011-03-16T19:57:08 janzert: what's wrong with a round robin initially? 2011-03-16T19:57:08 it only matters for contest workers at all 2011-03-16T19:57:11 It would also be nice because the way I'm picturing this, we could also capture the writes that each bot (tried to) make. 2011-03-16T19:57:22 Without having to strace them. 2011-03-16T19:57:29 McLeopold: that is lots and lots of games that provide no useful information 2011-03-16T19:57:38 janzert: if X is 1? 2011-03-16T19:57:58 what is X? 2011-03-16T19:58:11 how many games you get before seeing the same bot again 2011-03-16T19:58:18 If you plan to allow binary submissions remember to make the architecture public or ppl will upload 64-bit windows programs :p 2011-03-16T19:58:35 Frontier: no binary for epsilon 2011-03-16T19:59:03 I'm not sure what that has to do with the tournament being a round robin instead of trueskill paired? 2011-03-16T19:59:07 Frontier: For sure. If we sanction binary, we'll release the platform. Though I kind of like the idea of leaving it as an "at your own peril" thing. 2011-03-16T19:59:43 janzert: with thousands of entries, there should be enough bots to choose good matches without having to play the exact same bots several times over 2011-03-16T19:59:55 *** Meatkat has joined #aichallenge 2011-03-16T20:00:23 If 2 bots stabalize near each other, it would suck if they were always paired together in games 2011-03-16T20:00:40 McLeopold: yes, there should be but if the pairing is implemented as give on the wiki (specifically 4.3 in the future section) it will just be a round robin until everyone has played everyone else 2011-03-16T20:01:36 I think you're reading it wrong 2011-03-16T20:02:06 X is used to configure how many games before a repeat 2011-03-16T20:02:06 it will start with the nearest trueskill pairing but will keep getting worse until everyone has played everyone 2011-03-16T20:02:17 X doesn't figure into that point at all 2011-03-16T20:02:27 that only makes sense if mu doesn't change 2011-03-16T20:03:00 and not until everyone has played everyone, just until everyone has played x games 2011-03-16T20:03:37 I guess it's not quite everyone played everone, but it is everone played at least one of the players in each game 2011-03-16T20:04:06 yes, which will be a really small percentage of bots, but enough that you don't get screwed on your pairings 2011-03-16T20:04:49 if mu is moving, you will get good matches without hitting that limit 2011-03-16T20:05:11 if mu is stable, a person is going to want suboptimal matches so they can see how other bots play against them 2011-03-16T20:05:14 this limit overrides all trueskill concerns 2011-03-16T20:05:37 see my previous 2 comments 2011-03-16T20:05:37 it's a higher priority in the spec 2011-03-16T20:06:35 *** closedbracket has quit IRC (Remote host closed the connection) 2011-03-16T20:07:15 points 1, 2 and 3 limit the pool of players for a match to ensure variety of matches, which will mostly affect stabilized bots, which is a good thing 2011-03-16T20:07:33 it still seems needing all 4000 players to have played at least one of the say 8 players in the game before trueskill gets an unfettered shot at making a pairing isn't going to leave it much choice 2011-03-16T20:07:34 we *don't* want to pair the same bots over and over on the same maps 2011-03-16T20:07:42 *** mceier has quit IRC (Quit: leaving) 2011-03-16T20:07:55 which is what stopping repeat pairings does 2011-03-16T20:08:19 how do you get all 4000 from the spec? we can't be talking about the same thing 2011-03-16T20:08:44 "if there are any players that have played none of the existing players" 2011-03-16T20:08:54 well users 2011-03-16T20:09:27 last contest that was over 4000 2011-03-16T20:09:40 yeah, we are reading a different part of the page :) 2011-03-16T20:09:48 :) 2011-03-16T20:10:24 yeah, that sucks, again, I'm going with my original thoughts 2011-03-16T20:11:31 ok, I have no idea what that is so I'll just have to wait and see then :P 2011-03-16T20:12:11 it was the first version I posted, edited by you 2011-03-16T20:12:17 janzert: look at the page history 2011-03-16T20:12:59 I should have clued into your question of "what is X" :? 2011-03-16T20:13:11 :} 2011-03-16T20:14:21 question I've wondered about off and on, why are you choosing the number of players before choosing the map? 2011-03-16T20:14:34 why not just choose a map? 2011-03-16T20:15:03 the map and number of players are tied together 2011-03-16T20:15:10 then we could have for example 2-high player maps, 4-medium player maps and 8 low player maps 2011-03-16T20:15:13 I'm limiting the pool of maps to choose from 2011-03-16T20:15:21 and people will get games in that proportion 2011-03-16T20:15:57 choosing the number of players first means they play the high player maps twice as often as the medium player maps 2011-03-16T20:16:34 no, it means for a seed player, we ensure an even distribution of maps by player number 2011-03-16T20:16:36 i.e. the proportion of number of players is always even 2011-03-16T20:17:14 but why do we want that instead of just even distribution over all the maps? 2011-03-16T20:17:31 I don't see any benefit and it seems like a disadvantage 2011-03-16T20:17:34 ummm... 2011-03-16T20:17:46 I was assuming an even set of map 2011-03-16T20:18:32 so, I could just rotate on map_id rather than number of players 2011-03-16T20:18:36 janzert: I guess he doesn't want to end up with some players who play more 8 player games (say) than 2 player games 2011-03-16T20:19:12 *** needsch has quit IRC (Quit: Leaving.) 2011-03-16T20:19:22 sigh: yes, but I was assuming we'd keep the set of maps evenly distributed across number of players 2011-03-16T20:19:31 if we just rotate on based on map so the seed never plays a map that it has already played more than some other map I think we'll be better off 2011-03-16T20:19:50 yes, that works 2011-03-16T20:20:24 I did want some type of rotation for number of players, so a new submission will get each type up front 2011-03-16T20:20:46 The less waiting to see if you do good on a 2-player map, the better 2011-03-16T20:21:12 I'm not sure but I'm thinking we may want to distribute number of maps inversely to the number of players in the map 2011-03-16T20:21:27 Hmm, yeah that might be nice 2011-03-16T20:21:52 just make it a strictly lower priority than choosing a least played map and it should accomplish that 2011-03-16T20:22:19 unless we have a bunch of x-player maps 2011-03-16T20:22:29 over and above the other player-number maps 2011-03-16T20:22:55 let me state it a little differently, you initial pool will be all the maps since the seed won't have played on any 2011-03-16T20:22:57 again, there was a "no repeat" logic there that can be tuned 2011-03-16T20:23:22 after the first game eliminate that map from the pool 2011-03-16T20:24:11 then choose a map from that pool that has a different number of players 2011-03-16T20:24:42 and so on until each number of players has been used and every map has been used 2011-03-16T20:25:07 basically just swap your 2 and 3 2011-03-16T20:25:50 okay, but if there are 10-2player, 5-3player, you will hit a string of 2player maps at some point 2011-03-16T20:25:51 but instead of picking a specific map when looking for a map that was played least often, take all the maps that have been played least often 2011-03-16T20:26:18 just like user_id for seed, it will be the whole list with an ordering 2011-03-16T20:26:25 hmm, yes 2011-03-16T20:27:13 maybe instead of a rotation it should just be if you haven't played a n-player match yet then choose one of those 2011-03-16T20:27:36 then once you've gone through the initial rotation of player numbers it is just random 2011-03-16T20:27:48 aichallenge: McLeopold epsilon * re690611 / manager/trueskill_matchups.py : Added idea for picking the seed player - http://bit.ly/f1kx4y 2011-03-16T20:27:48 aichallenge: McLeopold epsilon * r12330b5 / (4 files): Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://bit.ly/fOyf2r 2011-03-16T20:28:00 as far as number of players 2011-03-16T20:28:04 janzert: so, you're talking per submission_id now? 2011-03-16T20:28:34 yes, for choosing the map and number of players it should be submission based 2011-03-16T20:28:46 okay, good point 2011-03-16T20:29:11 we can still bias against recently played maps for the user as well 2011-03-16T20:29:21 *** davidjliu has joined #aichallenge 2011-03-16T20:29:31 yeah, if it's not too much work that would be good 2011-03-16T20:29:57 but it should be a strictly lower criteria than the submission based 2011-03-16T20:30:18 with archiving games, I will be searching 4 tables with a max of about 40,000 rows, it can't be slow with the right indexes 2011-03-16T20:31:21 gotta go, cya 2011-03-16T20:31:33 later 2011-03-16T20:31:49 *** McLeopold has left #aichallenge 2011-03-16T20:51:54 *** Prillicy has joined #aichallenge 2011-03-16T21:07:48 * amstan is wondering why he's been playing http://z0r.de/630 for the last 30 min on loop 2011-03-16T21:26:30 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.15/20110303170601]) 2011-03-16T21:43:52 http://z0r.de/781 2011-03-16T22:25:26 *** closedbracket has joined #aichallenge 2011-03-16T22:26:55 *** closedbracket has joined #aichallenge 2011-03-16T22:32:10 *** olexs has quit IRC (Quit: Leaving.) 2011-03-16T22:47:46 *** Meatkat has quit IRC (Ping timeout: 240 seconds) 2011-03-16T22:48:57 *** McLeopold has joined #aichallenge 2011-03-16T22:56:50 *** davidjliu has quit IRC (Quit: Page closed) 2011-03-16T22:57:12 bss03: you around? 2011-03-16T22:59:10 Sort of. 2011-03-16T22:59:13 It's bedtime. 2011-03-16T22:59:29 McLeopold: I saw you merged what I had. Any issues so far? 2011-03-16T23:08:20 bss03: I'm finally reviewing the sql 2011-03-16T23:14:41 McLeopold: Constructive critisism? 2011-03-16T23:15:00 well, we think differently 2011-03-16T23:15:05 Or, have I shown my hopeless n00b side? 2011-03-16T23:15:18 it only matters what runs faster 2011-03-16T23:15:30 and, sometimes, what is readable by others 2011-03-16T23:15:42 take a look at my sql that I put at the top of the file 2011-03-16T23:16:43 I tend to favor subqueries over joins. I can't say if they are always faster, but a lot of the time they are. 2011-03-16T23:16:50 I saw that. I was pretty sure correlated sub-selects would be slower in mysql. 2011-03-16T23:17:11 the case statement can't be fast, can it? 2011-03-16T23:17:36 but, I guess you are really doing the same thing I am, just in one column 2011-03-16T23:17:58 Usually they are pretty fast, but I'm fine writing as sub-selects if that's more readable. 2011-03-16T23:18:32 I wrote a join version too. I'm going to load lots of fake data and see if I can get a benchmark 2011-03-16T23:19:11 Kk. Would love to hear the results. I want pairing to be as fast as reasonable. 2011-03-16T23:19:28 If you read the logs, janzert and I had some ideas for that. 2011-03-16T23:19:32 I remember some of the slow periods of PW; I wanna get lots of games in. >:) 2011-03-16T23:19:56 That wasn't the matchmaking though. 2011-03-16T23:20:05 I saw janzert had some stuff he wanted to change that might require joining with submission more often. 2011-03-16T23:20:37 Yes, so we were thinking picking the seed player is based off of user_id, but the other requirements based off of submission_id. 2011-03-16T23:21:27 for subqueries, if it is not correlated, it should be better, because the results are cached 2011-03-16T23:22:42 For creating matchups, I figured I'd basically select from my temporary table into mathup_player, after creating the matchup based off python variables. 2011-03-16T23:23:13 Yeah, I used a non-correlated sub-query in best_player_count. 2011-03-16T23:23:42 I figured MySQL was smart enough to only do non-correlated subqueries as needed. 2011-03-16T23:25:28 MySQL can be pretty dumb... best use explain to figure out what it is actually doing 2011-03-16T23:25:35 I'm only on from about 6pm to about 10pm my time. (US/Central) But, I do check the wiki and messages on IRC before I do any coding for the night. 2011-03-16T23:25:51 sigh: Yeah, I confirmed with EXPLAIN. 2011-03-16T23:26:20 I pretty much used EXPLAIN on all of the queries, to see if indexes were being used and what ones might be useful. 2011-03-16T23:27:40 The ugliest query is next_player, but it rolls a lot of conditions together and it may not work with the schema changes... 2011-03-16T23:28:00 ISTR MYSQL used to complain if I qualified user_id, and now it complains that it is ambiguous. :( 2011-03-16T23:30:06 Anyway, past my bedtime. I'll check it tomorrow if I find time again. It feel like it has been a busy week so far. 2011-03-16T23:30:32 I'd really like to get the SQL ironed out so I can work on jmcarthur's Haskell stuff some more. 2011-03-16T23:32:31 Feel free to email me (bss@iguanasuicide.net) if you want to write longer prose than is suitable for IRC. 2011-03-16T23:33:45 night 2011-03-16T23:39:31 sigh: after some reading, apparently MySQL sucks at subqueries. :( 2011-03-16T23:39:56 oh, I could have told you that :P 2011-03-16T23:40:08 it likes to create temporary tables 2011-03-16T23:40:36 So, I guess I need to write crappy sql now... 2011-03-16T23:56:37 bss03: careful with emails in this channel, the logs are http public 2011-03-16T23:59:06 amstan: can I ask a stupid ubuntu question? 2011-03-16T23:59:13 McLeopold: of course 2011-03-16T23:59:45 I've got a monitor hooked up to my laptop, but I can move windows over there. I have 4 workspaces that are different.