2011-03-17T00:00:08 you mean can't? 2011-03-17T00:00:17 yeah, can't 2011-03-17T00:00:25 what gfx card? 2011-03-17T00:00:31 nvida 2011-03-17T00:00:45 do you have the proprietary driver? 2011-03-17T00:00:57 I think so 2011-03-17T00:01:25 McLeopold: k.. find the control panel thingy for nvidia 2011-03-17T00:01:27 http://i10.tinypic.com/2zz729e.png 2011-03-17T00:01:36 get to that screen, make sure you don't have separate x screen 2011-03-17T00:01:38 but twinview 2011-03-17T00:01:44 NVIDIA accelerated graphics driver (version current) [Recommended] 2011-03-17T00:02:03 "nvidia-settings" is what you need to run for that control panel thingy 2011-03-17T00:02:46 why must it always fail to parse! 2011-03-17T00:02:57 oh yeah.. lol 2011-03-17T00:03:01 that's a bug in the driver, lol 2011-03-17T00:03:15 do you want to make this thing permanent? 2011-03-17T00:03:18 I have to type in extra settings now 2011-03-17T00:03:22 then you have to fix it.. if not.. you can just ignore it 2011-03-17T00:03:57 it's just a bunch of quotes that's missing in the default xorg file 2011-03-17T00:04:07 that's why the nvidia thingy complains 2011-03-17T00:04:16 comment it, then make the changes 2011-03-17T00:04:20 yeah, the first time I rebooted it took me to console only 2011-03-17T00:04:33 now I have to add a module section with "glx" 2011-03-17T00:07:35 amstan: failed to set MetaMode(1)'CRT-0 bla bla bla 2011-03-17T00:08:02 yeah, just make sure you have default settings for just one monitor to start with 2011-03-17T00:08:06 then setup twinview 2011-03-17T00:09:39 *** McLeopold has quit IRC (Quit: Leaving.) 2011-03-17T00:12:44 *** McLeopold has joined #aichallenge 2011-03-17T00:13:21 amstan: so, do I need to install monitor drivers to get the full size of my monitor now? 2011-03-17T00:13:39 McLeopold: probably not, you should be able to type the size manually 2011-03-17T00:13:59 it's a dropdown in the config 2011-03-17T00:14:11 Unless you mean panning? 2011-03-17T00:14:22 darn, you're right 2011-03-17T00:14:52 McLeopold: it should detect them though... 2011-03-17T00:15:08 unless you have a funky monitor or cable 2011-03-17T00:15:26 It's not, I'm not getting the full resolution. Could be the graphics card I guess. But I'm pretty sure in windows it works. 2011-03-17T00:36:11 *** smellyhippy has quit IRC (Ping timeout: 248 seconds) 2011-03-17T00:36:14 *** smelylhippy has joined #aichallenge 2011-03-17T00:36:46 *** amriedle2 has joined #aichallenge 2011-03-17T00:42:33 *** Prillicy has quit IRC (Ping timeout: 252 seconds) 2011-03-17T00:43:54 *** bhasker has quit IRC (Quit: bhasker) 2011-03-17T00:45:01 *** Prillicy has joined #aichallenge 2011-03-17T00:45:27 *** amriedle2 has left #aichallenge 2011-03-17T00:54:25 *** McLeopold has left #aichallenge 2011-03-17T00:57:12 *** McLeopold_ has joined #aichallenge 2011-03-17T00:57:50 *** McLeopold_ has quit IRC (Client Quit) 2011-03-17T01:27:36 i too don't see what the two weeks is for? 2011-03-17T01:27:57 we're no where near ready to launch, everything is still very general because we wanted to get to the beta testing before deciding what works best 2011-03-17T01:28:13 and i think it's a good idea to make the game less general before actually opening the contest 2011-03-17T01:36:47 *** sigh has quit IRC (Read error: Connection reset by peer) 2011-03-17T01:36:49 how do people not see the awesomeness of option 1 :( 2011-03-17T01:36:54 it's like the coolest thing 2011-03-17T01:37:16 *** sigh has joined #aichallenge 2011-03-17T01:39:27 *** amriedle has quit IRC (Quit: Lost terminal) 2011-03-17T01:40:58 *** sigh has quit IRC (Read error: Connection reset by peer) 2011-03-17T01:41:18 *** sigh has joined #aichallenge 2011-03-17T01:44:27 *** sigh has quit IRC (Read error: Connection reset by peer) 2011-03-17T01:44:53 *** sigh has joined #aichallenge 2011-03-17T02:00:37 *** delt0r___ has joined #aichallenge 2011-03-17T02:01:51 *** delt0r_ has quit IRC (Ping timeout: 250 seconds) 2011-03-17T02:24:11 *** Accoun has quit IRC (Ping timeout: 246 seconds) 2011-03-17T02:35:44 *** Meatkat has joined #aichallenge 2011-03-17T02:36:31 *** sigh has quit IRC (Ping timeout: 250 seconds) 2011-03-17T02:41:02 *** readncode has joined #aichallenge 2011-03-17T02:41:09 lol, i think i made a vector space :\ 2011-03-17T02:41:21 well, i think our maps form a vector space that is 2011-03-17T02:41:29 my maps**, not all of them 2011-03-17T02:42:40 *** closedbracket has quit IRC (Ping timeout: 250 seconds) 2011-03-17T02:45:13 jmcarthur: ^^ :P 2011-03-17T02:56:10 i think my symmetric n-player maps on a torus form a set of vector spaces 2011-03-17T02:56:23 err, wrong window :P 2011-03-17T03:05:41 *** Accoun has joined #aichallenge 2011-03-17T03:16:24 *** amstan has quit IRC (Ping timeout: 250 seconds) 2011-03-17T03:34:21 *** sigh has joined #aichallenge 2011-03-17T03:39:08 *** Meatkat has quit IRC (Ping timeout: 260 seconds) 2011-03-17T03:49:44 *** Meatkat has joined #aichallenge 2011-03-17T04:09:22 *** closedbracket has joined #aichallenge 2011-03-17T04:11:26 *** readncode has quit IRC (Ping timeout: 255 seconds) 2011-03-17T04:21:43 * antimatroid wonders what the speed of the engine is like with battle option 1 2011-03-17T04:21:50 the algorithm for option 2 is much slower 2011-03-17T04:24:07 option 2 is implemented badly atm 2011-03-17T04:32:23 *** closedbracket has quit IRC (Remote host closed the connection) 2011-03-17T04:32:32 *** boegel has joined #aichallenge 2011-03-17T04:33:56 sigh: it's always going to be slow though 2011-03-17T04:34:07 i just did 2 rather large forum posts, one of them outlining why i prefer option 2011-03-17T04:34:08 1 2011-03-17T04:34:15 http://ai-contest.com/forum/viewtopic.php?f=21&t=1313&start=30 2011-03-17T04:34:16 sure, just pointing it out 2011-03-17T04:35:48 *** aerique has joined #aichallenge 2011-03-17T04:41:09 *** boegel_ has joined #aichallenge 2011-03-17T04:42:03 i just remembered why vision can't be close to attack radius 2011-03-17T04:42:11 people then can't evaluate the result of their moves 2011-03-17T04:45:17 *** boegel has quit IRC (Ping timeout: 248 seconds) 2011-03-17T04:49:01 *** Meatkat has quit IRC (Ping timeout: 248 seconds) 2011-03-17T05:06:48 *** iFire has quit IRC (Read error: Connection reset by peer) 2011-03-17T05:07:08 *** iFire has joined #aichallenge 2011-03-17T05:07:52 I like Stochas method for placing water squares 2011-03-17T05:12:45 *** smelylhippy is now known as smellyhippy 2011-03-17T05:13:47 i swear i broke git somehow :\ 2011-03-17T05:14:03 it wont connect to the server to pull, it'll take my password but then not connect 2011-03-17T05:14:11 it worked the other day since installing ubuntu though :\ 2011-03-17T05:17:29 These pages seem similar: https://github.com/aichallenge/aichallenge/wiki/Ants-Starter-Pack-Guide and https://github.com/aichallenge/aichallenge/wiki/Ants-Strategy-Guide 2011-03-17T05:21:10 the second one will be deleted 2011-03-17T05:21:45 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-03-17T05:21:56 alrighty :) 2011-03-17T05:23:30 fixed github access, it wants me to provide my passphrase every time i've logged out :\ 2011-03-17T05:24:33 have you added your key locally with ssh-add? (and started ssh-agent?) 2011-03-17T05:28:24 *** Naktibalda has joined #aichallenge 2011-03-17T05:28:44 i have now 2011-03-17T05:33:50 *** antimatroid has quit IRC (Ping timeout: 248 seconds) 2011-03-17T05:35:21 *** boegel_ has quit IRC (Quit: *poof!*) 2011-03-17T05:49:57 *** antimatroid has joined #aichallenge 2011-03-17T06:07:42 *** Kingpin13 has joined #aichallenge 2011-03-17T06:11:55 antimatroid: where is your symmetric map generator and how do I run it? 2011-03-17T06:14:14 *** jayw has joined #aichallenge 2011-03-17T06:20:49 sigh: https://github.com/aichallenge/aichallenge/blob/epsilon/ants/mapgen/mapgen.py 2011-03-17T06:21:10 you run it with "mapgen.py" (>> mapfile.txt) if you want 2011-03-17T06:21:24 the parameters are at the top that you can easily play around with 2011-03-17T06:26:22 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal) 2011-03-17T06:30:41 antimatroid: have a look at this: https://github.com/sigh/aichallenge/blob/47f7901e554041bce893e0c913d030600a98aa35/ants/ants.py#L607 2011-03-17T06:30:49 symmetric food 2011-03-17T06:31:58 actually this is a better link: https://github.com/sigh/aichallenge/blob/symmetric-food/ants/ants.py#L607 2011-03-17T06:34:07 sigh: if i read that right, it's ordering the basis set we came up with then going through that in order and spawning food if all squares are clear? 2011-03-17T06:34:25 i still think it'd be better to have a counter at each square for the number of food squares waiting to be spawned 2011-03-17T06:34:33 yeah 2011-03-17T06:34:54 but that atm would keep me happy 2011-03-17T06:35:03 for counting as symmetry 2011-03-17T06:35:03 hehe 2011-03-17T06:35:24 cheers 2011-03-17T06:36:23 people were thinking about reducing the vision radius weren't they? 2011-03-17T06:36:39 i think that's a bad idea, i think it's good if people can accurately estimate the result of their moves 2011-03-17T06:36:49 dunno, I don't follow the forum and irc logs much 2011-03-17T06:37:37 with option 1, you need like vision = 2*attack + (1or2) in order for people to be able to calculate accurately, you can't guarantee it with option 2 and a fog of war 2011-03-17T06:38:31 fair enough 2011-03-17T06:43:38 actually, i think it could be reduced with option 1, not as far as green_tea suggested, but could be done 2011-03-17T06:44:10 I'll just let you guys sort it out 2011-03-17T06:44:27 what's the difference between --rounds and --turns in playgame.py? (do a "playgame.py -h") 2011-03-17T06:46:37 aerique: seems that rounds specifies the number of *games* to run 2011-03-17T06:47:10 sigh: aha, thanks 2011-03-17T06:47:12 games would have been clearer :\ oh well 2011-03-17T06:47:27 sure, I'm just reading what the code says :) 2011-03-17T06:47:31 i know 2011-03-17T06:47:37 i was just commenting :) 2011-03-17T06:47:47 i was just asking :) 2011-03-17T06:48:07 antimatroid: you made gcd way more complicated than it needs to be: https://github.com/sigh/Python-Math/blob/master/ntheory.py#L45 :P 2011-03-17T06:48:44 okay, i will fix that up after 2011-03-17T06:48:52 what's the deal with // ? 2011-03-17T06:49:02 is it exactly equivalent to %? 2011-03-17T06:49:02 / is integer division 2011-03-17T06:49:07 // 2011-03-17T06:49:20 except being faster 2011-03-17T06:49:26 and what is it in c++? &? 2011-03-17T06:49:38 // is / in c++ 2011-03-17T06:49:47 oh 2011-03-17T06:49:55 for integers 2011-03-17T06:50:27 so i can just use / instead of %? 2011-03-17T06:50:39 oh, only up to 2* ? 2011-03-17T06:50:48 no, % is modulus, / is floating point division 2011-03-17T06:51:06 oh wait, nevermind 2011-03-17T06:51:09 (from python 2.7 onwards) 2011-03-17T06:51:10 :) 2011-03-17T06:52:26 isn't there times where like 5&3 == 5%3 in c++ 2011-03-17T06:52:31 maybe not those integers? 2011-03-17T06:52:45 x&1 == x%2 2011-03-17T06:52:57 but that's obvious 2011-03-17T06:53:09 it is? :P 2011-03-17T06:53:32 do you know what & is and how numbers are represented? 2011-03-17T06:53:48 as in binary? yes, i don't know what & is 2011-03-17T06:53:56 & is bitwise & 2011-03-17T06:53:59 sorry 2011-03-17T06:54:03 & is bitwise and 2011-03-17T06:54:26 oh i see 2011-03-17T06:54:28 okay 2011-03-17T06:54:41 so likewise x&3 == x%4 2011-03-17T06:54:56 and similarly for any power of 2 2011-03-17T06:55:18 okay got it 2011-03-17T06:55:30 cheers 2011-03-17T06:56:03 your compiler will do those optimisations for you most of the time so just stick to what best reflects your intent 2011-03-17T06:56:18 unless you profile and know that it will optimise a bottleneck in your code 2011-03-17T07:03:23 i've just seen people do it and it confused me 2011-03-17T07:03:36 i'm in the middle of writing a big int class 2011-03-17T07:04:02 i've done + and - I think, gotta work out how to do * and / well 2011-03-17T07:04:24 i guess i have to do % too :P 2011-03-17T07:04:37 for gcd and lcm 2011-03-17T07:05:38 why not use a library? or you doing it just to learn? 2011-03-17T07:08:56 a bit for learning but mostly because i want GTL to be usable with just stl 2011-03-17T07:09:03 (GTL == my game theory library) 2011-03-17T07:09:14 it's all done with templates so that people could use say GMP if they wanted 2011-03-17T07:09:45 although I'm having trouble passing Rational as a type for payoffs (tensor) values atm as well :\ 2011-03-17T07:10:12 it'll take Rational and BigInt, but not Rational :\ 2011-03-17T07:10:50 does BigInt have all the methods it needs? 2011-03-17T07:10:57 for Rational to do it's stuff 2011-03-17T07:11:21 i think so 2011-03-17T07:11:26 i will look later 2011-03-17T07:12:18 antimatroid: quick question, how you are you representing negative bigints? 2011-03-17T07:12:21 i think the problem is coming in when it tries to cast (Rational) 0 2011-03-17T07:12:33 with a negative bool variable 2011-03-17T07:12:41 it's messy for +,- but i think i've got the logic right 2011-03-17T07:12:57 that's no good... use 2's complement 2011-03-17T07:13:08 essentially treat it like a 2-adic integer :P 2011-03-17T07:13:25 but I have like a vector of integers for a number? 2011-03-17T07:13:35 and each integer can go up to like 9999999 or something like that 2011-03-17T07:13:49 make them go up to a power of 2 2011-03-17T07:14:03 but this fits with a vector of integers 2011-03-17T07:14:29 so switch everything to base 2? 2011-03-17T07:14:57 except the actual ints obviously 2011-03-17T07:15:17 errr... actual ints are base 2 2011-03-17T07:15:18 ? 2011-03-17T07:15:28 i mean everything is binary on disk 2011-03-17T07:15:32 well my local representation :P 2011-03-17T07:15:48 how do you represent ints? 2011-03-17T07:15:49 *** needsch has joined #aichallenge 2011-03-17T07:15:59 the normal way 2011-03-17T07:16:08 i mean the way i go like int x = 10 2011-03-17T07:16:12 that doesn't make x = 2 2011-03-17T07:16:16 binary style 2011-03-17T07:16:57 but when you say x = 10, x is actually "...01010" in ram 2011-03-17T07:17:14 yes 2011-03-17T07:17:50 but my local interpreation is 10 = 1010 2011-03-17T07:17:53 not 10 = 2 2011-03-17T07:18:16 this is when you are parsing and outputing? 2011-03-17T07:18:37 of course, you never need to show the binary repr to the user 2011-03-17T07:18:46 that's my point 2011-03-17T07:19:01 i'm talking about the way i interact with the numbers, not the computer 2011-03-17T07:19:45 well you only interact with them in two small places in the code, during paring and output 2011-03-17T07:20:11 the rest of the time the computer is interacting with them, that's what you need to optimise for, and that's what I'm talking about 2011-03-17T07:21:25 you can say x = BigInt("23123525605999100123500135"), but on disk you should store: 1001100100000100110001101010110111010100001101101001000111111000001010100111001100111 2011-03-17T07:25:00 which means that if you are splitting that up into a vector, you are splitting on powers of 2 2011-03-17T07:27:27 and I got side-tracked from my original point about negative integers -_- 2011-03-17T07:28:00 :P 2011-03-17T07:28:12 you're making me realise i should just use a library 2011-03-17T07:28:34 i don't expect people to need rationals over doubles, and if they do i doubt they'd break using 64bit ints 2011-03-17T07:28:51 and if they break that, they can damn well work out how to use a library 2011-03-17T07:29:49 haha 2011-03-17T07:30:31 but seriously there is a reason why 2's complement is used for normal ints... so if you are making a bignum library, use it there as well 2011-03-17T07:30:58 you've convinced me to stop making it :P 2011-03-17T07:31:10 but a mental note has been made if i ever change my mind 2011-03-17T07:31:16 it's still a fun exercise :) 2011-03-17T07:31:24 i can think of funner ones :P 2011-03-17T07:31:45 i had a GROSS assignment question today 2011-03-17T07:32:20 awww... treating negative numbers as 2-adic integers with an infinite string of leading 1s is just cool :P 2011-03-17T07:32:41 Let X be a set and C be the set of all ordered relations on X. C itself is ordered by ⊆ . 2011-03-17T07:32:41 Show that R is a maximal element of C iff R is a total order 2011-03-17T07:32:56 grossest thing i've had to do all year (which isn't much, but it was gross) 2011-03-17T07:33:04 haha 2011-03-17T07:34:06 going backwards was pretty easy, but forwards, ergh 2011-03-17T07:35:59 *** Prillicy has quit IRC (Ping timeout: 248 seconds) 2011-03-17T07:38:56 going forward, that's essentially proving that any non-maximal R is a subset of some total order? 2011-03-17T07:39:13 that seems intuitively obvious to me, but I am not good with the maths 2011-03-17T07:54:58 sigh: a total order might not exist 2011-03-17T07:54:59 i think 2011-03-17T07:55:38 cool, I'll leave the thinking to you 2011-03-17T07:56:17 :P 2011-03-17T07:56:25 i'm doing algebra tonight 2011-03-17T07:56:38 although it's a stupidly easy assignment so meh 2011-03-17T07:57:29 aichallenge: Marco Leise epsilon * rc6591ac / (2 files): latest changes to the replay format - http://bit.ly/hkUdkF 2011-03-17T07:58:48 The replays work mostly. There were 2 ants with invalid data in a 100 turn replay though. I just commented them out for the test. 2011-03-17T08:05:57 *** AlliedEnvy has quit IRC (Remote host closed the connection) 2011-03-17T08:23:26 *** AlliedEnvy has joined #aichallenge 2011-03-17T08:26:56 *** UncleVasya has joined #aichallenge 2011-03-17T08:40:20 bleh, some people fail to see the awesomeness of option 1 2011-03-17T08:41:39 am i the only one that thinks collecting food is fairly trivial, and the real addition to strategy from spawning food is maximising territory? 2011-03-17T08:42:30 sigh: i wonder if you should reshuffle the spawn squares each iteration? otherwise people could keep track of the order 2011-03-17T08:43:32 antimatroid: yeah, sure that stuff needs to be worked out, just like that other thing you said 2011-03-17T08:43:43 first make sure that this is doing the correct thing 2011-03-17T08:44:00 yeah okay 2011-03-17T08:44:05 then get some consensus on how to cycle through the options 2011-03-17T08:44:21 i don't know what 2 weeks was being thrown around for, but i hope it wasn't for launch 2011-03-17T08:44:24 no way we'd be ready 2011-03-17T08:44:30 yeah :) 2011-03-17T08:44:38 the specs aren't even down yet 2011-03-17T08:46:57 antimatroid: you know how player numbers are shuffled when sent to the players? 2011-03-17T08:47:16 is there some particular way that is supposed to be done? 2011-03-17T08:47:35 yeah, you are player 0, the first enemy you see is always 1, etc. 2011-03-17T08:47:43 *** amstan has joined #aichallenge 2011-03-17T08:47:43 *** ChanServ sets mode: +o amstan 2011-03-17T08:47:57 that's the best way to do it 2011-03-17T08:48:25 otherwise people get an idea about the number of players, or you don't have a consistent record of who is who 2011-03-17T08:48:43 ok 2011-03-17T08:49:18 *** boegel has joined #aichallenge 2011-03-17T08:50:00 *** boegel_ has joined #aichallenge 2011-03-17T08:51:31 *** olexs has joined #aichallenge 2011-03-17T08:54:41 *** boegel has quit IRC (Ping timeout: 264 seconds) 2011-03-17T08:58:59 ergh, how does one run a python file in the terminal on ubuntu? 2011-03-17T08:59:15 "mapgen.py" doesn't work and "./mapgen.py" claims permission denied :\ 2011-03-17T09:00:24 antimatroid: either chmod +x it 2011-03-17T09:00:34 or put python in front of it 2011-03-17T09:01:24 score, cheers 2011-03-17T09:01:50 i need to relearn how the hell this stuff is structured 2011-03-17T09:02:03 i can't remember how to even make a bach file 2011-03-17T09:02:52 i should have moved a long time ago, it's so much better than windows 2011-03-17T09:03:52 *** Stocha has joined #aichallenge 2011-03-17T09:04:27 hi there. What about spawning each bot TWO INSTANCES per game. So that you get a chance to cooperate with the other version of your bot ? 2011-03-17T09:05:18 While changing nothing else. You'll have to communicate through the movement of your ants alones. Or to not communicate. 2011-03-17T09:06:09 Stocha: what would be the point of that? 2011-03-17T09:06:13 ohh, i like this map 2011-03-17T09:06:16 Team play. 2011-03-17T09:06:23 http://pastebin.com/xmVbp4xz 2011-03-17T09:06:29 but the point of the game is not team play currently 2011-03-17T09:06:34 They are all asking for team play. And they probably are right. 2011-03-17T09:06:58 yeah, but it could be. And it doesn't involved anything tricky. 2011-03-17T09:07:06 So i made this suggestion. 2011-03-17T09:07:07 Stocha: the original idea was to have each ant as a separate process, but it was infeasible due to computational requirements 2011-03-17T09:07:13 sure. 2011-03-17T09:07:21 but Two instances is not a problem. 2011-03-17T09:07:21 one could do that, but at this point it's really just over complicating it 2011-03-17T09:07:40 we already have issues with limited servers as is 2011-03-17T09:07:47 i don't think we could handle it 2011-03-17T09:07:50 *** olexs has left #aichallenge 2011-03-17T09:07:52 Yet you plan for a multiplayer game. 2011-03-17T09:08:01 *** olexs has joined #aichallenge 2011-03-17T09:08:01 Stocha: what happens if one instance dies, what happens if both instances die? where do you get the double cpu for both instances 2011-03-17T09:08:07 not my idea, but that will work alright 2011-03-17T09:08:16 Instead of it be 6 free bots, it could be 6 free bot with 2x3 programe 2011-03-17T09:08:41 Stocha: sure, but such an addition probably won't make the results clearer 2011-03-17T09:08:51 i think it'd be better to do another game later that somehow does communication 2011-03-17T09:08:56 and actually base the game around it 2011-03-17T09:09:01 I don't see where there is a problem. It's the exact same multiplayer game. You simply state that each bot will have two copies. 2011-03-17T09:09:06 you get far more information out of 6 focused bots instead of 3 bots that try to talk to themselves 2011-03-17T09:09:27 You wouldn't HAVE to communicate 2011-03-17T09:09:31 antimatroid: yes, that's the plan 2011-03-17T09:09:32 but it would be an option. 2011-03-17T09:09:45 Stocha: then how do you show in the scores that you got beat by your own bot? 2011-03-17T09:09:50 Stocha: or what happens on a draw? 2011-03-17T09:10:02 how is that a problem ? 2011-03-17T09:10:02 amstan: you would represent the players numbers the same 2011-03-17T09:10:19 just pass each bot information about which are its ants 2011-03-17T09:10:22 Or you could even have one score for each copy of the bot. 2011-03-17T09:10:33 then have a rule to average it afterward. 2011-03-17T09:10:46 No 2011-03-17T09:10:55 the point is the bot do not know who his copy is. 2011-03-17T09:11:08 if you want to cooperate you'll have to get something IA like 2011-03-17T09:11:28 that's not ai like, it's communication with pattern recognition 2011-03-17T09:11:33 if you don't want, you can tune your blind strategy knowing that another bot is using it. 2011-03-17T09:12:15 communication with pattern recognition is not ai like then. I don't speak english to well. I'm french. So it's hard for me to follow everything :p 2011-03-17T09:12:19 it'd be fun to build a game around something like that where you actively tried to fool opponents into thinking you're them 2011-03-17T09:12:31 you could do that. 2011-03-17T09:12:55 If you can handle 4 player game or 6 player game, there nothing to change. Just tell the player they will have two copies. 2011-03-17T09:13:22 we're already not able to play with as many players as we'd like with current server constraints 2011-03-17T09:14:03 you also have to consider people testing on tcp 2011-03-17T09:14:05 Would challenger prefer having 2x2 copie, ar 1x4 bots. That's the question :p 2011-03-17T09:14:23 i'd prefer 1 2011-03-17T09:14:45 from reading the forum, i though some would prefer two. 2011-03-17T09:14:57 and that it resurrect the initial idea. Wich was dropped. 2011-03-17T09:15:05 in a more feasible way. 2011-03-17T09:15:26 Also if there is this option, you need less complexity with fighting and such :p 2011-03-17T09:15:51 why are you so against having an interesting battle resolution method? 2011-03-17T09:15:52 Because challenger will have plenty on their mind figuring out how to use the double copy thing. 2011-03-17T09:16:03 im' not against it. 2011-03-17T09:16:09 i just find it slippery at best. 2011-03-17T09:16:15 slippery? 2011-03-17T09:16:32 yeah, you have a lot of option to make it complicated and uninterested. 2011-03-17T09:16:42 and very few way to knowing before hand. 2011-03-17T09:16:55 how many games sounded fun on paper, and just weren't ? 2011-03-17T09:17:23 the same can be said for any plausible option 2011-03-17T09:17:25 How many encryption algorithme sounded strong, and had fatal flaw ? :p 2011-03-17T09:17:25 *** amstan has quit IRC (Ping timeout: 250 seconds) 2011-03-17T09:17:42 Simplicity can be tested in a more easier way. 2011-03-17T09:18:03 More people can implement it. And participate. If it's simple. 2011-03-17T09:18:20 the game has moved away from simplicity 2011-03-17T09:18:29 More people can figurer clever way of getting things done in a simple setting. 2011-03-17T09:18:59 using a paint algorithm it's pretty easy to move the closest ants to food and to your closest enemy, find shortest paths, count vision etc. 2011-03-17T09:19:01 So i'm not agaisnt complex rules. I juste find it easy to have them wrong. And hard to know before the challenge is over. 2011-03-17T09:19:20 I do not know if it's that easy. 2011-03-17T09:19:25 tron sounds easy. 2011-03-17T09:19:35 but still it was a challenge. With a clear winner. 2011-03-17T09:19:46 not to talk about planet wars. 2011-03-17T09:20:06 i will admit tron was less trivial than it sounds, and this is far more complicated 2011-03-17T09:20:20 But you had more time to think about it. 2011-03-17T09:20:20 what not to talk about planet wars? the winner was clearer for pw than tron 2011-03-17T09:20:25 so you may be right. 2011-03-17T09:20:48 but if you are, how to be sure that combat rule will solves this and not be still trivial when you really got into it ? 2011-03-17T09:20:55 Stocha: I do like your water placement example 2011-03-17T09:21:08 it would be cool to make both symmetric and asymmetric maps based off that 2011-03-17T09:21:40 The more diversity there is, the saffer we are that it will be boring or trivial to solve :p 2011-03-17T09:21:57 But the simplest it is, the more challenging for the bot maker. 2011-03-17T09:22:03 option 1 actually makes it less likely to be trivial 2011-03-17T09:22:04 like tron, or go. 2011-03-17T09:22:19 it's not evident for me. 2011-03-17T09:22:30 balance 2011-03-17T09:22:38 that option 1 make it less or more trivial or fun, or hard to solve. Or computer efficient. 2011-03-17T09:22:50 Or easy to implement, or fun to play with. 2011-03-17T09:22:50 the efficiency is without a doubt 2011-03-17T09:23:15 you have to iteratively do option 2, option 1 could can just go through counting each players enemies then kill of people who need to die 2011-03-17T09:23:20 it still less efficient than simple ant die if more than one on square :p 2011-03-17T09:23:34 that's more boring than option 2 2011-03-17T09:23:47 I don't know how you can be so sure of that. 2011-03-17T09:23:58 it's like planet wars. 2011-03-17T09:24:13 nobody wants to repeat the same game 2011-03-17T09:24:14 it does use 1:1. Maybe it is boring. But it was a challenge. 2011-03-17T09:24:23 people have already tried to claim this is too much like pw (wtf right?) 2011-03-17T09:24:28 I fail to see how exploration and food gathering is the same game. 2011-03-17T09:24:40 where did i say that? 2011-03-17T09:24:57 Some seems to imply it :p 2011-03-17T09:25:01 do you understand what i mean when i say a painting algorithm? 2011-03-17T09:25:06 And that is some justification for complexity. 2011-03-17T09:25:24 wait a bit i have to go 'ill be back 2011-03-17T09:38:43 *** Stocha has quit IRC (Ping timeout: 252 seconds) 2011-03-17T09:42:13 @later tell McLeopold I implemented antimatroid's specs for symmetric food in https://github.com/sigh/aichallenge/tree/symmetric-food ; again, on top of this I have some extra refactoring in https://github.com/sigh/aichallenge/tree/refactor - these changes are to make the logic of various parts clearer, the commits are quite independent so it is easy to pick if there's anything you don't like :) - output and perf 2011-03-17T09:42:13 sigh: Yes master! 2011-03-17T09:42:15 ormance are not affected 2011-03-17T09:42:34 i'm going to try doing Stocha's maps in symmetric form 2011-03-17T09:42:40 @later tell McLeopold output and performance are not affected 2011-03-17T09:42:40 sigh: I come to serve. 2011-03-17T09:42:41 yay for having fridays off 2011-03-17T09:43:01 *** sigh has quit IRC (Remote host closed the connection) 2011-03-17T09:43:02 i had a 5 day weekend, 2 days back, then a 3 day weekend :) 2011-03-17T09:43:18 *** amstan has joined #aichallenge 2011-03-17T09:43:18 *** ChanServ sets mode: +o amstan 2011-03-17T09:48:48 *** amstan has quit IRC (Ping timeout: 248 seconds) 2011-03-17T10:00:42 *** delt0r_ has joined #aichallenge 2011-03-17T10:02:02 *** delt0r___ has quit IRC (Ping timeout: 255 seconds) 2011-03-17T10:03:48 *** stocha has joined #aichallenge 2011-03-17T10:04:08 Painting algorithm. 2011-03-17T10:04:16 i'm not sure i got it right :p 2011-03-17T10:04:47 what kind of painting algorithm ? 2011-03-17T10:05:51 antimatroid: how do our maps form a vector space exactly? 2011-03-17T10:05:56 i didn't saw the map you gave also 2011-03-17T10:06:01 oh you mean the coordinate system? 2011-03-17T10:06:07 yeah 2011-03-17T10:06:19 you get a basis pretty easily for which you can span the grid 2011-03-17T10:06:23 hmm, i never considered whether a wrapping coordinate system was a vector space 2011-03-17T10:06:59 i haven't proved it yet, i'll try that over the weekend 2011-03-17T10:07:14 would it beiing a vector space help making stronger bots ? 2011-03-17T10:07:19 no 2011-03-17T10:07:25 it's just a cool side result 2011-03-17T10:07:50 stocha: i'm almost done making symmetric random carve maps 2011-03-17T10:08:11 (it wasn't too hard to change my current code, i'm not that fast :P) 2011-03-17T10:09:02 so were talking about how a painting algorithm would solve food gathering ? 2011-03-17T10:09:47 One question for you does all shapes have the same ant output, whenever there is one food given at random between each empty ground ? 2011-03-17T10:10:42 Or how many ant per empty ground (clear of ennemy) do you need in order to maximize your food gathering ? 2011-03-17T10:10:53 *** amstan has joined #aichallenge 2011-03-17T10:10:53 *** ChanServ sets mode: +o amstan 2011-03-17T10:10:54 It depends on the local shape. But how ? 2011-03-17T10:11:10 this doesn't seem that easy for me to solve :p 2011-03-17T10:13:11 Let suppose you have a territory with only a three square narrow corridor to access it. What shape of ground do you need in order to make it impenetrable and still have positif ant output, against a foe unlimited in number ? 2011-03-17T10:13:54 How many free ground do you need for each shape. And how many full time ant gatherer. How should they move exactly ? 2011-03-17T10:14:22 *** |UncleVasya| <|UncleVasya|!kvirc@178-133-30-136.dialup.umc.net.ua> has joined #aichallenge 2011-03-17T10:14:28 can i have a look at the the carved map ? 2011-03-17T10:15:21 i have no idea what you're on about 2011-03-17T10:15:29 sorry had a milo drink, will finish that off now 2011-03-17T10:16:32 *** amstan has quit IRC (Ping timeout: 248 seconds) 2011-03-17T10:17:01 *** UncleVasya has quit IRC (Ping timeout: 260 seconds) 2011-03-17T10:17:05 There is a lot of talk about "ant blocking" with some fighting rule 2011-03-17T10:17:26 that's only considering "static" blocking. You put some ant, they block and never dies. 2011-03-17T10:17:36 but there is also the concept of dynamic blocking. 2011-03-17T10:17:53 You put some ant, and they do die, but at a slow maximum rate. 2011-03-17T10:18:04 so you can replace them 2011-03-17T10:18:39 and still block the ennemy at a cost of a litle bit of regeneration. But if the area blocked is big enougth, that's still blocking 2011-03-17T10:20:10 VERY preliminary: http://pastebin.com/jZSg4duD 2011-03-17T10:20:48 it being a vector space could possible make a simpler API or lead to useful functions on the coordinate system 2011-03-17T10:20:52 *possibly 2011-03-17T10:21:35 jmcarthur: didn't realise that, I just thought it was really cool :P 2011-03-17T10:21:50 my friend thinks the set of them may form a matroid 2011-03-17T10:22:05 we're just going to abstract away and see where we get, it's what we enjoy most 2011-03-17T10:22:50 *** Stocha_ has joined #aichallenge 2011-03-17T10:23:06 *** stocha has quit IRC (Ping timeout: 252 seconds) 2011-03-17T10:23:16 Stocha_: how did you do your random walks? 2011-03-17T10:23:28 you pick up a point at random 2011-03-17T10:23:32 i was worried about walking around in already carved sace for too long 2011-03-17T10:23:37 on a blank water map 2011-03-17T10:23:48 so i've just been carving randomly out of available walls on the edge 2011-03-17T10:23:52 then you pick up a direction at random 2011-03-17T10:24:07 are you letting it walk around on land? 2011-03-17T10:24:11 (from the 4 ant dir) 2011-03-17T10:24:16 yeah 2011-03-17T10:24:18 yeah i get that 2011-03-17T10:24:22 it walk on land and water 2011-03-17T10:24:32 i can give you a code example 2011-03-17T10:24:35 but it's dead simple 2011-03-17T10:24:45 that's about it in fact :p 2011-03-17T10:24:46 i'm pretty much assuming i constantly have ants on every boundary land square 2011-03-17T10:24:53 i know how you're doing it 2011-03-17T10:25:01 if you demonstrate that it is in fact a vector space, i will probably pull in the vector-space package for the haskell library :) 2011-03-17T10:25:13 jmcarthur: i plan to do that over the weekend 2011-03-17T10:25:17 it has to be done now 2011-03-17T10:25:42 in fact i could probably give it a go now 2011-03-17T10:25:45 hold on 2011-03-17T10:26:07 i'm not sure it's a vector space 2011-03-17T10:26:10 so basically the random walk is an ant moving randomly, and making ground as it walks on water and already ground :p 2011-03-17T10:26:32 wouldn't it need to be continuous? 2011-03-17T10:26:36 you stop when you have enougth grund 2011-03-17T10:26:49 or maybe rational at least 2011-03-17T10:26:55 vector space need to be continuous ? 2011-03-17T10:27:12 well no, but i think it might have to be... not integers in this case 2011-03-17T10:27:31 hmmm, not a field for scalar multiplication you mena? 2011-03-17T10:27:41 cause clearly Z isn't a field :\ 2011-03-17T10:27:44 hmmm you might be right 2011-03-17T10:28:25 it must meet the definition of something i swear 2011-03-17T10:28:30 the scalar is supposed to be a field isn't it? 2011-03-17T10:28:31 it's too perfect not to 2011-03-17T10:28:41 yeah, has to be a field 2011-03-17T10:28:41 ah you just said 2011-03-17T10:29:09 we can start simple and work up 2011-03-17T10:29:31 we know the scalar is a monoid, at least 2011-03-17T10:29:37 well you have the set of squares, then an element is an index, and you can add/subtract them easily 2011-03-17T10:30:00 the scalar isn't a group 2011-03-17T10:30:06 hmm 2011-03-17T10:30:10 and additive group maybe 2011-03-17T10:30:15 but not a multiplicative group 2011-03-17T10:30:19 *an 2011-03-17T10:30:42 yeah things aren't looking amazing 2011-03-17T10:30:51 so that's probably as far as we can take that 2011-03-17T10:31:46 it is probably an affine space 2011-03-17T10:32:31 is the ants viewer supposed to work already? 2011-03-17T10:32:51 try to reason this for me: no matter what dimensions and rowt, colt, you always have finite order, but not necessarily the ability to form a basis, only once you meet my requirements for tessellation 2011-03-17T10:33:25 i think it's fairly intuitive that that's iff 2011-03-17T10:33:55 well not reason, it's obviously true, but is that interesting at all? 2011-03-17T10:33:59 what are your requirements for tessellation again? 2011-03-17T10:34:20 players = lcm(rows/gcd(rows, rowt), .) 2011-03-17T10:34:55 that's just the order of the cartesian product of the orders of row and col 2011-03-17T10:35:34 *** Stocha_ has quit IRC (Ping timeout: 251 seconds) 2011-03-17T10:35:37 *** Sotcha has joined #aichallenge 2011-03-17T10:36:36 So the problem is not that blocking exist. It that it shouldn't be too cheap to achieve. 2011-03-17T10:36:40 not sure how interesting that is 2011-03-17T10:36:54 i think you'd have an additive group 2011-03-17T10:37:01 yes 2011-03-17T10:38:29 *** Mathnerd314 has quit IRC (Ping timeout: 255 seconds) 2011-03-17T10:43:57 *** boegel_ has quit IRC (Quit: *poof!*) 2011-03-17T10:45:32 antimatroid: i believe we have a module, at least, but where the scalar is a pair of values and scalar multiplication is just ring multiplication. our maps are a cartesian product of congruence classes. 2011-03-17T10:46:36 for an m×n map, we have ℤ/mℤ × ℤ/nℤ 2011-03-17T10:46:38 ahh, i sort of figured the congruence thing 2011-03-17T10:46:54 if m and n are prime, we might even have a vector space. 2011-03-17T10:46:59 i said to my friend before i think it's isomorphic to congruence 2011-03-17T10:47:00 in any case, it's not the vector space we wanted 2011-03-17T10:47:18 but maybe it's still interesting 2011-03-17T10:47:29 i haven't proven it, and i'm not sure i care to right now 2011-03-17T10:47:34 yep 2011-03-17T11:01:53 *** Sotcha has quit IRC (Quit: Page closed) 2011-03-17T11:14:06 *** aerique has quit IRC (Quit: ...) 2011-03-17T11:35:00 *** McLeopold has joined #aichallenge 2011-03-17T11:43:22 *** |UncleVasya| <|UncleVasya|!kvirc@178-133-30-136.dialup.umc.net.ua> has quit IRC (Ping timeout: 260 seconds) 2011-03-17T11:47:28 *** superflit has joined #aichallenge 2011-03-17T12:05:58 *** olexs has quit IRC (Quit: Leaving.) 2011-03-17T12:09:14 *** olexs has joined #aichallenge 2011-03-17T12:14:06 *** mceier has joined #aichallenge 2011-03-17T12:18:18 *** amstan has joined #aichallenge 2011-03-17T12:18:18 *** ChanServ sets mode: +o amstan 2011-03-17T12:26:59 *** UncleVasya has joined #aichallenge 2011-03-17T13:03:24 *** Gmind has joined #aichallenge 2011-03-17T13:05:04 I'm experimenting with Rhino, which would allow the JavaScript to run inside an applet or standalone application. This would allow me to reuse the JavaScript source for the canvas visualizer, the applet and an offline visualizer in a jar file. The current applet has to communicate with the browser which makes the visualizer very slow on IE 8. To find out /how/ slow it is I created a test case where I call a function from JavaSc 2011-03-17T13:05:05 Firefox (JavaScript calls JavaScript): 1 ms / Internet Explorer (JavaScript calls applet code via LiveConnect): 60250 ms / Rhino (JavaScript is interpreted in a Java engine): 1525 ms 2011-03-17T13:06:23 *** helo_ has joined #aichallenge 2011-03-17T13:07:38 As one can see the transition between JavaScript and Java is slow in any case, but Rhino can still call Java methods ~40 times faster which would improve the rendering speed a lot, as any color change or draw command is such a JavaScript to Java call. 2011-03-17T13:12:07 *** helo_ has quit IRC (Quit: Page closed) 2011-03-17T13:12:59 The downside is, that as a pure ECMAScript implementation it does not offer JavaScript functions like alert, setTimeout or document.createElement. It is a lot of work to implement all the used functions to simulate a browser environment. The benefit is the complete reuse of code written for the web visualizer, no additional work for an offline visualizer and a faster IE 8 experience. 2011-03-17T13:16:22 Frontier: why does the applet need to communicate with the browser? 2011-03-17T13:16:39 *** olexs1 has joined #aichallenge 2011-03-17T13:16:54 amstan: It is just a canvas. it has no logic 2011-03-17T13:17:13 (i.e. i already reuse the code) 2011-03-17T13:17:45 ...and expected LiveConnect to be faster 2011-03-17T13:17:46 Frontier: wait.. what? you're only using the java applet as a replacement for canvas? 2011-03-17T13:17:57 i tought you were actually rebuilding the visualizer in java 2011-03-17T13:18:02 amstan: you are right :) 2011-03-17T13:18:11 hmm.. that kinda sucks then 2011-03-17T13:18:22 we could just drop ie 2011-03-17T13:18:38 it sucks to go over two source trees to make the daily changes 2011-03-17T13:18:58 *** olexs has quit IRC (Ping timeout: 248 seconds) 2011-03-17T13:18:59 IE seems to be climbing again on the visitor list 2011-03-17T13:19:02 amstan: don't drop IE 2011-03-17T13:19:38 amstan: There is a working IE version, it is just slow. 2011-03-17T13:20:03 And I thought: "What if the JavaScript was executed inside the applet?" 2011-03-17T13:20:06 well.. how slow? 2011-03-17T13:21:20 see for yourself: http://marco-leise.homedns.org/antgui/work/visualizer.php?game_id=2&java=true#visualizer 2011-03-17T13:23:07 (i capped the cpu usage at 50%, so it can easily run twice as fast) 2011-03-17T13:24:43 oh man, applets really don't agree with me 2011-03-17T13:27:02 it is close to a slideshow @100% cpu and a real slideshow @50%. if you look at the numbers i posted above you'll see why. 0.6 ms per call * 2 draw calls * 1000 ants / 50% cpu = 2.4 seconds per frame 2011-03-17T13:28:29 Frontier: yeah, applets are a no go for me 2011-03-17T13:28:32 they never were 2011-03-17T13:29:27 amstan: They alway feel out of place in a browser window. 2011-03-17T13:29:57 Yet they provide the whole Java framework including a JavaScript engine ^^ 2011-03-17T13:30:05 Frontier: what about javascript controlling flash? 2011-03-17T13:30:07 no, like they're not loading at all 2011-03-17T13:30:41 Frontier: what about a table? with 1px * 1px cells? 2011-03-17T13:30:44 McLeopold: Depends on how fast LiveConnect is with Flash. 2011-03-17T13:30:48 that's how tron was made 2011-03-17T13:30:59 hm, i get "Missing Plug-in" 2011-03-17T13:31:53 *** UncleVasya has quit IRC (Ping timeout: 260 seconds) 2011-03-17T13:32:00 amstan: You do realize there are complex drawing routines in place, do you? Alpha blending, arcs, colorizing, text output to name a few 2011-03-17T13:32:11 Zannick: Install Java :p 2011-03-17T13:32:25 Frontier: would there be a way to simplify them? just show the squares, but don't make them all dynamic? 2011-03-17T13:34:32 Frontier: http://www.azarask.in/blog/post/flash-canvas/ 2011-03-17T13:34:54 amstan: Feel free to rewrite from scratch ^^ 2011-03-17T13:35:02 lol, yeah 2011-03-17T13:35:09 IE always has to come ruin the fun 2011-03-17T13:35:47 Frontier: http://code.google.com/p/explorercanvas/ 2011-03-17T13:36:49 McLeopold: from the flash-canvas homepage: "Doing something simple like a moveTo and lineTo would result in at a very minimum 8 separate levels of indirection." 2011-03-17T13:37:11 ... well I have my doubts about the performance compared to what I have now 2011-03-17T13:39:06 I used Explorer Canvas. It had about the same performance in some cases as the applet, but It lacked important functions like text output and generated a vector graphic on the fly which works differently from a bitmap where you can just draw over old parts. in a vector graphic the draw commands actually 'add up' over time and require a full clear now and then 2011-03-17T13:40:25 I didn't look into flash back then, because I have no experience with flash at all, but have a solid Java background. 2011-03-17T13:41:30 Zannick: Were you testing in IE? I might need to change something to make a link to the Java download appear. 2011-03-17T13:41:50 Frontier: chromium 2011-03-17T13:42:07 er, chrome 2011-03-17T13:42:30 Zannick: then I don't care, you can use the 10x faster html canvas :p 2011-03-17T13:42:38 yay :) 2011-03-17T13:42:57 *** Gmind has quit IRC (Read error: Connection reset by peer) 2011-03-17T13:46:08 aichallenge: Jeremy Mawson epsilon * rff6a1cc / (5 files in 2 dirs): An ants game should iterate once per turn until the end - http://bit.ly/gpFsyx 2011-03-17T13:46:11 aichallenge: Alexandru Stan epsilon * r7f0b2da / (11 files in 4 dirs): Merge branch 'epsilon' of https://github.com/Synesso/aichallenge into epsilon - http://bit.ly/g3zQ7u 2011-03-17T13:46:15 aichallenge: Toby Corkindale zeta * r8b1e9de / .gitattributes : 2011-03-17T13:46:15 aichallenge: Add .gitattributes with text attributes set 2011-03-17T13:46:15 aichallenge: This means that Git will automatically handle particular text files 2011-03-17T13:46:25 aichallenge: Jeremy Mawson epsilon * r56f1eba / (2 files in 2 dirs): updated readme to include need for app main - http://bit.ly/hWK1Zn 2011-03-17T13:46:27 aichallenge: Alexandru Stan epsilon * rd1ee712 / .gitattributes : Merge remote branch 'tjc/attributes' into epsilon - http://bit.ly/ge06kJ 2011-03-17T13:47:48 Frontier: I think ExplorerCanvas now supports SilverLight which is faster, and with VML it does support text now 2011-03-17T13:48:40 Frontier: you could move the text to html elements for IE 2011-03-17T13:51:13 *** bhasker has joined #aichallenge 2011-03-17T13:56:18 Frontier: I just hooked excanvas up to my viewer, and it is really slow. 25% cpu and 1fps :/ 2011-03-17T14:03:26 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.15/20110303024726]) 2011-03-17T14:10:12 *** bhasker has quit IRC (Quit: bhasker) 2011-03-17T14:10:18 Frontier: are you sure those call timings above are really correct? it takes a little over a minute to make one call through liveconnect? 2011-03-17T14:10:35 I'm not surprised it's bad but that seems a little over the top :} 2011-03-17T14:12:56 janzert: a little over a minute for 100,000 calls 2011-03-17T14:12:57 stupid idea: how about we take a movie of the canvas applet then send it to the user 2011-03-17T14:12:59 lol 2011-03-17T14:13:09 ahh 2011-03-17T14:18:24 McLeopold: You need to draw the map background as one big rect and sorta 'run-length' process the water in every row. If you extend the water rects to the right as far as possible you produce far less draw calls. 2011-03-17T14:19:48 The next omptimization is what you do in 3D rendering as well: Order objects by state. In our case we would draw all red squares in one go and so on to reduce the calls to .fillStyle 2011-03-17T14:21:41 *** bhasker has joined #aichallenge 2011-03-17T14:27:10 *** olexs1 has quit IRC (Quit: Leaving.) 2011-03-17T14:30:02 *** UncleVasya has joined #aichallenge 2011-03-17T14:37:46 BIRTHDAYS: Congratulations to: dhartmei (37) 2011-03-17T14:37:49 heheh 2011-03-17T14:41:54 antimatroid: oh yeah... how's the RNG for the food spawner... are we using something unpredictable? 2011-03-17T14:42:02 contestbot: seen antimatroid 2011-03-17T14:42:02 amstan: antimatroid was last seen in #aichallenge 3 hours, 54 minutes, and 27 seconds ago: yep 2011-03-17T14:42:23 contestbot: later tell antimatroid how's the RNG for the food spawner... are we using something unpredictable? 2011-03-17T14:42:23 amstan: Ready to serve, my lord. 2011-03-17T14:50:03 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-03-17T14:50:10 i'm here :P 2011-03-17T14:57:44 *** antimatroid has quit IRC (Ping timeout: 264 seconds) 2011-03-17T15:10:50 *** antimatroid has joined #aichallenge 2011-03-17T15:12:33 aichallenge: McLeopold epsilon * r6ae1d0b / (4 files): Test of Html5Canvas for IE using SilverLight - http://bit.ly/eGlWrX 2011-03-17T15:13:04 Frontier: checkout my change and see if it is applicable. 2011-03-17T15:14:20 random walk maps actually work quite well 2011-03-17T15:14:27 and they're fast as hell 2011-03-17T15:14:48 http://pastebin.com/MpMgvKYt larger maps 2011-03-17T15:16:02 actually, i have an idea of improving that 2011-03-17T15:16:28 store info about the number of times a square has been traversed and randomly pick between those that have been traversed the least 2011-03-17T15:21:11 *** antimatroid has quit IRC (Ping timeout: 276 seconds) 2011-03-17T15:21:24 not sure but I think that will tend to give you more small 'pools' of water 2011-03-17T15:21:48 that may or may not be a bad thing though 2011-03-17T15:21:56 and I missed him anyway 2011-03-17T15:23:10 *** olexs has joined #aichallenge 2011-03-17T15:25:46 *** skynetz has joined #aichallenge 2011-03-17T15:26:28 *** sixthgear has joined #aichallenge 2011-03-17T15:33:34 *** bhasker has quit IRC (Ping timeout: 240 seconds) 2011-03-17T15:35:23 *** bhasker has joined #aichallenge 2011-03-17T15:35:59 McLeopold: I can't check it right now, but what was your experience with it so far? 2011-03-17T15:36:40 Does that technique support the full canvas api? 2011-03-17T15:38:30 btw... im afk now 2011-03-17T15:38:49 *** antimatroid has joined #aichallenge 2011-03-17T16:00:44 *** amstan has joined #aichallenge 2011-03-17T16:00:44 *** ChanServ sets mode: +o amstan 2011-03-17T16:04:24 amstan: what do you mean how's the RNG for food spawn? 2011-03-17T16:04:28 also, check these maps 2011-03-17T16:05:05 http://pastebin.com/SrCAfwjA 2011-03-17T16:06:14 i can make those maps fairly fast 2011-03-17T16:09:15 antimatroid: I'm sure he was refering to Stocha's last post in http://ai-contest.com/forum/viewtopic.php?f=21&t=1323 2011-03-17T16:09:20 which I now replied to 2011-03-17T16:10:11 the random walk maps are fairly interesting 2011-03-17T16:10:35 I'd like to see some labyrinth type maps eventually too 2011-03-17T16:10:38 okay sure 2011-03-17T16:10:49 janzert: define labyrinth 2011-03-17T16:10:52 i get mazey? 2011-03-17T16:11:14 corridors and rooms sort of 2011-03-17T16:13:23 it probably requires more space per player than the current map types to work well though 2011-03-17T16:13:23 http://pastebin.com/K8Mb5PD9 2011-03-17T16:13:29 there's my go at just tweaking parameters 2011-03-17T16:13:44 *** jorge_ has joined #aichallenge 2011-03-17T16:14:41 *** Accoun has quit IRC () 2011-03-17T16:14:47 interesting although that last one seems to be a rather degenerate case 2011-03-17T16:15:28 *** jorge__ has joined #aichallenge 2011-03-17T16:15:31 why? 2011-03-17T16:15:36 i like it 2011-03-17T16:16:08 with the start positions stuck way down at the end of a hall? 2011-03-17T16:16:26 seems pointless 2011-03-17T16:16:59 yeah it is a bit 2011-03-17T16:17:07 the first 9 moves are basically forced 2011-03-17T16:17:12 i could randomly walk in all 4 directions at the start 2011-03-17T16:17:57 not sure how the best way to handle it is 2011-03-17T16:18:06 i think that'd be good 2011-03-17T16:18:20 then you could have labyrinth maps with 4 choices on the first turn 2011-03-17T16:18:22 maybe the start position shouldn't necessarily be the start of the random walk? 2011-03-17T16:19:00 instead choose the start position after the walk is completed 2011-03-17T16:19:23 then you need to check conditions of the start locations 2011-03-17T16:19:38 making sure the start has at least 3 directions open to it 2011-03-17T16:19:42 yep 2011-03-17T16:20:06 i'm going to try multiple walks 2011-03-17T16:20:11 i think that might work well anyway 2011-03-17T16:20:45 one thing is that dead ends seem to be pretty rare on these maps 2011-03-17T16:20:52 oh, with predicting maps, in the final tournament a bot can't store information across games, how could they even guess? 2011-03-17T16:21:14 the stocha post? 2011-03-17T16:21:24 yeah 2011-03-17T16:21:32 I don't think predicting maps is the big part, it's predicting where the next food will spawn 2011-03-17T16:21:37 i could reseed the random walk every once in a while 2011-03-17T16:21:41 that would give more dead ends 2011-03-17T16:22:06 oh, my idea for that was to re order the land squares every time we go through them 2011-03-17T16:22:33 if you can predict that by the end of game then good on you 2011-03-17T16:22:36 if you're doing it based on the RNG that just gives the bot more RNG states to work with 2011-03-17T16:23:04 making it even quicker for them to be able to make accurate predictions 2011-03-17T16:23:21 the right fix is fortunately very easy 2011-03-17T16:23:30 use a cryptographically strong rng 2011-03-17T16:31:32 *** Accoun has joined #aichallenge 2011-03-17T16:46:58 *** sigh_ has joined #aichallenge 2011-03-17T16:52:30 *** UncleVasya has quit IRC () 2011-03-17T16:55:29 sigh: http://pastebin.com/cgk3adBk :P 2011-03-17T16:56:00 they're MUCH faster to make than my other ones too 2011-03-17T16:56:51 janzert: check that last example (last time for the moment i promise), it's quite labyrinthy 2011-03-17T16:57:11 faster? 2011-03-17T16:57:45 nice 2011-03-17T16:58:27 sigh_: my current map gen on github is slow as hell, particularly for larger maps 2011-03-17T16:58:34 do we we care about the map generation speed part? 2011-03-17T16:58:41 ahh 2011-03-17T16:58:43 it's quite slow 2011-03-17T16:58:50 like noticably slow for large maps 2011-03-17T16:59:07 *** sigh_ has quit IRC (Remote host closed the connection) 2011-03-17T16:59:16 if we want to do asymmetric maps, i think that at least needs to be reasonably fast 2011-03-17T16:59:19 but even if it takes a minute per map I think it'll be fine 2011-03-17T16:59:25 so we can throw lots of "unfair" ones out with the map analyzer 2011-03-17T17:20:47 lol, tweaking this is bringing horrible memories of planet wars 2011-03-17T17:20:56 the part where i make changes and it just seems to get worse 2011-03-17T17:22:05 *** _flag <_flag!~flag@69.165.173.172> has joined #aichallenge 2011-03-17T17:34:29 i think i made it better by cropping the length of a walk then restarting it on a water square 2011-03-17T17:36:01 *** kaemo has quit IRC (Read error: Connection reset by peer) 2011-03-17T17:36:11 *** kaemo has joined #aichallenge 2011-03-17T17:49:57 i hate to say it, but i think there needs to be more open access to players if option 1 were used to avoid stale mates 2011-03-17T17:57:05 *** Naktibalda has joined #aichallenge 2011-03-17T18:01:16 *** delt0r___ has joined #aichallenge 2011-03-17T18:02:42 *** delt0r_ has quit IRC (Ping timeout: 255 seconds) 2011-03-17T18:05:53 *** mceier has quit IRC (Quit: leaving) 2011-03-17T18:08:53 *** sigh has joined #aichallenge 2011-03-17T18:18:24 *** superflit has quit IRC (Quit: superflit) 2011-03-17T18:24:25 *** jorge__ has left #aichallenge ("http://quassel-irc.org - Chatee cómodamente donde sea.") 2011-03-17T18:34:44 *** Prillicy has joined #aichallenge 2011-03-17T18:48:36 *** Prillicy has quit IRC (Ping timeout: 255 seconds) 2011-03-17T19:01:10 *** Prillicy has joined #aichallenge 2011-03-17T19:18:02 *** Kingpin13 has quit IRC (Quit: You're a kitty!) 2011-03-17T20:06:49 *** bhasker_ has joined #aichallenge 2011-03-17T20:07:52 *** bhasker has quit IRC (Read error: Operation timed out) 2011-03-17T20:13:46 mega, i can now use templates to make my nd tensors n+1d tensors 2011-03-17T20:23:00 *** amstan_ has joined #aichallenge 2011-03-17T20:23:00 *** ChanServ sets mode: +o amstan_ 2011-03-17T20:24:17 what's happening? 2011-03-17T20:25:43 amstan: gtfo! 2011-03-17T20:25:46 *** amstan has quit IRC (Remote host closed the connection) 2011-03-17T20:25:50 *** amstan_ is now known as amstan 2011-03-17T20:26:09 Talking to yourself again, amstan? 2011-03-17T20:26:17 o_O 2011-03-17T20:26:24 jbroman: again? when did i do it before? 2011-03-17T20:26:41 *** kaemo has quit IRC (Ping timeout: 260 seconds) 2011-03-17T20:26:46 amstan: I'm sure sometime in the past months you've done it. 2011-03-17T20:27:00 Not going to trawl through logs or undergo hypnosis to prove it. 2011-03-17T20:27:08 damn, only if i know the number of dimensions at compile time 2011-03-17T20:27:22 antimatroid: 43 2011-03-17T20:27:32 wasn't it 11? 2011-03-17T20:27:35 yeah.. go with 11 2011-03-17T20:27:39 15.6 2011-03-17T20:27:42 43 > 11 2011-03-17T20:27:53 I hope you handle fractional dimensions 2011-03-17T20:27:54 no.. i'm pretty sure there's something about 11 related to physics 2011-03-17T20:27:59 string theory 2011-03-17T20:28:01 sigh: :P no 2011-03-17T20:28:16 amstan: meh, there are as many dimensions as i need 2011-03-17T20:28:27 antimatroid: MAX_INT 2011-03-17T20:28:31 antimatroid: don't forget subspace 2011-03-17T20:28:31 how about if I want infinite dimentions? 2011-03-17T20:28:43 sigh: then he needs bignum 2011-03-17T20:28:44 sure 2011-03-17T20:28:53 never heard of an infinite dimensional vector space? 2011-03-17T20:29:01 of course I have 2011-03-17T20:29:02 Bignums aren't infinite. 2011-03-17T20:29:08 They just have large bounds. 2011-03-17T20:29:13 I want you to handle it, is all 2011-03-17T20:29:31 jbroman: they're infinite if you ignore memory limits etc. 2011-03-17T20:29:43 aichallenge: McLeopold epsilon * rb5ff755 / (3 files): Added script to create test data for matchup query testing - http://bit.ly/gSLyhZ 2011-03-17T20:29:49 that's ok, my turing machine has an infintely long tape 2011-03-17T20:30:05 antimatroid: I live in a finite universe, thank you very much. 2011-03-17T20:30:18 jbroman: that's not the current consensus 2011-03-17T20:30:21 to my understanding 2011-03-17T20:30:39 hmmm, i could just pass my number of elements in dimension n+1 as a parameter to the constructer 2011-03-17T20:30:57 sigh: i think this is what you did when you did a rewrite of my tensor struct 2011-03-17T20:31:07 hehe 2011-03-17T20:31:13 did you use a template thing or parameter? 2011-03-17T20:31:27 the template doesn't allow me to write general functions for n-players 2011-03-17T20:31:42 I did the template thing 2011-03-17T20:32:04 it's a bit gross doing it as a parameter 2011-03-17T20:32:07 I don't have access to the code right now, though (I'm not even sure I know where I put it) 2011-03-17T20:32:13 *** McLeopold has left #aichallenge 2011-03-17T20:32:14 yeah i don't need it 2011-03-17T20:32:53 i'm convinced my life would be better if i had payoffs as Tensor instead of vector > 2011-03-17T20:33:05 U == V 2011-03-17T20:33:26 the guys in ##proggit are talking about a contest, anyone interested? 2011-03-17T20:33:32 i think it's something shortterm 2011-03-17T20:33:34 like a day 2011-03-17T20:33:46 i'm pretty busy atm sorry 2011-03-17T20:34:10 I'm probably busy, but I'll listen in 2011-03-17T20:34:35 oh well 2011-03-17T20:34:43 * amstan goes to check if there's any code to pull/merge 2011-03-17T20:35:12 yeah where's the link 2011-03-17T20:35:15 i'm trying to find it :\ 2011-03-17T20:37:06 *** Apophis_ has joined #aichallenge 2011-03-17T20:38:31 <_flag> I think he means the ##proggit channel 2011-03-17T20:40:43 they've been quite since I join 2011-03-17T20:40:48 * sigh shrugs 2011-03-17T20:40:50 <_flag> Same 2011-03-17T20:41:07 *** nann has quit IRC (Ping timeout: 255 seconds) 2011-03-17T20:41:13 Are you talking about the ##proggit challenge? 2011-03-17T20:41:14 [20:30] amstan: i think i have to reschedule this one anyway with more lead time, i'll post in your channel when we have a new time 2011-03-17T20:41:17 skynetz: yes 2011-03-17T20:41:18 hi sorry we rescheduled, it was a last minute thing, and noone was interested at the posted time 2011-03-17T20:41:58 it wasnt even a programming challenge anyway :) we were going to see how bad (or good?) programmers really are at 3d modelling 2011-03-17T20:42:32 ie. announce topic, 30 mins to download a modelling app and make the subject 2011-03-17T20:42:35 sixthgear: I made a cube once. 2011-03-17T20:42:58 what type of challenge was it? 2011-03-17T20:42:58 we expected the results to be hilariously awful 2011-03-17T20:43:34 if you guys are interested in that i'll let you know if we reschedule, i made it too last minute i think 2011-03-17T20:44:34 i once modeled a boar as a half-life deathmatch character with the weapon mounted on its back. - lol 2011-03-17T20:44:48 :) most of us have never even opened blender 2011-03-17T20:45:02 I don't even know what that is :D 2011-03-17T20:45:06 hahah 2011-03-17T20:45:07 blender... that's another story, i used milkshape 3d 2011-03-17T20:45:15 ooh havent heard of that one 2011-03-17T20:45:23 i was going to use/suggest wings3d 2011-03-17T20:45:28 blender is so unintuitive i need to read a book before i can use that 2011-03-17T20:46:53 I never heard of wings3d. is it a new application? 2011-03-17T20:47:22 no its been around for awhile i think, when i tried it, it was pretty damn intuitive 2011-03-17T20:47:28 (then again my experiments were 10 years ago) 2011-03-17T20:48:15 Back then I also tried to compose music using ModPlug Tracker. 2011-03-17T20:48:45 That would be a fun challenge: compose some good music 2011-03-17T20:48:46 ok so dont laugh, but this http://i.imgur.com/xFfHw.png was after playing around with wings for 10 minutes or so, not having any other modelling experience. 2011-03-17T20:49:08 this is so ... reddit Oo 2011-03-17T20:49:48 modplug tracker nice 2011-03-17T20:49:56 i forget the names of the trackers i used in the 90s 2011-03-17T20:50:21 but i do remember playing the Axel F MOD in all of them 2011-03-17T20:50:28 http://www.youtube.com/watch?v=ooTS9Z6PFh0 <- this is reddit influenced too at one point 2011-03-17T20:51:07 is this yours? 2011-03-17T20:51:20 oh man, how do i write my own for loops in c++? 2011-03-17T20:51:28 hell no. but it is none the less amazing ^^ 2011-03-17T20:51:29 antimatroid: wtf? 2011-03-17T20:51:35 antimatroid: you mean iterators? 2011-03-17T20:51:38 i've totally seen this, so amazing! 2011-03-17T20:51:39 sigh: i want to be able to do this 2011-03-17T20:51:50 rofl, antimatroid doesn't know how to loop 2011-03-17T20:52:09 I wish we had quotes for this channel :) 2011-03-17T20:52:12 sum(int i=0; i<...; i++) 2011-03-17T20:52:12 s = a[i]*b[i] 2011-03-17T20:52:12 etc. 2011-03-17T20:52:22 s+=** 2011-03-17T20:52:23 yeah.. i had a friend... he was trying to do a prime number generator, first time in python 2011-03-17T20:52:27 you want to invent syntax? 2011-03-17T20:52:30 yes! 2011-03-17T20:52:43 learn lisp or something? 2011-03-17T20:52:44 <_flag> #define sum for 2011-03-17T20:52:48 i take it that's a computer says no? 2011-03-17T20:53:07 yeah i guess 2011-03-17T20:53:18 _flag: need to get a bit more fancy than that 2011-03-17T20:53:21 i need to just write my own os and language already 2011-03-17T20:53:26 and he looked at for... he's like.. this won't work for me 2011-03-17T20:53:28 i suppose you could do it though, boost does some amazing magic 2011-03-17T20:53:40 then he proceeded to use a while loop 2011-03-17T20:54:02 amstan: why didn't he think he could use for? 2011-03-17T20:54:03 antimatroid: Walter Bright already wrote his own compiler and some people startet to write kernels with it. 2011-03-17T20:54:11 sigh: idk, lol it was hilarious 2011-03-17T20:54:15 :) 2011-03-17T20:54:16 <_flag> His example seems... forable 2011-03-17T20:54:28 but i would do it better :P 2011-03-17T20:55:19 i would love something like c++ but without all the crap, could compile and link with templates in .cc, could pass functions/variables/type variables,classes around like everything else etc. 2011-03-17T20:55:29 *** bhasker_ has quit IRC (Quit: bhasker_) 2011-03-17T20:55:46 D can pass delegate functions around and it has foreach 2011-03-17T20:55:50 and closures 2011-03-17T20:56:05 hmm, i should learn D 2011-03-17T20:56:07 <_flag> What is the crap you want to be without? 2011-03-17T20:56:08 But it needs some lovin' to grow 2011-03-17T20:56:13 clang has closures 2011-03-17T20:56:34 + the standard library sucks 2011-03-17T20:56:52 i could make it better :P 2011-03-17T20:57:20 _flag: i'd probably be adding more in to "take out the crap" 2011-03-17T20:57:22 others have written a new std lib called 'tango' and there is a book 'how to tango with d' -.- 2011-03-17T20:57:35 i hate not being able to do things that seem intuitive and i can easily write with a template function 2011-03-17T20:57:41 imo it should just be part of c++ 2011-03-17T20:57:56 oh... I was being silly... of course flag's #define would work... I thought antimatroid was doing something more complicated -__- 2011-03-17T20:57:57 Frontier: oh dear 2011-03-17T20:58:04 sigh: it wouldn't 2011-03-17T20:58:19 ideally i would set sum up to work a bit like list comprehensions 2011-03-17T20:58:37 hmm... boost has foreach 2011-03-17T20:58:38 i'd pass it a "function" and it'd iteratively add it and return the result or something 2011-03-17T20:58:43 bleh, i need to learn haskell 2011-03-17T20:59:07 i wish haskell used actual operator symbols :\ 2011-03-17T20:59:25 or does it 2011-03-17T20:59:26 hmmm 2011-03-17T20:59:33 i keep forgetting what is what language now 2011-03-17T20:59:40 operator symbols? 2011-03-17T20:59:55 <_flag> function pointers? 2011-03-17T21:00:21 <_flag> If you need to pass functions to something you can always use function pointers 2011-03-17T21:00:59 antimatroid: http://www.digitalmars.com/d/2.0/template.html , scroll down to function templates 2011-03-17T21:01:08 yeah, but creating a function for a simple loop is a bit silly 2011-03-17T21:01:20 I mean in something like c++ 2011-03-17T21:01:46 like i can define operator(it's really hard to put a character to represent anything here)() in c++ then use the operator 2011-03-17T21:02:03 you can do that in haskell 2011-03-17T21:02:09 in my ideal c++ i could also overload the way an operator is used and the precedence of them etc. and use ANYTHING as an operator, 2011-03-17T21:03:14 in haskell operators are no different from other functions 2011-03-17T21:05:43 _flag: btw, that issue you brought up with food spawning was fixed the other day 2011-03-17T21:06:11 <_flag> sign: Yeah, I checked the commits and downloaded the newest version, thanks 2011-03-17T21:06:20 antimatroid: would stuff like this help you? http://www.digitalmars.com/d/2.0/phobos/std_algorithm.html#reduce 2011-03-17T21:06:32 <_flag> s/sign/sigh 2011-03-17T21:06:38 *sigh* 2011-03-17T21:06:59 *** needsch has quit IRC (Quit: Leaving.) 2011-03-17T21:12:37 Frontier: maybe, i think i need to just jump into haskell 2011-03-17T21:31:54 *** skynetz has quit IRC (Quit: .) 2011-03-17T21:38:34 * amstan finished his latest stupidity: http://codepad.org/zp3kjesi 2011-03-17T21:39:22 *** McLeopold has joined #aichallenge 2011-03-17T21:41:29 derp derp 2011-03-17T21:42:04 sigh: err.. (template) map, U> tensor 2011-03-17T21:42:31 ? 2011-03-17T21:42:46 that is way better than storing my payoffs in a vector 2011-03-17T21:42:53 ok 2011-03-17T21:54:36 *** amriedle has joined #aichallenge 2011-03-17T22:17:01 *** amriedle has quit IRC (Quit: Lost terminal) 2011-03-17T22:18:37 *** olexs has quit IRC (Quit: Leaving.) 2011-03-17T22:21:51 amstan: My email is everywhere; I don't depend on it being secret to keep me safe from SPAM. 2011-03-17T22:25:39 mmm... spam 2011-03-17T22:51:50 *** amstan has quit IRC (Ping timeout: 248 seconds) 2011-03-17T22:53:34 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.15/20110303170601]) 2011-03-17T22:53:44 *** jmpespxoreax has quit IRC (Quit: Lost terminal) 2011-03-17T23:00:40 *** jmpespxoreax has joined #aichallenge 2011-03-17T23:06:21 *** amstan has joined #aichallenge 2011-03-17T23:06:21 *** ChanServ sets mode: +o amstan 2011-03-17T23:42:04 bss03: checkout my data creator script